1. Може ли този плъгин да се направи така, че да излиза постоянен HUD брояч някъде на екрана и да отброява обратно секундите до края.
2. Може ли да се премахне оръжието AWP понеже имам плъгин, който го забранява при минимален брой играчи.
3. Може ли да се направи да не свършват куршумите на всички оръжия.
Благодаря !
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <reapi>
#include <WPMGPrintChatColor>
new p_flWarmUpTime, p_flForceRespawn, p_flBuyTime;
new Float:g_flOldBuyTime, Float:g_flOldForceRespawn;
new HookChain:fwdPlayerSpawn;
new bool:g_bWarmup
new const g_szWeapons[][] =
{
"weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_awp", "weapon_famas", "weapon_galil",
"weapon_m249", "weapon_scout", "weapon_m3", "weapon_xm1014", "weapon_mac10", "weapon_p90"
};
new const g_szPistols[][] =
{
"weapon_glock18", "weapon_usp", "weapon_deagle", "weapon_elite", "weapon_p228"
};
new const g_iWeaponsBpAmmo[] =
{
90, 90, 90, 30, 90, 90, 200, 90, 32, 32, 100, 100
}
new const g_iPistolsBpAmmo[] =
{
120, 100, 35, 120, 52
}
public plugin_init()
{
register_plugin("Warm UP", "1.0", "TheRedShoko @ AMXX-BG.info");
register_clcmd("drop", "OnDrop")
DisableHookChain((fwdPlayerSpawn = RegisterHookChain(RG_CBasePlayer_Spawn, "FwPlayerSpawnPost", 1)));
p_flWarmUpTime = register_cvar("warmup_time", "120.0");
p_flForceRespawn = get_cvar_pointer("mp_forcerespawn");
p_flBuyTime = get_cvar_pointer("mp_buytime");
}
public OnDrop(id)
{
if(g_bWarmup)
return PLUGIN_HANDLED
}
public plugin_cfg()
{
g_flOldBuyTime = get_pcvar_float(p_flForceRespawn);
g_flOldBuyTime = get_pcvar_float(p_flBuyTime);
set_pcvar_num(p_flBuyTime, 0);
set_pcvar_float(p_flForceRespawn, 0.1);
new Float:flWarmUpTime = get_pcvar_float(p_flWarmUpTime);
set_task(flWarmUpTime, "EndWarmUp");
g_bWarmup = true
EnableHookChain(fwdPlayerSpawn);
set_hudmessage(0, 255, 0, .holdtime = 10.0);
show_hudmessage(0, "Warmup round will end in %.f seconds!", flWarmUpTime);
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warmup round will end in %.f seconds!", flWarmUpTime);
}
public EndWarmUp()
{
DisableHookChain(fwdPlayerSpawn);
set_pcvar_float(p_flBuyTime, g_flOldBuyTime);
set_pcvar_float(p_flForceRespawn, g_flOldForceRespawn);
set_hudmessage(0, 255, 0, .holdtime = 10.0);
show_hudmessage(0, "Warmup round is over, restarting...");
server_cmd("sv_restart 3");
g_bWarmup = false
PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warm up is over, restarting...");
}
public FwPlayerSpawnPost(id)
{
if (!is_user_alive(id))
{
return;
}
rg_remove_all_items(id);
rg_give_item(id, "weapon_knife");
new iPrimaryWeapon = random(sizeof g_szWeapons);
new iSecondaryWeapon = random(sizeof g_szPistols);
rg_give_item(id, g_szWeapons[iPrimaryWeapon]);
rg_give_item(id, g_szPistols[iSecondaryWeapon]);
rg_set_user_bpammo(id, rg_get_weapon_info(g_szWeapons[iPrimaryWeapon], WI_ID), g_iWeaponsBpAmmo[iPrimaryWeapon]);
rg_set_user_bpammo(id, rg_get_weapon_info(g_szPistols[iSecondaryWeapon], WI_ID), g_iPistolsBpAmmo[iSecondaryWeapon]);
}