#define vilagitas(%1) set_lights(%1)
#define EJSZAKA 0
#define DROGOS 1
#define HETFO 2
#define FOGOCSKA 3
#define NORMAL 4
#define TASKID 33338
#define RANDOM random(256)
#pragma semicolon 1
#pragma tabsize 0
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
#include <dhudmessage>
#include <cstrike>
new const NEV[] = "Surf Random Gamedays";
new const VERZIO[] = "1.1";
new const KESZITO[] = "Kiki";
new const KESELERESE[] = "weapon_knife";
new const elojel[] = "SURF";
new const Jateknapok[][]=
{
"Éjszaka",
"Drogosok Napja",
"Egy hétfői nap",
"Fogócska",
"Normál Nap"
};
enum rgbszinek
{
piros,
zold,
kek
}
new hudszine[rgbszinek], bool:is_fogocska, bool:is_drogos, slot, jelenlegimod[15], MessageSay;
public plugin_init()
{
register_plugin(NEV, VERZIO, KESZITO);
register_logevent( "logevent_round_start", 2, "1=Round_Start" );
register_logevent("round_end", 2, "1=Round_End");
register_event("HLTV", "rr", "a", "1=0", "2=0");
register_event("CurWeapon","fegyverevent","be","1=1","2!29");
set_task(1.0, "huduzenet", TASKID, "", 0, "b");
slot = get_global_int(GL_maxClients);
MessageSay = get_user_msgid ( "SayText" );
//Ez a terkep allati huduzenet szine
hudszine[piros] = register_cvar("surf_terkep_piros", "255");
hudszine[zold] = register_cvar("surf_terkep_zold", "0");
hudszine[kek] = register_cvar("surf_terkep_kek", "0");
}
public logevent_round_start()
{
is_fogocska = false;
is_drogos = false;
new iPlayers[ 32 ], iNum, i, id;
get_players( iPlayers, iNum, "c" );
new napok = random(sizeof(Jateknapok));
copy(jelenlegimod, 14, Jateknapok[napok]);
switch(napok)
{
case EJSZAKA:
{
vilagitas("a");
for( i = 0; i < iNum; i++ )
{
id = iPlayers[ i ];
set_user_maxspeed(id, 0.0 );
cs_set_user_nvg(id, 1);
colored_print(id, "!g[%s]!t Ohh, maris ejszaka van, kaptal ingyen ejjellatot!", elojel);
}
}
case DROGOS:
{
is_drogos = true;
for( i = 0; i < iNum; i++ )
{
id = iPlayers[ i ];
cs_set_user_nvg(id, 0);
set_user_maxspeed(id, 1200.0);
colored_print(id, "!g[%s]!t Jól be drogoztál haver, a sebességed megnött 1200.-ra!", elojel);
}
}
case HETFO:
{
for( i = 0; i < iNum; i++ )
{
id = iPlayers[ i ];
set_user_maxspeed(id, 0.0 );
cs_set_user_nvg(id, 0);
set_user_health(id, 200);
colored_print(id, "!g[%s]!t Lám egy hétfői nap, kaptál ingyen 200 életet!", elojel);
}
}
case FOGOCSKA:
{
is_fogocska = true;
for( i = 0; i < iNum; i++ )
{
id = iPlayers[ i ];
set_user_maxspeed(id, 0.0 );
cs_set_user_nvg(id, 0);
strip_user_weapons(id);
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_knife");
colored_print(id, "!g[%s]!t Nincs is jobb egy fogócskánál, csak késelni tudsz!", elojel);
}
}
case NORMAL:
{
for( i = 0; i < iNum; i++ )
{
id = iPlayers[ i ];
set_user_maxspeed(id, 0.0 );
cs_set_user_nvg(id, 0);
colored_print(id, "!g[%s]!t Hmm, sajnos most semmi extrát nem kaptál!", elojel);
}
}
}
set_dhudmessage(RANDOM, RANDOM, RANDOM, -1.0, -1.0, 2, 1.0, 7.0, 0.1, 2.0);
show_dhudmessage(0, "A játékmód véletlenszerüen^n%s lett!", Jateknapok[napok]);
}
public round_end()
{
copy(jelenlegimod, 14, "**Várakozás az új módra**");
new iPlayers[ 32 ], iNum, i, id;
get_players( iPlayers, iNum, "c" );
for( i = 0; i < iNum; i++ )
{
id = iPlayers[ i ];
set_user_maxspeed(id, 0.0 );
}
}
public rr()
{
vilagitas("#OFF");
copy(jelenlegimod, 14, "Várakozás");
}
public fegyverevent(id)
{
new clip, ammo;
new weap = get_user_weapon(id, clip, ammo);
if(is_fogocska == true && weap != CSW_HEGRENADE)
{
client_cmd(id, "%s", KESELERESE);
}
if(is_drogos == true)
{
set_user_maxspeed(id, 1200.0);
}
}
public huduzenet()
{
new index;
for(index = 1; index <= slot; index++)
{
set_hudmessage(get_pcvar_num(hudszine[piros]), get_pcvar_num(hudszine[zold]), get_pcvar_num(hudszine[kek]), 0.01, 0.14, 0, 1.0, 1.0, _, _, 3);
show_hudmessage(index, "Játékmód: %s", jelenlegimod);
}
return PLUGIN_CONTINUE;
}
stock colored_print ( const index, const input [ ], any:... )
{
new sz_Message [ 191 ];
vformat ( sz_Message, charsmax ( sz_Message ), input, 3 );
replace_all ( sz_Message, charsmax ( sz_Message ), "!g", "^4" );
replace_all ( sz_Message, charsmax ( sz_Message ), "!t", "^3" );
replace_all ( sz_Message, charsmax ( sz_Message ), "!y", "^1" );
new i_Players [ 32 ];
new i_Count;
i_Count = 1;
if ( index )
{
i_Players [ 0 ] = index;
}
else
{
get_players ( i_Players, i_Count, "ch" );
}
new i_Number;
for ( i_Number = 0; i_Number < i_Count; i_Number ++ )
{
if ( is_user_connected ( i_Players [ i_Number ] ) )
{
message_begin ( MSG_ONE_UNRELIABLE, MessageSay, _, i_Players [ i_Number ] );
write_byte ( i_Players [ i_Number ] );
write_string ( sz_Message );
message_end ( );
}
}
}