Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Не работает код, добавленный в Weapon menu

Статус пользователя gegelga
сообщение 16.11.2015, 1:05
Сообщение #1
Стаж: 13 лет

Сообщений: 69
Благодарностей: 2
Полезность: < 0

И так я хотел добавить в веапонменю колличество дней до окончания админки, но что то не так, почему то не выводится колличество дней:

код
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <WPMGPrintChatColor>

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_AK47)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_DEAGLE)

#define PLUGIN "Weapon Menu"
#define VERSION "0.1"
#define AUTHOR "Subb98"

new g_iKey[33]
new g_iMenuPosition[33]
new g_iMenuPlayers[33][32]
new g_iRoundCounter
new g_pChatInfo
new g_maxplayers

new can_take_ak47[33]
new can_take_m4a1[33]
new can_take_famas[33]
new can_take_scout[33]
new can_take_awp[33]
new can_take_deagle[33]
new can_take_grenades[33]

#if defined VIPDAY
native al_admin_expired(index);
#endif

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_event("TextMsg", "eventTextMsg", "a", "2=#Game_will_restart_in", "2=#Game_Commencing")
register_event("HLTV", "eventHLTV", "a", "1=0", "2=0")

g_maxplayers = get_maxplayers()

register_clcmd("amx_weaponmenu", "cmdWeaponMenu", ADMIN_MENU, "- show weapon menu")
register_clcmd("weaponmenu", "cmdWeaponMenu", ADMIN_MENU, "- show weapon menu")

register_menucmd(register_menuid("Weapon Menu"), 1023, "handleWeaponMenu")
register_menucmd(register_menuid("Player Menu"), 1023, "handlePlayerMenu")

g_pChatInfo = register_cvar("wm_chatinfo", "1")
}

public eventTextMsg()
g_iRoundCounter = 0

public eventHLTV()
{
g_iRoundCounter++

for (new id = 1; id <= g_maxplayers; id++)
{
can_take_ak47[id] = 0
can_take_m4a1[id] = 0
can_take_famas[id] = 0
can_take_scout[id] = 0
can_take_awp[id] = 0
can_take_deagle[id] = 0
can_take_grenades[id] = 0
}
}

public cmdWeaponMenu(id, level, cid)
{
if(cmd_access(id, level, cid, 0))
{
if(g_iRoundCounter >= 3)
showWeaponMenu(id)

else
PrintChatColor(id, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Извините, но эта команда доступна только с третьего раунда.")
}
}

showWeaponMenu(id)
{
new szMenu[512], iKeys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)

#if defined VIPDAY
new exp = al_admin_expired(id);
if(exp > 0)
{
new sys = get_systime();
if(exp - sys > 0)
{
if((exp - sys) / 86400 > 4) formatex(szMenu, 511, "\r[\yРусский стандарт\r] \wВыберите экипировку:^n\r=================== ^n\yДо окончания админки: \w%d \yдней!^n^n", ((exp - sys) / 86400));
else if (4 >= (exp - sys) / 86400 > 0) formatex(szMenu, 511, "\r[\yРусский стандарт\r] \wВыберите экипировку:^n\r=================== ^n\yДо окончания админки: \w%d \yдня!^n^n", ((exp - sys) / 86400));
else formatex(szMenu, 511, "\r[\yРусский стандарт\r] \wВыберите экипировку:^n\r=================== ^n\yДо окончания админки: \wпоследний день!^n^n");
}
else
client_print(id, print_chat, "Действие админки истекло!")
}
else if(exp == 0) new formatex(szMenu, 511, "\r[\yРусский стандарт\r] \wВыберите экипировку:^n\r=================== ^n\yДо окончания админки: \wбессрочная^n^n");
#else
formatex(szMenu, 511, "\r[\yРусский стандарт\r] \wВыберите экипировку:^n^n");
#endif

add(szMenu, 511, "\r1. \wAK-47^n")
add(szMenu, 511, "\r2. \wM4A1^n")
add(szMenu, 511, "\r3. \wFamas^n")
add(szMenu, 511, "\r4. \wScout^n")
add(szMenu, 511, "\r5. \wAWP^n")
add(szMenu, 511, "\r6. \wDeagle^n")
add(szMenu, 511, "\r7. \wВсе гранаты^n")
add(szMenu, 511, "\r8. \wБроня и шлем^n")
add(szMenu, 511, "\r9. \wНабор сапера^n^n")
add(szMenu, 511, "\r0. \wВыход")

show_menu(id, iKeys, szMenu, -1, "Weapon Menu")
}

public handleWeaponMenu(id, iKey)
{
if(iKey == 9)
return

else
{
g_iKey[id] = iKey
showPlayerMenu(id, g_iMenuPosition[id] = 0)
}
}

showPlayerMenu(id, iPos)
{
if(iPos < 0)
return

new iTotalPlayersNum
get_players(g_iMenuPlayers[id], iTotalPlayersNum)

new szMenu[512], szName[32]
new i, b = 0, iStart = iPos * 7

if(iStart >= iTotalPlayersNum)
iStart = iPos = g_iMenuPosition[id] = 0

new iLen = formatex(szMenu, 511, "\r[\yРусский стандарт\r] \wВыберите игрока:\R%d/%d\w^n^n", iPos + 1, (iTotalPlayersNum / 7 + ((iTotalPlayersNum % 7) ? 1 : 0)))
new iEnd = iStart + 7, iKeys = MENU_KEY_0|MENU_KEY_8

if(iEnd > iTotalPlayersNum)
iEnd = iTotalPlayersNum

for(new a = iStart; a < iEnd; ++a)
{
i = g_iMenuPlayers[id][a]
get_user_name(i, szName, 31)

iKeys |= (1<<b)

if(i == id)
iLen += formatex(szMenu[iLen], 511 - iLen, "\r%d. \y%s^n", ++b, szName)

else
iLen += formatex(szMenu[iLen], 511 - iLen, "\r%d. \w%s^n", ++b, szName)
}

if(iEnd != iTotalPlayersNum)
{
formatex(szMenu[iLen], 511 - iLen, "^n\r9. \wДалее...^n\r0. \wНазад")
iKeys |= MENU_KEY_9
}
else
formatex(szMenu[iLen], 511 - iLen, "^n\r0. \wНазад")

show_menu(id, iKeys, szMenu, -1, "Player Menu")
}

public handlePlayerMenu(id, iKey)
{
switch(iKey)
{
case 8: showPlayerMenu(id, ++g_iMenuPosition[id])
case 9:
{
if(g_iMenuPosition[id])
showPlayerMenu(id, --g_iMenuPosition[id])

else
showWeaponMenu(id)
}
default:
{
new g_iPlayer = g_iMenuPlayers[id][g_iMenuPosition[id] * 7 + iKey]

giveItem(id, g_iPlayer)
showPlayerMenu(id, g_iMenuPosition[id])
}
}
}

giveItem(id, g_iPlayer)
{
new szAdmName[32], szUsrName[32]

get_user_name(id, szAdmName, 31)
get_user_name(g_iPlayer, szUsrName, 31)

new iChatInfo = get_pcvar_num(g_pChatInfo)

switch(g_iKey[id])
{
case 0:{
if(can_take_ak47[id] >= 1)
{
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - AK47 можно взять/выдать !g1 !yраз раунд")
return PLUGIN_HANDLED
}
can_take_ak47[id]++
drop_weapons(g_iPlayer, 1)
give_item(g_iPlayer, "weapon_ak47")
cs_set_user_bpammo(g_iPlayer, CSW_AK47, 90)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал !gAK-47!y игроку !t%s!y.", szAdmName, szUsrName)
}
case 1:{
if(can_take_m4a1[id] >= 1)
{
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - M4A1 можно взять/выдать!g 1 !yраз раунд")
return PLUGIN_HANDLED
}
can_take_m4a1[id]++
drop_weapons(g_iPlayer, 1)
give_item(g_iPlayer, "weapon_m4a1")
cs_set_user_bpammo(g_iPlayer, CSW_M4A1, 90)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал !gM4A1!y игроку !t%s!y.", szAdmName, szUsrName)
}
case 2:{
if(can_take_famas[id] >= 1)
{
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Famas можно взять/выдать!g 1 !yраз раунд")
return PLUGIN_HANDLED
}
can_take_famas[id]++
drop_weapons(g_iPlayer, 1)
give_item(g_iPlayer, "weapon_famas")
cs_set_user_bpammo(g_iPlayer, CSW_FAMAS, 90)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал !gFamas!y игроку !t%s!y.", szAdmName, szUsrName)
}
case 3:{
if(can_take_scout[id] >= 1)
{
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Scout можно взять/выдать!g 1 !yраз раунд")
return PLUGIN_HANDLED
}
can_take_scout[id]++
drop_weapons(g_iPlayer, 1)
give_item(g_iPlayer, "weapon_scout")
cs_set_user_bpammo(g_iPlayer, CSW_SCOUT, 90)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал !gScout!y игроку !t%s!y.", szAdmName, szUsrName)
}
case 4:{
if(can_take_awp[id] >= 1)
{
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - AWP можно взять/выдать!g 1 !yраз раунд")
return PLUGIN_HANDLED
}
can_take_awp[id]++
drop_weapons(g_iPlayer, 1)
give_item(g_iPlayer, "weapon_awp")
cs_set_user_bpammo(g_iPlayer, CSW_AWP, 30)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал !gAWP!y игроку !t%s!y.", szAdmName, szUsrName)
}
case 5:{
if(can_take_deagle[id] >= 1)
{
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Deagle можно взять/выдать!g 1 !yраз раунд")
return PLUGIN_HANDLED

}
can_take_deagle[id]++
drop_weapons(g_iPlayer, 2)
give_item(g_iPlayer, "weapon_deagle")
cs_set_user_bpammo(g_iPlayer, CSW_DEAGLE, 35)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал !gDeagle!y игроку !t%s!y.", szAdmName, szUsrName)
}
case 6:{
if(can_take_grenades[id] >= 1)
{
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Гранаты можно взять/выдать!g 1 !yраз раунд")
return PLUGIN_HANDLED
}
can_take_grenades[id]++
give_item(g_iPlayer, "weapon_hegrenade")
give_item(g_iPlayer, "weapon_flashbang")
give_item(g_iPlayer, "weapon_smokegrenade")

cs_set_user_bpammo(g_iPlayer, CSW_FLASHBANG, 2)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал набор гранат игроку !t%s!y.", szAdmName, szUsrName)
}
case 7:
{
cs_set_user_armor(g_iPlayer, 100, CS_ARMOR_VESTHELM)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал броню и шлем игроку !t%s!y.", szAdmName, szUsrName)
}
case 8:
{
if(get_user_team(g_iPlayer) == 2)
{
cs_set_user_defuse(g_iPlayer, 1)

if(iChatInfo)
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Администратор !t%s!y выдал набор сапера игроку !t%s.!y", szAdmName, szUsrName)
}
else
PrintChatColor(id, PRINT_COLOR_PLAYERTEAM, "!y[!gРусский стандарт!y] - Извините, но набор сапера доступен только игрокам команды !tCounter-Terrorist!y.")
}
}
return PLUGIN_HANDLED
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}


Отредактировал: voed, - 16.11.2015, 1:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Vaqtincha
сообщение 16.11.2015, 1:10
Сообщение #2
Стаж: 11 лет

Сообщений: 981
Благодарностей: 352
Полезность: < 0

мне кажется ты забыл дефайн VIPDAY
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gegelga
сообщение 16.11.2015, 1:15
Сообщение #3
Стаж: 13 лет

Сообщений: 69
Благодарностей: 2
Полезность: < 0

Цитата(Vaqtincha @ 16.11.2015, 3:06) *
мне кажется ты забыл дефайн VIPDAY

в каком месте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 16.11.2015, 1:19
Сообщение #4
Стаж: 11 лет

Сообщений: 981
Благодарностей: 352
Полезность: < 0

gegelga, самом начале нет #define VIPDAY
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gegelga
сообщение 16.11.2015, 9:35
Сообщение #5
Стаж: 13 лет

Сообщений: 69
Благодарностей: 2
Полезность: < 0

перед командой плугин инт имеется
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 16.11.2015, 11:00
Сообщение #6
Стаж: 11 лет

Сообщений: 981
Благодарностей: 352
Полезность: < 0

gegelga,
#if defined VIPDAY

#define VIPDAY
чувствуешь разницу?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: