
Стаж: 12 лет
Сообщений: 621
Благодарностей: 78
Полезность: 12
|
Цитата(ThisIsSparta @ 9.9.2015, 20:03) 
qpi3ik, Код:
#include <amxmodx> #include <amxmisc> #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/parachute.mdl") }
public client_putinserver(id) { if(get_user_flags(id) & ADMIN_LEVEL_H) { parachute_reset(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(!is_user_alive(id)) return 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_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 } }
не проверял Сделал как ты написал только вот не пишет в чат это: Код:
nChatPrint(id, "^1[^4Five STARS^1] ^3%s^1 - VIP. Доступен парашют :)", nName) Вот как я сделал. Помогите исправить. Код:
/* Web Help - www.chatbox.do.am */
#include <amxmodx> #include <amxmisc> #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/parachute.mdl") } public client_putinserver(id) { if(get_user_flags(id) & ADMIN_LEVEL_H) { parachute_reset(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(!is_user_alive(id)) return 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_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[^4Five STARS^1] ^3%s^1 - VIP. Доступен парашют :)", 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() } } } }
/* I been here - sector ;) */
|