#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <dhudmessage>
#define PLUGIN_NAME "Torneo VIP 2c2 - FINAL"
#define PLUGIN_VERSION "v1.0.0"
#define PLUGIN_AUTHOR "Kiske"
const UNIT_SECOND = (1 << 12);
new g_message_hud;
new g_unique;
new g_count;
new g_count_screens;
new g_count_final;
new g_finish;
new g_maxplayers;
new g_message_screenshake;
new g_message_screenfade;
public plugin_precache()
{
precache_sound("party/uno.wav");
precache_sound("party/dos.wav");
precache_sound("party/tres.wav");
precache_sound("party/cuatro.wav");
precache_sound("party/cinco.wav");
precache_sound("weapons/c4_explode1.wav");
precache_generic("sound/party/MUSICParty.mp3");
}
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
register_concmd("party_hard_amx", "concmd_RockFinal");
g_message_screenshake = get_user_msgid("ScreenShake");
g_message_screenfade = get_user_msgid("ScreenFade");
g_message_hud = CreateHudSyncObj();
g_maxplayers = get_maxplayers();
}
public concmd_RockFinal(id, level, cid)
{
if(!cmd_access(id, ADMIN_LEVEL_A, cid, 1))
return PLUGIN_HANDLED;
if(g_unique)
{
console_print(id, "Solo se puede usar este comando una vez por mapa!");
return PLUGIN_HANDLED;
}
g_unique = 1
g_count = 10;
set_task(2.0, "fn_Vale");
new i;
for(i = 1; i <= g_maxplayers; ++i)
{
if(!is_user_connected(i))
continue;
cs_set_user_money(i, 0);
if(!is_user_alive(i))
continue;
strip_user_weapons(i);
}
return PLUGIN_HANDLED;
}
public fn_Vale()
{
new sMsg[64];
if(g_count > 5)
formatex(sMsg, charsmax(sMsg), "La fiesta comienza en %d, Preparate", g_count);
else
{
new sSound[64];
switch(g_count)
{
case 5:
{
formatex(sSound, charsmax(sSound), "party/cinco.wav");
new i;
for(i = 1; i <= g_maxplayers; ++i)
{
if(!is_user_connected(i))
continue;
message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
write_short(UNIT_SECOND * 14);
write_short(UNIT_SECOND * 9);
write_short(UNIT_SECOND * 14);
message_end();
}
for(i = 1; i <= g_maxplayers; ++i)
{
if(!is_user_connected(i))
continue;
ClearSyncHud(i, g_message_hud);
}
set_lights("i");
}
case 4:
{
formatex(sSound, charsmax(sSound), "party/cuatro.wav");
set_lights("g");
}
case 3:
{
formatex(sSound, charsmax(sSound), "party/tres.wav");
set_lights("e");
}
case 2:
{
formatex(sSound, charsmax(sSound), "party/dos.wav");
set_lights("c");
}
case 1:
{
formatex(sSound, charsmax(sSound), "party/uno.wav");
set_lights("a");
}
case 0:
{
g_count = 1;
set_task(3.0, "fn_PlayMusic");
return;
}
}
client_cmd(0, "spk ^"%s^"", sSound);
set_dhudmessage(255, 255, 0, -1.0, 0.3, 0, 0.0, 0.3, 0.3, 0.3);
show_dhudmessage(0, "%d", g_count);
}
if(g_count > 5)
{
set_hudmessage(255, 255, 0, -1.0, 0.3, 0, 0.0, 3.0, 2.0, 1.0, -1);
ShowSyncHudMsg(0, g_message_hud, "%s", sMsg);
}
--g_count;
set_task(1.0, "fn_Vale");
}
public fn_PlayMusic()
{
if(g_count == 5)
{
++g_count;
set_task(0.3, "fn_PlayMusic");
return;
}
new sSound[64];
switch(g_count)
{
case 1: formatex(sSound, charsmax(sSound), "party/uno.wav");
case 2: formatex(sSound, charsmax(sSound), "party/dos.wav");
case 3: formatex(sSound, charsmax(sSound), "party/tres.wav");
case 4: formatex(sSound, charsmax(sSound), "party/cuatro.wav");
case 6:
{
client_cmd(0, "MP3Volume 3.0");
client_cmd(0, "mp3 play ^"sound/party/MUSICParty.mp3^"");
new i;
for(i = 1; i <= g_maxplayers; ++i)
{
if(!is_user_connected(i))
continue;
message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
write_short(UNIT_SECOND * 28);
write_short(UNIT_SECOND * 18);
write_short(UNIT_SECOND * 28);
message_end();
}
g_count = 1;
g_count_final = 1;
set_task(0.1, "fn_ChangeRender");
set_task(5.0, "fn_ChangeNumber");
set_task(15.0, "fn_ChangeScreens");
set_task(30.1, "fn_Finish");
return;
}
}
client_cmd(0, "spk ^"%s^"", sSound);
++g_count;
set_task(0.3, "fn_PlayMusic");
}
public fn_ChangeRender()
{
if(g_count == 60 || g_finish)
return;
static i;
static Float:vecOrigin[3];
for(i = 1; i <= g_maxplayers; ++i)
{
if((g_count % 2) == 0)
{
if(!is_user_connected(i))
continue;
message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
write_short(UNIT_SECOND * 9);
write_short(UNIT_SECOND * 6);
write_short(UNIT_SECOND * 9);
message_end();
if(!is_user_alive(i))
continue;
entity_get_vector(i, EV_VEC_origin, vecOrigin);
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vecOrigin, 0);
write_byte(TE_DLIGHT);
engfunc(EngFunc_WriteCoord, vecOrigin[0]);
engfunc(EngFunc_WriteCoord, vecOrigin[1]);
engfunc(EngFunc_WriteCoord, vecOrigin[2]);
write_byte(40);
write_byte(random_num(50, 250));
write_byte(random_num(50, 250));
write_byte(random_num(50, 250));
write_byte(50);
write_byte(10);
message_end();
}
if(!is_user_alive(i))
continue;
set_user_rendering(i, kRenderFxGlowShell, random_num(150, 250), random_num(150, 250), random_num(150, 250), kRenderNormal, 25);
}
++g_count;
set_task(0.5, "fn_ChangeRender");
}
public fn_ChangeScreens()
{
if(g_count_screens == 75 || g_finish)
return;
static i;
if((g_count_screens % 15) == 0)
{
for(i = 1; i <= g_maxplayers; ++i)
{
if(!is_user_connected(i))
continue;
message_begin(MSG_ONE_UNRELIABLE, g_message_screenshake, _, i);
write_short(UNIT_SECOND * 28);
write_short(UNIT_SECOND * 18);
write_short(UNIT_SECOND * 28);
message_end();
}
}
for(i = 1; i <= g_maxplayers; ++i)
{
if(!is_user_connected(i))
continue;
message_begin(MSG_ONE_UNRELIABLE, g_message_screenfade, _, i)
write_short(UNIT_SECOND*4);
write_short(UNIT_SECOND*4);
write_short(0x0000);
write_byte(random_num(100, 250));
write_byte(random_num(100, 250));
write_byte(random_num(100, 250));
write_byte(200);
message_end();
}
++g_count_screens;
set_task(0.2, "fn_ChangeScreens");
}
public fn_Finish()
{
g_finish = 1;
client_cmd(0, "mp3 stop; stopsound");
client_cmd(0, "spk weapons/c4_explode1.wav");
client_cmd(0, "spk weapons/c4_explode1.wav");
set_lights("");
new i;
for(i = 1; i <= g_maxplayers; ++i)
{
if(!is_user_connected(i))
continue;
message_begin(MSG_ONE_UNRELIABLE, g_message_screenfade, _, i)
write_short(UNIT_SECOND*4);
write_short(UNIT_SECOND*4);
write_short(0x0000);
write_byte(255);
write_byte(255);
write_byte(25);
write_byte(255);
message_end();
set_user_rendering(i);
}
set_task(0.3, "fn_R");
set_task(2.0, "fn_Restart3");
}
public fn_R()
server_cmd("sv_restart 1")
public fn_Restart3()
{
client_print(0, print_chat, "[Counter-Strike]As Vivido Party ooo chep");
}
public fn_ChangeNumber()
{
if(g_count_final == 6)
return;
new sSound[64];
switch(g_count_final)
{
case 1: formatex(sSound, charsmax(sSound), "party/cinco.wav");
case 2: formatex(sSound, charsmax(sSound), "party/cuatro.wav");
case 3: formatex(sSound, charsmax(sSound), "party/tres.wav");
case 4: formatex(sSound, charsmax(sSound), "party/dos.wav");
case 5: formatex(sSound, charsmax(sSound), "party/uno.wav");
}
client_cmd(0, "spk ^"%s^"", sSound);
++g_count_final;
set_task(5.0, "fn_ChangeNumber");
}