Author |
Message |
|||
Junior Member |
|
|||
|
Veteran Member |
|
|||
|
Junior Member |
|
|||
|
Member |
|
|||
|
Junior Member |
|
|||
|
Junior Member |
|
|||
|
Junior Member |
|
|||
|
#include <amxmodx>
#include <reapi>
#define WARMUPTIME 60 // Время вармапа
#define NUM_RR 1 // Кол-во рестартов
#define LATENCY 1 // Задержка между рестартами
#define DHUD_MESSAGE // Показывать в dhud. Закомментируйте, чтобы был hud
#define GIVE_SHIELD 0 // 0 — выключить; 1 — Щит + deagle; 2 — щит + нож; 3 — щит и с диглом и ножом
#define STOP_PLUGS // Отключать плагины на время вармапа
#define DM_MODE // Бесконечный респавн на время вармапа
#define ThFiveHP_ON_KNIFE // Выдает 35HP игрокам, если оружие — НОЖ
#if defined STOP_PLUGS
new g_arPlugins[][] = // Указывать название файлов, например test.amxx
{
«reapi_awp_limitter_182.amxx»,
«amxx_vip_gold.amxx»,
«weaponrest.amxx»,
«crux_ansata.amxx»
}
#endif
new g_szWeapon[32];
new g_iWp;
new HookChain:fwd_NewRound,
#if defined DM_MODE
HookChain:fwd_Killed,
#endif
HookChain:fwd_Spawn;
#if defined DHUD_MESSAGE
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif
#else
new g_iHudSync;
#endif
public plugin_init()
{
register_plugin(«Random Weapons WarmUP», «2.5.untested», «neugomon»);
RegisterHookChain(RG_RoundEnd, «fwdRoundEnd», true);
DisableHookChain((fwd_NewRound = RegisterHookChain(RG_CSGameRules_CheckMapConditions, «CSGameRules», true)));
DisableHookChain((fwd_Spawn = RegisterHookChain(RG_CBasePlayer_Spawn, «CBasePlayer_Spawn_Post», true)));
#if defined DM_MODE
DisableHookChain((fwd_Killed = RegisterHookChain(RG_CBasePlayer_Killed, «CBasePlayer_Killed_Post», true)));
register_clcmd(«joinclass», «clCmdJoinClass»);
register_clcmd(«menuselect»,»clCmdJoinClass»);
#endif
#if !defined DHUD_MESSAGE
g_iHudSync = CreateHudSyncObj();
#endif
state warmupOff;
}
public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) <warmupOff>
if(event == ROUND_GAME_COMMENCE)
EnableHookChain(fwd_NewRound);
public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) <warmupOn>
return;
public CSGameRules ()
{
state warmupOn;
set_member_game(m_bMapHasBuyZone, true);
BuyZone_ToogleSolid(SOLID_NOT);
DisableHookChain(fwd_NewRound);
EnableHookChain(fwd_Spawn);
#if defined DM_MODE
EnableHookChain(fwd_Killed);
#endif
#if defined STOP_PLUGS
PluginController(1);
#endif
switch((g_iWp = random(5)))
{
case 0: formatex(g_szWeapon, charsmax(g_szWeapon), «TMP»);
case 1: formatex(g_szWeapon, charsmax(g_szWeapon), «UMP45»);
case 2: formatex(g_szWeapon, charsmax(g_szWeapon), «Scout»);
case 3: formatex(g_szWeapon, charsmax(g_szWeapon), «Grenade»);
case 4: formatex(g_szWeapon, charsmax(g_szWeapon), «Knife»);
}
set_task(1.0, «ShowTimer», .flags = «a», .repeat = WARMUPTIME);
}
#if defined DM_MODE
public clCmdJoinClass(id) <warmupOff>
return;
public clCmdJoinClass(id) <warmupOn>
if(get_member(id, m_iMenu) == Menu_ChooseAppearance)
set_task(0.5, «SpawnPlayer», id);
#endif
public CBasePlayer_Spawn_Post(const id)
{
if(!is_user_alive(id))
return;
rg_remove_all_items(id);
switch(g_iWp)
{
case 0:
{
rg_give_item(id, «weapon_tmp»);
rg_set_user_bpammo(id, WEAPON_TMP, 300);
}
case 1:
{
rg_give_item(id, «weapon_ump45»);
rg_set_user_bpammo(id, WEAPON_UMP45, 300);
}
case 2:
{
rg_give_item(id, «weapon_scout»);
rg_set_user_bpammo(id, WEAPON_SCOUT, 300);
}
case 3:
{
rg_give_item(id, «weapon_hegrenade»);
rg_set_user_bpammo(id, WEAPON_HEGRENADE, 512);
}
case 4:
{
#if GIVE_SHIELD == 2 || GIVE_SHIELD == 3
rg_give_item(id, «weapon_shield»);
#endif
rg_give_item(id, «weapon_knife»);
#if defined ThFiveHP_ON_KNIFE
set_entvar(id, var_health, 35.0);
#endif
}
}
}
#if defined DM_MODE
public CBasePlayer_Killed_Post(pVictim)
set_task(1.0, «SpawnPlayer», pVictim);
#endif
public ShowTimer()
{
static timer = -1;
if(timer == -1) timer = WARMUPTIME;
switch(—timer)
{
case 0:
{
state warmupOff;
BuyZone_ToogleSolid(SOLID_TRIGGER);
DisableHookChain(fwd_Spawn);
#if defined DM_MODE
DisableHookChain(fwd_Killed);
#endif
#if defined STOP_PLUGS
PluginController(0);
#endif
#if NUM_RR > 1
set_task(LATENCY, «SV_Restart», .flags = «a», .repeat = NUM_RR);
#else
SV_Restart();
#endif
timer = -1;
}
default:
{
#if defined DHUD_MESSAGE
set_dhudmessage(.red = 135, .green = 206, .blue = 235, .x = -1.0, .y = 0.08, .holdtime = 0.9);
show_dhudmessage(0, «Разминка на %s!^nРестарт через %d сек», g_szWeapon, timer);
#else
set_hudmessage(135, 206, 235, .x = -1.0, .y = 0.9, .holdtime = 0.9, .channel = -1);
ShowSyncHudMsg(0, g_iHudSync, «Разминка на %s!^nРестарт через %d сек», g_szWeapon, timer);
#endif
}
}
}
public SV_Restart()
set_cvar_num(«sv_restart», 1);
#if defined DM_MODE
public SpawnPlayer(id)
{
if(is_user_alive(id))
return;
switch(get_member(id, m_iTeam))
{
case 1, 2: rg_round_respawn(id);
}
}
#endif
stock PluginController(stop)
{
for(new i; i < sizeof g_arPlugins; i++)
{
if(stop)pause («ac», g_arPlugins[i]);
else unpause(«ac», g_arPlugins[i]);
}
}
stock BuyZone_ToogleSolid(const solid)
{
new entityIndex = 0;
while ((entityIndex = rg_find_ent_by_class(entityIndex, «func_buyzone»)))
set_entvar(entityIndex, var_solid, solid);
}
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.