csduragının kendi paneldeki yüklü modelini yaptım olmuyo başka paraşütler yükliyim onlarıda denedim hep aynı hata. hatta csduragının kendi paraşüt sma sı olan amx_parachute.amxx bunuda denedim bundada aynı sorun çıktı.
Kod: Tümünü seç
#include <amxmodx>
#include <engine>
#include <reapi>
new Float:user_gravity[33], bool:ucuyorum[33], para_ent[33], sv_parachute
//Thanks to KRoT@L/JTP10181 & sector. This plugin was edited and fixed by PurposeLess
public plugin_init() {
register_plugin("Parachute", "1.4", "PurposeLess")
register_event("ResetHUD", "newSpawn", "be")
register_event("DeathMsg", "death_event", "a")
sv_parachute = register_cvar("sv_parachute", "1")
}
public plugin_natives()
{
set_native_filter("native_filter")
}
public native_filter(const name[], index, trap)
{
return (!trap) ? 1:0;
}
public plugin_precache()
{
precache_model("models/csd_parasut.mdl")
}
public client_putinserver(id)
{
parachute_reset(id)
set_task(0.1, "gravity_control", id + 6725, "", 0, "b")
}
public gravity_control(TaskId)
{
new id = TaskId - 6725
if(!is_user_alive(id) || ucuyorum[id]) return
get_entvar(id, var_gravity, user_gravity[id]);
}
public client_disconnected(id)
{
if(is_valid_ent(para_ent[id])) remove_entity(para_ent[id]);
if(task_exists(id + 6725)) remove_task(id + 6725);
}
public death_event()
{
new id = read_data(2)
parachute_reset(id)
}
parachute_reset(id)
{
if(is_valid_ent(para_ent[id]))
{
remove_entity(para_ent[id])
}
if(is_user_alive(id)) set_entvar(id, var_gravity, user_gravity[id])
para_ent[id] = 0
ucuyorum[id] = false
}
public newSpawn(id)
{
if(para_ent[id] > 0)
{
remove_entity(para_ent[id])
ucuyorum[id] = false
set_entvar(id, var_gravity, user_gravity[id])
para_ent[id] = 0
}
}
public client_PreThink(id)
{
if(!is_user_alive(id)) return
if(!get_pcvar_num(sv_parachute)) return
new Float:fallspeed = 100 * -1.0, Float:frame
static button, oldbutton, flags
button = get_user_button(id)
oldbutton = get_user_oldbutton(id)
flags = get_entity_flags(id)
if(para_ent[id] > 0 && (flags & FL_ONGROUND))
{
if(get_entvar(id, var_gravity) == 0.1) set_entvar(id, var_gravity, user_gravity[id])
{
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)
{
para_ent[id] = 0
}
else
{
remove_entity(para_ent[id])
set_entvar(id, var_gravity, user_gravity[id])
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/csd_parasut.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)
ucuyorum[id] = true
set_entvar(id, var_gravity, 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])
ucuyorum[id] = false
set_entvar(id, var_gravity, user_gravity[id])
para_ent[id] = 0
}
}
else if((oldbutton & IN_USE) && para_ent[id] > 0 )
{
remove_entity(para_ent[id])
ucuyorum[id] = false
set_entvar(id, var_gravity, user_gravity[id])
para_ent[id] = 0
}
}
public client_PostThink(id)
{
if(get_pcvar_num(sv_parachute) || !is_user_alive(id)) return
parachute_reset(id)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1254\\ deff0\\ deflang1055{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/