#include #include new const tag[] = "RholT"; new bool:blUsed[MAX_CLIENTS+1], Float:cvar[3], hardkomut; public plugin_init() { register_plugin("ReAPI Redbull", "0.1", "LyNcH"); register_clcmd("radio1", "@Redbull"); register_clcmd("say /redbull", "@Redbull"); register_event("CurWeapon", "@CurWeapon", "be"); RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "@CBasePlayer_ResetMaxSpeed", .post = false); RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post = true); RegisterHookChain(RG_CSGameRules_RestartRound, "@CSGameRules_RestartRound", .post = true); bind_pcvar_float(create_cvar("redbull_maxcan", "173.0"), cvar[0]); bind_pcvar_float(create_cvar("redbull_hiz", "850.0"), cvar[1]); bind_pcvar_float(create_cvar("redbull_gravity", "0.56"), cvar[2]); } public plugin_natives() { register_native("Hard_Komut","native_Hard_Komut"); register_native("Hard_KomutAc","native_Hard_KomutAc"); register_native("Hard_KomutKapat","native_Hard_KomutKapat"); } public native_Hard_Komut(id) { return hardkomut; } public native_Hard_KomutAc(id) { new bmOyuncular[32],bmSayi get_players(bmOyuncular, bmSayi ,"a"); for(new i; i < bmSayi; i++){ id = bmOyuncular[i]; blUsed[id] = false; set_entvar(id, var_maxspeed, 320.0); set_entvar(id, var_gravity, 1.0); remove_task(id + 1000); } hardkomut = true; } public native_Hard_KomutKapat(id) { hardkomut = false; } public client_disconnected(id) { blUsed[id] = false; if(task_exists(id + 1000)) remove_task(id + 1000); } @CurWeapon(const id) { if(blUsed[id]) { set_entvar(id, var_maxspeed, cvar[1]); set_entvar(id, var_gravity, cvar[2]); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } @CBasePlayer_ResetMaxSpeed(const id) { if(blUsed[id]) { set_entvar(id, var_maxspeed, cvar[1]); set_entvar(id, var_gravity, cvar[2]); return HC_SUPERCEDE; } return HC_CONTINUE; } @CBasePlayer_Killed(const victim, const killer) { new t; rg_initialize_player_counts(t); if(t <= 1) { for(new i = 1; i <= MaxClients; i++) { if(is_user_alive(i)) { blUsed[i] = false; @Settings(i); } } } if(blUsed[victim]) { blUsed[victim] = false; @Settings(victim); } } @CSGameRules_RestartRound() { for(new i = 1; i <= MaxClients; i++) { if(is_user_connected(i)) { blUsed[i] = false; @Settings(i); } } } @Redbull(const id) { if(IsCanUse(id)) { if(blUsed[id]) { blUsed[id] = false; client_print_color(id, id, "^1[^3%s^1] ^4Redbull devre disi birakildi ^1!", tag); } else { blUsed[id] = true; set_task(1.0, "@GiveHeal", id + 1000, .flags = "b"); client_print_color(id, id, "^1[^3%s^1] ^4Redbull aktif edildi ^1!", tag); } @Settings(id); return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } @GiveHeal(const Taskid) { new id = Taskid - 1000; if(is_user_alive(id) && get_entvar(id, var_health) < cvar[0] && blUsed[id]) { set_entvar(id, var_health, Float:get_entvar(id, var_health) + 1.0); } } @Settings(const id) { if(!is_user_alive(id)) { return; } if(blUsed[id]) { set_entvar(id, var_maxspeed, cvar[1]); set_entvar(id, var_gravity, cvar[2]); } else { remove_task(id + 1000); rg_reset_maxspeed(id); set_entvar(id, var_gravity, 1.0); } } stock bool:IsCanUse(const id) { new t; rg_initialize_player_counts(t); if(!is_user_alive(id)) { client_print_color(id, id, "^1[^3%s^1] ^4Oluyken redbull icemezsin ^1!", tag); return false; } if(t <= 1) { client_print_color(id, id, "^1[^3%s^1] ^4Tek mahkum varken redbull icemezsin ^1!", tag); return false; } if(hardkomut) { client_print_color(id, id,"^1[^3%s^1] ^4Hard komut acikken redbull icemezsin ^1!", tag); return false; } return true; }