VIP
|
Cs-PlovdiV.com - Aim Attack 93.123.16.4:27022 |
aim_map2 Играчи: 4/16 |
|
VIP
|
93.123.16.4:27022 | Cs-PlovdiV.com - Aim Attack | aim_map2 | 4/16 |
Extra Items Menu v3.2 (+API)
-
0erT
Извън линия - Потребител
- Мнения: 6
- Регистриран на: 24 Май 2022, 05:39
- Местоположение: Brasil
- Се отблагодари: 4 пъти
- Обратна връзка:
Extra Items Menu v3.2 (+API)
Ето го:
- Прикачени файлове
-
- erro2.jpg (370.88 KiB) Преглеждано 1018 пъти
- erro2.jpg (370.88 KiB) Преглеждано 1018 пъти
-
- erro1.jpg (424.85 KiB) Преглеждано 1018 пъти
- erro1.jpg (424.85 KiB) Преглеждано 1018 пъти
-
Radeon
Извън линия - Потребител
- Мнения: 143
- Регистриран на: 04 Апр 2021, 11:30
- Се отблагодари: 2 пъти
- Получена благодарност: 34 пъти
- Обратна връзка:
Extra Items Menu v3.2 (+API)
Това ти е синтаксиса на командата.Първо id, след него цвят и накрая съобщението.Тук има още едно id, което аз лично не знам за какво е .
ColorChat( id на играча, цвят на текста примерно GREEN, "^x04текст зелен ^x01текст нормален ^x03 отборен цвят текст" );
За да се махне грешката сложи само цвета ето така
ColorChat(id, GREEN, "%L", id, "EIM_NOACCESS")
Ето ти го готов
ColorChat( id на играча, цвят на текста примерно GREEN, "^x04текст зелен ^x01текст нормален ^x03 отборен цвят текст" );
За да се махне грешката сложи само цвета ето така
ColorChat(id, GREEN, "%L", id, "EIM_NOACCESS")
Ето ти го готов
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cromchat>
#define PLUGIN_VERSION "3.2"
enum _: Items
{
Name[32],
Sound[128],
Team
}
enum _: Settings
{
Prefix[32],
Title[128],
TitlePage[32],
ErrorSound[128],
ErrorSoundType,
SelectSoundType,
BackName[32],
NextName[32],
ExitName[32],
NumColor[3],
PerPage,
TeamOnly,
Flag[2],
Pointer
}
new Array:g_aItems
new g_iTotalItems
new g_eSetting[Settings]
new g_szTeams[4][32]
new g_fwdSelectItem
new g_fwdRemoveItem
new bool:g_blCommand[33]
public plugin_init()
{
register_plugin("Extra Items Menu", PLUGIN_VERSION, "Unbr3akable")
register_cvar("ExtraItemsMenu", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
register_dictionary("ExtraItemsMenu.txt")
RegisterHam(Ham_Spawn, "player", "eventPlayerSpawn", 1)
g_fwdSelectItem = CreateMultiForward("select_items", ET_STOP, FP_CELL, FP_CELL)
g_fwdRemoveItem = CreateMultiForward("remove_items", ET_IGNORE, FP_CELL, FP_CELL)
g_eSetting[Pointer] = get_cvar_pointer("mp_freezetime")
CC_SetPrefix(g_eSetting[Prefix])
}
public plugin_precache()
{
g_aItems = ArrayCreate(Items)
readfile()
}
readfile()
{
static szConfigsName[64], szFileName[64], iFilePointer
get_configsdir(szConfigsName, charsmax(szConfigsName))
formatex(szFileName, charsmax(szFileName), "%s/ExtraItemsMenu.ini", szConfigsName)
iFilePointer = fopen(szFileName, "rt")
if (iFilePointer)
{
static szData[128], szKey[32], szValue[128]
while (!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)
switch (szData[0])
{
case EOS, ';', '[': continue
default:
{
strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '=')
trim(szKey); trim(szValue)
if (is_blank(szValue)) continue
if (equal(szKey, "EIM_PREFIX"))
copy(g_eSetting[Prefix], charsmax(g_eSetting[Prefix]), szValue)
else if (equal(szKey, "EIM_TITLE"))
copy(g_eSetting[Title], charsmax(g_eSetting[Title]), szValue)
else if (equal(szKey, "EIM_TITLE_PAGE"))
copy(g_eSetting[TitlePage], charsmax(g_eSetting[TitlePage]), szValue)
else if (equal(szKey, "EIM_TEAM_NAMES"))
{
for (new i; i < 4; i++)
{
strtok(szValue, szKey, charsmax(szKey), szValue, charsmax(szValue), ',')
trim(szKey); trim(szValue)
copy(g_szTeams[i], charsmax(g_szTeams[]), szKey)
}
}
else if (equal(szKey, "EIM_ERROR_SOUND"))
{
copy(g_eSetting[ErrorSound], charsmax(g_eSetting[ErrorSound]), szValue)
if (!is_blank(szValue))
precache_sound(szValue)
}
else if (equal(szKey, "EIM_ERRORSOUND_TYPE"))
g_eSetting[ErrorSoundType] = clamp(str_to_num(szValue), 0, 1)
else if (equal(szKey, "EIM_SELECTSOUND_TYPE"))
g_eSetting[SelectSoundType] = clamp(str_to_num(szValue), 0, 1)
else if (equal(szKey, "EIM_COMMANDS"))
{
while (szValue[0] != 0 && strtok(szValue, szKey, charsmax(szKey), szValue, charsmax(szValue), ','))
{
trim(szKey); trim(szValue)
register_clcmd(szKey, "menuItems")
}
}
else if (equal(szKey, "EIM_BACK_NAME"))
copy(g_eSetting[BackName], charsmax(g_eSetting[BackName]), szValue)
else if (equal(szKey, "EIM_NEXT_NAME"))
copy(g_eSetting[NextName], charsmax(g_eSetting[NextName]), szValue)
else if (equal(szKey, "EIM_EXIT_NAME"))
copy(g_eSetting[ExitName], charsmax(g_eSetting[ExitName]), szValue)
else if (equal(szKey, "EIM_NUM_COLOR"))
copy(g_eSetting[NumColor], charsmax(g_eSetting[NumColor]), szValue)
else if (equal(szKey, "EIM_PER_PAGE"))
g_eSetting[PerPage] = clamp(str_to_num(szValue), 0, 7)
else if (equal(szKey, "EIM_TEAM"))
g_eSetting[TeamOnly] = clamp(str_to_num(szValue), 0, 3)
else if (equal(szKey, "EIM_FLAG"))
g_eSetting[Flag] = szValue[0] == '!' ? ADMIN_ALL : read_flags(szValue)
}
}
}
fclose(iFilePointer)
}
}
public plugin_end()
ArrayDestroy(g_aItems)
public eventPlayerSpawn(id)
{
if (!is_user_alive(id) || !has_user_flag(id) || !has_user_team(id))
return
static i
for (i = 0; i < g_iTotalItems; i++)
remove_items(id, i)
g_blCommand[id] = false
menuItems(id)
}
public menuItems(id)
{
if (!has_user_flag(id))
{
ColorChat(id, GREEN, "%L", id, "EIM_NOACCESS")
speak_sound(id, g_eSetting[ErrorSoundType], g_eSetting[ErrorSound])
return PLUGIN_HANDLED
}
if (!has_user_team(id))
{
ColorChat(id,GREEN, "%L", id, "EIM_NOTEAM")
speak_sound(id, g_eSetting[ErrorSoundType], g_eSetting[ErrorSound])
return PLUGIN_HANDLED
}
if (g_blCommand[id])
{
ColorChat(id,GREEN, "%L", id, "EIM_ALREADY")
speak_sound(id, g_eSetting[ErrorSoundType], g_eSetting[ErrorSound])
return PLUGIN_HANDLED
}
if (!is_user_alive(id))
{
ColorChat(id,GREEN, "%L", id, "EIM_NOTALIVE")
speak_sound(id, g_eSetting[ErrorSoundType], g_eSetting[ErrorSound])
return PLUGIN_HANDLED
}
static szTitle[128], szPage[32], iUserTeam, iMenu, i, eItem[Items], szItem[64], szKey[5]
iUserTeam = get_user_team(id)
copy(szTitle, charsmax(szTitle), g_eSetting[Title])
replace_all(szTitle, charsmax(szTitle), "\n", "^n")
replace_all(g_eSetting[TitlePage], charsmax(g_eSetting[TitlePage]), "\n", "^n")
if (contain(g_eSetting[TitlePage], "\page") != -1)
{
formatex(szPage, charsmax(szPage), "%L", id, "EIM_PAGENAME")
replace_all(g_eSetting[TitlePage], charsmax(g_eSetting[TitlePage]), "\page", szPage)
}
if (contain(szTitle, "\team") != -1)
replace_all(szTitle, charsmax(szTitle), "\team", g_szTeams[iUserTeam])
iMenu = menu_create(szTitle, "menuHandler")
for (i = 0; i < g_iTotalItems; i++)
{
ArrayGetArray(g_aItems, i, eItem)
if (eItem[Team] && eItem[Team] != iUserTeam)
continue
formatex(szItem, charsmax(szItem), "%s", eItem[Name])
num_to_str(i, szKey, charsmax(szKey))
menu_additem(iMenu, szItem, szKey)
}
if (menu_pages(iMenu) > 1)
{
add(szTitle, charsmax(szTitle), g_eSetting[TitlePage])
menu_setprop(iMenu, MPROP_TITLE, szTitle)
}
menu_setprop(iMenu, MPROP_BACKNAME, g_eSetting[BackName])
menu_setprop(iMenu, MPROP_NEXTNAME, g_eSetting[NextName])
menu_setprop(iMenu, MPROP_EXITNAME, g_eSetting[ExitName])
menu_setprop(iMenu, MPROP_NUMBER_COLOR, g_eSetting[NumColor])
menu_setprop(iMenu, MPROP_PERPAGE, g_eSetting[PerPage])
menu_display(id, iMenu)
return PLUGIN_HANDLED
}
public menuHandler(id, iMenu, iItem)
{
if (iItem == MENU_EXIT || !is_user_alive(id))
{
menu_destroy(iMenu)
return PLUGIN_HANDLED
}
static szName[64], szData[6], access, callback, iKey, eItem[Items]
menu_item_getinfo(iMenu, iItem, access, szData, charsmax(szData), szName, charsmax(szName), callback)
iKey = str_to_num(szData)
g_blCommand[id] = true
ArrayGetArray(g_aItems, iKey, eItem)
ColorChat(id,GREEN, "%L", id, "EIM_SELECT_ITEM", eItem[Name])
speak_sound(id, g_eSetting[SelectSoundType], eItem[Sound])
select_items(id, iKey)
menu_destroy(iMenu)
return PLUGIN_HANDLED
}
select_items(id, iItem)
{
new iReturn
ExecuteForward(g_fwdSelectItem, iReturn, id, iItem)
if (iReturn)
return iReturn
return PLUGIN_HANDLED
}
remove_items(id, iItem)
{
new iReturn
ExecuteForward(g_fwdRemoveItem, iReturn, id, iItem)
}
bool:is_blank(szString[])
return szString[0] == EOS ? true : false
bool:has_user_flag(id)
return (g_eSetting[Flag] == ADMIN_ALL || get_user_flags(id) & g_eSetting[Flag]) ? true : false
bool:has_user_team(id)
return (!g_eSetting[TeamOnly] || get_user_team(id) == g_eSetting[TeamOnly]) ? true : false
speak_sound(id, iType, szSound[])
{
switch (iType)
{
case 0: client_cmd(id, "spk %s", szSound)
case 1: emit_sound(id, CHAN_ITEM, szSound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
public plugin_natives()
{
register_library("EIM")
register_native("register_item", "_register_item")
}
public _register_item(iPlugin, iParams)
{
static eItem[Items]
get_string(1, eItem[Name], charsmax(eItem[Name]))
get_string(2, eItem[Sound], charsmax(eItem[Sound]))
eItem[Team] = get_param(3)
g_iTotalItems++
ArrayPushArray(g_aItems, eItem)
precache_sound(eItem[Sound])
return g_iTotalItems -1
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1026\\ f0\\ fs16 \n\\ par }
*/
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 1 Отговори
- 413 Преглеждания
-
Последно мнение от InsertSK
-
- 3 Отговори
- 403 Преглеждания
-
Последно мнение от boomin
-
- 2 Отговори
- 1450 Преглеждания
-
Последно мнение от KARASKO
-
- 0 Отговори
- 562 Преглеждания
-
Последно мнение от rothmans
-
- 0 Отговори
- 1219 Преглеждания
-
Последно мнение от Fatall
-
- 1 Отговори
- 1826 Преглеждания
-
Последно мнение от mi0
-
- 0 Отговори
- 1249 Преглеждания
-
Последно мнение от Infamous2018
Кой е на линия
Потребители разглеждащи този форум: Google [Bot] и 1 гост