#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <engine>
#include <fun>
#include <fakemeta>
#include <fakemeta_util>
#include <csx>
#include <hamsandwich>
#include <cstrike>
#include <dhudmessage>
#include <sqlx>
#define PLUGIN "Furien menü"
#define VERSION "1.0.0"
#define AUTHOR "Tomii~'."
#define SZAZALEK " %"
//Warning Javító
#pragma tabsize 0
//Kellékek
new Xp[33], Szint[33], Pont[33], Oles[33], Halal[33], Fejloves[33], name[33]
new Csavar[33], Rugo[33], FegyverTus[33]
//SQL Mentés
new Handle:g_SqlTuple;
//Ajándékozás
new bool:pontkuld[33], bool:csavarkuld[33], bool:rugokuld[33], bool:fegyvertuskuld[33]
new x_tempid
//Skinek [ CT ]
new ak47[2][33] //[ 1 ] A Fegyverek száma, mindig 1-el többet kell írni!
new ak47skin[33]
//Skinek [ TE ]
new kes[2][33] //[ 1 ] A Fegyverek száma, mindig 1-el többet kell írni!
new kesskin[33]
new const SQL_INFO[][] =
{
"Toltsd ki", // HOST
"Toltsd ki", // USERNAME
"Toltsd ki", // PASSWORD
"Toltsd ki" // DATABASE
}
public plugin_precache() {
//Fegyverek [ CT ]
precache_model("models/furien/ak47/v_ak471.mdl")
precache_model("models/furien/ak47/p_ak471.mdl")
//Kések [ TE ]
precache_model("models/furien/kesek/v_kes1.mdl")
precache_model("models/furien/kesek/p_kes1.mdl")
//Hangok
precache_sound("furien/levelup.wav")
}
public Event_Change_Weapon(id)
{
new fgy = get_user_weapon(id)
//Fegyverek [ CT ]
if(ak47skin[id] == 1 && fgy == CSW_AK47)
{
set_pev(id, pev_viewmodel2, "models/furien/ak47/v_ak471.mdl")
set_pev(id, pev_weaponmodel2, "models/furien/ak47/p_ak471.mdl")
}
//Kések [ TE ]
if(kesskin[id] == 1 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/furien/kesek/v_kes1.mdl")
set_pev(id, pev_weaponmodel2, "models/furien/kesek/p_kes1.mdl")
}
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_impulse(201, "Fomenu")
register_clcmd("say /menu", "Fomenu")
register_event("DeathMsg", "Lekeres", "a")
register_clcmd("say","handlesay")
register_clcmd("say_team","handlesay")
RegisterHam(Ham_TakeDamage, "player", "Sebzes")
register_clcmd("MENNYISEG", "pont_kuld")
register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
}
public KorKezdes(id)
{
if(kes[1][id] == 1){
set_user_health(id,get_user_health(id)+20)
}
}
public Sebzes(victim, inflictor, id, Float:damage, damage_type)
{
if(get_user_team(victim) == 2 && get_user_weapon(id) == CSW_KNIFE)
{
SetHamParamFloat(4, damage * 10);
}
}
public client_PreThink(id)
{
new nm[32]
get_user_name(id, nm, 31)
if(Xp[id] >= 100){
Szint[id]++
Xp[id]-= 100
client_cmd(id, "spk furien/levelup.wav");
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.20, 0, 3.0, 3.0);
show_dhudmessage(id, "^n^nGratulálunk, szintet léptél!")
ColorChat(id, GREEN, "[Információ] ^3%s ^1Szintet lépett!", nm)
}
}
public Lekeres(id)
{
new Gyilkos = read_data(1)
new Aldozat = read_data(2)
new iHs = read_data(3)
new RandomXp = random_num(1, 7)
new RandomPont = random_num(1, 4)
if(Gyilkos == Aldozat)
{
return PLUGIN_HANDLED
}
Oles[Gyilkos]++
Halal[Aldozat]++
if(iHs)
Fejloves[Gyilkos]++
if(1.0 >= random_float(1.0, 100.0))
{
Csavart_kap(Gyilkos)
}
if(2.0 >= random_float(1.0, 100.0))
{
Rugot_kap(Gyilkos)
}
if(3.0 >= random_float(1.0, 100.0))
{
FegyverTust_kap(Gyilkos)
}
Pont[Gyilkos]+= RandomPont
Xp[Gyilkos]+= RandomXp
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.12, 0, 6.0, 10.0);
show_dhudmessage(Gyilkos, "-|+%d XP|-", RandomXp);
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.12, 0, 6.0, 10.0);
show_dhudmessage(Gyilkos, "-|______|-");
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.12, 0, 6.0, 10.0);
show_dhudmessage(Gyilkos, "^n|-Szép Ölés-|");
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.12, 0, 6.0, 10.0);
show_dhudmessage(Gyilkos, "^n^n-|+%d Pont|-", RandomPont);
set_dhudmessage(random(256), random(256), random(256), -1.0, 0.12, 0, 6.0, 10.0);
show_dhudmessage(Gyilkos, "^n^n-|________|-");
return PLUGIN_HANDLED
}
public Csavart_kap(id)
{
new nm[32]
get_user_name(id, nm, 31)
new csavar = random_num(1, 1)
new veg_csavar = csavar + (random_num(1, 1))
Csavar[id] += veg_csavar
ColorChat(id, GREEN,"[Információ] ^1%s talált ^4%d ^1Csavart!", nm, veg_csavar)
}
public Rugot_kap(id)
{
new nm[32]
get_user_name(id, nm, 31)
new rugo = random_num(1, 1)
new veg_rugo = rugo + (random_num(1, 1))
Rugo[id] += veg_rugo
ColorChat(id, GREEN,"[Információ] ^1%s talált ^4%d ^1Rugót!", nm, veg_rugo)
}
public FegyverTust_kap(id)
{
new nm[32]
get_user_name(id, nm, 31)
new fegyvertus = random_num(1, 1)
new veg_fegyvertus = fegyvertus + (random_num(1, 1))
FegyverTus[id] += veg_fegyvertus
ColorChat(id, GREEN,"[Információ] ^1%s talált ^4%d ^1FegyverTust!", nm, veg_fegyvertus)
}
public Fomenu(id)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rFőmenü^n\rSzint: \w%d \d| \rPont: \w%d \d| \rÖlés: \w%d \d| \rXp: \w%d%s", Szint[id], Pont[id], Oles[id], Xp[id], SZAZALEK)
new menu = menu_create(focim, "fomenu_handler")
menu_additem(menu, "\d- \r| \yPiac \r| \d-", "1", 0)
menu_additem(menu, "\d- \r| \yRaktár \r| \d-", "2", 0)
menu_additem(menu, "\d- \r| \yKüldés \r| \d-", "3", 0)
menu_additem(menu, "\d- \r| \yBeállítások \r| \d-", "4", 0)
menu_additem(menu, "\d- \r| \yLomtár \r| \d-", "5", 0)
menu_additem(menu, "\d- \r| \yBarkács Asztal \r| \d-", "6", 0)
menu_additem(menu, "\d- \r| \yRangod Nyomonkövetése \r| \d-", "7", 0)
menu_additem(menu, "\d- \r| \yStatisztikád Nyomonkövetése \r| \d-", "8", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public fomenu_handler(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: Piac(id)
case 2: Raktar(id)
case 3: Kuldes(id)
case 4: Beallitasok(id)
case 5: Lomtar(id)
case 6: Barkacsolas(id)
case 7: Rangok(id)
case 8: Statisztika(id)
}
}
public Beallitasok(id)
{
new fomenu[121]
formatex(fomenu, charsmax(fomenu), "\d[\ySzervered neve\d] \wFurien \d| \rBeállítások")
new menu = menu_create(fomenu, "beallitasok_handler")
formatex(fomenu, charsmax(fomenu), "\d- \r| \yFiók Újratelepítése \r| \d-^n\d- \r| \wJól gondold meg... \r| \d-")
menu_additem(menu, fomenu, "1")
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public beallitasok_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return
}
new Adat[32], Sor[64]
new Access, Callback
menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
new x = str_to_num(Adat)
switch(x)
{
case 1:{
Pont[id] = 0
Oles[id] = 0
Xp[id] = 0
Szint[id] = 0
Csavar[id] = 0
Rugo[id] = 0
FegyverTus[id] = 0
Halal[id] = 0
Fejloves[id] = 0
ak47[1][id] = 0
kes[1][id] = 0
client_print(id, print_center, "A telepítés folyamatban van... Kérlek várj!")
client_print(id, print_center, "A telepítés sikeresen befejeződött!")
}
}
}
public Lomtar(id)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rLomtár")
new menu = menu_create(focim, "lomtar_handler")
if(ak47[1][id] >= 1)
{
format(focim,charsmax(focim),"\d- \r| \ySTG-44 | AK47 \r| \d- \d(\r%d \dDARAB\d)", ak47[1][id])
menu_additem(menu,focim, "1")
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_setprop(menu, MPROP_BACKNAME, "Vissza")
menu_setprop(menu, MPROP_NEXTNAME, "Tovább")
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public lomtar_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return
}
new Adat[32], Sor[64]
new Access, Callback
menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
new x = str_to_num(Adat)
switch(x)
{
case 1: {
{
ak47[1][id]--
ColorChat(id, GREEN, "[Információ] ^1Sikeresen kidobtad a(z) ^4STG-44 | AK47 ^1Skinedet!")
Lomtar(id)
}
}
}
}
public Raktar(id)
{
new fomenu[121]
formatex(fomenu, charsmax(fomenu), "\d[\ySzervered neve\d] \wFurien \d| \rRaktár")
new menu = menu_create(fomenu, "raktar_handler")
formatex(fomenu, charsmax(fomenu), "\d- \r| \yBarkácsolt Skinjeid\r| \d- \d(\wCT Fegyver\d)")
menu_additem(menu, fomenu, "1")
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public raktar_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return
}
new Adat[32], Sor[64]
new Access, Callback
menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
new x = str_to_num(Adat)
switch(x)
{
case 1:{
BarkacsoltCT(id)
}
}
}
public BarkacsoltCT(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rBarkácsolt Skinjeid \r| \d- \d(\wCT Fegyver\d)")
new menu = menu_create(focim, "barkacsoltct_handler")
if(ak47[1][id] >= 1){
formatex(focim, charsmax(focim), "\d- \r| \ySTG-44 | AK47 \r| \d- \d(\r%d \dDARAB\d)", ak47[1][id])
menu_additem(menu, focim, "1",0)
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
}
else
{
ColorChat(id, GREEN, "[Információ] ^1Csak CT csapat használhatja ezt az Opciót!")
}
return PLUGIN_HANDLED
}
public barkacsoltct_handler(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:{
ak47skin[id] = 1
ColorChat(id, GREEN, "[Információ] ^1Sikeresen kiválasztottad a(z) ^4STG-44 | AK47 ^1skinedet!")
}
}
}
public Barkacsolas(id)
{
new fomenu[121]
formatex(fomenu, charsmax(fomenu), "\d[\ySzervered neve\d] \wFurien \d| \rBarkács Asztal^n\rCsavar: \w%d | \rRugó: \w%d | \rFegyverTus: \w%d", Csavar[id], Rugo[id], FegyverTus[id])
new menu = menu_create(fomenu, "barkacsolas_handler")
menu_additem(menu, "\d- \r| \ySTG-44 | AK47 \r| \d- \d(\wCT Fegyver\d) ^n\d- \r| \w5000 \rPont, \w65 \rCsavar, \w1 \rFegyverTus, \w15 \rRugó \r| \d-", "1", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public barkacsolas_handler(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(Pont[id] > 4999 && Csavar[id] > 64 && FegyverTus[id] > 0 && Rugo[id] > 14)
{
Pont[id]-= 200
Csavar[id]-= 12
FegyverTus[id]-= 1
Rugo[id]-= 3
ak47[1][id]++
ColorChat(id, GREEN,"[Információ] ^1Fegyvered elkészült! Skined elhelyezve ide: ^4(Raktár) ^1menüpont!")
}
else
{
ColorChat(id, GREEN,"[Információ] ^1Sajnos nincs meg minden hozzávaló a Fegyverhez!")
}
}
}
public Piac(id)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rPiac")
new menu = menu_create(focim, "piac_handler")
menu_additem(menu, "\d- \r| \yFegyverek Képességekkel \r| \d- \d(\wCT Fegyver\d)", "1", 0)
menu_additem(menu, "\d- \r| \yKések Képességekkel \r| \d- \d(\wTE Fegyver\d)", "2", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public piac_handler(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:{
Fegyverek(id)
}
case 2:{
Kesek(id)
}
}
}
public Kesek(id)
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rKések Képességekkel \wTE-nek")
new menu = menu_create(focim, "kesek_handler")
if(Pont[id] < 495)
{
formatex(focim, charsmax(focim), "\rTurbulent \d[\y9\d] \wKés \d[\y%i/495 Pont\d]", Pont[id])
menu_additem(menu, focim, "1",0)
}
else
menu_additem(menu, "\rTurbulent \d[\y9\d] \wKés \d[\yMegszerezve\d]", "1",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
}
else
{
ColorChat(id, GREEN, "[Információ] ^1Csak TE csapat használhatja ezt az Opciót!")
}
return PLUGIN_HANDLED
}
public kesek_handler(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(Pont[id] >= 495)
{
kesskin[id] = 1
}
else
{
ColorChat(id, GREEN,"[Információ] ^1Sajnos nincs elég Pontod!")
}
}
}
}
public Fegyverek(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rFegyverek Képességekkel \wCT-nek")
new menu = menu_create(focim, "fegyverek_handler")
if(Pont[id] < 495)
{
formatex(focim, charsmax(focim), "\rThanatos \d[\y1\d] \wFegyver \d[\y%i/495 Pont\d]", Pont[id])
menu_additem(menu, focim, "1",0)
}
else
menu_additem(menu, "\rThanatos \d[\y1\d] \wFegyver \d[\yMegszerezve\d]", "1",0)
if(Pont[id] < 1010)
{
formatex(focim, charsmax(focim), "\rThanatos \d[\y7\d] \wFegyver \d[\y%i/1010 Pont\d]", Pont[id])
menu_additem(menu, focim, "2",0)
}
else
menu_additem(menu, "\rThanatos \d[\y7\d] \wFegyver \d[\yMegszerezve\d]", "2",0)
if(Pont[id] < 1675)
{
formatex(focim, charsmax(focim), "\rGuillotine \d[\y1\d] \wFegyver \d[\y%i/1675 Pont\d]", Pont[id])
menu_additem(menu, focim, "3",0)
}
else
menu_additem(menu, "\rGuillotine \d[\y1\d] \wFegyver \d[\yMegszerezve\d]", "3",0)
if(Pont[id] < 2550)
{
formatex(focim, charsmax(focim), "\rThanatos \d[\y11\d] \wFegyver \d[\y%i/2550 Pont\d]", Pont[id])
menu_additem(menu, focim, "4",0)
}
else
menu_additem(menu, "\rThanatos \d[\y11\d] \wFegyver \d[\yMegszerezve\d]", "4",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
}
else
{
ColorChat(id, GREEN, "[Információ] ^1Csak CT csapat használhatja ezt az Opciót!")
}
return PLUGIN_HANDLED
}
public fegyverek_handler(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(Pont[id] >= 495)
{
callfunc_begin("Get_Thanatos1", "fegyveregy.amxx")
}
else
{
ColorChat(id, GREEN,"[Információ] ^1Sajnos nincs elég Pontod!")
}
callfunc_push_int(id)
callfunc_end()
}
case 2:{
if(Pont[id] >= 1010)
{
callfunc_begin("get_thanatos", "fegyverketto.amxx")
}
else
{
ColorChat(id, GREEN,"[Információ] ^1Sajnos nincs elég Pontod!")
}
callfunc_push_int(id)
callfunc_end()
}
case 3:{
if(Pont[id] >= 1675)
{
callfunc_begin("get_guillotine", "fegyverharom.amxx")
}
else
{
ColorChat(id, GREEN,"[Információ] ^1Sajnos nincs elég Pontod!")
}
callfunc_push_int(id)
callfunc_end()
}
case 4:{
if(Pont[id] >= 2550)
{
callfunc_begin("get_thanatos11", "fegyvernegy.amxx")
}
else
{
ColorChat(id, GREEN,"[Információ] ^1Sajnos nincs elég Pontod!")
}
callfunc_push_int(id)
callfunc_end()
}
}
}
public Statisztika(id)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rStatisztikád Nyomonkövetése")
new menu = menu_create(focim, "statisztika_handler")
formatex(focim, charsmax(focim), "\yÖlés: \w%d \r| \yHalál: \w%d \r| \yXp: \w%d%s", Oles[id], Halal[id], Xp[id], SZAZALEK)
menu_additem(menu, focim, "1")
formatex(focim, charsmax(focim), "\ySzint: \w%d \r| \yPont: \w%d \r| \yFejlövés: \w%d", Szint[id], Pont[id], Fejloves[id])
menu_additem(menu, focim, "2")
formatex(focim, charsmax(focim), "\yCsavar: \w%d \r| \yRugó: \w%d \r| \yFegyverTus: \w%d", Csavar[id], Rugo[id], FegyverTus[id])
menu_additem(menu, focim, "3")
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public statisztika_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_destroy(menu)
return
}
new Adat[32], Sor[64]
new Access, Callback
menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
new x = str_to_num(Adat)
switch(x)
{
case 1:{
Statisztika(id)
}
case 2:{
Statisztika(id)
}
case 3:{
Statisztika(id)
}
}
}
public kuldesmenu(id)
{
new szText[555 char]
formatex( szText, charsmax( szText ), "\d[\ySzervered neve\d] \wFurien \d| \rKüldés" )
new menu = menu_create(szText, "kuldesegy_handler")
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum);
for( new i; i<pnum; i++ )
{
tempid = players[i];
{
get_user_name(tempid, szName, charsmax(szName));
num_to_str(tempid, szTempid, charsmax(szTempid));
menu_additem(menu, szName, szTempid, 0);
}
}
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0)
}
public kuldesegy_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64]
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
x_tempid = str_to_num(data);
client_cmd(id, "messagemode MENNYISEG");
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public pont_kuld(id)
{
new nm[32]
get_user_name(id, nm, 31)
new uzenet[121];
new kuldoneve[32], tempname[32]
read_args(uzenet, charsmax(uzenet))
remove_quotes(uzenet)
get_user_name(id, kuldoneve, 31)
get_user_name(x_tempid, tempname, 31)
if(str_to_num(uzenet) < 0)
return PLUGIN_HANDLED
if(Pont[id] >= str_to_num(uzenet) && pontkuld[id] == true)
{
Pont[x_tempid] += str_to_num(uzenet)
Pont[id] -= str_to_num(uzenet)
pontkuld[id] = false
ColorChat(0, GREEN, "[Információ] ^1%s Megajándékozta %s-t %d Ponttal!", nm, tempname, str_to_num(uzenet))
}
if(Csavar[id] >= str_to_num(uzenet) && csavarkuld[id] == true)
{
Csavar[x_tempid] += str_to_num(uzenet)
Csavar[id] -= str_to_num(uzenet)
csavarkuld[id] = false
ColorChat(0, GREEN, "[Információ] ^1%s Megajándékozta %s-t %d Csavarral!", nm, tempname, str_to_num(uzenet))
}
if(Rugo[id] >= str_to_num(uzenet) && rugokuld[id] == true)
{
Rugo[x_tempid] += str_to_num(uzenet)
Rugo[id] -= str_to_num(uzenet)
rugokuld[id] = false
ColorChat(0, GREEN, "[Információ] ^1%s Megajándékozta %s-t %d Rugóval!", nm, tempname, str_to_num(uzenet))
}
if(FegyverTus[id] >= str_to_num(uzenet) && fegyvertuskuld[id] == true)
{
FegyverTus[x_tempid] += str_to_num(uzenet)
FegyverTus[id] -= str_to_num(uzenet)
fegyvertuskuld[id] = false
ColorChat(0, GREEN, "[Információ] ^1%s Megajándékozta %s-t %d FegyverTussal!", nm, tempname, str_to_num(uzenet))
}
return PLUGIN_HANDLED;
}
public Kuldes(id)
{
new szText[555 char]
formatex( szText, charsmax( szText ), "\d[\ySzervered neve\d] \wFurien \d| \rKüldés")
new menu = menu_create(szText, "kuldesketto_handler")
formatex( szText, charsmax( szText ), "Pontod: \y%d", Pont[id])
menu_additem(menu, szText, "1", 0)
formatex( szText, charsmax( szText ), "Csavar: \y%d", Csavar[id])
menu_additem(menu, szText, "2", 0)
formatex( szText, charsmax( szText ), "Rugó: \y%d", Rugo[id])
menu_additem(menu, szText, "3", 0)
formatex( szText, charsmax( szText ), "FegyverTus: \y%d", FegyverTus[id])
menu_additem(menu, szText, "4", 0)
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0)
}
public kuldesketto_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
kuldesmenu(id)
pontkuld[id] = true
}
case 2:
{
kuldesmenu(id)
csavarkuld[id] = true
}
case 3:
{
kuldesmenu(id)
rugokuld[id] = true
}
case 4:
{
kuldesmenu(id)
fegyvertuskuld[id] = true
}
}
return PLUGIN_HANDLED
}
public Rangok(id)
{
new focim[121]
formatex(focim, charsmax(focim), "\d[\ySzervered neve\d] \wFurien \d| \rRangod Nyomonkövetése ^n\w ")
new menu = menu_create(focim, "rangok_handler")
formatex(focim, charsmax(focim), "\wKezdő \d[\yALAP\d]")
menu_additem(menu, focim, "1")
formatex(focim, charsmax(focim), "\wHaladó \d[\y%d\r/\y100 Ölés\d]", Oles[id])
menu_additem(menu, focim, "2")
formatex(focim, charsmax(focim), "\wLegény \d[\y%d\r/\y200 Ölés\d]", Oles[id])
menu_additem(menu, focim, "3")
formatex(focim, charsmax(focim), "\wCsirkefogó \d[\y%d\r/\y300 Ölés\d]", Oles[id])
menu_additem(menu, focim, "4")
formatex(focim, charsmax(focim), "\wElit \d[\y%d\r/\y400 Ölés\d]", Oles[id])
menu_additem(menu, focim, "5")
formatex(focim, charsmax(focim), "\wTitán \d[\y%d\r/\y500 Ölés\d]", Oles[id])
menu_additem(menu, focim, "6")
formatex(focim, charsmax(focim), "\wMester \d[\y%d\r/\y600 Ölés\d]", Oles[id])
menu_additem(menu, focim, "7")
formatex(focim, charsmax(focim), "\wProfi \d[\y%d\r/\y700 Ölés\d]", Oles[id])
menu_additem(menu, focim, "8")
formatex(focim, charsmax(focim), "\wCsaló \d[\y%d\r/\y800 Ölés\d]", Oles[id])
menu_additem(menu, focim, "9")
formatex(focim, charsmax(focim), "\wLegenda \d[\y%d\r/\y1000 Ölés\d]", Oles[id])
menu_additem(menu, focim, "10")
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0)
}
public rangok_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_destroy(menu)
return
}
new Adat[32], Sor[64]
new Access, Callback
menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
new x = str_to_num(Adat)
switch(x)
{
case 1:{
Rangok(id)
}
case 2:{
Rangok(id)
}
case 3:{
Rangok(id)
}
case 4:{
Rangok(id)
}
case 5:{
Rangok(id)
}
case 6:{
Rangok(id)
}
case 7:{
Rangok(id)
}
case 8:{
Rangok(id)
}
case 9:{
Rangok(id)
}
case 10:{
Rangok(id)
}
}
}
public handlesay(id)
{
new message[192], Name[32], none[2][32], chat[192], hal[32], rang[32]
read_args (message, 191)
remove_quotes (message)
new hossz = strlen(message)
new i = 0
new RosszKarakterek = 0
while(i < hossz) {
if(message[i] == '#')
RosszKarakterek++
++i
}
if(RosszKarakterek > 0){
new JatekosNeve[32]
get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
new JatekosIP[32]
get_user_ip(id, JatekosIP, charsmax(JatekosIP))
server_cmd("kick #%d Tiltott karakter-t irtal chatbe! ^"#^"", get_user_userid(id))
log_amx("%s | %s rossz karaktert irtbe chatbe : %s", JatekosNeve, JatekosIP, message)
return PLUGIN_HANDLED
}
new pont2=0;
new kettospont=0;
new szam2=0;
new hir=0;
i = 0
while(i < hossz){
if(message[i] == 'w')
hir++;
if(message[i] == '.')
pont2++;
if(message[i] == ':')
kettospont++;
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')
szam2++;
if(message[i] == '#')
RosszKarakterek++
++i;
}
if(pont2 >= 2 && kettospont >= 1 && szam2 >= 4){
return PLUGIN_HANDLED;
}
if(szam2 >= 8){
return PLUGIN_HANDLED;
}
if(hir >= 3){
return PLUGIN_HANDLED;
}
formatex(none[0], 31, ""), formatex(none[1], 31, " ")
if (message[0] == '@' || message[0] == '!' || equal (message, ""))
return PLUGIN_HANDLED;
get_user_name(id, Name, 31);
new string[6]
formatex(string, 5, "%s", Name)
if(!is_user_alive(id)) hal = "*Halott* "
else hal = ""
if(!equali(message, none[0]) && !equali(message, none[1]))
{
get_user_name(id, Name, 31);
if(Oles[id] >= 1000){
rang = "Legenda"
}
else if(Oles[id] >= 800){
rang = "Csaló"
}
else if(Oles[id] >= 700){
rang = "Profi"
}
else if(Oles[id] >= 600){
rang = "Mester"
}
else if(Oles[id] >= 500){
rang = "Titán"
}
else if(Oles[id] >= 400){
rang = "Elit"
}
else if(Oles[id] >= 300){
rang = "Csirkefogó"
}
else if(Oles[id] >= 200){
rang = "Legény"
}
else if(Oles[id] >= 100){
rang = "Haladó"
}
else if(Oles[id] >= 0){
rang = "Kezdő"
}
if(get_user_flags(id) & ADMIN_IMMUNITY)
formatex(chat, 191, "^1%s^4[Rendszergazda][%s][Szint %d] ^3%s^4 : %s", hal, rang, Szint[id], Name, message)
else if(get_user_flags(id) & ADMIN_BAN)
formatex(chat, 191, "^1%s^4[Admin][%s][Szint %d] ^3%s^4 : %s", hal, rang, Szint[id], Name, message)
else
formatex(chat, 191, "^1%s^4[%s][Szint %d] ^3%s^1 : %s", hal, rang, Szint[id], Name, message)
switch(cs_get_user_team(id)){
case 1: ColorChat(0, RED, chat)
case 2: ColorChat(0, BLUE, chat)
}
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
ColorChat(0, GREY, chat)
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public plugin_cfg()
{
new Query[512];
g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `beta_furien` (`username` varchar(32) NOT NULL,`XP` int(11) NOT NULL,`SZINT` int(11) NOT NULL,`OLES` int(11) NOT NULL,`PONT` int(11) NOT NULL,`HALAL` int(11) NOT NULL,`FEJLOVES` int(11) NOT NULL,`CSAVAR` int(11) NOT NULL,`RUGO` int(11) NOT NULL,`FEGYVERTUS` int(11) NOT NULL,`FEGYVEREGY` INT(11) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
}
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Error");
if(Errcode)
log_amx("Hibat dobtam: %s",Error);
}
public client_putinserver(id)
{
if(!is_user_bot(id))
get_user_name(id, name[id], charsmax(name))
load(id)
}
public client_disconnect(id)
{
if(!is_user_bot(id))
update(id)
}
public client_connect(id)
{
new nm[32]
get_user_name(id, nm, 31)
}
public load(id)
{
new Query[512], Data[1]
Data[0] = id
formatex(Query, charsmax(Query), "SELECT * FROM `beta_furien` WHERE username = ^"%s^";", name[id])
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) {
Xp[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "XP"))
Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SZINT"))
Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "OLES"))
Pont[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PONT"))
Halal[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HALAL"))
Fejloves[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEJLOVES"))
Csavar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "CSAVAR"))
Rugo[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "RUGO"))
FegyverTus[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVERTUS"))
ak47[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVEREGY"))
}
else {
save(id)
}
}
}
public save(id)
{
new text[512];
formatex(text, charsmax(text), "INSERT INTO `beta_furien` (`username`) VALUES (^"%s^");", name[id])
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
}
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 update(id)
{
new Query[512], Len;
Len += formatex(Query[Len], charsmax(Query), "UPDATE beta_furien SET ");
Len += formatex(Query[Len], charsmax(Query)-Len, "XP = %i, ", Xp[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "SZINT = %i, ", Szint[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "OLES = %i, ", Oles[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "HALAL = %i, ", Halal[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "FEJLOVES = %i, ", Fejloves[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "CSAVAR = %i, ", Csavar[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "RUGO = %i, ", Rugo[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVERTUS = %i, ", FegyverTus[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVEREGY = %i, ", ak47[1][id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "PONT = %i WHERE username = ^"%s^";", Pont[id], name[id]);
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public plugin_end() {
SQL_FreeHandle(g_SqlTuple)
}