Здравствуйте, помогите настроить скорость и гравитацию в випМеню..
Когда берёшь скорость, и меняешь оружие - она проподает.. А когда берёшь гравитацию, и используешь парашют, то она тоже пропадает..
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <colorchat>
#define PLUGIN "Вип меню"
#define VERSION "1.0"
#define AUTHOR "Dark"
new const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
new const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
new Weapon1[33], Weapon2[33], Weapon3[33], Weapon4[33], Weapon5[33], Weapon6[33]
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_0
new rounds
new Spead[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("V_Menu", keys, "vip_func")
register_clcmd("vipmenu", "VipMenu")
register_event("HLTV", "round_start", "a", "1=0", "2=0")
register_event("TextMsg", "EventRoundRestart", "a", "2&#Game_C", "2&#Game_w")
}
public round_start()
{
for(new id = 0; id <= get_maxplayers(); id++)
{
Weapon1[id] = 0
Weapon2[id] = 0
Weapon3[id] = 0
Weapon4[id] = 0
Weapon5[id] = 0
Weapon6[id] = 0
}
rounds++
}
public EventRoundRestart()
rounds = 1
public client_authorized(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new Name[32]
get_user_name(id, Name, 31)
ColorChat(id, NORMAL, "[^x04Сервер^x01] ^x03На сервер зашел вип игрок ^x04%s", Name)
}
return PLUGIN_CONTINUE
}
public VipMenu(id)
{
static menu[650], len
new mapname[32]
get_mapname(mapname, 31)
if(equal(mapname, "35hp_2") || equal(mapname, "awp_india"))
{
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03На этой карте вип меню недоступно!")
return PLUGIN_CONTINUE
}
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(is_user_alive(id))
{
len = formatex(menu[len], charsmax(menu) - len, "\r[\yVipMenu\r] \wВип меню^n^n")
if(Weapon1[id] == 0)
{
len += formatex(menu[len], charsmax(menu) - len, "\r1. \wВоскрешение^n")
keys |= MENU_KEY_1
} else {
len += formatex(menu[len], charsmax(menu) - len, "\d1. \dВоскрешение^n")
keys &= ~MENU_KEY_1
}
if(Weapon2[id] == 0)
{
len += formatex(menu[len], charsmax(menu) - len, "\r2. \wГравитация^n")
keys |= MENU_KEY_2
} else {
len += formatex(menu[len], charsmax(menu) - len, "\d2. \dГравитация^n")
keys &= ~MENU_KEY_2
}
if(Weapon3[id] == 0)
{
len += formatex(menu[len], charsmax(menu) - len, "\r3. \wСкорость^n")
keys |= MENU_KEY_3
} else {
len += formatex(menu[len], charsmax(menu) - len, "\d3. \dСкорость^n")
keys &= ~MENU_KEY_3
}
if(Weapon4[id] == 0)
{
len += formatex(menu[len], charsmax(menu) - len, "\r4. \w5000$^n")
keys |= MENU_KEY_4
} else {
len += formatex(menu[len], charsmax(menu) - len, "\d4. \d5000$^n")
keys &= ~MENU_KEY_4
}
if(Weapon5[id] == 0)
{
len += formatex(menu[len], charsmax(menu) - len, "\r5. \w150HP + 150AR^n")
keys |= MENU_KEY_5
} else {
len += formatex(menu[len], charsmax(menu) - len, "\d5. \d150HP + 150AR^n")
keys &= ~MENU_KEY_5
}
if(Weapon6[id] == 0)
{
len += formatex(menu[len], charsmax(menu) - len, "\r6. \wНабор гранат^n^n")
keys |= MENU_KEY_6
} else {
len += formatex(menu[len], charsmax(menu) - len, "\d6. \dНабор гранат^n^n")
keys &= ~MENU_KEY_6
}
len += formatex(menu[len], charsmax(menu) - len, "\r0. \wВыход")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "V_Menu")
return PLUGIN_HANDLED
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Доступно только для живых!")
return PLUGIN_CONTINUE
}
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Меню доступно только для ^x04VIP ^x03игроков!")
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
public vip_func(id, key)
{
new name[32]
get_user_name(id,name,charsmax(name))
switch(key)
{
case 0:{
if(rounds > 2)
{
if(Weapon1[id] == 0)
{
Weapon1[id] = 1
ExecuteHam(Ham_CS_RoundRespawn, id)
ColorChat(0,BLUE,"^4VIP ^1игрок ^3%s ^4воскресился.", name)
}
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
return PLUGIN_CONTINUE
}
}
case 1:{
if(rounds > 2)
{
if(Weapon2[id] == 0)
{
Weapon2[id] = 1
set_user_gravity(id, 0.5)
ColorChat(0,BLUE,"^4VIP ^1игрок ^3%s ^1взял ^4гравитацию.", name)
}
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
return PLUGIN_CONTINUE
}
}
case 2:{
if(rounds > 2)
{
if(Weapon3[id] == 0)
{
Weapon3[id] = 1
set_user_maxspeed(id, 350.0)
Spead[id] = false
ColorChat(0,BLUE,"^4VIP ^1игрок ^3%s ^1взял ^4скорость.", name)
}
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
return PLUGIN_CONTINUE
}
}
case 3:{
if(rounds > 2)
{
if(Weapon4[id] == 0)
{
Weapon4[id] = 1
cs_set_user_money(id, cs_get_user_money(id) + 5000)
ColorChat(0,BLUE,"^4VIP ^1игрок ^3%s ^1взял^4 5000$", name)
}
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
return PLUGIN_CONTINUE
}
}
case 4:{
if(rounds > 2)
{
if(Weapon5[id] == 0)
{
Weapon5[id] = 1
set_user_health(id, 150)
set_user_armor(id, 150)
ColorChat(0,BLUE,"^4VIP ^1игрок ^3%s ^1взял^4 150HP + 150AP.", name)
}
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
return PLUGIN_CONTINUE
}
}
case 5:{
if(rounds > 2)
{
if(Weapon1[id] == 0)
{
Weapon5[id] = 1
give_item( id, "weapon_hegrenade")
give_item( id, "weapon_flashbang")
give_item( id, "weapon_flashbang")
give_item( id, "weapon_smokegrenade")
ColorChat(0,BLUE,"^4VIP ^1игрок ^3%s ^1взял ^4гранаты.", name)
}
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
return PLUGIN_CONTINUE
}
}
}
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, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}
Отредактировал: GOOD FELLOW, - 5.4.2015, 21:32
Причина: Выдано устное предупреждение!