#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <colorchat>
#include <dhudmessage>
#include <sqlx>
new const PLUGIN[] = "Elite Sniper MOD"
new const VERSION[] = "2.0"
new const AUTHOR[] = "exodus" // Ha lehet ne ? ? k??
#define DollarMin 1 //Minimum doll?drop (minimum 1 legyen mindig)
#define DollarMax 22 //Maximum doll?drop (b?ennyi lehet)
#define TULAJ ADMIN_LEVEL_A //Tulaj prefix joga
#define ADMIN ADMIN_KICK //Admin prefix joga
#define VIP ADMIN_LEVEL_H //VIP prefix joga
new const PREFIX[] = "[Elite Sniper MOD 2.0]"; //Men??n megjelen??efix
new const Chat_Prefix[] = "[Információ]"; //Chatben megjelen??efix
new const SQLINFO[][] =
{
"", //Kiszolg?
"", //Felhaszn?n?
"",
"" //Jelsz??" //Adatb?s neve
};
new const Float:DropItem[][] =
//Itt ??atod a droppok gyakoris?t
{
{ 51.15}, //Kulcs drop
{ 35.35}, //Faberakásos Láda Drop
{ 23.62}, //Csiszolatlan Láda Drop
{ 11.23} //Sniper Láda Drop
};
new const LadaNevek[][] =
//Itt ??atod a l?k neveit
{
{"Faberakásos Láda"},
{"Csiszolatlan Láda"},
{"Sniper Láda"}
};
new const Fegyverek[37][] =
//Itt ??atod a fegyverek neveit
{
{"AWP | Asiimov"},
{"AWP | Boom"},
{"AWP | Dragon Lore"},
{"AWP | Electric Hive"},
{"AWP | Elite Build"},
{"AWP | Hyper Beast"},
{"AWP | Medusa"},
{"AWP | Worm God"},
{"AWP | Disco Party"},
{"AWP | Cyrex"},
{"AWP | Neural"},
{"AWP | Corticera"},
{"AWP | Alom"},
{"AWP | Éjszaka"},
{"AWP | Fekete Neon"},
{"AWP | Czacziki"},
{"AWP | Ezüst Féreg"},
{"AWP | Tuz"},
{"AWP | Grafit"},
{"AWP | Impulzus"},
{"AWP | Láva Bevonat"},
{"AWP | Natus Vincere"},
{"AWP | Neonzöld Bevonat"},
{"AWP | Narancs Pikkely"},
{"AWP | Piros Halál"},
{"AWP | Vörös vonal"},
{"AWP | Füst"},
{"AWP | Kígyóbor"},
{"AWP | Téli Bestia"},
{"AWP | Supra"},
{"AWP | Lepárló Víz"},
{"Bajonett | Karmazsinvörös"},
{"Karambit | Ultraibolya"},
{"Arnyék Kések | Halványulás"},
{"Pillangókés | Karmazsinvörös"},
{"Bowie Kés | Halványulás"},
{"Összecsukható Kés | Doppler"}
};
//--------------------------------------------------------------------------------------------------
//T??k
//--------------------------------------------------------------------------------------------------
//Ment?
new Handle:g_SqlTuple;
//Kell?k
new Dollar[33], Masodpercek[33], Lada[3][33], Kulcs[33], Oles[33], Szint[33], Fegyo[33], Mod;
//Skinek
new OsszesSkin[37][33], OsszesNev[37], Skin[3][33];
//Piac
new Erteke[33], kicucc[33], kirakva[33], pido;
//Chat
new message[192]
new nev[32]
new Temp[192]
static color[10]
//--------------------------------------------------------------------------------------------------
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR);
register_impulse(201, "Fomenu");
register_clcmd("say /menu", "Fomenu");
register_clcmd("say /add", "Addolas");
register_clcmd("DOLLAR", "lekeres");
register_clcmd("say", "sayhook");
register_event("CurWeapon", "FegyverCsere", "be", "1=1");
register_event("DeathMsg", "Halal", "a");
set_task(3.0, "AutoCheck",_,_,_,"b");
}
//--------------------------------------------------------------------------------------------------
public Addolas(id)
{
if(get_user_flags(id) == TULAJ)
{
for(new i;i < 37; i++)
OsszesSkin[i][id]++;
for(new i;i < 3; i++)
Lada[i][id] += 50;
Kulcs[id] = 150;
}
}
new const Awp_Modelek[][] =
{
"models/exodus_sniper/Default/AWP_DF.mdl",
"models/exodus_sniper/AWP/Asii.mdl",
"models/exodus_sniper/AWP/Boom.mdl",
"models/exodus_sniper/AWP/DragonLore.mdl",
"models/exodus_sniper/AWP/ElectricHive.mdl",
"models/exodus_sniper/AWP/EliteBuild.mdl",
"models/exodus_sniper/AWP/HyperBeast.mdl",
"models/exodus_sniper/AWP/Medusa.mdl",
"models/exodus_sniper/AWP/WormGod.mdl",
"models/exodus_sniper/AWP/DiscoParty.mdl",
"models/exodus_sniper/AWP/Cyrex.mdl",
"models/exodus_sniper/AWP/Neural.mdl",
"models/exodus_sniper/AWP/Corticera.mdl",
"models/exodus_sniper/AWP/Alom.mdl",
"models/exodus_sniper/AWP/Black.mdl",
"models/exodus_sniper/AWP/BlackNeon.mdl",
"models/exodus_sniper/AWP/Czacziki.mdl",
"models/exodus_sniper/AWP/Engraved.mdl",
"models/exodus_sniper/AWP/Fire.mdl",
"models/exodus_sniper/AWP/Grafit.mdl",
"models/exodus_sniper/AWP/Impulse.mdl",
"models/exodus_sniper/AWP/Lava.mdl",
"models/exodus_sniper/AWP/Natus.mdl",
"models/exodus_sniper/AWP/Neon.mdl",
"models/exodus_sniper/AWP/Orange.mdl",
"models/exodus_sniper/AWP/RedDeath.mdl",
"models/exodus_sniper/AWP/Redline.mdl",
"models/exodus_sniper/AWP/Smoke.mdl",
"models/exodus_sniper/AWP/Snake.mdl",
"models/exodus_sniper/AWP/SnowBeast.mdl",
"models/exodus_sniper/AWP/Supra.mdl",
"models/exodus_sniper/AWP/Water.mdl"
}
new const Kes_Modelek[][] =
{
"models/exodus_sniper/Default/KNIFE_DF.mdl",
"models/exodus_sniper/Knife/Crimson_B.mdl",
"models/exodus_sniper/Knife/Ultra_K.mdl",
"models/exodus_sniper/Knife/Shadow_Fade.mdl",
"models/exodus_sniper/Knife/Crimson_BF.mdl",
"models/exodus_sniper/Knife/Bowie_Fade.mdl",
"models/exodus_sniper/Knife/Flip_MFade.mdl"
}
#define MAX 8
new const szamok[MAX] =
{
50,
100,
200,
300,
500,
750,
1000,
99999999999999
}
new const rangok[MAX+1][] =
{
"Újonc",
"Zöldfülü",
"Kezdo",
"Amator",
"Haladó",
"Profi",
"Nagymester",
"AWP Isten",
"---------"
}
public plugin_precache()
{
for(new i;i < sizeof(Awp_Modelek); i++) precache_model(Awp_Modelek[i]);
for(new i;i < sizeof(Kes_Modelek); i++) precache_model(Kes_Modelek[i]);
}
public FegyverCsere(id)
{
if(Fegyo[id] == 0)
return;
switch(get_user_weapon(id))
{
case CSW_AWP: set_pev(id, pev_viewmodel2, Awp_Modelek[Skin[0][id]]);
case CSW_KNIFE: set_pev(id, pev_viewmodel2, Kes_Modelek[Skin[1][id]]);
}
}
public Fomenu(id)
{
new String[121]
formatex(String, charsmax(String), "%s \r- \dFomenü^n\yDollár: \d%d$ \y| \yRangod: \d%s", PREFIX, Dollar[id], rangok[Szint[id]])
new menu = menu_create(String, "Fomenu_h")
menu_additem(menu, "\wRaktár", "1", 0)
menu_additem(menu, "\wLáda Nyitás", "2", 0)
menu_additem(menu, "\wPiac", "3", 0)
menu_additem(menu, "\wKuka", "4", 0)
format(String,charsmax(String),"\wBeállitások^n^n\yKövetkezo Rangod\r: \d%s\d \y(\w%d/\r%d\y)", rangok[Szint[id]+1], Oles[id], szamok[Szint[id]])
menu_additem(menu,String,"5")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public Fomenu_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1: Raktar(id);
case 2: Ladanyitas(id);
case 3: Piac(id);
case 4: Kuka(id);
case 5: Beallitasok(id);
}
}
public Raktar(id)
{
new String[121];
formatex(String, charsmax(String), "%s \r- \dRaktár",PREFIX);
new menu = menu_create(String, "Raktar_h");
for(new i;i < sizeof(Fegyverek); i++)
{
if(OsszesSkin[i][id] > 0)
{
new Sor[6]; num_to_str(i, Sor, 5);
formatex(String, charsmax(String), "\w%s \y(\dÖsszes: \r%d\y)", Fegyverek[i][0], OsszesSkin[i][id]);
menu_additem(menu, String, Sor);
}
}
menu_display(id, menu, 0);
}
public Raktar_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 0..30:
Skin[0][id] = key+1;
case 31..36:
Skin[1][id] = key-30;
}
}
public Ladanyitas(id)
{
new String[121], Num[9];
format(String, charsmax(String), "%s \r- \dLádaNyitás^n\wKulcsaid: \d(%d) \yDrop esély: \r(%3.2f%%)", PREFIX, Kulcs[id], DropItem[0][Mod]);
new menu = menu_create(String, "Ladanyitas_h");
for(new i=1;i < sizeof(LadaNevek); i++)
{
num_to_str(i, Num, charsmax(Num));
format(String, charsmax(String), "\w%s \d(%d) \yDrop esély: \r(%3.2f%%)", LadaNevek[i][0], Lada[i][id], DropItem[i][Mod]);
menu_additem(menu, String, Num);
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public Ladanyitas_h(id, menu, item){
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new Key = str_to_num(data);
if(Lada[Key][id] >= 1 && Kulcs[id] >= 1)
{
Lada[Key][id] --;
Kulcs[id] --;
Talal(id, Key);
Ladanyitas(id);
}
else
{
print_color(id, "!g%s !yNincs elég ládát vagy kulcsot!", Chat_Prefix);
}
}
public Kuka(id)
{
new cim[121];
formatex(cim, charsmax(cim), "%s \r- \dKuka",PREFIX);
new menu = menu_create(cim, "Kuka_h");
for(new i;i < sizeof(Fegyverek); i++)
{
if(OsszesSkin[i][id] > 0)
{
new Sor[6]; num_to_str(i, Sor, 5);
formatex(cim, charsmax(cim), "\w%s \y(\dÖsszes: \r%d\y)", Fegyverek[i][0], OsszesSkin[i][id]);
menu_additem(menu, cim, Sor);
}
}
menu_display(id, menu, 0);
}
public Kuka_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
OsszesSkin[key][id] --;
Kuka(id);
ColorChat(id, GREEN, "%s^1Sikeresen Törölted a ^4%s ^1-Skint.", Chat_Prefix, Fegyverek[key][0]);
}
public Beallitasok(id)
{
new cim[121];
format(cim, charsmax(cim), "%s \r- \dBeállítások", PREFIX);
new menu = menu_create(cim, "Beallitasok_h");
menu_additem(menu, Fegyo[id] == 1 ? "Skin: \rBekapcsolva \y| \wKikapcsolva":"Skin: \wBekapcsolva \y| \rKikapcsolva", "1",0);
menu_display(id, menu, 0);
}
public Beallitasok_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(Fegyo[id] == 1)
Fegyo[id] = 0;
else
Fegyo[id] = 1;
Beallitasok(id);
}
}
}
public Talal(id, key)
{
new Nev[32]; get_user_name(id, Nev, 31);
if(key == 0)
{
switch(random_num(1,9))
{
case 1:
{
OsszesSkin[0][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[0][0], LadaNevek[0][0]);
}
case 2:
{
OsszesSkin[1][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[1][0], LadaNevek[0][0]);
}
case 3:
{
OsszesSkin[2][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[2][0], LadaNevek[0][0]);
}
case 4:
{
OsszesSkin[3][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[3][0], LadaNevek[0][0]);
}
case 5:
{
OsszesSkin[17][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[17][0], LadaNevek[0][0]);
}
case 6:
{
OsszesSkin[16][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[16][0], LadaNevek[0][0]);
}
case 7:
{
OsszesSkin[4][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[4][0], LadaNevek[0][0]);
}
case 8:
{
OsszesSkin[31][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[31][0], LadaNevek[0][0]);
}
case 9:
{
OsszesSkin[32][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[32][0], LadaNevek[0][0]);
}
}
}
if(key == 1)
{
switch(random_num(1,17))
{
case 1:
{
OsszesSkin[5][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[5][0], LadaNevek[0][0]);
}
case 2:
{
OsszesSkin[6][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[6][0], LadaNevek[0][0]);
}
case 3:
{
OsszesSkin[7][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[7][0], LadaNevek[0][0]);
}
case 4:
{
OsszesSkin[8][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[8][0], LadaNevek[0][0]);
}
case 5:
{
OsszesSkin[15][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[15][0], LadaNevek[0][0]);
}
case 6:
{
OsszesSkin[14][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[14][0], LadaNevek[0][0]);
}
case 7:
{
OsszesSkin[13][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[13][0], LadaNevek[0][0]);
}
case 8:
{
OsszesSkin[16][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[16][0], LadaNevek[0][0]);
}
case 9:
{
OsszesSkin[17][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[17][0], LadaNevek[0][0]);
}
case 10:
{
OsszesSkin[18][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[18][0], LadaNevek[0][0]);
}
case 11:
{
OsszesSkin[19][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[19][0], LadaNevek[0][0]);
}
case 12:
{
OsszesSkin[20][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[20][0], LadaNevek[0][0]);
}
case 13:
{
OsszesSkin[21][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[21][0], LadaNevek[0][0]);
}
case 14:
{
OsszesSkin[22][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[22][0], LadaNevek[0][0]);
}
case 15:
{
OsszesSkin[23][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[23][0], LadaNevek[0][0]);
}
case 16:
{
OsszesSkin[33][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[33][0], LadaNevek[0][0]);
}
case 17:
{
OsszesSkin[34][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[34][0], LadaNevek[0][0]);
}
}
}
if(key == 2)
{
switch(random_num(1,12))
{
case 1:
{
OsszesSkin[10][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[10][0], LadaNevek[0][0]);
}
case 2:
{
OsszesSkin[11][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[11][0], LadaNevek[0][0]);
}
case 3:
{
OsszesSkin[12][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[12][0], LadaNevek[0][0]);
}
case 4:
{
OsszesSkin[24][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[24][0], LadaNevek[0][0]);
}
case 5:
{
OsszesSkin[25][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[25][0], LadaNevek[0][0]);
}
case 6:
{
OsszesSkin[26][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[26][0], LadaNevek[0][0]);
}
case 7:
{
OsszesSkin[27][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[27][0], LadaNevek[0][0]);
}
case 8:
{
OsszesSkin[28][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[28][0], LadaNevek[0][0]);
}
case 9:
{
OsszesSkin[29][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[29][0], LadaNevek[0][0]);
}
case 10:
{
OsszesSkin[30][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[30][0], LadaNevek[0][0]);
}
case 11:
{
OsszesSkin[35][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[30][0], LadaNevek[0][0]);
}
case 12:
{
OsszesSkin[36][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtad ezt: ^4%s ^1a ^4%sból.", Fegyverek[30][0], LadaNevek[0][0]);
}
}
}
Update(id);
return PLUGIN_HANDLED;
}
public Piac(id)
{
new cim[121];
format(cim, charsmax(cim), "%s \r- \dPiac^n\yDollár: \d(%d$)", PREFIX, Dollar[id]);
new menu = menu_create(cim, "Piac_h");
menu_additem(menu, "Eladás", "1", 0);
menu_additem(menu, "Vásárlás", "2", 0);
menu_display(id, menu, 0);
}
public Piac_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1: Eladas(id);
case 2: Vasarlas(id);
}
}
public Eladas(id) {
new cim[121], ks1[121], ks2[121];
format(cim, charsmax(cim), "%s \r- \dEladás", PREFIX);
new menu = menu_create(cim, "eladas_h" );
if(kirakva[id] == 0)
{
for(new i=0; i < 37; i++)
{
if(kicucc[id] == 0) format(ks1, charsmax(ks1), "Válaszd ki a Tárgyat!");
else if(kicucc[id] == i) format(ks1, charsmax(ks1), "Tárgy: \r%s", Fegyverek[i-1][0]);
}
menu_additem(menu, ks1 ,"0",0);
}
if(kirakva[id] == 0){
format(ks2, charsmax(ks2), "\dÁra: \r%d \yDOLLÁR", Erteke[id]);
menu_additem(menu,ks2,"1",0);
}
if(Erteke[id] != 0 && kirakva[id] == 0)
{
menu_additem(menu,"Mehet a piacra!","2",0);
}
if(Erteke[id] != 0 && kirakva[id] == 1)
{
menu_additem(menu,"\wVisszavonás","-2",0);
}
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public eladas_h(id, menu, item){
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], szName[64], name[32];
get_user_name(id, name, charsmax(name));
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case -2:
{
kirakva[id] = 0;
kicucc[id] = 0;
Erteke[id] = 0;
}
case 0:
{
fvalaszt(id);
}
case 1:
{
client_cmd(id, "messagemode DOLLAR");
}
case 2:
{
for(new i=0; i < 37; i++)
{
if(kicucc[id] == i && OsszesSkin[i-1][id] >= 1)
{
ColorChat(0, GREEN, "%s ^3%s ^1Kirakott egy ^4%s-^1t %d Dollárért",Chat_Prefix, name, Fegyverek[i-1][0], Erteke[id]);
kirakva[id] = 1;
}
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public fvalaszt(id) {
new szMenuTitle[ 121 ],cim[121];
format( szMenuTitle, charsmax( szMenuTitle ), "%s \r- \dFegyver Válasz", PREFIX);
new menu = menu_create( szMenuTitle, "fvalaszt_h" );
for(new i=0; i < 37; i++)
{
if(OsszesSkin[i][id] > 0)
{
new Num[6];
num_to_str(i, Num, 5);
formatex(cim, charsmax(cim), "\w%s \y(\dÖsszes: \r%d\y)", Fegyverek[i][0], OsszesSkin[i][id]);
menu_additem(menu, cim, Num);
}
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public fvalaszt_h(id, menu, item){
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
kicucc[id] = key+1;
Eladas(id);
}
public lekeres(id) {
new ertek, adatok[32];
read_args(adatok, charsmax(adatok));
remove_quotes(adatok);
ertek = str_to_num(adatok);
new hossz = strlen(adatok);
if(hossz > 7)
{
client_cmd(id, "messagemode DOLLAR");
}
else if(ertek < 20)
{
ColorChat(id, GREEN, "%s ^1Nem tudsz eladni fegyver^3 20 Dollár alatt.", Chat_Prefix);
Eladas(id);
}
else
{
Erteke[id] = ertek;
Eladas(id);
}
}
public Vasarlas(id)
{
new mpont[512], menu, cim[121];
static players[32],temp[10],pnum;
get_players(players,pnum,"c");
format(cim, charsmax(cim), "%s \r- \dVásárlás", PREFIX);
menu = menu_create(cim, "vasarlas_h" );
for (new i; i < pnum; i++)
{
if(kirakva[players[i]] == 1 && Erteke[players[i]] > 0)
{
for(new a=0; a < 125; a++)
{
if(kicucc[players[i]] == a)
formatex(mpont,256,"\y%s\d(\wEladó: \r%s \d| \wÁra: \r%d\d)", Fegyverek[a-1][0], get_player_name(players[i]), Erteke[players[i]]);
}
num_to_str(players[i],temp,charsmax(temp));
menu_additem(menu, mpont, temp);
}
}
menu_setprop(menu, MPROP_PERPAGE, 6);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public vasarlas_h(id,menu, item){
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
if(pido != 0){
Vasarlas(id);
return;
}
new data[6] ,szName[64],access,callback;
new name[32], name2[32];
get_user_name(id, name, charsmax(name));
menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
new player = str_to_num(data);
get_user_name(player, name2, charsmax(name2));
pido = 2;
set_task(2.0, "vido");
for(new i=0; i < 125; i++)
{
if(Dollar[id] >= Erteke[player] && kicucc[player] == i && kirakva[player] == 1)
{
kirakva[player] = 0;
ColorChat(0, GREEN, "%s ^3%s ^1vett egy ^4%s ^1%s-tól %d Dollárért!",Chat_Prefix, name, Fegyverek[i-1][0], name2, Erteke[player]);
Dollar[player] += Erteke[player];
Dollar[id] -= Erteke[player];
OsszesSkin[i-1][id] ++;
OsszesSkin[i-1][player] --;
kicucc[player] = 0;
Erteke[player] = 0;
}
}
}
public vido()
{
pido = 0;
}
public Halal()
{
new Gyilkos = read_data(1);
new Aldozat = read_data(2);
if(Gyilkos == Aldozat)
return PLUGIN_HANDLED;
new pPont;
pPont += random_num(DollarMin, DollarMax);
Dollar[Gyilkos] += pPont;
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.20, 0, 6.0, 3.0);
show_dhudmessage(Gyilkos, "+%d $", pPont);
Oles[Gyilkos] ++;
if(szamok[Szint[Gyilkos]] <= Oles[Gyilkos] && szamok[Szint[Gyilkos]] != 0)
Szint[Gyilkos]++
Droppolas(Gyilkos);
return PLUGIN_HANDLED;
}
public Droppolas(id)
{
new Players[32], Num, Nev[32]
get_players(Players, Num, "c")
get_user_name(id, Nev, 31)
new Float:RandomSzam = random_float(0.01, 100.00);
if(RandomSzam <= DropItem[0][Mod])
{
Kulcs[id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4Kulcsot.");
}
else if(RandomSzam <= DropItem[1][Mod])
{
Lada[0][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4%s-t.", LadaNevek[0][0]);
}
else if(RandomSzam <= DropItem[2][Mod])
{
Lada[1][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4%s-t.", LadaNevek[1][0]);
}
else if(RandomSzam <= DropItem[3][Mod])
{
Lada[2][id] ++;
ColorChat(id, GREEN, "[Információ] ^3Találtál egy: ^4%s-t.", LadaNevek[2][0]);
}
}
public sayhook(id)
{
read_args (message, 191)
remove_quotes (message)
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
{
return PLUGIN_CONTINUE
}
new Bnum = strlen(message)
new Nnum = 0
new i = 0
get_user_name(id, nev, 31)
if(get_user_flags(id) & TULAJ)
{
get_user_team(id, color, 9)
formatex(Temp, 191, "^4[^3Tulaj^4][^3%s^4]^3 %s^1: ^4%s", rangok[Szint[id]], nev, message)
}
else if(get_user_flags(id) & ADMIN)
{
get_user_team(id, color, 9)
formatex(Temp, 191, "^4[^3Admin^4][^3%s^4] ^3%s^1: ^4%s", rangok[Szint[id]], nev, message)
}
else if(get_user_flags(id) & VIP)
{
get_user_team(id, color, 9)
formatex(Temp, 191, "^4[^3VIP^4][^3%s^4] ^3%s^1: ^4%s", rangok[Szint[id]], nev, message)
}
else
{
get_user_team(id, color, 9)
formatex(Temp, 191, "^4[^3%s^4]^3 %s^4:^1 %s", rangok[Szint[id]], nev, message)
}
while(i < Bnum)
{
if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
Nnum++
++i
}
if(Nnum >= 7)
{
ColorChat(id, GREEN, "[Információ] ^1A Szerveren ^3Tilos ^1a Hírdetés!")
return PLUGIN_HANDLED
}
sendmessage(color)
return PLUGIN_HANDLED
}
public sendmessage(color[])
{
new teamName[10]
for(new player = 1; player < get_maxplayers(); player++)
{
get_user_team (player, teamName, 9)
teamf (player, color)
elkuldes(player, Temp)
teamf(player, teamName)
}
}
public NameConrol(id){
if(!is_user_connected(id))
return PLUGIN_CONTINUE
new name[31]
get_user_name(id, name, 30)
new Bnum = strlen(name);
new i=0
new Nnum=0
while(i < Bnum)
{
if(name[i] == '1' || name[i] == '2' || name[i] == '3' || name[i] == '4' || name[i] == '5' || name[i] == '6' || name[i] == '7' || name[i] == '8' || name[i] == '9' || name[i] == '0')
Nnum++;
++i;
}
if( Nnum >= 7)
{
client_cmd(id, "name ^"Tilos a Hirdetes!^"")
client_cmd(id, "retry")
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public teamf(player, team[])
{
message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, player)
write_byte(player)
write_string(team)
message_end()
}
public elkuldes(player, Temp[])
{
message_begin( MSG_ONE, get_user_msgid( "SayText" ), _, player)
write_byte( player )
write_string( Temp )
message_end()
}
public AutoCheck()
{
new p[32],n;
get_players(p,n,"ch");
for(new i=0;i<n;i++)
{
new id = p[i];
InfoHud(id);
}
}
public InfoHud(id)
{
if(is_user_alive(id))
{
new iMasodperc, iPerc, iOra, nev[32];
get_user_name(id, nev, 31);
iMasodperc = Masodpercek[id] + get_user_time(id);
iPerc = iMasodperc / 60;
iOra = iPerc / 60;
iMasodperc = iMasodperc - iPerc * 60;
iPerc = iPerc - iOra * 60;
set_hudmessage(0, 255, 0, 0.0, 0.2, 0, 0.0, 12.0);
show_hudmessage(id, " Üdv %s^n Játszott ido: %dÓra %dPerc %dMp.", nev, iOra, iPerc, iMasodperc);
}
}
public plugin_cfg()
{
g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
static Query[10048];
new Len;
Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `elite_sniper_2.0`");
Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, ");
Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` int(11) NOT NULL,");
Len += formatex(Query[Len], charsmax(Query)-Len, "`Masodpercek` int(11) NOT NULL,");
Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` int(11) NOT NULL,");
Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,");
for(new i;i < 37; i++)
Len += formatex(Query[Len], charsmax(Query)-Len, "`F_%d` int(11) NOT NULL,", i);
for(new i;i < 3; i++)
Len += formatex(Query[Len], charsmax(Query)-Len, "`Skin_%d` int(11) NOT NULL,", i);
Len += formatex(Query[Len], charsmax(Query)-Len, "`Osszes` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
public Load(id) {
static Query[10048];
new Data[1], Name[32];
get_user_name(id, Name, 31);
Data[0] = id;
formatex(Query, charsmax(Query), "SELECT * FROM `elite_sniper_2.0` WHERE Nev = ^"%s^";", Name);
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
}
public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
log_amx("%s", Error);
return;
}
else {
new id = Data[0];
if(SQL_NumRows(Query) > 0) {
Dollar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"));
Masodpercek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Masodpercek"));
Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Szint"));
Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
for(new i=0;i<37;i++)
OsszesNev[i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Osszes"));
for(new i=0;i < 37; i++)
{
new String[64];
formatex(String, charsmax(String), "F_%d", i);
OsszesSkin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
}
for(new i;i < 3; i++)
{
new String[64];
formatex(String, charsmax(String), "Skin_%d", i);
Skin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
}
}
else
{
Save(id);
}
}
}
public Save(id)
{
static Query[256];
new Name[32]; get_user_name(id, Name, 31);
formatex(Query, charsmax(Query), "INSERT INTO `elite_sniper_2.0` (`Nev`) VALUES (^"%s^");", Name);
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public Update(id)
{
static Query[10048];
new Len;
new Name[32]; get_user_name(id, Name, 31);
Len += formatex(Query[Len], charsmax(Query), "UPDATE `elite_sniper_2.0` SET Dollars = ^"%i^", ",Dollar[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "Szint = ^"%i^", ", Szint[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", Oles[id]);
for(new i=0;i < 37; i++)
Len += formatex(Query[Len], charsmax(Query)-Len, "Osszes = ^"%i^", ", OsszesNev[i]);
for(new i=0;i < 37; i++)
Len += formatex(Query[Len], charsmax(Query)-Len, "F_%d = ^"%i^", ", i, OsszesSkin[i][id]);
for(new i;i < 3; i++)
Len += formatex(Query[Len], charsmax(Query)-Len, "Skin_%d = ^"%i^", ", i, Skin[i][id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "Masodpercek = ^"%i^" WHERE Nev = ^"%s^";", Masodpercek[id]+get_user_time(id), Name);
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Error");
if(Errcode)
log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
}
public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
log_amx("%s", Error);
return;
}
}
public client_putinserver(id)
{
Dollar[id] = EOS;
Masodpercek[id] = 0;
Szint[id] = 0;
Kulcs[id] = 0;
Oles[id] = 0;
Fegyo[id] = 1;
for(new i;i < 37; i++)
OsszesNev[i] = EOS;
for(new i;i < 37; i++)
OsszesSkin[i][id] = EOS;
for(new i;i < 3; i++)
Skin[i][id] = EOS;
for(new i;i < 3; i++)
Lada[i][id] = EOS;
if(!is_user_bot(id))
Load(id);
}
public client_disconnect(id)
{
if(!is_user_bot(id))
Update(id);
}
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
return PLUGIN_HANDLED
}
stock get_player_name(id){
static Nev[32];
get_user_name(id, Nev,31);
return Nev;
}
public plugin_end() {
SQL_FreeHandle(g_SqlTuple);
}