#pragma semicolon 1
#include <amxmodx>
#include <reapi>
#include <engine>
new const sayTag[] = "~TSK JB Ailesi~";
new const kutuModeli[] = "models/Hunger_Kutu_tsk.mdl";
new const entClases[][] = {
"Box",
"Meydan"
};
new const hungerKonums[][] = {
{-1772, 1267, -155},
{-1776, 740, -155},
{-1302, 760, -155},
{-1257, 1273, -155},
{-1523, 1501, -155},
{-2099, 1011, -155},
{-1455, 445, -155},
{-1423, 1008, -27},
{-1516, 922, -27},
{-1614, 1006, -27},
{-1525, 1090, -27},
{-2466, 882, -155},
{-2397, 1457, -155},
{-2757, 1167, -129},
{-2179, 2054, -155},
{-2172, 2479, -155},
{-2220, 1510, -155},
{-1778, 1610, -154},
{-1766, 2419, -155},
{-1516, 1608, -154},
{-1489, 2361, -155},
{-1290, 2076, -155},
{-1224, 1915, -155},
{-1640, 2547, -155},
{-1751, 1409, -155},
{-1540, 2143, -46},
{-1606, 1884, -46},
{-2568, 1713, -155},
{-2647, 2382, -155},
{-2583, -178, -155},
{-2152, 170, -155},
{-2088, 669, -155},
{-2053, -402, -155},
{-1824, -249, -154},
{-1771, 528, -155},
{-1561, -247, -154},
{-1562, 438, -155},
{-1288, 41, -155},
{-1304, 319, -155},
{-1538, 25, -27},
{-1768, 243, -27}
};
new const weapons[][] = {
"weapon_usp", "weapon_glock18", "weapon_deagle", "weapon_p228", "weapon_elite", "weapon_fiveseven",
"weapon_m3", "weapon_xm1014", "weapon_tmp", "weapon_mac10", "weapon_mp5navy", "weapon_p90",
"weapon_ump45", "weapon_famas", "weapon_galil", "weapon_ak47", "weapon_m4a1", "weapon_sg552", "weapon_aug",
"weapon_scout", "weapon_sg550", "weapon_awp", "weapon_g3sg1", "weapon_m249", "weapon_hegrenade", "weapon_smokegrenade",
"weapon_flashbang", "item_kevlar", "item_assaultsuit"
};
new Float:meydanKonum[] = {-1523.0, 1009.9, -27.0};
new sv_gravity,mp_freeforall,mp_infinite_ammo,meydanEnt,hungerBasladi,hungerMesafe = 5000;
public plugin_init(){
register_plugin("Hunger Games", "1.0", "Necati_DGN & amad & suriyelikene");
register_touch(entClases[0], "player", "@onTouchBox");
RegisterHookChain(RG_CSGameRules_RestartRound, "@rStart", .post = false);
sv_gravity = get_cvar_pointer("sv_gravity");
mp_freeforall = get_cvar_pointer("mp_freeforall");
mp_infinite_ammo = get_cvar_pointer("mp_infinite_ammo");
}
public plugin_precache(){
precache_model(kutuModeli);
}
public plugin_natives(){
register_native("hunger_baslat","@nativebaslat");
}
@nativebaslat(){
hungerBasladi = true;
@kutuOlustur();
@meydanOlustur();
hucreKapisiKaldir(true);
set_lights("e");
set_pcvar_num(sv_gravity, 0);
silahlariKaldirGetir(false);
@hungerIsinla();
set_task(5.0,"@hungerBasla");
client_print_color(0, 0, "^1[^3%s^1] ^4Haritadaki kutulardan ^1silahlari cikar^1.", sayTag);
client_print_color(0, 0, "^1[^3%s^1] ^4Silahlarla ^1rakiplerini ^3oldur^1.", sayTag);
client_print_color(0, 0, "^1[^3%s^1] ^4Birazdan ^1inise gecilip ^3oyun baslayacak^1!.", sayTag);
}
@hungerBasla() {
set_pcvar_num(mp_freeforall, 1);
set_pcvar_num(mp_infinite_ammo, 2);
set_pcvar_num(sv_gravity, 800);
client_print_color(0, 0, "^1[^3%s^1] ^4Aclik Oyunlari basladi!", sayTag);
client_print(0, print_center,"Aclik Oyunlari Basladi!");
set_task(1.0, "@hungerMeydanGel", 1707,_ ,_,"b");
}
@hungerMeydanGel() {
if(hungerMesafe > 260 && hungerBasladi)
hungerMesafe -= 20;
else remove_task(1707);
}
@onTouchBox(entity, id) {
if(is_user_alive(id) && !entity_get_int(entity, EV_INT_iuser1) && get_member(id, m_iTeam)==TEAM_TERRORIST) {
entity_set_int(entity, EV_INT_iuser1, 1);
@destroyEnt(entity);
rg_give_item(id, weapons[random_num(0, charsmax(weapons))]);
}
}
@destroyEnt(ent) {
if(is_valid_ent(ent))
remove_entity(ent);
}
@rStart() {
hungerBasladi = false;
hungerMesafe = 5000;
silahlariKaldirGetir(false);
hucreKapisiKaldir(false);
set_pcvar_num(mp_infinite_ammo, 0);
set_pcvar_num(mp_freeforall, 0);
set_pcvar_num(sv_gravity, 800);
set_lights("l");
remove_task(1707);
new players[MAX_PLAYERS], te_num, ids;
get_players(players, te_num, "aehi", "TERRORIST");
for(new i = 0; i < te_num; i++) {
ids = players[i];
glowla(ids, 0, 0, 0, 0);
}
static tempEnt;
for(new i = 0; i < sizeof(entClases); i++) {
while((tempEnt = rg_find_ent_by_class(tempEnt, entClases[i])))
@destroyEnt(tempEnt);
}
}
@kutuOlustur() {
static ent, Float:boxOrigin[3];
for(new i = 0; i < sizeof(hungerKonums); i++) {
ent = create_entity("info_target");
if(is_valid_ent(ent)) {
entity_set_model(ent, kutuModeli);
entity_set_size(ent, Float:{-6.0, -10.0, 0.0}, Float:{6.0, 10.0, 18.0});
boxOrigin[0] = float(hungerKonums[i][0]);
boxOrigin[1] = float(hungerKonums[i][1]);
boxOrigin[2] = float(hungerKonums[i][2]);
entity_set_string(ent, EV_SZ_classname, entClases[0]);
entity_set_origin(ent, boxOrigin);
entity_set_int(ent, EV_INT_solid,SOLID_BBOX);
entity_set_float(ent, EV_FL_takedamage, DAMAGE_NO);
glowla(ent, random_num(20, 200), random_num(20, 200), random_num(20, 200), 30);
drop_to_floor(ent);
}
}
}
@meydanOlustur() {
meydanEnt = create_entity("info_target");
if(is_valid_ent(meydanEnt)) {
entity_set_size(meydanEnt, Float:{-6.0, -10.0, 0.0}, Float:{6.0, 10.0, 18.0});
entity_set_string(meydanEnt, EV_SZ_classname, entClases[1]);
SetThink(meydanEnt, "@thinkMeydan");
entity_set_origin(meydanEnt, meydanKonum);
entity_set_int(meydanEnt, EV_INT_solid, SOLID_NOT);
entity_set_float(meydanEnt, EV_FL_nextthink, halflife_time() + 1.0);
drop_to_floor(meydanEnt);
}
}
@thinkMeydan(Ent) {
if(hungerBasladi) {
entity_set_float(Ent, EV_FL_nextthink, halflife_time() + 1.0);
static distance, Float:PlayerOrigin[3];
new players[MAX_PLAYERS], te_num, ids;
get_players(players, te_num, "aehi", "TERRORIST");
for(new i = 0; i < te_num; i++) {
ids = players[i];
get_entvar(ids, var_origin, PlayerOrigin);
distance = floatround(get_distance_f(meydanKonum, PlayerOrigin));
if(distance > 5000) distance = 5000;
if(distance > hungerMesafe) {
client_print(ids, print_center, "Zehirli Gazdasin. Meydana gel!");
ekranrengi(ids, 0, 0, 200, 180 - (180 * distance) / 5000);
meydanDisiHasar(ids);
}
else ekranrengi(ids, 0, 0, 200, 0);
}
}
}
@hungerIsinla() {
static Float:Origin[3];
Origin[0] = -2200.0;
Origin[1] = 1027.0;
Origin[2] = 800.0;
new players[MAX_PLAYERS], te_num, ids;
get_players(players, te_num, "aehi", "TERRORIST");
for(new i = 0; i < te_num; i++) {
ids = players[i];
glowla(ids, random_num(0, 255), random_num(0, 255), random_num(0, 255), 50);
set_entvar(ids, var_origin, Origin);
Origin[0] += 200.0;
if(Origin[0] >= 2200.0) {
Origin[0] = -2200.0;
Origin[2] -= 100.0;
}
}
}
hucreKapisiKaldir(bool:kaldir = true) {
static iEnt;
while( (iEnt = find_ent_by_class(iEnt, "func_door")) )
{
set_entity_visibility(iEnt, !kaldir);
kaldir ? set_entvar(iEnt, var_solid, SOLID_NOT) : set_entvar(iEnt, var_solid, SOLID_BSP);
}
}
silahlariKaldirGetir(bool:kaldir = true) {
static iEnt;
while( (iEnt = find_ent_by_class(iEnt, "armoury_entity")) )
{
if(kaldir) {
set_entvar(iEnt, var_rendermode, kRenderTransAlpha);
set_entvar(iEnt, var_solid, SOLID_NOT);
}
else {
set_entvar(iEnt, var_rendermode, kRenderNormal);
set_entvar(iEnt, var_solid, SOLID_TRIGGER);
}
}
}
glowla(id, bir = 0, iki = 0, uc = 0, amount = 0) {
static Float:RenderColor[3]; RenderColor[0]=float(bir); RenderColor[1]=float(iki); RenderColor[2]=float(uc);
set_entvar(id, var_renderfx, kRenderFxGlowShell);
set_entvar(id, var_rendercolor, RenderColor);
set_entvar(id, var_rendermode, kRenderNormal);
set_entvar(id, var_renderamt, float(amount));
}
meydanDisiHasar(id) {
static Float:hp;
switch(hungerMesafe) {
case 0..300: hp = 5.0;
case 301..500: hp = 4.0;
case 501..1500: hp = 3.0;
case 1501..3000: hp = 2.0;
case 3001..5000: hp = 1.0;
}
if(get_entvar(id, var_health) <= hp)
user_kill(id);
else
set_entvar(id, var_health, Float:get_entvar(id, var_health) - hp);
}
ekranrengi(id, r = 0, g = 255, b = 0, amount = 70) {
if(id == -1) message_begin(MSG_ALL, get_user_msgid("ScreenFade"),{0,0,0}, 0);
else message_begin(MSG_ONE, get_user_msgid("ScreenFade"),{0,0,0}, id);
write_short(~0); write_short(~0);
write_short(1<<2);
write_byte(r);
write_byte(g);
write_byte(b);
write_byte(amount);
message_end();
}
kral 66.satır new Float:meydanKonum[] = {-1523.0, 1009.9, -27.0}-1907 76 -155 -1921 2022 -155 ; bunları eklermısın