/*
"Elit Magyar Rendorseg" Mod By kiki !
Helló, ez az elsõ általam készített mód!
------------------------------------------------------------------------------------------------------------------------------
Elérehtõség: Steam: kkiki33
------------------------------------------------------------------------------------------------------------------------------
Parancsok: /bolt (Extra dolgok vásárlása amelly még élvezetesebbé teszi a játékmódot!)
/vips (Online Vipek Mutatása)
/vip (Vip Információk mutatása)
/help (Alapvetõ segítség)
/pont (Pontjaid kiírás a chatbe és a hudon)
/jetpack (Csak kommandósnak)
/knife (Csak bérgyilkos)
/bomba (Csak tûzszerésznek)
/le & /rob (Csak merénylõnek)
/drog (Csak drogfutarnak)
------------------------------------------------------------------------------------------------------------------------------
VIP Lista: vips.ini
------------------------------------------------------------------------------------------------------------------------------
Changelog: 1.0: A mód elsõ kiadott verziója!
1.5:- Új terrorista class: Rambo ( M249 + Elite + Összes gárnát! )
- A "Merénylõ" terrorista class javítása!
1.6 - Skin Bug Fix : Mostmár a cliens elsõ körében megváltozik a modelle!
- Láthatatlanság helyet életet lehet venni.
2.0 - Vip rendszer! Több Osztály, Alosztályok!
- Extra Dlogok minden osztálynak!(Bomba,Tnt,Térkép,Drog,Kések..stb)
- Pont Rendszer! /pont <- Pontjaid mutatása | /bolt <- Extra dolgok vásárlása pontért!
- Fegyver Skinek cseréje!
------------------------------------------------------------------------------------------------------------------------------
A módhóz ötleteket várok amelyeket a fórumon leírhattok! www.amxx.try.hu & www.amxmodx.crys.hu
------------------------------------------------------------------------------------------------------------------------------
Készítõ: kiki | http://www.hlmod.hu
IrOn |
Segítettek: Metal | http://www.facebook.com/diwat26clan
CheeseDave | http://dav3.crys.hu/ & http://amxx.crys.hu
*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>
#include <VIPSystem>
#include <nvault>
#include <csx>
#include <dhudmessage>
#define PLUGINNEV "EMR Mod"
#define VERZIO "2.0"
#define KESZITO "kiki & IrOn"
#define ELOJEL "EMR"
#define VIP_STEAM (1<<0)
#define VIP_IP (1<<1)
#define VIP_NAME (1<<2)
#define is_user(%1) (1 <= %1 <= 32)
#define ACCESS_FLAG VIP_FLAG_A
#define MAX_PLAYERS 32
#define TASK_COUNTER 8096
#define TASK_BOMB 7096
#define X_POS 0.3
#define Y_POS 0.00
new g_iMaxPlayers;
new emr_jateknev;
new Array:vipAuthArray;
new Array:vipPasswordArray;
new Array:vipFlagsArray;
new Array:vipAccessArray;
new Array:vipItemNameArray;
new Array:vipItemFlagArray;
new cvarPasswordField;
new forwardVipConnect, result;
new bool:vip[33], vipFlags[33];
new letter[26] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'};
new maxplayers
static const COLOR[] = "^x04"
new gmsgSayText
new vipGravity;
new cvarArmor;
new cvarHP;
new cvarAmountSlots;
new HasTNT[ 33 ];
new tntarray[32][3]
new tnts[32]
new SpriteExplosion
new Float:maxhealth = 2000.0
new const MAXBPAMMO[] = {-1, 52, -1, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120,
30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, -1, 100};
new const AMMOTYPE[][] = {"", "357sig", "", "762nato", "", "buckshot", "", "45acp", "556nato", "", "9mm",
"57mm", "45acp", "556nato", "556nato", "556nato", "45acp", "9mm", "338magnum", "9mm", "556natobox",
"buckshot", "556nato", "9mm", "762nato", "", "50ae", "556nato", "762nato", "", "57mm"};
new channels[8][] =
{
"#Cstrike_Chat_CT",
"#Cstrike_Chat_T",
"#Cstrike_Chat_CT_Dead",
"#Cstrike_Chat_T_Dead",
"#Cstrike_Chat_Spec",
"#Cstrike_Chat_All",
"#Cstrike_Chat_AllDead",
"#Cstrike_Chat_AllSpec"
}
new newChannels[8][] =
{
"(Counter-Terrorist) [VIP] %s1 : %s2",
"(Terrorist) [VIP] %s1 : %s2",
"*DEAD*(Counter-Terrorist) [VIP] %s1 : %s2",
"*DEAD*(Terrorist) [VIP] %s1 : %s2",
"(Spectator) [VIP] %s1 : %s2",
"[VIP] %s1 : %s2",
"*DEAD* [VIP] %s1 : %s2",
"*SPEC* [VIP] %s1 : %s2"
}
new Trie:vipChannels
new vipkill, vipbomb
new g_PenzBlock
new g_iMsgMoney
new gEMRbolt;
new gpontvesztes;
new gpontszerzes;
new gbombarobbanas;
new gbombahatastalanitas;
new gSavePlayerPoints;
new gVault;
new gGlowAr;
new gHalkjarasAr;
new gEletAr;
new gEletPont;
new gArmorAr;
new gArmorPont;
new gSpeedAr;
new gSpeedSebesseg;
new gGravityAr;
new gGravityCvar;
new gLathatatlanAr;
new gLathatatlanCvar;
new gpontjaid[ 33 ];
new gName[ 32 char ];
new gSteamID[ 32 ];
new vKey[ 64 ];
new vData[ 64 ];
new gCocain;
new gKati;
new gLsd;
new HasDrog[ 33 ];
new HasDrogFutar[ 33 ];
new Minigunsebzes
new bool:hasminigun[ 33 ]
new HasRambo[ 33 ]
new gJetSprite;
new gJetIdo
new HasJet[ 33 ];
new HasKommandos[ 33 ];
new nyomozoradar[ 33 ];
new g_msgHostageAdd, g_msgHostageDel;
new g_bomb_counter[513];
new const g_number[11][]={"fuzz","one","two","three","four","five","six","seven","eight","nine","ten"};
new g_sprite_smoke;
new g_sprite_shockwave;
new g_sprite_streak;
new g_sprite_fire;
new g_sprite_mushroom;
new g_msg_death_msg;
new g_msg_screen_fade;
new g_msg_screen_shake;
new HasBomba[ 33 ];
new HasTuzszeresz[ 33 ];
new HasKnifeGrav[ 33 ];
new HasKnifeHP[ 33 ];
new HasKnifeSpeed[ 33 ];
new HasKnifeNotrap[ 33 ];
new HasBergyilkos[ 33 ];
new HasKnife[ 33 ];
new KnifeGrav;
new KnifeHP;
new KnifeSpeed;
new sniper_elet
new Ujraeledes[ 33 ];
new Snipernincsmenu[ 33 ];
new Float:g_flOrigin[33][3];
new bool:Sniper[ 33 ];
/* Itemek */
new HasGlow[ 33 ];
new HasHalkjaras[ 33 ];
new HasElet[ 33 ];
new HasArmor[ 33 ];
new HasSpeed[ 33 ];
new HasGravity[ 33 ];
new HasLathatatlan[ 33 ];
new const RandomColors[][] = {
{255, 0, 0},
{0, 255, 0},
{0, 0, 255}
}
public plugin_init()
{
register_plugin(PLUGINNEV, VERZIO, KESZITO)
register_event("CurWeapon","handle_gun","be","1=1");
register_event("ResetHUD","logevent_round_start","be")
register_clcmd("buy", "BuyUzenet");
register_clcmd("drop", "DropUzenet");
register_clcmd( "say /help","Help12");
register_clcmd( "say_team /help","Help12");
register_clcmd( "say /le","TNTLe");
register_clcmd( "say /rob","TNTRob");
register_clcmd( "say /drog","DrogMenu");
register_clcmd( "say /knife","KnifeMenu");
register_clcmd( "say /jetpack","Jetpack");
register_clcmd("say /vip","admin_motd",0,"- VIP MOTD.");
register_clcmd("say", "handle_say");
register_logevent("round_end", 2, "1=Round_End");
register_logevent( "start", 2, "1=Round_Start" );
register_forward( FM_GetGameDescription, "Jatekneve" );
register_message( get_user_msgid( "ScoreAttrib" ), "VipStatus" );
register_event( "Money", "EventMoney", "b" );
RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
RegisterHam(Ham_TakeDamage, "player", "player_TakeDamage")
RegisterHam( Ham_Player_Jump, "player", "bacon_playerJumping" );
RegisterHam( Ham_Killed, "player", "fwDeath" );
g_iMaxPlayers = get_maxplayers();
forwardVipConnect = CreateMultiForward("VSVipConnect", ET_CONTINUE, FP_CELL);
LoadVipList("vips.ini");
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
g_iMsgMoney = get_user_msgid( "Money" );
emr_jateknev = register_cvar( "emr_jateknev", "EMR Mod" );
cvarPasswordField = register_cvar("vs_vippassword_field", "_vippw");
vipkill = register_cvar("emrvip_kill","2");
vipbomb = register_cvar("emrvip_bomb","5");
vipGravity = register_cvar("emrvip_gravity", "0.70");
cvarArmor = register_cvar("emrvip_armor", "150");
cvarHP = register_cvar("emrvip_hp", "150");
cvarAmountSlots = register_cvar("emrvip_slot", "1");
g_PenzBlock = register_cvar( "emr_penzblock", "1" );
register_dictionary( "EMRMOD.txt" );
set_task(180.0, "hirdetes", 0, _, _, "b")
register_event( "DeathMsg", "Hook_Deathmessage", "a" );
register_forward( FM_ClientKill, "kill" );
register_clcmd( "say /pont", "Pontmutatas" );
register_clcmd( "say_team /pont", "Pontmutatas" );
register_clcmd( "say /bolt", "Bolt" );
register_clcmd( "say_team /bolt", "Bolt" );
register_concmd( "emr_pontadas", "pontadas", ADMIN_KICK );
register_concmd( "emr_pontreset", "pontreset", ADMIN_KICK );
gSavePlayerPoints = register_cvar( "emrbolt-pontmentes", "1" );
gEMRbolt = register_cvar( "emr_shop", "1" );
gpontvesztes = register_cvar( "emr_pontvesztes", "1" );
gpontszerzes = register_cvar( "emr_pontszerzes", "1" );
gbombarobbanas = register_cvar( "emr_bombarobbanas", "3" );
gbombahatastalanitas = register_cvar( "emr_bombahatastalanitas", "3" );
gGlowAr = register_cvar( "emr_glow", "1" );
gHalkjarasAr = register_cvar( "emr_halkjaras", "3" );
gEletAr = register_cvar( "emr_eletar", "5" );
gEletPont = register_cvar( "emr_eletpont", "50" );
gArmorAr = register_cvar( "emr_armorar", "4" );
gArmorPont = register_cvar( "emr_armorpont", "500" );
gSpeedAr = register_cvar( "emr_speedar", "5" );
gSpeedSebesseg = register_cvar( "emr_speedsebesseg", "400" );
gGravityAr = register_cvar( "emr_gravityar", "4" );
gGravityCvar = register_cvar( "emr_gravitycvar", "0.5" );
gLathatatlanAr = register_cvar( "emr_lathatatlanar", "6" );
gLathatatlanCvar = register_cvar( "emr_lathatatlancvar", "50" );
gCocain = register_cvar( "emr_cocain", "0.8" );
gKati = register_cvar( "emr_kati", "50" );
gLsd = register_cvar( "emr_lsd", "300" );
KnifeGrav = register_cvar( "emr_knife-gravity", "0.8" );
KnifeHP = register_cvar( "emr_knife-hp", "50" );
KnifeSpeed = register_cvar( "emr_knife-speed", "300" );
Minigunsebzes = register_cvar("rambo_minigun","1.3")
gJetIdo = register_cvar( "emr_kommandos_jetpack_ido", "25" );
register_clcmd( "say /bomba","bomba_lerakas");
g_msg_death_msg = get_user_msgid("DeathMsg");
g_msg_screen_fade = get_user_msgid("ScreenFade");
g_msg_screen_shake = get_user_msgid("ScreenShake");
sniper_elet = register_cvar("emr_sniper_elet", "50");
for (new i = 1; i<=maxplayers;i++) nyomozoradar[i] = false;
set_task (2.0,"radar_scan",_,_,_,"b");
g_msgHostageAdd = get_user_msgid("HostagePos")
g_msgHostageDel = get_user_msgid("HostageK")
set_task( 10.0, "centerhud", 0, "", 0, "b" );
vipChannels = TrieCreate();
for (new i = 0; i < 8; i++)
{
TrieSetString(vipChannels, channels[i], newChannels[i]);
}
}
public plugin_cfg()
{
register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon");
new iCfgDir[ 32 ], iFile[ 192 ];
get_configsdir( iCfgDir, charsmax( iCfgDir ) );
formatex( iFile, charsmax( iFile ), "%s/EMRMOD.cfg", iCfgDir );
if( !file_exists( iFile ) )
{
server_print( "[EMR] Fajl %s nem letezik!", iFile );
write_file( iFile, " ", -1 );
}
else
{
server_print( "[EMR] Fajl %s sikeresen betoltve.", iFile );
server_cmd( "exec %s", iFile );
}
server_cmd( "sv_maxspeed 99999999.0" );
}
public fwDeath( id, idattacker )
{
if( Ujraeledes[ id ] )
{
pev( id, pev_origin, g_flOrigin[ id ] );
set_task( 6.0, "ujraelesztes", id );
}
}
public ujraelesztes( id )
{
if( is_user_alive( id ) )
return;
Sniper[ id ] = true;
Ujraeledes[ id ]--;
Snipernincsmenu[ id ] = true;
ExecuteHamB( Ham_CS_RoundRespawn, id );
g_flOrigin[ id ][ 2 ] += 20.0;
engfunc( EngFunc_SetOrigin, id, g_flOrigin[ id ] );
fm_set_rendering( id, kRenderFxNone, 16, 16, 16, kRenderTransAlpha, 16 );
set_pev( id, pev_health, float( get_pcvar_num( sniper_elet ) ) );
}
public centerhud(id)
{
new iRandom = random( sizeof(RandomColors) )
set_dhudmessage(RandomColors[0][iRandom],RandomColors[1][iRandom],RandomColors[2][iRandom], X_POS, Y_POS, 0, 1.0, 11.0, 0.1, 2.0)
show_dhudmessage(0, "Elit Magyar Rendorseg Mod");
}
public bomba_lerakas(id)
{
if(is_user_alive(id) && (!HasBomba[ id ]) && (HasTuzszeresz[ id ]))
{
new Float:vector[3];
static Float:colors[3],timer;
timer = 10
entity_get_vector(id,EV_VEC_origin,vector);
new ent = create_entity("info_target");
entity_set_string(ent,EV_SZ_classname,"item_nuke");
entity_set_model(ent,"models/w_weaponbox.mdl");
vector[2] += 10.0;
entity_set_origin(ent,vector);
entity_set_int(ent,EV_INT_rendermode,kRenderTransColor);
entity_set_int(ent,EV_INT_renderfx,kRenderFxGlowShell);
entity_set_int(ent,EV_INT_movetype,MOVETYPE_TOSS);
entity_set_int(ent,EV_INT_solid,SOLID_TRIGGER);
colors[0] = 0.0;
colors[1] = 255.0;
colors[2] = 0.0;
entity_set_vector(ent,EV_VEC_rendercolor,colors);
entity_set_float(ent,EV_FL_renderamt,255.0);
drop_to_floor(ent);
new parm[3];
parm[0] = ent;
parm[1] = id;
parm[2] = timer;
g_bomb_counter[ent] = timer;
set_task(1.0,"bomb_counter",TASK_COUNTER + ent,parm,3,"a",timer + 1);
set_task(float(timer + 1),"bomb_nuke",TASK_BOMB + ent,parm,3);
HasBomba[ id ] = true
ColorChat(id, RED,"[EMR] ^x04%L", id, "EMRMOD_BOMBA10MP");
}
else
{
ColorChat(id, RED,"[EMR] ^x04%L", id, "EMRMOD_NEMTUZSZERESZ");
}
return PLUGIN_CONTINUE;
}
public bomb_counter(parm[3])
{
if(!is_valid_ent(parm[0])) return PLUGIN_CONTINUE;
new sound[16];
format(sound,15,"emr/%s.wav",g_number[g_bomb_counter[parm[0]]]);
emit_sound(parm[0],CHAN_STATIC,sound,VOL_NORM,ATTN_NORM,0,PITCH_NORM);
if(g_bomb_counter[parm[0]] == 0)
{
new origin[3];
static Float:vector[3];
entity_get_vector(parm[0],EV_VEC_origin,vector);
origin[0] = floatround(vector[0]);
origin[1] = floatround(vector[1]);
origin[2] = floatround(vector[2]);
create_te_explosion(origin,g_sprite_mushroom,100,9);
}
g_bomb_counter[parm[0]] -= 1;
return PLUGIN_CONTINUE;
}
public bomb_nuke(parm[3])
{
if(!is_valid_ent(parm[0])) return PLUGIN_CONTINUE;
new origin[3],center[3],axis[3],middle[3],radius,i;
static Float:vector[3];
radius = 500;
entity_get_vector(parm[0],EV_VEC_origin,vector);
origin[0] = floatround(vector[0]);
origin[1] = floatround(vector[1]);
origin[2] = floatround(vector[2]) + 50;
center[0]=origin[0];
center[1]=origin[1];
center[2]=origin[2]-16;
axis[0]=origin[0]+radius/3;
axis[1]=origin[1]+radius/3;
axis[2]=origin[2]+300;
create_te_beamcylinder(origin,center,axis,g_sprite_shockwave,0,0,10,60,5,255,255,255,255,0);
create_te_beamcylinder(origin,center,axis,g_sprite_streak,0,0,12,40,10,255,255,100,255,0);
create_te_dlight(origin,radius,255,255,100,30,60);
center[2] += 20;
middle[0] = origin[0]+radius/8;
middle[1] = origin[1]+radius/8;
middle[2] = origin[2]+100;
for(i = 0;i < 30;i++)
{
if(i > 15)
{
create_te_beamtorus(origin,center,middle,g_sprite_streak,0,0,3,70,1,255,255,255,150,0);
}
else
{
create_te_beamtorus(origin,center,middle,g_sprite_streak,0,0,3,40,0,255,255,255,150,0);
}
center[2]+=3;
if(i > 5)
{
create_te_explosion(center,g_sprite_fire,30,10);
}
}
axis[0] += 400;
axis[1] += 400;
for(i = 0;i < 20;i++)
{
if(i > 18)
{
create_te_beamtorus(origin,center,axis,g_sprite_shockwave,0,0,4,80,1,255,10,0,150,0);
}
else if(i > 14)
{
create_te_beamtorus(origin,center,axis,g_sprite_shockwave,0,0,4,80,1,255,50,0,150,0);
}
else if(i > 8)
{
create_te_beamtorus(origin,center,axis,g_sprite_shockwave,0,0,4,70,1,255,130,0,150,0);
}
else if(i > 3)
{
create_te_beamtorus(origin,center,axis,g_sprite_shockwave,0,0,4,50,1,255,130,0,150,0);
}
else
{
create_te_beamtorus(origin,center,axis,g_sprite_shockwave,0,0,4,40,1,255,130,0,150,0);
}
if(i == 5)
{
create_te_explosion(center,g_sprite_fire,60,10);
}
else
{
create_te_smoke(center,g_sprite_smoke,50,4);
}
center[2]+=5;
}
create_te_tarexplosion(middle);
radius = 700;
new players[MAX_PLAYERS],victim,origin_victim[3],distance,frags,Float:damage;
new bool:score_set = false;
static num;
get_players(players,num,"ah");
for(new i = 0; i < num; i++)
{
victim = players[i];
get_user_origin(victim,origin_victim);
distance = get_distance(origin,origin_victim);
if(distance < (radius + 130))
{
create_screen_fade(victim,(1<<10)*2,(1<<10),(1<<12),255,255,255,200);
create_screen_shake(victim,(255<<14),(4<<10),(255<<14));
}
if(distance < radius)
{
damage = radius_calucation(origin,origin_victim,radius,10.0,150.0);
create_te_elight(victim,origin_victim,radius,100,255,100,50,10);
set_msg_block(g_msg_death_msg,BLOCK_ONCE);
fakedamage(victim,"skill",damage,8);
if(is_user_alive(victim))
{
set_msg_block(g_msg_death_msg,BLOCK_NOT);
}
else
{
score_set = true;
if(get_user_team(parm[1]) != get_user_team(victim)) frags += 1;
else frags -= 1;
create_death_msg(parm[1],victim,0,"nuke");
}
}
}
if(score_set)
{
set_user_frags(parm[1],get_user_frags(parm[1]) + frags);
}
radius = 130;
create_te_dlight(origin,radius,0,255,0,40,10);
remove_entity(parm[0]);
return PLUGIN_CONTINUE;
}
public Float:radius_calucation(center_origin[3],origin[3],radius,Float:min_value,Float:max_value)
{
static Float:percent,distance;
distance = get_distance(center_origin,origin);
if(distance < 60.0)
{
return max_value;
}
else
{
percent = 1.0 - (distance / radius);
}
return min_value + (percent * (max_value - min_value));
}
stock create_death_msg(id,victim,headshot,weapon_name[])
{
message_begin(MSG_ALL,g_msg_death_msg,{0,0,0},0);
write_byte(id);
write_byte(victim);
write_byte(headshot);
write_string(weapon_name);
message_end();
}
stock create_te_elight(entity,origin[3],radius,red,green,blue,life,decay_rate)
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_ELIGHT);
write_short(entity);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_coord(radius);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(life);
write_coord(decay_rate);
message_end();
}
stock create_screen_shake(id,amount,duration,frequency)
{
message_begin(MSG_ONE_UNRELIABLE,g_msg_screen_shake,{0,0,0},id);
write_short(amount);
write_short(duration);
write_short(frequency);
message_end();
}
stock create_screen_fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
message_begin(MSG_ONE_UNRELIABLE,g_msg_screen_fade,{0,0,0},id);
write_short(duration);
write_short(holdtime);
write_short(fadetype);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(alpha);
message_end();
}
stock create_te_tarexplosion(origin[3])
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_TAREXPLOSION);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
message_end();
}
stock create_te_smoke(origin[3],sprite,scale,frame_rate)
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_SMOKE);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_short(sprite);
write_byte(scale);
write_byte(frame_rate);
message_end();
}
stock create_te_beamtorus(origin[3],center[3],axis[3],sprite,frame_start,frame_rate,life,width,amplitude,red,green,blue,brightness,speed)
{
message_begin(MSG_PVS,SVC_TEMPENTITY,origin);
write_byte(TE_BEAMTORUS);
write_coord(center[0]);
write_coord(center[1]);
write_coord(center[2]);
write_coord(axis[0]);
write_coord(axis[1]);
write_coord(axis[2]);
write_short(sprite);
write_byte(frame_start);
write_byte(frame_rate);
write_byte(life);
write_byte(width);
write_byte(amplitude);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(brightness);
write_byte(speed);
message_end();
}
stock create_te_explosion(origin[3],sprite,life,frame)
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,origin);
write_byte(3);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_short(sprite);
write_byte(life);
write_byte(frame);
write_byte(0);
message_end();
}
stock create_te_beamcylinder(origin[3],center[3],axis[3],sprite,frame_start,frame_rate,life,width,amplitude,red,green,blue,brightness,speed)
{
message_begin(MSG_PVS,SVC_TEMPENTITY,origin);
write_byte(TE_BEAMCYLINDER);
write_coord(center[0]);
write_coord(center[1]);
write_coord(center[2]);
write_coord(axis[0]);
write_coord(axis[1]);
write_coord(axis[2]);
write_short(sprite);
write_byte(frame_start);
write_byte(frame_rate);
write_byte(life);
write_byte(width);
write_byte(amplitude);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(brightness);
write_byte(speed);
message_end();
}
stock create_te_dlight(origin[3],radius,red,green,blue,life,decay_rate)
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_DLIGHT);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(radius);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(life);
write_byte(decay_rate);
message_end();
}
public radar_scan()
{
new te_count = 0;
new te_list[32];
new TeCoords[3];
new id, i;
for (new id=1; id<=maxplayers; id++)
if ((is_user_alive(id)))
{
te_count++;
te_list[te_count]=id;
}
for (id=1; id<=maxplayers; id++)
{
if ((!is_user_alive(id))||(!nyomozoradar[id])) continue;
for (i=1;i<=te_count;i++)
{
get_user_origin(te_list[i], TeCoords)
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
write_byte(id)
write_byte(i)
write_coord(TeCoords[0])
write_coord(TeCoords[1])
write_coord(TeCoords[2])
message_end()
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
write_byte(i)
message_end()
}
}
new ct_count = 0;
new ct_list[32];
new CTCoords[3];
for (new id=1; id<=maxplayers; id++)
{
if ((is_user_alive(id)))
{
ct_count++;
ct_list[ct_count]=id;
}
}
for (id=1; id<=maxplayers; id++)
{
if ((!is_user_alive(id))||(!nyomozoradar[id])) continue;
for (i=1;i<=ct_count;i++)
{
get_user_origin(ct_list[i], CTCoords)
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
write_byte(id)
write_byte(i)
write_coord(CTCoords[0])
write_coord(CTCoords[1])
write_coord(CTCoords[2])
message_end()
message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
write_byte(i)
message_end()
}
}
}
public start(id)
{
if( get_pcvar_num( gEMRbolt ) == 1 )
{
new iPlayers[ 32 ], iNum, i, id;
get_players( iPlayers, iNum, "c" );
for( i = 0; i < iNum; i++ )
{
id = iPlayers[ i ];
if (VSGetVipFlag(id, VIP_FLAG_A))
{
set_user_rendering( id );
set_user_footsteps( id, 0 );
set_user_maxspeed( id, 0.0 );
}
else
{
set_user_gravity( id, 1.0 );
set_user_rendering( id );
set_user_footsteps( id, 0 );
set_user_maxspeed( id, 0.0 );
}
Snipernincsmenu[ id ] = false;
}
}
}
public Hook_Deathmessage(id)
{
if( get_pcvar_num( gEMRbolt ) == 1 )
{
new killer = read_data( 1 );
new victim = read_data( 2 );
if( killer == victim )
{
return PLUGIN_HANDLED;
}
if (VSGetVipFlag(id, VIP_FLAG_A))
{
gpontjaid[ killer ] += get_pcvar_num( vipkill );
}
else
{
gpontjaid[ killer ] += get_pcvar_num( gpontszerzes );
}
HasGlow[ victim ] = false;
HasHalkjaras[ victim ] = false;
HasElet[ victim ] = false;
HasArmor[ victim ] = false;
HasSpeed[ victim ] = false;
HasGravity[ victim ] = false;
HasLathatatlan[ victim ] = false;
HasDrog[ victim ] = false;
HasDrogFutar[ victim ] = true;
hasminigun[ victim ] = false;
HasRambo[ victim ] = false;
HasJet[ victim ] = false;
HasKommandos[ victim ] = false
nyomozoradar[ victim ] = false
HasTuzszeresz[ victim ] = false
HasBomba[ victim ] = false
HasBergyilkos[ victim ] = false
HasKnife[ victim ] = false
HasKnifeGrav[ victim ] = false
HasKnifeSpeed[ victim ] = false
HasKnifeHP[ victim ] = false
HasKnifeNotrap[ victim ] = false
Sniper[ victim ] = false;
Snipernincsmenu[ victim ] = false;
if (VSGetVipFlag(id, VIP_FLAG_A))
{
set_user_rendering( victim );
set_user_footsteps( victim, 0 );
set_user_maxspeed( victim, 0.0 );
}
else
{
set_user_rendering( victim );
set_user_footsteps( victim, 0 );
set_user_maxspeed( victim, 0.0 );
set_user_gravity( victim, 1.0 );
}
}
return PLUGIN_CONTINUE;
}
public Pontmutatas( id )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_JELENLEGIPONT", gpontjaid[ id ] );
return PLUGIN_CONTINUE;
}
public kill( id )
{
if( get_pcvar_num( gEMRbolt ) == 1 && is_user_alive( id ) )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_PONTVESZTES", get_pcvar_num( gpontvesztes ) );
gpontjaid[ id ] -= get_pcvar_num( gpontvesztes );
}
}
public pontadas( id, level, cid )
{
if( !cmd_access( id, level, cid, 2 ) || !get_pcvar_num( gEMRbolt ) )
{
return PLUGIN_HANDLED;
}
new argument[ 32 ];
read_argv( 1, argument, charsmax( argument ) );
new give_points[ 5 ];
read_argv( 2, give_points, charsmax( give_points ) );
new gift = str_to_num( give_points );
new iPlayer[ 32 ], iNum, all;
get_players( iPlayer, iNum, "c" );
if( equal( argument, "@all" ) )
{
for( new i; i < iNum; i++ )
{
all = iPlayer[ i ];
gpontjaid[ all ] = gpontjaid[ all ] + gift;
get_user_name( id, gName, charsmax( gName ) );
ColorChat(id, RED, "[EMR] ^x04%L",id, "EMRMOD_PONTADASALL", gName, gift );
}
}
else
{
new player = cmd_target( id, argument, 10 );
if( !player )
{
return PLUGIN_HANDLED;
}
new TargetName[ 32 char ];
get_user_name( player, TargetName, charsmax( TargetName ) );
get_user_name( id, gName, charsmax( gName ) );
gpontjaid[ player ] = gpontjaid[ player ] + gift;
ColorChat(id, RED, "[EMR] ^x04%L",id, "EMRMOD_PONTADASEGY", gName, gift, TargetName );
}
return PLUGIN_HANDLED;
}
public pontreset( id, level, cid )
{
if( !cmd_access( id, level, cid, 2 ) || !get_pcvar_num( gEMRbolt) )
{
return PLUGIN_HANDLED;
}
new argument[ 32 ];
read_argv( 1, argument, charsmax( argument ) );
new iPlayer[ 32 ], iNum, all;
get_players( iPlayer, iNum, "c" );
if( equal( argument, "@all" ) )
{
for( new i; i < iNum; i++ )
{
all = iPlayer[ i ];
gpontjaid[ all ] = 0;
get_user_name( id, gName, charsmax( gName ) );
ColorChat(id, RED, "[EMR] ^x04%L",id, "EMRMOD_PONTVISSZAALL", gName );
}
}
else
{
new player = cmd_target( id, argument, 10 );
if( !player )
{
return PLUGIN_HANDLED;
}
new TargetName[ 32 char ];
get_user_name( player, TargetName, charsmax( TargetName ) );
get_user_name( id, gName, charsmax( gName ) );
gpontjaid[ player ] = 0;
ColorChat(id, RED, "[EMR] ^x04%L",id, "EMRMOD_PONTVISSZAEGY", gName, TargetName );
}
return PLUGIN_HANDLED;
}
public client_connect( id )
{
pont_betoltes( id );
}
public client_disconnect( id )
{
if( get_pcvar_num( gSavePlayerPoints ) != 0 && !is_user_bot( id ) )
{
pont_mentes( id );
}
RemoveAccess(id);
}
stock pont_mentes( index )
{
gVault = nvault_open( "EMRboltpontmentes" );
if( gVault == INVALID_HANDLE )
{
set_fail_state( "[EMR] nValut ERROR: =-> Invalid-Handle" );
}
get_user_authid( index, gSteamID, charsmax( gSteamID ) );
formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
formatex( vData, charsmax( vData ), "%d", gpontjaid[ index ] );
nvault_set( gVault, vKey, vData );
nvault_close( gVault );
}
stock pont_betoltes( index )
{
gVault = nvault_open( "EMRboltpontmentes" );
if( gVault == INVALID_HANDLE )
{
set_fail_state( "[EMR] nValut ERROR: =-> Invalid-Handle" );
}
get_user_authid( index, gSteamID, charsmax( gSteamID ) );
formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
gpontjaid[ index ] = nvault_get( gVault, vKey );
nvault_close( gVault );
}
public Bolt( id )
{
if( get_pcvar_num( gEMRbolt ) != 1 )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_BOLTKIKAPCSOLVA" );
return PLUGIN_HANDLED;
}
if( !is_user_alive( id ) )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_HALOTT");
return PLUGIN_HANDLED;
}
new szText[ 555 char ];
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLT", gpontjaid[ id ] );
new menu = menu_create( szText, "bolt_handler" );
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLTITEMGLOW", get_pcvar_num( gGlowAr ) );
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLTITEMHALKJARAS", get_pcvar_num( gHalkjarasAr ) );
menu_additem( menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLTITEMELET", get_pcvar_num( gEletPont ), get_pcvar_num( gEletAr ) );
menu_additem( menu, szText, "3", 0 );
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLTITEMARMOR", get_pcvar_num( gArmorPont ), get_pcvar_num( gArmorAr ) );
menu_additem( menu, szText, "4", 0 );
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLTITEMSPEED", get_pcvar_num( gSpeedSebesseg ), get_pcvar_num( gSpeedAr ) );
menu_additem( menu, szText, "5", 0 );
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLTITEMGRAV", get_pcvar_num( gGravityAr ) );
menu_additem( menu, szText, "6", 0 );
formatex( szText, charsmax( szText ), "%L",id ,"EMRMOD_BOLTITEMLATHATATLAN", get_pcvar_num( gLathatatlanAr ) );
menu_additem( menu, szText, "7", 0 );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public bolt_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
new data[ 6 ], iName[ 64 ], access, callback;
menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
new key = str_to_num( data );
new points = gpontjaid[ id ];
switch( key )
{
case 1:
{
if( HasGlow[ id ] )
{
marvan( id );
return PLUGIN_HANDLED;
}
if( points < get_pcvar_num( gGlowAr ) )
{
nincspont( id );
return PLUGIN_HANDLED;
}
new colorred = random_num(50,255)
new colorgreen = random_num(50,255)
new colorblue = random_num(50,255)
set_user_rendering(id,kRenderFxGlowShell,colorred,colorgreen,colorblue,kRenderNormal,25)
ColorChat(id, RED, "[EMR] ^x04%L",id, "EMRMOD_TARGYGLOW" );
HasGlow[ id ] = true;
gpontjaid[ id ] -= get_pcvar_num( gGlowAr );
menu_display( id, menu, 0 );
}
case 2:
{
if( HasHalkjaras[ id ] )
{
marvan( id );
return PLUGIN_HANDLED;
}
if( points < get_pcvar_num( gHalkjarasAr ) )
{
nincspont( id );
return PLUGIN_HANDLED;
}
set_user_footsteps( id, 1 );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TARGYHALKJARAS");
HasHalkjaras[ id ] = true;
gpontjaid[ id ] -= get_pcvar_num( gHalkjarasAr );
menu_display( id, menu, 0 );
}
case 3:
{
if( HasElet[ id ] )
{
marvan( id );
return PLUGIN_HANDLED;
}
if( points < get_pcvar_num( gEletAr ) )
{
nincspont( id );
return PLUGIN_HANDLED;
}
set_user_health( id, get_user_health( id ) + get_pcvar_num( gEletPont ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TARGYHP", get_pcvar_num( gEletPont ) );
HasElet[ id ] = true;
gpontjaid[ id ] -= get_pcvar_num( gEletAr );
menu_display( id, menu, 0 );
}
case 4:
{
if( HasArmor[ id ] )
{
marvan( id );
return PLUGIN_HANDLED;
}
if( points < get_pcvar_num( gArmorAr ) )
{
nincspont( id );
return PLUGIN_HANDLED;
}
set_user_armor( id, get_user_armor( id ) + get_pcvar_num( gArmorPont ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TARGYARMOR", get_pcvar_num( gArmorPont ) );
HasArmor[ id ] = true;
gpontjaid[ id ] -= get_pcvar_num( gArmorAr );
menu_display( id, menu, 0 );
}
case 5:
{
if( HasSpeed[ id ] )
{
marvan( id );
return PLUGIN_HANDLED;
}
if( points < get_pcvar_num( gSpeedAr ) )
{
nincspont( id );
return PLUGIN_HANDLED;
}
set_user_maxspeed( id, get_pcvar_float( gSpeedSebesseg ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TARGYSPEED", get_pcvar_num( gSpeedSebesseg ) );
HasSpeed[ id ] = true;
gpontjaid[ id ] -= get_pcvar_num( gSpeedAr );
menu_display( id, menu, 0 );
}
case 6:
{
if( HasGravity[ id ] )
{
marvan( id );
return PLUGIN_HANDLED;
}
if( points < get_pcvar_num( gGravityAr ) )
{
nincspont( id );
return PLUGIN_HANDLED;
}
set_user_gravity( id, get_pcvar_float( gGravityCvar ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TARGYGRAVITY" );
HasGravity[ id ] = true;
gpontjaid[ id ] -= get_pcvar_num( gGravityAr );
menu_display( id, menu, 0 );
}
case 7:
{
if( HasLathatatlan[ id ] )
{
marvan( id );
return PLUGIN_HANDLED;
}
if( points < get_pcvar_num( gLathatatlanAr ) )
{
nincspont( id );
return PLUGIN_HANDLED;
}
set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_pcvar_num( gLathatatlanCvar ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TARGYLATHATATLANSAG" );
HasLathatatlan[ id ] = true;
gpontjaid[ id ] -= get_pcvar_num( gLathatatlanAr );
menu_display( id, menu, 0 );
}
}
return PLUGIN_HANDLED;
}
stock marvan( id )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TARGYMARVAN");
}
stock nincspont( id )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NINCSPONT");
}
public KnifeMenu( id )
{
if( HasKnife[ id ] )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_MARVANKES" );
return PLUGIN_HANDLED;
}
if( !is_user_alive( id ) )
{
ColorChat(id, RED, "[EMR] ^x04%L!", id, "EMRMOD_HALOTT");
return PLUGIN_HANDLED;
}
if( HasBergyilkos[ id ] )
{
new szText[ 555 char ];
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_KNIFEMENU");
new menu = menu_create( szText, "KnifeMenu_handler" );
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_KNIFEITEMGRAV" );
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_KNIFEITEMHP" );
menu_additem( menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_KNIFEITEMSPEED" );
menu_additem( menu, szText, "3", 0 );
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_KNIFEITEMHALKJARAS" );
menu_additem( menu, szText, "4", 0 );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
}
else
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NEMBERGYILKOS" );
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public KnifeMenu_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
new data[ 6 ], iName[ 64 ], access, callback;
menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
new key = str_to_num( data );
switch( key )
{
case 1:
{
if( HasKnife[ id ] )
{
marvankes( id );
return PLUGIN_HANDLED;
}
set_user_gravity( id, get_pcvar_float( KnifeGrav ) );
ColorChat(id, RED, "[EMR] ^x04%L",id, "EMRMOD_GRAVITYKES");
HasKnife[ id ] = true;
HasKnifeGrav[ id ] = true;
menu_display( id, menu, 0 );
}
case 2:
{
if( HasKnife[ id ] )
{
marvankes( id );
return PLUGIN_HANDLED;
}
set_user_health( id, get_user_health( id ) + get_pcvar_num( KnifeHP ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_HPKES");
HasKnife[ id ] = true;
HasKnifeHP[ id ] = true;
menu_display( id, menu, 0 );
}
case 3:
{
if( HasKnife[ id ] )
{
marvankes( id );
return PLUGIN_HANDLED;
}
set_user_maxspeed( id, get_pcvar_float( KnifeSpeed ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_SPEEDKES");
HasKnife[ id ] = true;
HasKnifeSpeed[ id ] = true;
menu_display( id, menu, 0 );
}
case 4:
{
if( HasKnife[ id ] )
{
marvankes( id );
return PLUGIN_HANDLED;
}
set_user_footsteps( id, 1 );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NOTRAPKES");
HasKnife[ id ] = true;
HasKnifeNotrap[ id ] = true;
menu_display( id, menu, 0 );
}
}
return PLUGIN_HANDLED;
}
stock marvankes( id )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_MARVANKES");
}
public DrogMenu( id )
{
if( HasDrog[ id ] )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_MARVANDROG" );
return PLUGIN_HANDLED;
}
if( HasDrogFutar[ id ] )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NEMDROGFUTAR" );
return PLUGIN_HANDLED;
}
if( !is_user_alive( id ) )
{
ColorChat(id, RED, "[EMR] ^x04%L!", id, "EMRMOD_HALOTT");
return PLUGIN_HANDLED;
}
new szText[ 555 char ];
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_DROGMENU");
new menu = menu_create( szText, "DrogMenu_handler" );
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_DROGCOCAIN" );
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_DROGKATI" );
menu_additem( menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "%L", id, "EMRMOD_DROGLSD" );
menu_additem( menu, szText, "3", 0 );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public DrogMenu_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
new data[ 6 ], iName[ 64 ], access, callback;
menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
new key = str_to_num( data );
switch( key )
{
case 1:
{
if( HasDrog[ id ] )
{
marvandrog( id );
return PLUGIN_HANDLED;
}
set_user_gravity( id, get_pcvar_float( gCocain ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_COCAIN");
HasDrog[ id ] = true;
menu_display( id, menu, 0 );
}
case 2:
{
if( HasDrog[ id ] )
{
marvandrog( id );
return PLUGIN_HANDLED;
}
set_user_health( id, get_user_health( id ) + get_pcvar_num( gKati ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_KATI");
HasDrog[ id ] = true;
menu_display( id, menu, 0 );
}
case 3:
{
if( HasDrog[ id ] )
{
marvandrog( id );
return PLUGIN_HANDLED;
}
set_user_maxspeed( id, get_pcvar_float( gLsd ) );
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_LSD");
HasDrog[ id ] = true;
menu_display( id, menu, 0 );
}
}
return PLUGIN_HANDLED;
}
stock marvandrog( id )
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_MARVANDROG");
}
public TNTLe(id, level, cid)
{
if( HasTNT[ id ] )
{
new location[3]
get_user_origin(id,location)
if (tntarray[id][0] != 0)
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_MARVANTNT")
return PLUGIN_HANDLED
}
else
{
tntarray[id][0] = location[0]
tntarray[id][1] = location[1]
tntarray[id][2] = location[2]
tnts[id] = create_entity("env_sprite")
if (!tnts[id])
return PLUGIN_HANDLED
location[2] = location[2] - 30
new Float:LocVec[3]
IVecFVec(location, LocVec)
entity_set_string(tnts[id], EV_SZ_classname, "TNT Model")
entity_set_edict(tnts[id], EV_ENT_owner, id)
entity_set_int(tnts[id], EV_INT_solid, 1)
entity_set_int(tnts[id], EV_INT_movetype, 0)
entity_set_model(tnts[id], "models/amxtnt.mdl")
entity_set_origin(tnts[id], LocVec)
DispatchSpawn(tnts[id])
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
else
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NEMMERENYLO")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public TNTRob(id, level, cid)
{
if (tntarray[id][0] == 0)
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NINCSTNT")
return PLUGIN_HANDLED
}
else
{
new location[3]
new players[32]
new playercount
location[0] = tntarray[id][0]
location[1] = tntarray[id][1]
location[2] = tntarray[id][2]
explode(location, SpriteExplosion, 30, 10, 0)
get_players(players,playercount,"a")
for (new i=0; i<playercount; i++)
{
new playerlocation[3]
new resultdistance
get_user_origin(players[i], playerlocation)
resultdistance = get_distance(playerlocation,location)
if(resultdistance < 300)
{
fakedamage(players[i],"TNT",maxhealth,DMG_BLAST)
}
}
removetnt(id)
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public explode(startloc[3], spritename, scale, framerate, flags)
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(3)
write_coord(startloc[0])
write_coord(startloc[1])
write_coord(startloc[2])
write_short(spritename)
write_byte(scale)
write_byte(framerate)
write_byte(flags)
message_end()
}
public removetnt(id)
{
remove_entity(tnts[id])
tntarray[id][0] = 0
tntarray[id][1] = 0
tntarray[id][2] = 0
return PLUGIN_CONTINUE
}
public EventMoney( id ) {
if( get_pcvar_num( g_PenzBlock ) )
{
set_pdata_int( id, 115, 0 );
message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id );
write_long ( 0 );
write_byte ( 1 );
message_end( );
}
}
public round_end()
{
static id;
for(id = 1 ; id <= g_iMaxPlayers ; id++)
{
if(!is_user_alive(id))
continue;
set_user_maxspeed(id, 0.00001);
strip_user_weapons(id);
give_item(id, "weapon_knife");
HasTNT[ id ] = false;
removetnt(id)
HasGlow[ id ] = false;
HasHalkjaras[ id ] = false;
HasElet[ id ] = false;
HasArmor[ id ] = false;
HasSpeed[ id ] = false;
HasGravity[ id ] = false;
HasLathatatlan[ id ] = false;
HasDrog[ id ] = false;
HasDrogFutar[ id ] = true;
hasminigun[ id ] = false;
HasRambo[ id ] = false;
HasJet[ id ] = false;
HasKommandos[ id ] = false;
nyomozoradar[ id ] = false;
HasTuzszeresz[ id ] = false;
HasBomba[ id ] = false;
HasBergyilkos[ id ] = false;
HasKnife[ id ] = false;
HasKnifeGrav[ id ] = false;
HasKnifeHP[ id ] = false;
HasKnifeSpeed[ id ] = false;
HasKnifeNotrap[ id ] = false;
Sniper[ id ] = false;
Snipernincsmenu[ id ] = false;
}
}
public Fegyvermenuct(id)
{
new menu = menu_create("\rValassz Rendort:", "menu_handler");
menu_additem(menu, "\wKommandos", "1", 0);
menu_additem(menu, "\wNyomozo", "2", 0);
menu_additem(menu, "\wMesterlovesz", "3", 0);
menu_additem(menu, "\wTuzszeresz", "4", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
fm_give_item(id, "weapon_m4a1")
fm_give_item(id, "weapon_deagle")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "ammo_556nato");
fm_give_item(id, "ammo_556nato");
fm_give_item(id, "ammo_556nato");
fm_give_item(id, "ammo_556nato");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_JETPACK", get_pcvar_num( gJetIdo ));
HasKommandos[ id ] = true
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 37000.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_KOMMANDOSHUD", gpontjaid[ id ] );
}
case 2:
{
fm_give_item(id, "weapon_shield")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "item_assaultsuit")
fm_give_item(id, "ammo_45acp");
fm_give_item(id, "ammo_45acp");
fm_give_item(id, "ammo_45acp");
fm_give_item(id, "ammo_45acp");
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_RADAR");
nyomozoradar[ id ] = true
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 37000.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_NYOMOZOHUD", gpontjaid[ id ] )
}
case 3:
{
Sniperct(id)
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_SNIPER");
Snipernincsmenu[ id ] = false;
}
case 4:
{
fm_give_item(id, "weapon_m3")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_smokegrenade")
fm_give_item(id, "item_thighpack")
fm_give_item(id, "item_assaultsuit");
fm_give_item(id, "item_nvgs");
fm_give_item(id, "ammo_45acp");
fm_give_item(id, "ammo_45acp");
fm_give_item(id, "ammo_45acp");
fm_give_item(id, "ammo_45acp");
fm_give_item(id, "ammo_buckshot");
fm_give_item(id, "ammo_buckshot");
fm_give_item(id, "ammo_buckshot");
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_BOMBALE");
HasTuzszeresz[ id ] = true;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 37000.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_TUZSZERESZHUD", gpontjaid[ id ] )
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public Jetpack (id)
{
if( HasKommandos[ id ] )
{
HasJet[ id ] = true
set_task( float( get_pcvar_num( gJetIdo ) ), "remove_jetpack", id );
}
else
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NEMKOMMANDOS")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public remove_jetpack( id )
{
HasJet[ id ] = false;
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_JETPACKKI", get_pcvar_num( gJetIdo ) );
}
public bacon_playerJumping( id )
{
if( HasJet[ id ] )
{
new iOrigin[ 3 ];
get_user_origin( id, iOrigin, 0 );
iOrigin[ 2 ] -= 20;
new Float:fVelocity[ 3 ];
pev( id, pev_velocity, fVelocity );
fVelocity[ 2 ] += 93;
set_pev( id, pev_velocity, fVelocity );
create_flame( iOrigin );
}
}
stock create_flame( origin[ 3 ] )
{
message_begin( MSG_PVS, SVC_TEMPENTITY, origin );
write_byte( TE_SPRITE );
write_coord( origin[ 0 ] );
write_coord( origin[ 1 ] );
write_coord( origin[ 2 ] );
write_short( gJetSprite );
write_byte( 3 );
write_byte( 99 );
message_end();
}
public Fegyvermenute(id)
{
new menu = menu_create("\rValassz Bunozot:", "menu_handler2");
menu_additem(menu, "\wDrogfutar", "1", 0);
menu_additem(menu, "\wBergyilkos", "2", 0);
menu_additem(menu, "\wMerenylo", "3", 0);
menu_additem(menu, "\wRambo", "4", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public menu_handler2(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
fm_give_item(id, "weapon_ak47");
fm_give_item(id, "weapon_elite");
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_DROGVASARLAS");
HasDrogFutar[ id ] = false;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 37000.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_DROGFUTARHUD", gpontjaid[ id ] )
}
case 2:
{
fm_give_item(id, "weapon_scout")
fm_give_item(id, "weapon_galil")
fm_give_item(id, "weapon_glock18")
fm_give_item(id, "ammo_9mm") //glock loszer
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_762nato"); //Scout loszer
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "ammo_556nato"); //Famas Loszer
fm_give_item(id, "ammo_556nato");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "item_kevlar")
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_KESVALASZTAS");
HasBergyilkos[ id ] = true;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 37000.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_BERGYILKOSHUD", gpontjaid[ id ] )
}
case 3:
{
give_item(id, "weapon_hegrenade")
cs_set_user_bpammo(id, CSW_HEGRENADE, 4)
fm_give_item(id, "weapon_mp5navy");
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "weapon_deagle")
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae")
fm_give_item(id, "item_kevlar")
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_TNTLEROB");
HasTNT[ id ] = true;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 37000.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_MERENYLOHUD", gpontjaid[ id ] )
}
case 4:
{
fm_give_item(id, "weapon_m249")
fm_give_item(id, "ammo_556natobox");
fm_give_item(id, "ammo_556natobox");
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "weapon_elite");
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_MINIGUN");
hasminigun[ id ] = true;
HasRambo[ id ] = true;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 3700.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_RAMBOHUD", gpontjaid[ id ] )
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public BuyUzenet(id)
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NINCSVASARLAS");
return PLUGIN_HANDLED;
}
public DropUzenet(id)
{
ColorChat(id, RED, "[EMR] ^x04%L", id, "EMRMOD_NINCSDROP");
return PLUGIN_HANDLED;
}
public Jatekneve( )
{
static gamename[32];
get_pcvar_string( emr_jateknev, gamename, 31 );
forward_return( FMV_STRING, gamename );
return FMRES_SUPERCEDE;
}
public Message_StatusIcon(iMsgId, iMsgDest, id)
{
static szIcon[8];
get_msg_arg_string(2, szIcon, charsmax(szIcon));
if( equal(szIcon, "buyzone") )
{
if( get_msg_arg_int(1) )
{
set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0));
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public plugin_precache()
{
vipAuthArray = ArrayCreate(44, 1);
vipPasswordArray = ArrayCreate(32, 1);
vipFlagsArray = ArrayCreate(1, 1);
vipAccessArray = ArrayCreate(1, 1);
vipItemNameArray = ArrayCreate(32, 1);
vipItemFlagArray = ArrayCreate(1, 1);
precache_model("models/player/emrvipct/emrvipct.mdl")
precache_model("models/player/emrvipte/emrvipte.mdl")
precache_model("models/emrvip/mp5.mdl")
precache_model("models/amxtnt.mdl")
SpriteExplosion = precache_model("sprites/bexplo.spr")
precache_model("models/emr/v_minigun.mdl")
precache_model("models/emr/p_minigun.mdl")
gJetSprite = precache_model( "sprites/explode1.spr" );
g_sprite_smoke = precache_model("sprites/steam1.spr");
g_sprite_shockwave = precache_model("sprites/shockwave.spr");
g_sprite_streak = precache_model("sprites/streak.spr");
g_sprite_fire = precache_model("sprites/hexplo.spr");
g_sprite_mushroom = precache_model("sprites/mushroom.spr");
precache_model("models/w_weaponbox.mdl");
precache_model("models/emr/v_knife-grav.mdl");
precache_model("models/emr/v_knife-hp.mdl");
precache_model("models/emr/v_knife-speed.mdl");
precache_model("models/emr/v_knife-notrap.mdl");
new fvox[32];
for(new i = 0;i < 11;i++)
{
format(fvox,31,"emr/%s.wav",g_number[i]);
precache_sound(fvox);
}
}
public Help12( id )
{
show_motd( id,"emrhelp.txt");
}
public FwdHamPlayerSpawn( id )
{
if( is_user_alive( id ) )
{
strip_user_weapons( id );
give_item( id, "weapon_knife" );
}
}
public hirdetes(id)
{
ColorChat(id, RED, "[EMR]^x04 %L", id, "EMRMOD_HIRDETES");
}
public Sniperct(id)
{
new menu = menu_create("Valassz snipert:", "menu_sniper");
menu_additem(menu, "AWP", "1", 0);
menu_additem(menu, "Scout", "2", 0);
menu_additem(menu, "SG550", "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public menu_sniper(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
fm_give_item(id, "weapon_awp")
fm_give_item(id, "weapon_deagle")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "item_kevlar")
fm_give_item(id, "item_nvgs")
fm_give_item(id, "ammo_338magnum");
fm_give_item(id, "ammo_338magnum");
fm_give_item(id, "ammo_338magnum");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
Ujraeledes[ id ]++;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 37000.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_AWPHUD", gpontjaid[ id ] )
}
case 2:
{
fm_give_item(id, "weapon_scout")
fm_give_item(id, "weapon_glock18")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_9mm")
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "ammo_762nato");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "item_kevlar")
Ujraeledes[ id ]++;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 3700.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_SCOUTHUD", gpontjaid[ id ] )
}
case 3:
{
fm_give_item(id, "weapon_sg550");
fm_give_item(id, "ammo_556nato")
fm_give_item(id, "ammo_556nato")
fm_give_item(id, "ammo_556nato")
fm_give_item(id, "ammo_556nato")
fm_give_item(id, "weapon_deagle")
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae")
fm_give_item(id, "item_kevlar")
Ujraeledes[ id ]++;
set_dhudmessage(0,0,255, 0.2, 0.9, 0, 1.0, 3700.0, 0.1, 2.0)
show_dhudmessage(id, "^%L", id, "EMRMOD_SG550HUD", gpontjaid[ id ] )
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
LoadVipList(const fileName[])
{
new path[64];
get_localinfo("amxx_configsdir", path, charsmax(path));
format(path, charsmax(path), "%s/%s", path, fileName);
new file = fopen(path, "r");
if (file)
{
new text[121], auth[44], pass[32], flags[26], acc[3];
while (!feof(file))
{
fgets(file, text, charsmax(text));
trim(text);
if (text[0] == ';')
{
continue;
}
if (parse(text, auth, charsmax(auth), pass, charsmax(pass), flags, charsmax(flags), acc, charsmax(acc)) != 4)
{
continue;
}
LoadVip(auth, pass, flags, acc);
}
fclose(file);
}
}
FindFlag(const arr[], const ch)
{
new size = strlen(arr);
for (new i = 0; i < size; i++)
{
if (arr[i] == ch)
{
return true;
}
}
return false;
}
ReadFlags(const str[])
{
new flagsBin = 0;
for (new i = 0; i < 26; i++)
{
if (FindFlag(str, letter[i]))
{
flagsBin |= (1<<i);
}
}
return flagsBin;
}
ReadAccess(const str[])
{
new accBin = 0;
for (new i = 0; i < 3; i++)
{
if (FindFlag(str, letter[i]))
{
accBin |= (1<<i);
}
}
return accBin;
}
LoadVip(const auth[], const pass[], const flags[], const acc[])
{
ArrayPushString(vipAuthArray, auth);
ArrayPushString(vipPasswordArray, pass);
ArrayPushCell(vipFlagsArray, ReadFlags(flags));
ArrayPushCell(vipAccessArray, ReadAccess(acc));
}
GetAccess(const id)
{
new userName[32], passField[32], userPass[32], userAuth[32], userIp[44];
get_user_info(id, "name", userName, charsmax(userName));
get_pcvar_string(cvarPasswordField, passField, charsmax(passField));
get_user_info(id, passField, userPass, charsmax(userPass));
get_user_authid(id, userAuth, charsmax(userAuth));
get_user_ip(id, userIp, charsmax(userIp), 1);
RemoveAccess(id);
new auth[44], pass[32], acc, flags;
new size = ArraySize(vipAuthArray);
for (new i = 0; i < size; i++)
{
ArrayGetString(vipAuthArray, i, auth, charsmax(auth));
ArrayGetString(vipPasswordArray, i, pass, charsmax(pass));
flags = ArrayGetCell(vipFlagsArray, i);
acc = ArrayGetCell(vipAccessArray, i);
if (((acc & VIP_STEAM) && equal(auth, userAuth)) || ((acc & VIP_IP) && equal(auth, userIp)) || ((acc & VIP_NAME) && equal(auth, userName) && equal(pass, userPass)))
{
vip[id] = true;
vipFlags[id] = flags;
break;
}
}
}
ConnectGetAccess(const id)
{
GetAccess(id);
if (vip[id])
{
ExecuteForward(forwardVipConnect, result, id);
}
}
RemoveAccess(const id)
{
vip[id] = false;
vipFlags[id] = 0;
}
// Events
public handle_gun(id)
{
new clip, ammo
new weap = get_user_weapon(id,clip,ammo)
if(VSGetVipFlag(id, VIP_FLAG_L))
{
if(weap == CSW_MP5NAVY)
{
entity_set_string(id, EV_SZ_viewmodel, "models/emrvip/mp5.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_mp5.mdl")
}
}
if( HasRambo[ id ] )
{
if(weap == CSW_M249)
{
entity_set_string(id, EV_SZ_viewmodel, "models/emr/v_minigun.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/emr/p_minigun.mdl")
}
}
if( HasKnifeGrav[ id ] )
{
if(weap == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/emr/v_knife-grav.mdl")
}
}
if( HasKnifeHP[ id ] )
{
if(weap == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/emr/v_knife-hp.mdl")
}
}
if( HasKnifeSpeed[ id ] )
{
if(weap == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/emr/v_knife-speed.mdl")
}
}
if( HasKnifeNotrap[ id ] )
{
if(weap == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/emr/v_knife-notrap.mdl")
}
}
}
public VSVipConnect(id)
{
if (get_pcvar_num(cvarAmountSlots) > 0)
{
CheckAccess(id);
}
}
public CheckAccess(id)
{
new maxplayers = get_maxplayers();
new players = get_playersnum(1);
new limit = maxplayers - get_pcvar_num(cvarAmountSlots);
if (VSGetVipFlag(id, VIP_FLAG_I) || (players <= limit))
{
return PLUGIN_CONTINUE;
}
server_cmd("kick #%d ^"Kirugva, mert VIP-nek nem volt hely.^"", get_user_userid(id))
return PLUGIN_HANDLED;
}
public messageSayText(msgid, msgdest, id)
{
new channel[64];
get_msg_arg_string(2, channel, charsmax(channel));
if(!TrieGetString(vipChannels, channel, channel, charsmax(channel)))
{
return;
}
new sender = get_msg_arg_int(1);
if(sender)
{
if (VSGetVipFlag(sender, VIP_FLAG_J))
{
set_msg_arg_string(2, channel);
}
}
}
public logevent_round_start(id) {
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
if(Snipernincsmenu[ id ])
{
ColorChat(id, RED,"[EMR] ^x04%L", id, "EMRMOD_NINCSMENU");
}
else
{
if (cs_get_user_team(id) == CS_TEAM_CT)
{
Fegyvermenuct(id)
}
if (cs_get_user_team(id) == CS_TEAM_T)
{
Fegyvermenute(id)
}
}
HasTNT[ id ] = false;
removetnt(id)
HasGlow[ id ] = false;
HasHalkjaras[ id ] = false;
HasElet[ id ] = false;
HasArmor[ id ] = false;
HasSpeed[ id ] = false;
HasGravity[ id ] = false;
HasLathatatlan[ id ] = false;
HasDrog[ id ] = false;
HasDrogFutar[ id ] = true;
hasminigun[ id ] = false;
HasRambo[ id ] = false;
HasJet[ id ] = false;
HasKommandos[ id ] = false;
HasTuzszeresz[ id ] = false;
HasBomba[ id ] = false;
HasBergyilkos[ id ] = false;
HasKnife[ id ] = false;
HasKnifeGrav[ id ] = false;
HasKnifeHP[ id ] = false;
HasKnifeSpeed[ id ] = false;
HasKnifeNotrap[ id ] = false;
Sniper[ id ] = false;
ColorChat(id, RED, "[EMR]^x04 %L", id, "EMRMOD_VIPHIRDETES");
if (VSGetVipFlag(id, ACCESS_FLAG))
{
set_task(3.0,"gravity",id);
set_task(1.0,"mp5",id);
set_task(1.0,"hparmor",id);
set_task(1.0,"grenade",id);
set_task(2.0,"ammo",id);
set_task(1.0,"mp5",id);
}
if (VSGetVipFlag(id, VIP_FLAG_G))
{
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T)
{
cs_set_user_model(id, "emrvipte")
}
else if(userTeam == CS_TEAM_CT)
{
cs_set_user_model(id, "emrvipct")
}
else
{
cs_reset_user_model(id)
}
}
return PLUGIN_CONTINUE
}
}
public gravity(id)
{
if (VSGetVipFlag(id, VIP_FLAG_B) && is_user_alive(id))
{
set_user_gravity (id, get_pcvar_float( vipGravity ));
}
}
public mp5(id)
{
if (VSGetVipFlag(id, VIP_FLAG_C) && is_user_alive(id))
{
fm_give_item(id, "weapon_mp5navy");
}
}
public hparmor(id)
{
if (VSGetVipFlag(id, VIP_FLAG_D) && is_user_alive(id))
{
fm_set_user_armor(id, get_pcvar_num(cvarArmor));
set_user_health (id, get_pcvar_num(cvarHP));
}
}
public grenade(id)
{
if (VSGetVipFlag(id, VIP_FLAG_E) && is_user_alive(id))
{
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
}
}
public ammo(id)
{
if (VSGetVipFlag(id, VIP_FLAG_F) && is_user_alive(id))
{
new weapons[32], num;
get_user_weapons(id, weapons, num);
for (new i = 0; i < num; i++)
{
ExecuteHam(Ham_GiveAmmo, id, MAXBPAMMO[weapons[i]], AMMOTYPE[weapons[i]], MAXBPAMMO[weapons[i]]);
}
}
}
public VipStatus(const MsgId, const MsgType, const MsgDest)
{
static id;
id = get_msg_arg_int(1);
if((VSGetVipFlag(id, VIP_FLAG_H)) && !get_msg_arg_int(2))
{
set_msg_arg_int(2, ARG_BYTE, (1 << 2 ));
}
}
public admin_motd(id,level,cid) {
if (!cmd_access(id,level,cid,1))
return PLUGIN_CONTINUE
show_motd(id,"vip.txt","VIP")
return PLUGIN_CONTINUE
}
public client_putinserver(id)
{
ConnectGetAccess(id);
}
public client_infochanged(id)
{
new newname[32], oldname[32];
get_user_name(id, oldname, charsmax(oldname));
get_user_info(id, "name", newname, charsmax(newname));
if (!equal(newname, oldname))
{
GetAccess(id);
}
}
public handle_say(id)
{
new said[192]
read_args(said,192)
if(( containi(said, "/emrvips") != -1 && containi(said, "vips") != -1) || contain(said, "/vips") != -1)
set_task(0.1,"print_viplist", id)
return PLUGIN_CONTINUE
}
public print_viplist(user)
{
new adminnames[33][32]
new message[256]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if (VSGetVipFlag(id, VIP_FLAG_A))
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "%s Online VIP: ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "Nincs online vip.")
print_message(user, message)
}
}
print_message(id, msg[])
{
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
public bomb_explode(planter, defuser)
{
if(is_running("cstrike") && VSGetVipFlag(planter, VIP_FLAG_A))
{
gpontjaid[ planter ] += get_pcvar_num( vipbomb );
}
else if (is_running("cstrike"))
{
gpontjaid[ planter ] += get_pcvar_num( gbombarobbanas );
}
return PLUGIN_CONTINUE;
}
public bomb_defused(defuser)
{
if(is_running("cstrike") && VSGetVipFlag(defuser, VIP_FLAG_A))
{
gpontjaid[ defuser ] += get_pcvar_num( vipbomb );
}
else if (is_running("cstrike"))
{
gpontjaid[ defuser ] += get_pcvar_num( gbombahatastalanitas );
}
return PLUGIN_CONTINUE;
}
public player_TakeDamage(victim, inflictor, attacker, Float:damage, damagetype, id) {
if(damagetype & DMG_BULLET && hasminigun[attacker] == true && attacker!=victim)
{
damage = damage*get_pcvar_float(Minigunsebzes)
SetHamParamFloat(4, damage)
return HAM_IGNORED
}
return HAM_IGNORED
}
stock log_kill(killer, victim, weapon[],headshot) {
user_silentkill( victim );
message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();
new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags++ );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags++ );
return PLUGIN_CONTINUE
}
// Natives
public plugin_natives()
{
register_native("VSGetUserVip", "NativeGetUserVip", 1);
register_native("VSGetVipFlag", "NativeGetVipFlag", 1);
register_native("VSGetVipFlags", "NativeGetVipFlags", 1);
register_native("VSRegisterItem", "NativeRegisterItem", 1);
}
public NativeGetUserVip(id)
{
if (!is_user(id))
{
return false;
}
return vip[id];
}
public NativeGetVipFlag(id, flag)
{
if (!is_user(id) || !vip[id])
{
return false;
}
if (flag && !(vipFlags[id] & flag))
{
return false;
}
return true;
}
public NativeGetVipFlags(id)
{
if (!is_user(id))
{
return 0;
}
return vipFlags[id];
}
public NativeRegisterItem(name[], flag)
{
param_convert(1);
ArrayPushString(vipItemNameArray, name);
ArrayPushCell(vipItemFlagArray, flag);
return ArraySize(vipItemNameArray) - 1;
}
public plugin_end()
{
ArrayDestroy(vipAuthArray);
ArrayDestroy(vipPasswordArray);
ArrayDestroy(vipFlagsArray);
ArrayDestroy(vipAccessArray);
ArrayDestroy(vipItemNameArray);
ArrayDestroy(vipItemFlagArray);
TrieDestroy(vipChannels);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/