#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <colorchat>
#pragma tabsize 0
new const PLUGIN[] = "Global Unison"
new const VERSION[] = "2.0"
new const AUTHOR[] = "GudDevil"
new const PREFIX[] = "[Global Unison]"
new const Chat_Prefix[] = "[Információ]";
new const Fegyverek[11][] =
{
{"Terepmintás M4A1 \w| \r+5A +5I +5E"},
{"Sivatagi M4A1 \w| \r+10A +10I +10E"},
{"Tűz M4A1 \w| \r+15A +15I +15E"},
{"Modern M4A1 \w| \r+30A +30I +30E"},
{"Nuclear M4A1 \w| \r+45A +45I +25E"},
{"Howl M4A1 \w| \r+20A +12I +35E"},
{"Asiimov M4A1 \w| \r+35A +5I +55E"},
{"DragonKing M4A1 \w| \r+20A +20I +40E"},
{"TöltényZápor M4A1 \w| \r+20A +12I +35E"},
{"Magma M4A1 \w| \r+5A +5I +50E"},
{"Sugárveszély M4A1 \w| \r+45A +5I +45E"}
}
new const PiacFegyverek[11][] =
{
{"Terepmintás M4A1"},
{"Sivatagi M4A1"},
{"Tűz M4A1"},
{"Modern M4A1"},
{"Nuclear M4A1"},
{"Howl M4A1"},
{"Asiimov M4A1"},
{"DragonKing M4A1"},
{"TöltényZápor M4A1"},
{"Magma M4A1"},
{"Sugárveszély M4A1"}
}
new const KukaFegyverek[3][] =
{
{"Terepmintás M4A1"},
{"Sivatagi M4A1"},
{"Tűz M4A1"}
}
//Kellékek
new g_arany[33]
//Skinek
new OsszesSkin[11][33], Skin[0][33], Fegyo[33];
//Piac
new Erteke[33], kicucc[33], kirakva[33], pido;
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR);
register_impulse(201, "Fomenu");
register_clcmd("say /menu", "Fomenu");
register_clcmd("say /add", "Addolas");
register_clcmd("ARANY", "lekeres");
register_event("CurWeapon", "FegyverCsere", "be", "1=1");
}
//--------------------------------------------------------------------------------------------------
public Addolas(id)
{
for(new i;i < 11; i++)
OsszesSkin[i][id]++;
g_arany[id] += 500
}
new const M4A1_Modelek[][] =
{
"models/globalunisonmode/terepm4.mdl",
"models/globalunisonmode/sivatagim4.mdl",
"models/globalunisonmode/tuzm4.mdl",
"models/globalunisonmode/modernm4.mdl",
"models/globalunisonmode/nucim4.mdl",
"models/globalunisonmode/howlm4.mdl",
"models/globalunisonmode/asiim4.mdl",
"models/globalunisonmode/dragonkingm4.mdl",
"models/globalunisonmode/toltenyzm4.mdl",
"models/globalunisonmode/magmam4.mdl",
"models/globalunisonmode/sugim4.mdl"
}
public plugin_precache()
{
for(new i;i < sizeof(M4A1_Modelek); i++)
{
precache_model(M4A1_Modelek[i]);
}
}
public FegyverCsere(id)
{
if(Fegyo[id] == 100)
return;
new fegyo = get_user_weapon(id);
if(fegyo == CSW_M4A1)
{
for(new i;i < sizeof(M4A1_Modelek); i++)
if(Skin[0][id] == i)
set_pev(id, pev_viewmodel2, M4A1_Modelek[i]);
}
}
public Fomenu(id)
{
new String[121]
formatex(String, charsmax(String), "%s \r- \dFőmenü^n\yArany: \d%d", PREFIX, g_arany[id])
new menu = menu_create(String, "Fomenu_h")
menu_additem(menu, "\wRaktár", "1", 0)
menu_additem(menu, "\wPiac", "2", 0)
menu_additem(menu, "\wKuka", "3", 0)
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: Piac(id);
case 3: Kuka(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 \w[\y%d \rDB\w]", 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 1: Skin[0][id] = 0
case 2: Skin[0][id] = 1
case 3: Skin[0][id] = 2
case 4: Skin[0][id] = 3
case 5: Skin[0][id] = 4
case 6: Skin[0][id] = 5
case 7: Skin[0][id] = 6
case 8: Skin[0][id] = 7
case 9: Skin[0][id] = 8
case 10: Skin[0][id] = 9
case 11: Skin[0][id] = 10
}
}
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(KukaFegyverek); i++)
{
if(OsszesSkin[i][id] > 0)
{
new Sor[6]; num_to_str(i, Sor, 5);
formatex(cim, charsmax(cim), "\w%s \w[\y%d \rDB\w]", KukaFegyverek[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] --;
ColorChat(id, GREEN, "%s^1Sikeresen törölted a ^4%s ^1-Skint.", Chat_Prefix, KukaFegyverek[key][0]);
}
public Piac(id)
{
new cim[121];
format(cim, charsmax(cim), "%s \r- \dPiac^n\yArany: \d(%d)", PREFIX, g_arany[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 < 12; 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", PiacFegyverek[i-1][0]);
}
menu_additem(menu, ks1 ,"0",0);
}
if(kirakva[id] == 0){
format(ks2, charsmax(ks2), "\dÁra: \r%d \yArany", 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 ARANY");
}
case 2:
{
for(new i=0; i < 12; i++)
{
if(kicucc[id] == i && OsszesSkin[i-1][id] >= 1)
{
ColorChat(0, GREEN, "%s ^3%s ^1Kirakott egy ^4%s-^1t %d Aranyért",Chat_Prefix, name, PiacFegyverek[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 < 11; i++)
{
if(OsszesSkin[i][id] > 0)
{
new Num[6];
num_to_str(i, Num, 5);
formatex(cim, charsmax(cim), "\w%s \w[\y%d \rDB\w]", PiacFegyverek[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 ARANY");
}
else if(ertek < 300)
{
ColorChat(id, GREEN, "%s ^1Nem tudsz eladni fegyver^3 300 Arany 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)", PiacFegyverek[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(g_arany[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 Aranyért!",Chat_Prefix, name, PiacFegyverek[i-1][0], name2, Erteke[player]);
g_arany[player] += Erteke[player];
g_arany[id] -= Erteke[player];
OsszesSkin[i-1][id] ++;
OsszesSkin[i-1][player] --;
kicucc[player] = 0;
Erteke[player] = 0;
}
}
}
public vido()
{
pido = 0;
}
stock get_player_name(id){
static Nev[32];
get_user_name(id, Nev,31);
return Nev;
}
public client_putinserver(id)
{
Skin[0][id] = -1
}