Hello, ez egy részlet egy regisztrációs menüs szkinrendszerből.
Valamiért random bedobja néha a Felhasználónévhez és Jelszóhoz más játékosok adatait, és így be is lehet velük lépni.
tipp?hiba? :O
Kód:
public MainRegMenu(id)
{
if(!Loggedin[id])
{
new String[121], Menu;
formatex(String, charsmax(String), "\r%s \y%s \w| \dRegisztrációs Rendszer", MENUPREFIX, PLUGIN);
Menu = menu_create(String, "MenuHandler");
formatex(String, charsmax(String), "\rFelhasználónév: \d%s", UserName[id]);
menu_additem(Menu, String, "a0");
formatex(String, charsmax(String), "\rJelszĂł: \d%s^n", UserPassword[id]);
menu_additem(Menu, String, "a1");
if(Found[id] == 2)
{
formatex(String, charsmax(String), "Bejelentkezés");
menu_additem(Menu, String, "a2");
}
else if(Found[id] == 1)
{
formatex(String, charsmax(String), "Regisztráció");
menu_additem(Menu, String, "a2");
}
menu_display(id, Menu);
}
}
public MenuHandler(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);
new Key = str_to_num(Data[1]);
switch(Data[0])
{
case 'a':
{
switch(Key)
{
case 0: client_cmd(id, "messagemode MY_USERNAME");
case 1: client_cmd(id, "messagemode MY_PASSWORD");
case 2: cmdRegLog(id);
}
}
}
menu_destroy(Menu);
return PLUGIN_HANDLED;
}
public fomenu(id)
{
if(!Loggedin[id])
{
client_printcolor(id, "!g%s !yCsak bejelentkezés után elérhető!", CHATPREFIX);
MainRegMenu(id);
return PLUGIN_HANDLED;
}
new String[96]
format(String, charsmax(String), "\r[Weapon Skin System] \wFőmenü^n\yÖlések: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
new menu = menu_create(String, "fomenu_MyMenu");
menu_additem(menu, "Fegyver Skin Csomagok", "0");
menu_additem(menu, "Játékos Infók", "1");
menu_additem(menu, "Csomag Információk", "2");
menu_additem(menu, "Bolt - TESZT v 1.0", "3");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "\rKilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public fomenu_MyMenu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
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);
switch(item)
{
case 0: fegymenu(id)
case 1: playerinfo(id)
case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[WSS] Infok")
case 3: bolt(id)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public bolt(id)
{
new String[96]
format(String, charsmax(String), "\r[Weapon Skin System] \wFegyver Bolt^n\y Kreditek: \d%i", kredit[id])
new menu = menu_create(String, "bolt_handler" )
format(String, charsmax(String), kredit[id] >= need_kills_bolt[0] ? (menuszovegbolt[0][0]):(menuszovegbolt[0][1]), kredit[id], need_kills_bolt[0]);
menu_additem(menu, String, "0" );
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public bolt_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
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);
switch(item)
{
case 0: {
if(kredit[id] >= need_kills_bolt[0]) {
csomag[id] = 8
kredit[id] -= get_cvar_num("wastelandara");
ColorChat(id, GREEN, chatszoveg[10],prefix, get_cvar_num("wastelandara"), csomagmsgbolt[0]);
}
else {
ColorChat(id, GREEN, chatszoveg[9],prefix);
}
}
}
bolt(id)
return PLUGIN_HANDLED;
}
public playerinfo(id)
{
new some[256], menu
static players[32],szTemp[10],pnum
get_players(players,pnum,"ch");
formatex(some,255,"\r[Weapon Skin System] \wJátékos \d|\w Ölés \d|\w Kredit");
menu = menu_create(some,"pinfo_Handler");
for (new i; i < pnum; i++)
{
formatex(some,256,"%s \r(\yÖlése: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
num_to_str(players[i],szTemp,charsmax(szTemp));
menu_additem(menu, some, szTemp);
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public pinfo_Handler(id,menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
playerinfo(id)
}
public fegymenu(id)
{
new String[96]
format(String, charsmax(String), "\r[Weapon Skin System] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
new menu = menu_create(String, "fegymenu_handler" )
format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
menu_additem(menu, String, "0" );
formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
menu_additem(menu, String, "1");
formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
menu_additem(menu, String, "2");
format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
menu_additem(menu, String, "3");
format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
menu_additem(menu, String, "4");
format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
menu_additem(menu, String, "5");
format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
menu_additem(menu, String, "6");
formatex(String, charsmax(String), kredit[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), kredit[id], need_kills[7]);
menu_additem(menu, String, "7");
menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[8][0]):(menuszoveg[8][1]), "8");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public fegymenu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
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);
switch(item)
{
case 0: {
if(oles[id] >= need_kills[0]) {
csomag[id] = 1
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
}
else {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
case 1: {
if(oles[id] >= need_kills[1]) {
csomag[id] = 2
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
}
else {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
case 2: {
if(oles[id] >= need_kills[2]) {
csomag[id] = 3
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
}
else {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
case 3: {
if(oles[id] >= need_kills[3]) {
csomag[id] = 4
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
}
else {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
case 4: {
if(oles[id] >= need_kills[4]) {
csomag[id] = 5
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
}
else {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
case 5: {
if(oles[id] >= need_kills[5]) {
csomag[id] = 6
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
}
else {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
case 6: {
if(oles[id] >= need_kills[6]) {
csomag[id] = 7
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
}
else {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
case 7: {
if(kredit[id] >= need_kills[7]) {
knife[id] = 1
ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[5]);
}
else {
ColorChat(id, GREEN, chatszoveg[9],prefix);
}
}
case 8: {
if(switchbutton[id] == 0){
switchbutton[id] = 1
csomag[id] = 0
knife[id] = 0
ColorChat(id, GREEN, chatszoveg[6],prefix);
}
else {
switchbutton[id] = 0
ColorChat(id, GREEN, chatszoveg[7],prefix);
}
}
case 9: {
ColorChat(id, GREEN, chatszoveg[5],prefix);
}
}
fegymenu(id)
return PLUGIN_HANDLED;
}
public cmdRegLog(id)
{
if(!is_user_connected(id) || Loggedin[id])
return PLUGIN_HANDLED;
if((strlen(UserPassword[id]) > 16))
{
if(Found[id] == 1)
client_printcolor(id, "!g%s !yA jelszĂł nem lehet hoszabb, mint 16 karakter!", CHATPREFIX);
else
client_printcolor(id, "!g%s !yHibás felhasználónév, vagy jelszó!", CHATPREFIX);
MainRegMenu(id);
return PLUGIN_HANDLED;
}
if((strlen(UserPassword[id]) < 5))
{
if(Found[id] == 1)
client_printcolor(id, "!g%s !yA jelszó nem lehet rövidebb, mint 5 karakter!", CHATPREFIX);
else
client_printcolor(id, "!g%s !yHibás felhasználónév, vagy jelszó!", CHATPREFIX);
MainRegMenu(id);
return PLUGIN_HANDLED;
}
switch(Found[id])
{
case 1:
{
if(Process[id] == 0)
{
Process[id] = 1;
MainRegMenu(id);
SQL_AccountCheck(id);
client_printcolor(id, "!g%s !yRegisztráció folyamatban... Kérlek várj...", CHATPREFIX);
}
else
MainRegMenu(id);
}
case 2:
{
if(Process[id] == 0)
{
Process[id] = 1;
MainRegMenu(id);
SQL_AccountCheck(id);
client_printcolor(id, "!g%s !yBejelentkezés folyamatban... Kérlek várj...", CHATPREFIX);
}
else
MainRegMenu(id);
}
}
return PLUGIN_HANDLED;
}
public infohud() {
if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
static id
for(id = 1; id <= get_maxplayers(); id++)
{
if(is_user_alive(id)){
set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "[Ölés: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
}
else{
new target = entity_get_int(id, EV_INT_iuser2);
if(!target)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "[Ölés: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
}
}
return PLUGIN_CONTINUE;
}
stock get_player_name(id){
static szName[32];
get_user_name(id,szName,31);
return szName;
}
public client_disconnect(id){
if(Loggedin[id])
SQL_AccountUpdate(id);
}
public client_putinserver( id ) {
if(is_user_bot(id)) return;
set_task(10.0, "fomenu", id)
get_user_name(id, Name[id], charsmax(Name[]));
oles[id] = 0;
kredit[id] = 0;
csomag[id] = 0;
switchbutton[id] = 0;
UserName[0][id] = EOS;
UserPassword[0][id] = EOS;
Name[0][id] = EOS;
UserID[id] = 0;
Process[id] = 0;
Loggedin[id] = false;
}
public plugin_end()
{
SQL_FreeHandle(SqlTuple);
}
public MYSQL_Init()
{
new Query[512], Len;
SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
Len += formatex(Query[Len], charsmax(Query)-Len, "CREATE TABLE IF NOT EXISTS `virushdreg` (`Felhasznalonev` varchar(32) NOT NULL, `Jelszo` varchar(32) NOT NULL, ");
Len += formatex(Query[Len], charsmax(Query)-Len, "`Jatekosnev` varchar(32) NOT NULL, `Oles` int(11) NOT NULL, `Kredit` int(11) NOT NULL, `Csomag` int(11) NOT NULL, ");
Len += formatex(Query[Len], charsmax(Query)-Len, "`Switchbutton` int(11) NOT NULL, `ID` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
SQL_ThreadQuery(SqlTuple, "CreateTableThread", Query);
}
public CreateTableThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
{
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Hiba");
if(ErrorCode)
log_amx("Hibat dobtam: %s", Error);
}
public SQL_AccountCheck(id)
{
new Query[512], User[32], Data[2];
formatex(User, 31, "%s", UserName[id]);
replace_all(User, 31, "\", "\\");
replace_all(User, 31, "'", "\'");
Data[0] = id;
Data[1] = get_user_userid(id);
formatex(Query, charsmax(Query), "SELECT * FROM `virushdreg` WHERE Felhasznalonev = ^"%s^";", User);
SQL_ThreadQuery(SqlTuple, "AccountCheckThread", Query, Data, 2);
}
public AccountCheckThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
{
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Hiba");
if(ErrorCode)
log_amx("Hibat dobtam: %s", Error);
new id = Data[0];
if(Data[1] != get_user_userid(id))
return;
if(Found[id] == 1)
{
if((Query) > 0)
{
Process[id] = 0;
MainRegMenu(id);
client_printcolor(id, "!g%s !yEz a felhasználónév már foglalt!", CHATPREFIX);
}
else
{
SQL_AccountCreate(id);
}
}
else if(Found[id] == 2)
{
if(SQL_NumRows(Query) == 0)
{
Process[id] = 0;
MainRegMenu(id);
client_printcolor(id, "!g%s !yHibás felhasználónév, vagy jelszó!", CHATPREFIX);
}
else
{
SQL_AccountLoad(id);
}
}
}
public SQL_RegCheck(id)
{
new Query[512], User[32], Data[2];
formatex(User, 31, "%s", UserName[id]);
replace_all(User, 31, "\", "\\");
replace_all(User, 31, "'", "\'");
Data[0] = id;
Data[1] = get_user_userid(id);
formatex(Query, charsmax(Query), "SELECT * FROM `virushdreg` WHERE Felhasznalonev = ^"%s^";", User);
SQL_ThreadQuery(SqlTuple, "RegCheckThread", Query, Data, 2);
}
public RegCheckThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
{
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Hiba");
if(ErrorCode)
log_amx("Hibat dobtam: %s", Error);
new id = Data[0];
if(Data[1] != get_user_userid(id))
return;
if(SQL_NumRows(Query) > 0)
Found[id] = 2;
//formatex(User, 31, "%s", UserName[id]);
//formatex(Password, 31, "%s", UserPassword[id]);
else
Found[id] = 1;
Process[id] = 0;
MainRegMenu(id);
}
public SQL_AccountCreate(id)
{
new Query[512], User[32], Password[32], pName[32], Data[2], Len;
formatex(User, 31, "%s", UserName[id]);
formatex(Password, 31, "%s", UserPassword[id]);
formatex(pName, 31, "%s", Name[id]);
replace_all(User, 31, "\", "\\");
replace_all(User, 31, "'", "\'");
replace_all(Password, 31, "\", "\\");
replace_all(Password, 31, "'", "\'");
replace_all(pName, 31, "\", "\\");
replace_all(pName, 31, "'", "\'");
Data[0] = id;
Data[1] = get_user_userid(id);
Len += formatex(Query[Len], charsmax(Query)-Len, "INSERT INTO `virushdreg` (`Felhasznalonev`, `Jelszo`, `Jatekosnev`, `Oles`, `Kredit`, `Csomag`, `Switchbutton`) ");
Len += formatex(Query[Len], charsmax(Query)-Len, "VALUES (^"%s^", ^"%s^", ^"%s^", ^"0^", ^"0^", ^"0^", ^"0^");", User, Password, pName);
SQL_ThreadQuery(SqlTuple, "AccountCreateThread", Query, Data, 2);
}
public AccountCreateThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
{
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Hiba");
if(ErrorCode)
log_amx("Hibat dobtam: %s", Error);
new id = Data[0];
if(Data[1] != get_user_userid(id))
return;
Process[id] = 0;
Found[id] = 2;
MainRegMenu(id);
client_printcolor(id, "!g%s !ySikeresen regisztráltál a szerverre. (Felhasználóneved: !g%s !t| !yJelszavad: !g%s!y)", CHATPREFIX, UserName[id], UserPassword[id]);
}
public SQL_AccountLoad(id)
{
new Query[512], User[32], Data[2];
formatex(User, 31, "%s", UserName[id]);
replace_all(User, 31, "\", "\\");
replace_all(User, 31, "'", "\'");
Data[0] = id;
Data[1] = get_user_userid(id);
formatex(Query, charsmax(Query), "SELECT * FROM `virushdreg` WHERE Felhasznalonev = ^"%s^";", User);
SQL_ThreadQuery(SqlTuple, "AccountLoadThread", Query, Data, 2);
}
public AccountLoadThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
{
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Hiba");
if(ErrorCode)
log_amx("Hibat dobtam: %s", Error);
new id = Data[0];
if(Data[1] != get_user_userid(id))
return;
new SqlPassword[32];
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), SqlPassword, 31);
if(equal(UserPassword[id], SqlPassword))
{
UserID[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ID"));
oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
kredit[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kredit"));
csomag[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Csomag"));
switchbutton[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Switchbutton"));
Process[id] = 0;
Loggedin[id] = true;
show_menu(id, 0, "^n", 1);
set_task(1.0, "fomenu", id)
client_printcolor(id, "!g%s !yÜdv a szerveren !g%s!y(!t#%d!y), sikeresen bejelentkeztél.", CHATPREFIX, UserName[id], UserID[id]);
}
else
{
Process[id] = 0;
MainRegMenu(id);
client_printcolor(id, "!g%s !yHibás felhasználónév, vagy jelszó!", CHATPREFIX);
}
}
public SQL_AccountUpdate(id)
{
new Query[512], NewName[32], Password[32], Len;
formatex(NewName, 31, "%s", Name[id]);
formatex(Password, 31, "%s", UserPassword[id]);
replace_all(NewName, 31, "\", "\\");
replace_all(NewName, 31, "'", "\'");
replace_all(Password, 31, "\", "\\");
replace_all(Password, 31, "'", "\'");
Len += formatex(Query[Len], charsmax(Query)-Len, "UPDATE `virushdreg` SET Jelszo = ^"%s^", Jatekosnev = ^"%s^", Oles = ^"%d^", ", Password, NewName, oles[id]);
Len += formatex(Query[Len], charsmax(Query)-Len, "Kredit = ^"%d^", Csomag = ^"%d^", Switchbutton = ^"%d^" WHERE ID = ^"%d^";", kredit[id], csomag[id], switchbutton[id], UserID[id]);
SQL_ThreadQuery(SqlTuple, "AccountUpdateThread", Query);
}
public AccountUpdateThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
{
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Hiba");
if(ErrorCode)
log_amx("Hibat dobtam: %s", Error);
}
public cmdUser(id)
{
if(!is_user_connected(id) || Loggedin[id])
return PLUGIN_HANDLED;
UserName[0][id] = EOS;
read_args(UserName[id], 31);
remove_quotes(UserName[id]);
SQL_RegCheck(id);
return PLUGIN_HANDLED;
}
public cmdPassword(id)
{
if(!is_user_connected(id) || Loggedin[id])
return PLUGIN_HANDLED;
UserPassword[0][id] = EOS;
read_args(UserPassword[id], 31);
remove_quotes(UserPassword[id]);
MainRegMenu(id);
return PLUGIN_HANDLED;
}
stock client_printcolor(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;
}