stock GetPlayerData( playerid, dataline[] ) {new esced[ 24 + 1 ];mysql_real_escape_string( PlayerName(playerid), esced );format( queryd, sizeof(queryd), \"SELECT * FROM `players` WHERE `Név` = \'%s\'\", esced );mysql_query( queryd );mysql_store_result( );mysql_fetch_row_format( dataline, \"|\" );mysql_free_result( );return true;}
stock Belepes(playerid){new SetVarThing[sZAMUK][32]; // jelen esetben 2GetPlayerData(playerid, line);split( line, PVarSet, \'|\' );sscanf(line, \"p<|>s[32]d\", SetVarThing[0], SetVarThing[1]);if(mysql_num_rows() != 0){pInfo[playerid][AdminLevel] = strval(SetVarThing[2]); // itt sima változót használtam, de ha akarod lehet pvarban is}return 1;}
Elsõként ajánlom átnézni (ha még nem ismered) kurta mysql regisztrációs rendszerét, tanulhatsz belõle.Másodrészt pedig, másold be ezeket a funkcióidhoz, viszont elõtte hozz létre egy globális queryd változót (mi legalábbis úgy használjuk): stock GetPlayerData( playerid, dataline[] ) {new esced[ 24 + 1 ];mysql_real_escape_string( PlayerName(playerid), esced );format( queryd, sizeof(queryd), \"SELECT * FROM `players` WHERE `Név` = \'%s\'\", esced );mysql_query( queryd );mysql_store_result( );mysql_fetch_row_format( dataline, \"|\" );mysql_free_result( );return true;} Majd amikor bejelentkezik( nálam jelen esetben Belepes(playerid), illetve hozz létre egy globális line változót. ): stock Belepes(playerid){new SetVarThing[sZAMUK][32]; // jelen esetben 2GetPlayerData(playerid, line);split( line, PVarSet, \'|\' );sscanf(line, \"p<|>s[32]d\", SetVarThing[0], SetVarThing[1]);if(mysql_num_rows() != 0){pInfo[playerid][AdminLevel] = strval(SetVarThing[2]); // itt sima változót használtam, de ha akarod lehet pvarban is}return 1;}
CMD:makeadmin(playerid,params[]){if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdminLevel] == 6){new targetid, szint, msg[128];if(sscanf(params,\"ui\",targetid,szint)) return SendClientMessage(playerid, COLOR_SERVER, \"/makeadmin [iD / Név] [AdminSzint]\");{if(szint < 0 || szint > 6) return SendClientMessage(playerid, COLOR_SERVER, \"Admin szintek: 0 | 1 | 2 | 3 | 4 | 5 | 6\");PlayerInfo[playerid][pAdminLevel] = szint;format(msg,sizeof(msg),\"Gratulálunk az új adminunknak!! Neve: %s || Adta neki: %s || Admin rang: %s\",TargetName(playerid),PlayerName(playerid),Admin_Szintek[szint]);SendClientMessageToAll(COLOR_LIGHTBLUE,msg);}new Query[256];format(Query, sizeof(Query), \"SELECT * FROM `playerek` WHERE `name` = \'%s\'\", PlayerName(playerid));mysql_query(Query);mysql_store_result();if(mysql_num_rows() != 0) // Ha a sorok száma nem 0 ( nem üres ){ new Query1[256];format(Query1, sizeof(Query1), \"UPDATE `samp`.`playerek` SET `AdminSzint` = \'%i\' WHERE `Név` = %s\", szint,PlayerName(playerid));mysql_query(Query1);}else{new Query2[256];format(Query2,sizeof(Query2),\"INSERT INTO `samp`.`playerek` (`Név` ,`AdminSzint`)VALUES (\'%s\', \'%i\'\",PlayerName(playerid),szint);mysql_query(Query2);}mysql_free_result();}return 1;}
D:\\samp scripting\\gamemodes\\mysql.pwn(305) : error 017: undefined symbol \"SZAMUK\"D:\\samp scripting\\gamemodes\\mysql.pwn(305) : error 036: empty statementD:\\samp scripting\\gamemodes\\mysql.pwn(306) : error 017: undefined symbol \"line\"D:\\samp scripting\\gamemodes\\mysql.pwn(307) : error 017: undefined symbol \"split\"D:\\samp scripting\\gamemodes\\mysql.pwn(308) : error 017: undefined symbol \"line\"D:\\samp scripting\\gamemodes\\mysql.pwn(308) : warning 215: expression has no effectD:\\samp scripting\\gamemodes\\mysql.pwn(308) : error 001: expected token: \";\", but found \"]\"D:\\samp scripting\\gamemodes\\mysql.pwn(308) : error 029: invalid expression, assumed zeroD:\\samp scripting\\gamemodes\\mysql.pwn(308) : fatal error 107: too many error messages on one line
stock Belepes(playerid){ new line[ 64 + 1 ];new SetVarThing[2][32]; // jelen esetben 2GetPlayerData(playerid, line);split( line, PVarSet, \'|\' );sscanf(line, \"p<|>s[32]d\", SetVarThing[0], SetVarThing[1]);if(mysql_num_rows() != 0){pInfo[playerid][AdminLevel] = strval(SetVarThing[2]); // itt sima változót használtam, de ha akarod lehet pvarban is}return 1;}
stock Belepes(playerid){ new line[ 64 + 1 ];new SetVarThing[2][32]; // jelen esetben 2GetPlayerData(playerid, line);split( line, PVarSet, \'|\' );sscanf(line, \"p<|>s[32]d\", SetVarThing[0], SetVarThing[1]);if(mysql_num_rows() != 0){pInfo[playerid][AdminLevel] = strval(SetVarThing[2]); // itt sima változót használtam, de ha akarod lehet pvarban is}return 1;} szükséges hozzá a \"split(..)\" is.(google a barátod)Spoiler for off - staR: Ez nem az én GetPlayerData-m?
D:\\samp scripting\\gamemodes\\mysql.pwn(308) : error 017: undefined symbol \"PVarSet\"D:\\samp scripting\\gamemodes\\mysql.pwn(312) : error 032: array index out of bounds (variable \"SetVarThing\")
stock Belepes(playerid){ new line[ 64 + 1 ];new SetVarThing[2][32]; // jelen esetben 2GetPlayerData(playerid, line);split( line, SetVarThing, \'|\' );sscanf(line, \"p<|>s[32]d\", SetVarThing[0], SetVarThing[1]);if(mysql_num_rows() != 0){pInfo[playerid][AdminLevel] = strval(SetVarThing[1]); // itt sima változót használtam, de ha akarod lehet pvarban is}return 1;}