#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#define LEVEL_LEVEL ADMIN_CFG
new bool:g_AutoRR = true;
new bool:g_KnifeArena = false;
new g_HudColors[][3] = {
{0,100,255},
{0,205,0},
{255,255,0},
{0,255,255},
{255,48,48},
{255,127,0},
{238,18,137},
{139,69,19},
{155,48,255}
};
public plugin_init()
{
register_plugin("Auto-Restart-Knives (Optimized)", "1.0", "ChatGPT");
register_dictionary("auto_restart_knives.txt");
register_concmd("amx_auto_rr_knives", "cmdAutoRR", LEVEL_LEVEL, "1 = ON | 0 = OFF");
register_cvar("auto_rr_time", "50");
register_event("TextMsg", "restart_time", "a", "2&#Game_C");
register_event("CurWeapon", "switchweapon", "be", "1=1", "2!29");
RegisterHam(Ham_Killed, "player", "player_killed", 1);
return PLUGIN_CONTINUE;
}
public cmdAutoRR(id)
{
if(!(get_user_flags(id) & LEVEL_LEVEL)) {
client_print(id, print_console, "[AMXX] %L", LANG_PLAYER, "NO_ACCESS");
return PLUGIN_HANDLED;
}
new arg[2];
read_argv(1, arg, charsmax(arg));
if(equal(arg, "1")) {
g_AutoRR = true;
client_print(id, print_console, "[AMXX] %L", LANG_PLAYER, "ENABLED");
} else if (equal(arg, "0")) {
g_AutoRR = false;
client_print(id, print_console, "[AMXX] %L", LANG_PLAYER, "DISABLED");
} else {
client_print(id, print_console, "amx_auto_rr_knives 1 = ON | 0 = OFF");
}
return PLUGIN_HANDLED;
}
public switchweapon(id)
{
if(g_KnifeArena)
engclient_cmd(id, "weapon_knife");
return PLUGIN_CONTINUE;
}
public restart_time()
{
if(!g_AutoRR)
return;
new restart_time = get_cvar_num("auto_rr_time");
g_KnifeArena = true;
pause("ac", "ptb.amxx");
pause("ac", "automaticknifeduel.amxx");
pause("ac", "spawn_protection_pl.amxx");
pause("ac", "alt_end_round_sounds.amxx");
pause("ac", "dib3.amxx");
pause("ac", "adrenaline.amxx");
show_timer_hud(restart_time);
for(new i = 1; i <= restart_time; i++)
set_task(float(restart_time - i), "taskCountDown", i);
set_task(float(restart_time), "restart_map");
}
public taskCountDown(time_left)
{
if(time_left <= 0) return;
static msg[64];
format(msg, charsmax(msg), "%d", time_left);
new idx = (time_left % sizeof g_HudColors);
set_hudmessage(g_HudColors[idx][0], g_HudColors[idx][1], g_HudColors[idx][2],
0.75, 0.70, 2, 0.02, 1.0, 0.01, 0.1);
show_hudmessage(0, "%L", LANG_PLAYER, "AUTO_RR_FOR_SEC", time_left);
if(time_left == 3)
client_cmd(0, "spk misc/szczecinffa/three.wav");
else if (time_left == 2)
client_cmd(0, "spk misc/szczecinffa/two.wav");
else if (time_left == 1)
client_cmd(0, "spk misc/szczecinffa/one.wav");
}
public restart_map()
{
if(!g_AutoRR)
return;
set_cvar_float("sv_restart", 1.0);
g_KnifeArena = false;
unpause("ac", "ptb.amxx");
unpause("ac", "automaticknifeduel.amxx");
unpause("ac", "spawn_protection_pl.amxx");
unpause("ac", "alt_end_round_sounds.amxx");
unpause("ac", "dib3.amxx");
unpause("ac", "adrenaline.amxx");
client_cmd(0, "spk misc/szczecinffa/hohoho.wav");
set_task(2.0, "hud_after_restart");
}
public hud_after_restart()
{
set_hudmessage(0, 100, 255, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1);
show_hudmessage(0, "%L", LANG_PLAYER, "NICE_GAME");
}
public player_killed(victim, attacker, shouldgib)
{
if(g_KnifeArena)
set_task(0.1, "respawn_player", victim);
return HAM_IGNORED;
}
public respawn_player(id)
{
if(is_user_connected(id))
ExecuteHamB(Ham_CS_RoundRespawn, id);
}
public plugin_precache()
{
precache_sound("misc/szczecinffa/one.wav");
precache_sound("misc/szczecinffa/two.wav");
precache_sound("misc/szczecinffa/three.wav");
precache_sound("misc/szczecinffa/hohoho.wav");
precache_sound("misc/szczecinffa/basshunter2.wav");
}
stock show_timer_hud(time) {
set_hudmessage(0, 100, 255, 0.75, 0.70, 2, 0.02, 1.0, 0.01, 0.1);
show_hudmessage(0, "%L", LANG_PLAYER, "AUTO_RR_FOR_SEC", time);
}
sprawdz czy sie kompiluje


Dodatki SourceMod




Moja zawartość
Mężczyzna

