11.03.2011, 12:44
OnPlayerConnect:
The dialog:
The problem is if in DB are account example: John_Jocubs and if u come with JohN_Jocubs the system reques you to register and when both accounts buggy... :/ The best solution i think is if someone came up with JohN example he or she gets kick.. I have one stock wich helps me, but in this case not...
the stock:
Using this OnPlayerConnect. Thank you!
Код:
<..> new query [ 256 ], string [ 80 ], pName [ MAX_PLAYER_NAME ]; GetPlayerName ( playerid, pName, MAX_PLAYER_NAME ); format( query, 256, "SELECT id FROM `"TABLENAME"` WHERE Vardas = '%s'", pName ); mysql_query(query); mysql_store_result(); if( mysql_num_rows() == 1 ) pInfo[playerid][pId] = mysql_fetch_int(); else pInfo[playerid][pId] = 0; mysql_free_result(); if( pInfo[playerid][pId] == 0 ) { format ( string, sizeof( string ), "{FFFFFF}Sveikas, {AFE01B}%s, {FFFFFF}uюsiregistruokite.", pName ); ShowPlayerDialog( playerid, 6, DIALOG_STYLE_INPUT, string, "{FFFFFF}Бraрykite savo norimа slaptaюodб apaиioje", "Registruotis", "Iрeiti" ); } else { format ( string, sizeof( string ), "{FFFFFF}Sveikas, {AFE01B}%s, {FFFFFF}prisijunkite", pName ); ShowPlayerDialog( playerid, 7, DIALOG_STYLE_INPUT, string, "{FFFFFF}Бraрykite savo slaptaюodб apaиioje", "Prisijungti", "Iрeiti" ); } <..>
Код:
if(dialogid == 6) // REG { if(!response) { SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыs pasirinkote iрeiti, todлl buvote iрmestas."); Kick(playerid); return 1; } if(response) { if(IsPlayerNPC(playerid)) return 1; new query [ 256 ], pName [ MAX_PLAYER_NAME ], text [ 50 ], string [ 80 ]; GetPlayerName ( playerid, pName, MAX_PLAYER_NAME ); strmid ( text, inputtext, 0,64 ); StringToInt( text ); if( !strcmp( text, "0", true )) { format ( string, sizeof( string ), "{FFFFFF}Sveikas, {AFE01B}%s, {FFFFFF}uюsiregistruokite.", pName ); ShowPlayerDialog( playerid, 6, DIALOG_STYLE_INPUT, string, "{FFFFFF}Бraрykite savo norimа slaptaюodб apaиioje\n\ {FF0000}Slaptaюodюio laukelis negali bыti tuриias!", "Registruotis", "Iрeiti" ); return true; } if( strlen(inputtext) < 8 ) { format ( string, sizeof( string ), "{FFFFFF}Sveikas, {AFE01B}%s, {FFFFFF}uюsiregistruokite", pName ); ShowPlayerDialog( playerid, 6, DIALOG_STYLE_INPUT, string, "{FFFFFF}Бraрykite savo norimа slaptaюodб apaиioje\n\ {FF0000}Slaptaюodis negali bыti trumpesnis nei 8 simboliai!", "Registruotis", "Iрeiti" ); return true; } if( strlen(inputtext) > 50 ) { format ( string, sizeof( string ), "{FFFFFF}Sveikas, {AFE01B}%s, {FFFFFF}uюsiregistruokite", pName ); ShowPlayerDialog( playerid, 6, DIALOG_STYLE_INPUT, string, "{FFFFFF}Бraрykite savo norimа slaptaюodб apaиioje\n\ {FF0000}Slaptaюodis negali bыti ilgesnis nei 50 simboliai!", "Registruotis", "Iрeiti" ); return true; } mysql_real_escape_string( pName, pName ); mysql_real_escape_string( text, text ); format( query, 256, "INSERT INTO `"TABLENAME"` (Vardas, Slaptazodis, pos_X, pos_Y, pos_Z) VALUES ('%s',('%s'),'-1956.6219', '138.0429', '28.6940')", pName, text ); mysql_query(query); pInfo [ playerid ][ Logged ] = true; pInfo [ playerid ][ PoRegistracijos ] = true; GivePlayerMoneyA ( playerid, 2000 ); format( query, 256, "SELECT id FROM `"TABLENAME"` WHERE Vardas = '%s'", pName ); mysql_query(query); mysql_store_result(); pInfo[playerid][pId] = mysql_fetch_int(); mysql_free_result(); } return true; }
the stock:
Код:
stock InvalidNickKick(playerid) { if(IsPlayerNPC(playerid))return 1; new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,MAX_PLAYER_NAME); new where = strfind(name,"_",true); new lenght = strlen(name)-1; new invalid = strfind(name,"[",true); if(invalid == -1) invalid = strfind(name,"]",true); if(name[0] < 65 || name[0] > 90) { SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыsш slapyvardis neteisingas, vardas raрomas didюiajа raide."); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid,LIGHTGREEN,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } if(name[where+1] < 65 || name[where+1] > 90) { SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыsш slapyvardis neteisingas, pavardл raрosi didюiajа raide."); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid,LIGHTGREEN,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } for(new i = 1; i < where-1; i++) { if(name[i] < 97 || name[i] > 122) { SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыsш slapyvardis netinkamas, didюiosios raidлs negali bыti viduryje."); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid,LIGHTGREEN,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } } if(where == 0 || where == lenght || where==-1) { SendClientMessage(playerid, WHITE,"[ > ]{FF7E7E} Jыsш slapyvardis netinkamas."); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid, WHITE,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } if(strlen(name[where])<4) { SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыsш slapyvardis per trumpas."); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid, WHITE,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } if(where<3) { SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыsш slapyvardis per trumpas."); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid, WHITE,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } if(invalid != -1) { SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыsш slapyvarde rasta netinkamш simboliш."); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid, WHITE,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } for(new i = where+2; i < MAX_PLAYER_NAME; i++) { if(name[i] < 97 || name[i] > 122) { if(name[i] == 0){i = MAX_PLAYER_NAME; return 0;} SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Jыsш slapyvardis netinkamas dлl: Didюiosios raidлs, skaiиiai viduryje юodюio"); SendClientMessage(playerid, WHITE, "[ > ]{FF7E7E} Teisinga slapyvardюio forma bыtш:"); SendClientMessage(playerid, WHITE,"[ > ]{FF7E7E} Vardas_Pavarde"); Kick(playerid); return 1; } } return 0; }