#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <chr_engine>
#include <cstrike>
#include <engine>
new bool:bAim[33];
new bool:speed[33];
new bool:esp[33];
new bool:strong[33]
new bool:noflash[33]
new bool:godmode[33]
new bool:noclip[33]
new bool:norecoil[33]
new bool:invi[33]
new counter[33]
new lehet
new bool:erosgranat[33]
new bool:vankepesseg[33]
new bool: vegtelenloszer[33]
const m_afButtonPressed = 246;
const m_afButtonReleased = 247;
new cvar
new hasznalt
public plugin_init() {
register_plugin("Nyeremenyjatek", "1.0", "qKKKJ and crazy`")
/* TASK */
set_task(1.0, "szamlalo",_,_,_,"b")
set_task(90.0, "hirdet",_,_,_,"b")
/* Kliens parancs */
register_clcmd("say kocka", "roll")
register_clcmd("say_team kocka", "roll")
/* ForWard */
register_forward(FM_TraceLine, "fw_traceline")
register_forward(FM_TraceHull, "fw_tracehull", 1)
register_forward(FM_StartFrame, "fwServerFrame");
register_forward(FM_UpdateClientData, "fwUpdateClientData", 1);
/* Ham */
RegisterHam( Ham_TakeDamage , "player" , "PlayerHurt", 0);
/* Event */
register_event("CurWeapon", "eventCurWeapon", "be");
register_event("ScreenFade", "eventFlash", "be", "4=255", "5=255", "6=255", "7>199");
/* Logevent */
register_logevent("logevent_round_end", 2, "1=Round_End")
register_logevent("event_new_round",2,"0=World triggered","1=Round_Start")
/* Szerver parancs */
server_cmd("sv_maxspeed 600")
/*Cvar */
cvar = register_cvar("sv_max", "1")
}
public szamlalo()
{
new players[32], num
get_players(players, num)
for(new i = 0; i<get_maxplayers(); i++) {
new id = players[i]
if(lehet == 0 && vankepesseg[id] == true)
{
counter[id] -= 1
}
if(counter[id] <= 0 && vankepesseg[id] == true) {
stopall(id)
}
}
}
public hirdet(id) {
ColorChat(0, GREEN, "Ăśdv a Szerveren!! ^3 JĂł JátĂ©kot kĂvánunk!!")
}
public event_new_round()
{
new players[32], num
get_players(players,num)
for(new y=0; y<get_maxplayers(); y++)
{
new id = players[y]
if(cs_get_user_team(id) == CS_TEAM_CT)
{
give_item(id, "weapon_knife")
give_item(id, "weapon_usp")
give_item(id, "item_thighpack")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if(cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_knife")
give_item(id, "weapon_glock18")
give_item(id, "weapon_c4")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
cs_reset_user_model(id)
hasznalt = 0
}
}
public logevent_round_end()
{
new players[32], num
get_players(players, num)
for(new x=0; x<get_maxplayers(); x++)
{
new id = players[x]
bAim[id] = false
speed[id]= false
strong[id] = false
esp[id] = false
noflash[id] = false
noclip[id] = false
norecoil[id] = false
vegtelenloszer[id] = false
invi[id] = false
erosgranat[id] = false
godmode[id] = false
counter[id] = 30
vankepesseg[id] = false
lehet = 1
}
}
public stopall(id) {
bAim[id] = false
speed[id]= false
strong[id] = false
esp[id] = false
noflash[id] = false
noclip[id] = false
invi[id] = false
norecoil[id] = false
godmode[id] = false
erosgranat[id] = false
vegtelenloszer[id] = false
counter[id] = 30
vankepesseg[id] = false
lehet = 1
cs_reset_user_model(id)
new nev[32]
get_user_name(id, nev, 31)
ColorChat(id, GREEN, "^3%s ^4-nek már nincs ^3különleges kepessége!", nev)
}
public roll(id)
{
if(is_user_alive(id) && !is_user_bot(id)) {
if(hasznalt < get_pcvar_num(cvar)) {
if(lehet == 1) {
new nev[32]
get_user_name(id, nev, 31)
switch(random_num(1,1900))
{
case 1..100: {
bAim[id] = !bAim[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3AIM!", nev)
counter[id] = 20
vankepesseg[id] = true
lehet = 0
}
case 101..200: {
speed[id] = !speed[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3SPEED!", nev)
counter[id] = 20
vankepesseg[id] = true
lehet = 0
}
case 201..300: {
esp[id] = !esp[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3WH!", nev)
counter[id] = 20
vankepesseg[id] = true
lehet = 0
}
case 301..400: {
strong[id] = !strong[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Erős lövés", nev)
counter[id] = 20
vankepesseg[id] = true
lehet = 0
}
case 401..500: {
noflash[id] = !noflash[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3No Flash!", nev)
counter[id] = 30
vankepesseg[id] = true
lehet = 0
}
case 501..600: {
godmode[id] = !godmode[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Isten Mód!", nev)
counter[id] = 10
vankepesseg[id] = true
lehet = 0
}
case 601..700: {
noclip[id] = !noclip[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Falonátjárás!", nev)
counter[id] = 10
vankepesseg[id] = true
lehet = 0
}
case 701..800: {
invi[id] = !invi[id]
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Láthatatlanság!", nev)
counter[id] = 15
vankepesseg[id] = true
lehet = 0
}
case 801..1000: {
lehet = 1
ColorChat(0, GREEN, "^3%s -nek ^4ez most nem sikerült! Nyereménye: ^3Semmi :S", nev)
}
case 1001..1100: {
cs_set_user_money(id, cs_get_user_money(id)+2000)
ColorChat(0, GREEN, "^3%s ^4Játszott és ^4nyert! Nyereménye: ^3+2000$!", nev)
lehet = 1
}
case 1201..1300 : {
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nem nyert! ^3Levontunk tőle 25 ölést!", nev)
set_user_frags(id, get_user_frags(id)-25)
lehet = 1
}
case 1301..1400: {
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nem nyert! ^3És most halt meg 100-adjára!", nev)
cs_set_user_deaths(id, 100)
}
case 1401..1500: {
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Örült gránát dobáló!", nev)
counter[id] = 20
vankepesseg[id] = true
erosgranat[id] = !erosgranat[id]
lehet = 0
give_item(id, "weapon_hegrenade")
cs_set_user_bpammo(id, CSW_HEGRENADE, 20)
}
case 1501..1600: {
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Minden fegyver 1 körre", nev)
allweapon(id)
lehet = 1
}
case 1601..1700: {
if(cs_get_user_team(id) == CS_TEAM_CT)
{
cs_set_user_model(id, "leet")
}
else if(cs_get_user_team(id) == CS_TEAM_T)
{
cs_set_user_model(id, "gign")
}
counter[id] = 15
lehet = 0
vankepesseg[id] = true
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Kaméleon", nev)
}
case 1701..1800: {
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3Örök Lőszer", nev)
counter[id] = 15
vegtelenloszer[id] = !vegtelenloszer[id]
vankepesseg[id] = true
lehet = 0
}
case 1801..1900: {
norecoil[id] = !norecoil[id]
counter[id] =20
vankepesseg[id] = true
lehet = 0
ColorChat(0, GREEN, "^3%s ^4Játszott ^1és ^4nyert! Nyereménye: ^3No Recoil", nev)
}
}
hasznalt++
}
else {
ColorChat(id, RED, "Valaki más már játszik várj ameddig lejár neki!")
}
} else {
ColorChat(id, RED, "Ebben a körben többször nem használhatod a kocka parancsot!")
}
}
else {
ColorChat(id, RED, "Csak élő játékosok játszhatnak!")
}
}
public client_putinserver(id)
{
bAim[id] = false
speed[id]= false
strong[id] = false
esp[id] = false
noflash[id] = false
noclip[id] = false
invi[id] = false
godmode[id] = false
counter[id] = 30
vankepesseg[id] = false
vegtelenloszer[id] = false
lehet = 1
}
//Aim
public fw_traceline(Float:start[3], Float:end[3], conditions, id, ptr)
{
return process_trace(id, ptr)
}
public fw_tracehull(Float:start[3], Float:end[3], conditions, hull, id, ptr)
{
return process_trace(id, ptr)
}
public process_trace(id, ptr)
{
if (!is_user_alive(id) || !bAim[id]) return FMRES_IGNORED
new target = get_tr2(ptr, TR_pHit)
if (!is_user_alive(target)) return FMRES_IGNORED
new Float:origin[3], Float:angles[3]
engfunc(EngFunc_GetBonePosition, target, 8, origin, angles)
set_tr2(ptr, TR_vecEndPos, origin)
set_tr2(ptr, TR_iHitgroup, HIT_HEAD)
return FMRES_IGNORED
}
//Wh, Speed
public client_PreThink(id)
{
if(is_user_alive(id))
{
static Float:origin[3], players[32], num, num2, team
team = get_user_team(id)
if(speed[id])
{
if(pev(id,pev_button) & IN_USE)
{
set_speed(id,1000.0,3)
static Float:velocity[3]
pev(id,pev_velocity,velocity)
velocity[2] = -320.0
set_pev(id,pev_velocity,velocity)
}
}
if(esp[id])
{
pev(id,pev_origin,origin);
get_players_distance(origin,players,num,"a");
static Float:hudpos[2];
static Float:distance;
static Float:origin2[3];
num2=0;
for(new i=0;i<num;i++)
{
if(players[i] && get_user_team(players[i]) != team)
{
pev(players[i],pev_origin,origin2);
if(get_hudmessage_locs(id,origin2,hudpos))
{
distance = vector_distance(origin,origin2);
num2++;
if(get_user_team(id)== 1) set_hudmessage(0,0,255,hudpos[0],hudpos[1],0,6.0,0.2,0.1, 0.2,num2);
if(get_user_team(id)== 2) set_hudmessage(255,0,0,hudpos[0],hudpos[1],0,6.0,0.2,0.1, 0.2,num2);
show_hudmessage(id, "%d",floatround(distance / 10.0));
if(num2==4) break;
}
}
}
}
if(godmode[id])
{
set_user_godmode(id, 1);
set_user_rendering( id, kRenderFxGlowShell, random( 256 ), random( 256 ), random( 256 ), kRenderNormal, 25 )
}
else if(!godmode[id])
{
set_user_godmode(id, 0);
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
}
if(invi[id])
{
set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0 );
set_user_maxspeed(id, 400.0)
}
else if(!invi[id])
{
set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderNormal, 25 );
}
if(noclip[id])
{
if(pev(id,pev_button) & IN_USE)
{
set_user_noclip(id, 1)
}
else {
set_user_noclip(id, 0)
}
}
else if(!noclip[id]) {
set_user_noclip(id, 0)
}
if(vankepesseg[id])
{
set_hudmessage(0, 255, 0, 0.0, 0.74, 0, 6.0, 1.0)
show_hudmessage(id, "Hátravan %d mp", counter[id])
}
}
}
//Flash
public eventFlash(id)
{
if(is_user_connected(id))
{
if(noflash[id] == true)
{
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id);
write_short(1);
write_short(1);
write_short(1);
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(255);
message_end();
}
}
}
//Eros loves, granat
public PlayerHurt( victim,inflictor,attacker,Float:damage, DamageBits )
{
new weap = get_user_weapon(attacker)
if(strong[attacker])
{
SetHamParamFloat(4, damage * 1.75);
}
if(erosgranat[attacker] && weap == CSW_HEGRENADE && attacker != victim)
{
SetHamParamFloat(4, float(get_user_health(victim)+1))
}
return HAM_IGNORED;
}
public eventCurWeapon(id)
{
new weapon = get_user_weapon(id)
if(weapon != CSW_HEGRENADE && erosgranat[id])
{
client_cmd(id, "weapon_hegrenade")
}
new iWeapon = read_data(2)
if(vegtelenloszer[id] == true)
{
}
}
public allweapon(id)
{
give_item(id,"weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 100)
give_item(id,"weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 120)
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_p228")
cs_set_user_bpammo(id, CSW_P228, 52)
give_item(id,"weapon_elite")
cs_set_user_bpammo(id, CSW_ELITE, 120)
give_item(id,"weapon_fiveseven")
cs_set_user_bpammo(id, CSW_FIVESEVEN, 120)
give_item(id,"weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 32)
give_item(id,"weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 32)
give_item(id,"weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 120)
give_item(id,"weapon_tmp")
cs_set_user_bpammo(id, CSW_TMP, 120)
give_item(id,"weapon_p90")
cs_set_user_bpammo(id, CSW_P90, 100)
give_item(id,"weapon_mac10")
cs_set_user_bpammo(id, CSW_MAC10, 100)
give_item(id,"weapon_ump45")
cs_set_user_bpammo(id, CSW_UMP45, 100)
give_item(id,"weapon_famas")
cs_set_user_bpammo(id, CSW_FAMAS, 90)
give_item(id,"weapon_sg552")
cs_set_user_bpammo(id, CSW_SG552, 90)
give_item(id,"weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id,"weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id,"weapon_aug")
cs_set_user_bpammo(id, CSW_AUG, 90)
give_item(id,"weapon_scout")
cs_set_user_bpammo(id, CSW_SCOUT, 90)
give_item(id,"weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
give_item(id,"weapon_g3sg1")
cs_set_user_bpammo(id, CSW_G3SG1, 90)
give_item(id,"weapon_sg550")
cs_set_user_bpammo(id, CSW_SG550, 90)
give_item(id,"weapon_galil")
cs_set_user_bpammo(id, CSW_GALIL, 90)
give_item(id,"weapon_m249")
cs_set_user_bpammo(id, CSW_M249, 200)
}
//norecoil
public fwServerFrame()
{
for(new i = 1;i<=get_maxplayers();i++)
{
if(!is_user_alive(i)) continue;
if(pev(i, pev_button) & IN_ATTACK && norecoil[i]){
set_pev(i, pev_punchangle, Float:{0.0, 0.0, 0.0 });
}
}
return 0;
}
public fwUpdateClientData(id, sw, cd_handle)
{
if(norecoil[id])
set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0});
}