i want to use parachute for comman player not for Admin so plz how to fix this codes only for simple player
PHP Code:
#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fun>
new para_ent[33]
public plugin_init()
{
register_plugin("Parachute", "1.4 for the Admin", "KRoT@L/JTP10181 & sector")
register_event("ResetHUD", "newSpawn", "be")
register_event("DeathMsg", "death_event", "a")
}
public plugin_natives()
{
set_native_filter("native_filter")
}
public native_filter(const name[], index, trap)
{
if (!trap) return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public plugin_precache()
{
precache_model("models/parashut1_v2.mdl")
}
public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
parachute_reset(id)
set_task(30.0, "parachute_mes", id)
}
}
public client_disconnect(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
parachute_reset(id)
}
}
public death_event()
{
new id = read_data(2)
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
parachute_reset(id)
}
}
public parachute_reset(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(para_ent[id] > 0)
{
if (is_valid_ent(para_ent[id]))
{
remove_entity(para_ent[id])
}
}
if(is_user_alive(id))
{
set_user_gravity(id, 1.0)
para_ent[id] = 0
}
}
}
public newSpawn(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(para_ent[id] > 0)
{
remove_entity(para_ent[id])
set_user_gravity(id, 1.0)
para_ent[id] = 0
}
}
}
public client_PreThink(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(is_user_alive(id))
{
new Float:fallspeed = 100 * -1.0
new Float:frame
new button = get_user_button(id)
new oldbutton = get_user_oldbutton(id)
new flags = get_entity_flags(id)
if(para_ent[id] > 0 && (flags & FL_ONGROUND))
{
if(get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)
{
if(entity_get_int(para_ent[id],EV_INT_sequence) != 2)
{
entity_set_int(para_ent[id], EV_INT_sequence, 2)
entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
entity_set_float(para_ent[id], EV_FL_frame, 0.0)
entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
return
}
frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
entity_set_float(para_ent[id],EV_FL_fuser1,frame)
entity_set_float(para_ent[id],EV_FL_frame,frame)
if(frame > 254.0)
{
remove_entity(para_ent[id])
para_ent[id] = 0
}
else
{
remove_entity(para_ent[id])
set_user_gravity(id, 1.0)
para_ent[id] = 0
}
return
}
}
if (button & IN_USE)
{
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
if(velocity[2] < 0.0)
{
if(para_ent[id] <= 0)
{
para_ent[id] = create_entity("info_target")
if(para_ent[id] > 0)
{
entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
entity_set_edict(para_ent[id], EV_ENT_aiment, id)
entity_set_edict(para_ent[id], EV_ENT_owner, id)
entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
entity_set_model(para_ent[id], "models/parashut1_v2.mdl")
entity_set_int(para_ent[id], EV_INT_sequence, 0)
entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
entity_set_float(para_ent[id], EV_FL_frame, 0.0)
entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
}
}
if(para_ent[id] > 0)
{
entity_set_int(id, EV_INT_sequence, 3)
entity_set_int(id, EV_INT_gaitsequence, 1)
entity_set_float(id, EV_FL_frame, 1.0)
entity_set_float(id, EV_FL_framerate, 1.0)
set_user_gravity(id, 0.1)
velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
entity_set_vector(id, EV_VEC_velocity, velocity)
if(entity_get_int(para_ent[id],EV_INT_sequence) == 0)
{
frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
entity_set_float(para_ent[id],EV_FL_fuser1,frame)
entity_set_float(para_ent[id],EV_FL_frame,frame)
if (frame > 100.0)
{
entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
entity_set_int(para_ent[id], EV_INT_sequence, 1)
entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
entity_set_float(para_ent[id], EV_FL_frame, 0.0)
entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
}
}
}
}
else
if(para_ent[id] > 0)
{
remove_entity(para_ent[id])
set_user_gravity(id, 1.0)
para_ent[id] = 0
}
else
if((oldbutton & IN_USE) && para_ent[id] > 0 )
{
remove_entity(para_ent[id])
set_user_gravity(id, 1.0)
para_ent[id] = 0
}
}
}
}
}
public parachute_mes(id)
{
new nName[33]
get_user_name(id, nName, 32)
nChatPrint(id, "^1[^4Parachute^1] ^3%s^1 - Парашут для Админов.", nName)
}
stock nChatPrint(const id, const input[], any:...)
{
new nCount = 1, nNum[32]
static nMsgs[191]
vformat(nMsgs, 190, input, 3)
replace_all(nMsgs, 190, "!g", "^4")
replace_all(nMsgs, 190, "!n", "^1")
replace_all(nMsgs, 190, "!t", "^3")
if(id) nNum[0] = id; else get_players(nNum, nCount, "ch")
{
for(new i = 0; i < nCount; i++)
{
if(is_user_connected(nNum[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, nNum[i])
write_byte(nNum[i])
write_string(nMsgs)
message_end()
}
}
}
}