Всем Привет!)Помогите пожалуйста исправить ошибку в плагине VipMenu - писал плагин Я))), проблема такова, хотел сделать так, что бы можно было включать и выключать скорость и так же с гравитацией, сделал вроде все правильно но почему-то не работает, ошибок при компиляции - нет, но когда открываю Вип меню, у меня показывает так, Скорость: Выкл, а должно стоять Вкл, и так же с Гравитацией, а когда нажимаю на скорость: выкл, она у меня включаеться, а когда 2-й раз нажимаю, всё тоже самое остаеться без изменений, и скорость не пропадает, и всё так же с гравитацией!))
Заранее спасибо!)Код:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fakemeta_util>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "DarkstaR"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vipmenu", "VipMenu")
register_menucmd(register_menuid("Menu 1"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_0, "thand")
register_logevent("round_end", 2, "1=Round_End")
RegisterHam(Ham_Spawn, "player", "event_PlayerSpawn_end",1)
}
new keys
new vip_1[33], vip_2[33], vip_5[33]
new Speed[33], Grava[33]
public round_end()
{
for(new id = 0;id <= get_maxplayers(); id++)
{
if(vip_1[id] > 0) vip_1[id] =- 1
if(vip_2[id] > 0) vip_2[id] =- 1
if(vip_5[id] > 0) vip_5[id] =- 1
}
}
public event_PlayerSpawn_end(id)
{
if(is_user_connected(id) && is_user_alive(id))
{
Speed[id] = false
Grava[id] = false
}
}
public VipMenu(id)
{
new name[32]
get_user_name(id, name, 31)
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\r[\yVipMenu\r] \wВип меню^n^n")
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wВозродиться^n")
keys |= MENU_KEY_1
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dВозродиться^n")
keys &= ~MENU_KEY_1
}
if(is_user_alive(id) && (get_user_flags(id) & ADMIN_LEVEL_H))
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wВзять 255 хп и 255 брони^n")
keys |= MENU_KEY_2
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \dВзять 255 хп и 255 брони^n")
keys &= ~MENU_KEY_2
}
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(is_user_alive(id))
{
if(Speed[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wCкорость: \yВкл^n")
keys |= MENU_KEY_3
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wСкорость: \rВыкл^n")
keys |= MENU_KEY_3
}
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dСкорость^n")
keys &= ~MENU_KEY_3
}
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dСкорость^n")
keys &= ~MENU_KEY_3
}
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(is_user_alive(id))
{
if(Grava[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wГравитация: \yВкл^n")
keys |= MENU_KEY_4
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wГравитация: \rВыкл^n")
keys |= MENU_KEY_4
}
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \dГравитация^n")
keys &= ~MENU_KEY_4
}
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \dГравитация^n")
keys &= ~MENU_KEY_4
}
if(is_user_alive(id) && (get_user_flags(id) & ADMIN_LEVEL_H))
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wВзять 16000$^n^n^n")
keys |= MENU_KEY_5
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \dВзять 16000$^n^n")
keys &= ~MENU_KEY_5
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_HANDLED
}
public thand(id, key)
{
switch(key)
{
case 0:{
if(vip_1[id] == 0)
{
vip_1[id] = 1
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
else ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Ждите %d раунд(ов)", vip_1[id])
}
case 1:{
if(vip_2[id] == 0)
{
vip_2[id] = 3
new health[32]
health[id] = get_user_health(id)
set_user_health(id, health[id] + 155)
set_user_armor(id, 255)
}
else ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Ждите %d раунд(ов)", vip_2[id])
}
case 2:{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(is_user_alive(id))
{
if(Speed[id])
{
Speed[id] = true
set_user_maxspeed(id, 400.0)
}
else
{
set_user_maxspeed(id, 400.0)
Speed[id] = false
}
VipMenu(id)
}
else
{
return PLUGIN_CONTINUE
}
}
else
{
return PLUGIN_CONTINUE
}
}
case 3:{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(is_user_alive(id))
{
if(Grava[id])
{
set_user_gravity(id, 0.6)
Grava[id] = true
}
else
{
set_user_gravity(id, 0.6)
Grava[id] = false
}
VipMenu(id)
}
else
{
return PLUGIN_CONTINUE
}
}
else
{
return PLUGIN_CONTINUE
}
}
case 4:{
if(vip_5[id] == 0)
{
vip_5[id] = 5
new iMoney[32]
iMoney[id] = cs_get_user_money(id)
cs_set_user_money(id, iMoney[id] + 16000)
}
else ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Ждите %d раунд(ов)", vip_5[id])
}
}
return PLUGIN_HANDLED
}