1. Sprawdź po spawnie, czy gracz jest żywy.
public spawn2(id)
{
if(is_user_alive(id)){
menu_display(id, menu, 0)
}
}
2. Wyświetl trzecią opcję tylko vipom
public spawn2(id)
{
if(is_user_alive(id)){
new menu = menu_create("\rCs-Ariba.pl \yMenu", "wybieranie")
menu_additem(menu, "\yGravitka")
menu_additem(menu, "\ySpeed")
if((get_user_flags(id) & ADMIN_LEVEL_H)){
menu_additem(menu, "\rGrawitka i \dSpeed \n (VIP)")
}
menu_display(id, menu, 0)
}
}
Funkcja
create nie będzie na już potrzebna.
3. Używaj wskaźników dla cvarów.
4. Zapisz prędkość gracza, bo inaczej wraz ze zmianą broni, bonus zniknie.
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <engine>
#define VERSION "1.0"
#define SetBit(%1,%2) ( %1 |= ( 1 << (%2) ) )
#define ClearBit(%1,%2) ( %1 &= ~( 1 << (%2) ) )
#define CheckBit(%1,%2) ( %1 & ( 1 << (%2) ) )
new cgravity, cspeed, c1gravity, c1speed, speed, speed1;
public plugin_init()
{
register_plugin("VIP",VERSION,"SeeK")
cgravity=register_cvar("vip_gravity", "0.8")
cspeed=register_cvar("vip_speed", "300.0")
c1gravity=register_cvar("vip1_gravity", "0.8")
c1speed=register_cvar("vip1_speed", "300.0")
RegisterHam(Ham_Spawn, "player", "spawn2", 1)
RegisterHam(Ham_Item_PreFrame, "player", "speedCheck", 1);
}
public speedCheck(id){
if(is_user_alive(id)){
if(CheckBit(speed, id)){
set_user_maxspeed(id, get_pcvar_float(cspeed));
}
if(CheckBit(speed1, id)){
set_user_maxspeed(id, get_pcvar_float(c1speed));
}
}
}
public client_putinserver(id){
ClearBit(speed, id);
ClearBit(speed1, id);
}
public spawn2(id)
{
if(is_user_alive(id)){
ClearBit(speed, id);
ClearBit(speed1, id);
new menu = menu_create("\rCs-Ariba.pl \yMenu", "wybieranie")
menu_additem(menu, "\yGravitka")
menu_additem(menu, "\ySpeed")
if((get_user_flags(id) & ADMIN_LEVEL_H)){
menu_additem(menu, "\rGrawitka i \dSpeed \n (VIP)")
}
menu_display(id, menu, 0)
}
}
public wybieranie(id, menu, item)
{
switch(item)
{
case 0:{
set_user_gravity(id,get_pcvar_float(cgravity))
}
case 1:{
set_user_maxspeed(id,get_pcvar_float(cspeed))
SetBit(speed, id);
}
case 2:{
if(get_user_flags(id) & ADMIN_LEVEL_H){
set_user_gravity(id,get_pcvar_float(c1gravity))
set_user_maxspeed(id,get_pcvar_float(c1speed))
SetBit(speed1, id);
} else {
client_print(id, print_chat, "Menu jest tylko dla VIP'ow")
}
}
}
}