#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <cstrike>
#include <colorchat>
#include <fvault>
#include <engine>
#include <fun>
#define PLUGIN "PaintballMenu"
#define VERSION "1.0"
#define AUTHOR "DeRoiD" // CryTeX EDIT
new const file[] = "regisztraciosadatok"
new const rangok[9][] =
{
"Kezdő",
"Amatőr",
"Bot",
"Haladó",
"Profi",
"Veterán",
"Mester",
"Legenda",
"Fanatikus"
}
new oles[33], kesek[33], vault
new vip[32] = "cefiu"
new RosszKarakterek, RosszKarakterek2
// Regisztráció
new jelszo[32], reg_pont[33], belepve[33], beirt_jelszo[32], mentett_pw[33][32], beirt_pw[33][32], ef_jsz[32][33]
new users_db_file[256] , reg_vault, probal[33], irt[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_CmdStart, "cmd_knifemenu")
register_impulse(201, "kesmenu")
register_clcmd("say /kes", "kesmenu")
register_clcmd("say /knife", "kesmenu")
register_clcmd("say /menu", "kesmenu")
register_clcmd("say /reg", "Regisztralas")
register_clcmd("say /oles", "ranginfo")
register_clcmd("say", "handlesay")
register_clcmd("say_team", "handlesay")
vault = nvault_open("razer_reloaded")
register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
register_event("DeathMsg","death","a")
reg_vault = nvault_open("regrendszer")
register_clcmd("REGISZTRACIOS_JELSZO", "reg_jelszo")
register_clcmd("BELEPESI_JELSZO", "belepes_jelszo")
register_forward(FM_ClientUserInfoChanged, "nevvaltas")
}
public ranginfo(id)
{
ColorChat(id, GREEN, "[Infó]^x01 Ölések:^x04 [^x01%s^x04]", oles[id])
}
public vap(id){
new temp[128],vap[121]
formatex(temp, charsmax(temp),"\w |*sLT*| \r|\yPaintball\r| \y- \rV.I.P Vásárlás^n\wÖléseid:\r %d", oles[id])
if(oles[id] < 1000)
formatex(vap, charsmax(vap),"\dV.I.P Tagság \y[1000 ölés]")
else
formatex(vap, charsmax(vap),"\dV.I.P Tagság \y[Megszerezve]")
new menu = menu_create(temp, "vap_menu");
menu_additem(menu,vap,"0",0)
menu_setprop(menu, MPROP_EXITNAME, "Bezárás");
menu_display(id, menu, 0);
}
public vap_menu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id);
return PLUGIN_HANDLED;
}
new command[6], name[64], access, callback;
menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
new key = str_to_num(command);
switch(key)
{
case 0: {
if(oles[id] >= 1000) {
vip[id] = 1
set_user_flags(id, get_user_flags(id) | ADMIN_LEVEL_H)
ColorChat(id, GREEN,"^x04|*sLT*| ^x03- ^x01Sikeres ^3V.I.P ^1vásárlás.")
}
else {
ColorChat(id, GREEN,"^x04|*sLT*|^x03- ^x01Még ^3%d ^1 ölést kell szerezned.", 1000-oles[id])
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public info(id)
{
new cim[121]
format(cim, charsmax(cim), "\w |*sLT*| \r|\yPaintball\r| \wInformáció")
new menu = menu_create(cim, "info_h" )
menu_additem(menu,"\yAdmin vásárlás!","1",0)
menu_additem(menu,"\yV.I.P vásárlás!","2",0)
menu_additem(menu,"\ySzabályzat!","3",0)
menu_additem(menu,"\dSzerver parancsok","4",0)
menu_additem(menu,"\yAdmin extrák","5",0)
if(get_user_flags(id)&ADMIN_BAN)
menu_additem(menu,"\yMit tud a vip?","6",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public info_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
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:
{
show_motd(id,"addons/amxmodx/configs/adminvetel.txt","Admin vásárlás!")
}
case 2:
{
show_motd(id,"addons/amxmodx/configs/szabalyzat.txt","V.I.P vásárlás!")
}
case 3:
{
show_motd(id,"addons/amxmodx/configs/elerhetoseg.txt","Szabályzat!")
}
case 4:
{
ColorChat(id, GREEN, "Szerver parancsok:^1 /rs, /rank, /top15, /kes, /knife, /menu, /rankstats, /jelent^4!")
}
case 5:
{
show_motd(id, "addons/amxmodx/configs/extrak.txt","Admin extrák")
}
case 6:
{
show_motd(id, "addons/amxmodx/configs/vipinfok.txt","Mit tud a vip?")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public kesmenuasd(id){
if(belepve[id] == 1){
kesmenu(id)
}
else
{
Regisztralas(id)
}
}
public plugin_precache() {
precache_model("models/v_knife.mdl")
precache_model("models/slt_un_kesek/v_slt_un_kes2.mdl")
precache_model("models/slt_un_kesek/v_slt_un_kes3.mdl")
precache_model("models/slt_un_kesek/v_slt_un_kes4.mdl")
precache_model("models/slt_un_kesek/v_slt_un_kes5.mdl")
precache_model("models/slt_un_kesek/v_slt_un_kes6.mdl")
precache_model("models/slt_un_kesek/v_slt_un_kes7.mdl")
precache_model("models/slt_un_kesek/v_slt_un_kes8.mdl")
precache_model("models/slt_un_kesek/v_fps_kes.mdl")
precache_model("models/slt_un_kesek/v_vip_kes.mdl")
}
public death(){
new killer = read_data(1)
new victim = read_data(2)
if(killer == victim)
{
return PLUGIN_HANDLED
}
oles[killer]++
return PLUGIN_HANDLED
}
public kesmenu(id) {
new cim[121], rang[32]
if(oles[id] < 50)
copy(rang, charsmax(rang), rangok[0])
else if(oles[id] < 150)
copy(rang, charsmax(rang), rangok[1])
else if(oles[id] < 250)
copy(rang, charsmax(rang), rangok[2])
else if(oles[id] < 350)
copy(rang, charsmax(rang), rangok[3])
else if(oles[id] < 450)
copy(rang, charsmax(rang), rangok[4])
else if(oles[id] < 550)
copy(rang, charsmax(rang), rangok[5])
else if(oles[id] < 650)
copy(rang, charsmax(rang), rangok[6])
else if(oles[id] < 900)
copy(rang, charsmax(rang), rangok[7])
else
copy(rang, charsmax(rang), rangok[8])
formatex(cim, charsmax(cim), "\d|*sLT*|\r |\yPaintball\r|\w Főmenü \rÖlések: \y[\d\y]\r")
new menu = menu_create(cim, "kesmenu_hl" )
menu_additem(menu,"\d»\yKés menü\d«","1",0)
menu_additem(menu,"\d»\yFPS Kés\d«","2",0)
menu_additem(menu,"\d»\yRang menü\d«","3",0)
menu_additem(menu,"\d»\yVIP kés\d«","4",0)
menu_additem(menu,"\d»\yInformációk\d«","5",0)
menu_additem(menu,"\d»\y[\rÚJ\y]\rVIP Vásárlás\d«","6",0)
menu_additem(menu,"\rStatisztika nullázása","7",0)
menu_addtext(menu,"\d Rangod:\y [\r%s\y]", rang)
menu_display(id,menu,0)
menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
}
public kesmenu_hl(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
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: kes(id)
case 2: fpskes(id)
case 3: rang_menu2(id)
case 4: vipkes(id)
case 5: info(id)
case 6: vap(id)
case 7: stat(id)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public stat(id)
{
cs_set_user_deaths(id, 0)
set_user_frags(id, 0)
cs_set_user_deaths(id, 0)
set_user_frags(id, 0)
{
new name[33]
get_user_name(id, name, 32)
ColorChat(0, GREEN, "^1STAT:^4 %s^1 Nullázta statisztikáját^4!", name)
}
}
public vipkes(id) {
new menu = menu_create("\d|*sLT*|\r |\yV.I.P\r Kés", "vipkes_hl")
menu_additem(menu,"\d|*sLT*|\y V.I.P\r Kés \y[\rIngyenes használat\y]","1",0)
if(get_user_flags(id)&ADMIN_LEVEL_H)
menu_display(id,menu,0)
}
public vipkes_hl(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
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: kesek[id] = -2
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public fpskes(id) {
new menu = menu_create("\d|*sLT*|\r |\yFPS\r Kés", "kkes_hl")
menu_additem(menu,"\d|*sLT*|\r |\yFPS\r Kés \y[\rIngyenes használat\y]","1",0)
menu_display(id,menu,0)
}
public kkes_hl(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
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: kesek[id] = -1
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public kes(id){
new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121]
format(cim, charsmax(cim),"\d|*sLT*|\r |\w>>\yKés Menü^n\w<<\r| \dÖlések: \y[\w%d\y]",oles[id])
format(ks1, charsmax(ks1),"\r|*sLT*|\d kés 1\y [Aktíválva]")
if(oles[id] < 100)
format(ks2, charsmax(ks2),"\d|*sLT*| kés 2 \r[%d/100 Ölés]",oles[id])
else
format(ks2, charsmax(ks2),"\r|*sLT*| \wkés 2\y [Aktíválva]")
if(oles[id] < 250)
format(ks3, charsmax(ks3),"\d|*sLT*| kés 3 \r[%d/250 Ölés]",oles[id])
else
format(ks3, charsmax(ks3),"\r|*sLT*| \wkés 3\y [Aktíválva]")
if(oles[id] < 500)
format(ks4, charsmax(ks4),"\d|*sLT*| kés 4 \r[%d/500 Ölés]",oles[id])
else
format(ks4, charsmax(ks4),"\r|*sLT*| \wkés 4\y [Aktíválva]")
if(oles[id] < 1000)
format(ks5, charsmax(ks5),"\d|*sLT*| kés 5 \r[%d/1000 Ölés]",oles[id])
else
format(ks5, charsmax(ks5),"\r|*sLT*| \wkés 5\y [Aktíválva]")
if(oles[id] < 2000)
format(ks6, charsmax(ks6),"\d|*sLT*| kés 6 \r[%d/2000 Ölés]",oles[id])
else
format(ks6, charsmax(ks6),"\r|*sLT*| \wkés 6\y [Aktíválva]")
if(oles[id] < 3000)
format(ks7, charsmax(ks7),"\d|*sLT*| kés 7 \r[%d/3000 Ölés]",oles[id])
else
format(ks7, charsmax(ks7),"\r|*sLT*| \wkés 7\y [Aktíválva]")
if(oles[id] < 5000)
format(ks8, charsmax(ks8),"\d|*sLT*| kés 8 \r[%d/5000 Ölés]",oles[id])
else
format(ks8, charsmax(ks8),"\r|*sLT*| \wkés 8\y [Aktíválva]")
new menu = menu_create(cim, "kes_hl")
menu_additem(menu,ks1,"1",0)
menu_additem(menu,ks2,"2",0)
menu_additem(menu,ks3,"3",0)
menu_additem(menu,ks4,"4",0)
menu_additem(menu,ks5,"5",0)
menu_additem(menu,ks6,"6",0)
menu_additem(menu,ks7,"7",0)
menu_additem(menu,ks8,"8",0)
menu_setprop(menu, MPROP_NEXTNAME, "Tovább: \r8\y-as gomb!")
menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
menu_setprop(menu, MPROP_BACKNAME, "Előző oldal: \r7\y-es gomb!")
menu_setprop(menu, MPROP_PERPAGE, 6);
menu_display(id,menu,0)
}
public kes_hl(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
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(oles[id] >= 0){
kesek[id] = 0
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",0-oles[id])
}
}
case 2:{
if(oles[id] >= 100){
kesek[id] = 1
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",100-oles[id])
}
}
case 3:{
if(oles[id] >= 250){
kesek[id] = 2
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",250-oles[id])
}
}
case 4:{
if(oles[id] >= 500){
kesek[id] = 3
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",500-oles[id])
}
}
case 5:{
if(oles[id] >= 1000){
kesek[id] = 4
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",1000-oles[id])
}
}
case 6:{
if(oles[id] >= 2000){
kesek[id] = 5
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",2000-oles[id])
}
}
case 7:{
if(oles[id] >= 3000){
kesek[id] = 6
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",3000-oles[id])
}
}
case 8:{
if(oles[id] >= 5000){
kesek[id] = 7
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Sikeres választás.")
}
else
{
ColorChat(id, RED, "^x04|*sLT*| ^x03- ^x01Hiányzik még ^3%d ^1ölés!",5000-oles[id])
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public rang_menu2(id){
new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121]
format(cim, charsmax(cim),"\d|*sLT*|\r |\w>>\yRang Menü^n\w<<\r| \dÖlések: \y[\w%d\y]",oles[id])
format(ks1, charsmax(ks1),"\wKezdő Rang \y[Elérve]")
if(oles[id] < 50)
format(ks2, charsmax(ks2),"\dAmatőr Rang \r[%d/50 Ölés]",oles[id])
else
format(ks2, charsmax(ks2),"\wAmatőr Rang \y[Elérve]")
if(oles[id] < 150)
format(ks3, charsmax(ks3),"\dBot Rang \r[%d/150 Ölés]",oles[id])
else
format(ks3, charsmax(ks3),"\wBot Rang \y[Elérve]")
if(oles[id] < 250)
format(ks4, charsmax(ks4),"\dHaladó Rang \r[%d/250 Ölés]",oles[id])
else
format(ks4, charsmax(ks4),"\wHaladó Rang \y[Elérve]")
if(oles[id] < 350)
format(ks5, charsmax(ks5),"\dProfi Rang \r[%d/350 Ölés]",oles[id])
else
format(ks5, charsmax(ks5),"\wProfi Rang \y[Elérve]")
if(oles[id] < 450)
format(ks6, charsmax(ks6),"\dVeterán Rang \r[%d/450 Ölés]",oles[id])
else
format(ks6, charsmax(ks6),"\wVeterán Rang \y[Elérve]")
if(oles[id] < 550)
format(ks7, charsmax(ks7),"\dMester Rang \r[%d/550 Ölés]",oles[id])
else
format(ks7, charsmax(ks7),"\wMester Rang \y[Elérve]")
if(oles[id] < 650)
format(ks8, charsmax(ks8),"\dLegenda Rang \r[%d/650 Ölés]",oles[id])
else
format(ks8, charsmax(ks8),"\wLegenda Rang \y[Elérve]")
if(oles[id] < 900)
format(ks8, charsmax(ks8),"\dFanatikus Rang \r[%d/900 Ölés]",oles[id])
else
format(ks8, charsmax(ks8),"\wFanatikus Rang \y[Elérve]")
new menu = menu_create(cim, "rangok_h")
menu_additem(menu,ks1,"1",0)
menu_additem(menu,ks2,"1",0)
menu_additem(menu,ks3,"1",0)
menu_additem(menu,ks4,"1",0)
menu_additem(menu,ks5,"1",0)
menu_additem(menu,ks6,"1",0)
menu_additem(menu,ks7,"1",0)
menu_additem(menu,ks8,"1",0)
menu_setprop(menu, MPROP_NEXTNAME, "Tovább: \r8\y-as gomb!")
menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
menu_setprop(menu, MPROP_BACKNAME, "Előző oldal: \r7\y-es gomb!")
menu_setprop(menu, MPROP_PERPAGE, 6);
menu_display(id,menu,0)
}
public rangok_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 1: rang_menu2(id)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public handlesay(id)
{
new message[192], Name[32], none[2][32], chat[192], rang[32]
read_args(message, 191)
remove_quotes(message)
new hossz = strlen(message)
new i = 0
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
}
formatex(none[0], 31, ""), formatex(none[1], 31, " ")
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
return PLUGIN_HANDLED;
if(!equali(message, none[0]) && !equali(message, none[1]))
{
get_user_name(id, Name, 31);
if(oles[id] < 50)
rang = "Kezdő"
else if(oles[id] < 150)
rang = "Amatőr"
else if(oles[id] < 250)
rang = "Bot"
else if(oles[id] < 350)
rang = "Haladó"
else if(oles[id] < 450)
rang = "Profi"
else if(oles[id] < 550)
rang = "Veterán"
else if(oles[id] < 650)
rang = "Mester"
else if(oles[id] < 900)
rang = "Legenda"
else
rang = "Fanatikus"
if(get_user_flags(id) & ADMIN_LEVEL_B)
formatex(chat, 191, "^3[^4Tulajdonos^3] ^1»^3[^4%s^3]^1«^3%s^1 :^4 %s",rang, Name, message)
else if(get_user_flags(id) & ADMIN_LEVEL_C)
formatex(chat, 191, "^3[^4Konfigos^3] ^1»^3[^4%s^3]^1«^3%s^1 :^4 %s",rang, Name, message)
else if(get_user_flags(id) & ADMIN_BAN)
formatex(chat, 191, "^3[^4Admin^3] ^1»^3[^4%s^3]^1«^3%s^1 :^4 %s",rang, Name, message)
else if(get_user_flags(id) & ADMIN_LEVEL_D)
formatex(chat, 191, "^3[^4Főadmin^3] ^1»^3[^4%s^3]^1«^3%s^1 :^4 %s",rang, Name, message)
else if(get_user_flags(id) & ADMIN_LEVEL_H)
formatex(chat, 191, "^3[^4V.I.P^3] ^1»^3[^4%s^3]^1«^3%s^1 :^4 %s",rang, Name, message)
else
formatex(chat, 191, "^1»^3[^4%s^3]^1«^3%s^1 :^1 %s",rang, 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_CONTINUE
}
public mentes(id)
{
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-KESEK", name)
format(vaultdata,255,"%d", oles[id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-KESEK", name)
nvault_get(vault,vaultkey,vaultdata,255)
oles[id] = str_to_num(vaultdata)
return PLUGIN_CONTINUE;
}
public Event_Change_Weapon(id)
{
new fgy = get_user_weapon(id)
if(kesek[id] == -1 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_fps_kes.mdl")
}
if(kesek[id] == -2 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_vip_kes.mdl")
}
if(kesek[id] == 0 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
}
if(kesek[id] == 1 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_slt_un_kes2.mdl")
}
if(kesek[id] == 2 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_slt_un_kes3.mdl")
}
if(kesek[id] == 3 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_slt_un_kes4.mdl")
}
if(kesek[id] == 4 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_slt_un_kes5.mdl")
}
if(kesek[id] == 5 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_slt_un_kes6.mdl")
}
if(kesek[id] == 6 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_slt_un_kes7.mdl")
}
if(kesek[id] == 7 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/slt_un_kesek/v_slt_un_kes8.mdl")
}
}
public client_connect(id)
{
betoltes(id)
new JatekosNeve[32]
get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
new JatekosIP[32]
get_user_ip(id, JatekosIP, charsmax(JatekosIP))
new hossz = strlen(JatekosNeve)
new i = 0
RosszKarakterek = 0
RosszKarakterek2 = 0
while(i < hossz)
{
if(JatekosNeve[i] == '#')
RosszKarakterek++
if(JatekosNeve[i] == '_')
RosszKarakterek2++
++i
}
if(RosszKarakterek != 0 && RosszKarakterek2 != 0)
{
server_cmd("kick #%d Tiltott karakter van a nevedben. ^"# & _^"", get_user_userid(id))
log_amx("Egy jatekos tiltott karakteres nevvel jott fel : %s | %s", JatekosNeve, JatekosIP)
}
return PLUGIN_CONTINUE
}
public Regisztralas(id){
new menu
new ks1[121], ks2[121], cim[121]
new nev[32]
get_user_name(id, nev, 31)
if(belepve[id] == 0){
if(reg_pont[id] == 0){
format(cim, charsmax(cim), "\d|*sLT*| \rPaintball^n\yStátusz: \dNem regisztrált")
}
else if(reg_pont[id] == 1){
format(cim, charsmax(cim), "\d|*sLT*| \rPaintball^n\yStátusz: \dRegisztrálva^n\rPróbálkozások: \w%d\d/\w3", probal[id])
}
menu = menu_create(cim, "reg_h")
format(ks2, charsmax(ks2), "\rFelhasználónév:\d %s", nev)
if(reg_pont[id] == 0){
if(irt[id] == 1){
format(ks1, charsmax(ks1), "\rJelszó: \d%s^n", mentett_pw[id])
}
else if(irt[id] == 0){
format(ks1, charsmax(ks1), "\rJelszó: ^n")
}
}
else if(reg_pont[id] == 1){
format(ks1, charsmax(ks1), "\rJelszó: \d%s^n", beirt_pw[id])
}
menu_additem(menu, ks2, "0", 0)
menu_additem(menu, ks1, "1", 0)
if(reg_pont[id] == 0){
if(irt[id] == 0){
menu_additem(menu, "\dRegisztrálok", "4", 0)
}
else if(irt[id] == 1){
menu_additem(menu, "Regisztrálok", "2", 0)
}
}
else if(reg_pont[id] == 1){
menu_additem(menu, "Belépek", "3", 0)
}
menu_display(id, menu, 0)
}
}
public reg_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, 31)
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: Regisztralas(id)
case 1:{
if(reg_pont[id] == 0){
client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
}
else if(reg_pont[id] == 1){
client_cmd(id, "messagemode BELEPESI_JELSZO")
}
}
case 2:{
ef_jsz[id] = jelszo
reg_pont[id] = 1
ColorChat(id, RED, "^4|*sLT*| ^3-^1 Sikeres regisztráció! Jelszavad:^3 %s", mentett_pw[id])
Regisztralas(id)
client_cmd(id, "setinfo _jelszo ^"%s^"", ef_jsz[id])
regisztralas_mentese(id)
}
case 3:{
if(equali(beirt_pw[id], mentett_pw[id])){
belepve[id] = 1
ColorChat(id, RED, "^4|*sLT*| ^3-^1 Sikeresen beléptél!")
kesmenu(id)
}
else if(probal[id] >= 2){
server_cmd("kick #%i ^"3/3 próbálkozás után KICK!",get_user_userid(id))
}
else if(!equali(beirt_pw[id], mentett_pw[id])){
probal[id]++
ColorChat(id, RED, "^4|*sLT*| ^3-^1 Hibás jelszó!")
Regisztralas(id)
}
}
case 4:{
ColorChat(id, RED, "^4|*sLT*| ^3-^1 Nem írtál be jelszót!")
Regisztralas(id)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public belepes_jelszo(id){
read_args(beirt_jelszo, charsmax(beirt_jelszo))
remove_quotes(beirt_jelszo)
new hossz = strlen(beirt_jelszo)
if(equal(beirt_jelszo, ""))
return PLUGIN_HANDLED
if(hossz < 6)
{
ColorChat(id, RED, "^4|*sLT*| ^3-^1 Jelszavadnak minimum ^36 ^1betűnek kell lennie!")
client_cmd(id, "messagemode BELEPESI_JELSZO")
}
else
{
beirt_pw[id] = beirt_jelszo
Regisztralas(id)
}
return PLUGIN_CONTINUE
}
public reg_jelszo(id){
if(reg_pont[id] == 0){
read_args(jelszo, charsmax(jelszo))
remove_quotes(jelszo)
new hossz = strlen(jelszo)
if(equal(jelszo, ""))
return PLUGIN_HANDLED
if(hossz < 6)
{
ColorChat(id, RED, "^4|*sLT*| ^3-^1 Jelszavadnak minimum ^36 ^1betűnek kell lennie!")
client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
}
else
{
irt[id] = 1
mentett_pw[id] = jelszo
ef_jsz[id] = jelszo
Regisztralas(id)
}
}
return PLUGIN_CONTINUE
}
public regisztralas_mentese(id){
new Buffer[256]
new adate[128], name[32]
get_time("%x", adate, sizeof adate - 1);
get_user_name(id, name, 31)
format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^" ^n^n^n^n", name, mentett_pw[id]);
new file = fopen(users_db_file, "at+");
fprintf(file, Buffer);
fclose(file);
return 1;
}
public nevvaltas(id){
if(!is_user_connected(id))
return FMRES_IGNORED
new regi_nev[32], uj_nev[32], nev[32]
get_user_name(id, nev, 31)
pev(id, pev_netname, regi_nev, charsmax(regi_nev))
if(regi_nev[0])
{
get_user_info(id, "name", uj_nev, charsmax(uj_nev))
if(!equal(regi_nev, uj_nev))
{
if(belepve[id] == 1)
{
set_user_info(id, "name", regi_nev)
ColorChat(id, RED, "^4|*sLT*| ^3-^1 A név váltás tiltott!")
return FMRES_HANDLED
}
else
{
set_user_info(id, "name", regi_nev)
ColorChat(id, RED, "^4|*sLT*| ^3-^1 A név váltás tiltott!")
return FMRES_HANDLED
}
}
}
return FMRES_IGNORED
}
public save(id) {
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-REG", name)
format(vaultdata,255,"%i#",reg_pont[id])
nvault_set(reg_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public load(id) {
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-REG", name)
format(vaultdata,255,"%i#",reg_pont[id])
nvault_get(reg_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new a3[32]
parse(vaultdata, a3, 31)
reg_pont[id] = str_to_num(a3)
return PLUGIN_CONTINUE;
}
public client_disconnect(id)
{
mentes(id)
save(id)
Saved(id)
belepve[id] = 0
irt[id] = 0
probal[id] = 0
beirt_pw[id] = ""
}
Loaded(id)
{
new nev[35]
get_user_name(id, nev, sizeof(nev)-1)
new adatok[20]
format(adatok, 19, "%s", mentett_pw[id]);
if(fvault_get_data(file, nev, adatok, 19))
{
new pw[32]
parse(adatok, pw, 31);
mentett_pw[id] = pw
}
else
{
mentett_pw[id] = ""
}
}
Saved(id)
{
new nev[35]
get_user_name(id, nev, sizeof(nev)-1)
new adatok[20]
format(adatok, 19, "%s", mentett_pw[id]);
fvault_set_data(file, nev, adatok)
}
public client_putinserver(id)
{
set_task(5.0, "Regisztralas", id)
load(id)
betoltes(id)
Loaded(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
}