Jump to content
  • 0

Problema admin mysql


WiDuAlK

Question

Problemă întâlnită (descriere): Salutare , miam facut un register/ login mysql , si iam facut adminul , dar are o probelama , pot folosi comenzile , chiar daca nu am admin. Am pus si o comanda de /makeadmin , folosindu-ma de rcon , iar ea nu are problema(nu despre asta e vorba).Imi dau admin level 0 cu rconul , iar comenzile nu imi mai merg , intru din nou pe server si pot folosi comenzile de admin.

L-am refacut , dar din nou aceeasi problema , din aceasta cauza am venit la voi cei de pe sa-mp.ro sa va cer ajutorul.Nu imi sta in fire , dar vas ruga si ma ajutati sa imi fac Admin pe mysql sistem , adica sa mil construiti voi , daca va pricepeti , iar eu voi vedea ce am gresit si ce trebuie remediat.(NU IMI STA IN FIRE SA CER MOTAMO , dar alta solutie nu am gasit  :|) 
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul:[pawn]// *** Include's

#include < a_samp >
#include < a_mysql >
#include < sscanf2 >
#include < streamer >

// *** Define's

// Mysql Defines

#define mysql_host "localhost"
#define mysql_username "root"
#define mysql_database "flash_db"
#define mysql_password ""

//---------------------------------

#define ShowDialog ShowPlayerDialog
#define SCM SendClientMessage

// Colors

#define NOS1 "{6EF83C}"
#define NOS2 "{F81414}"
#define NOS3 "{6EF83C}"
#define C_GREY 0xAFAFAFAA
//----------------------------------------

#define Function::%0(%1)
forward%0(%1 ) ;
public%0(%1)

stock bool:False = false;

#define SCMF(%0,%1,%2,%3)
do{
gString[ 0 ] = EOS ;
format( gString, 256, (%2), %3 ) ;
SendClientMessage( (%0),(%1), gString ) ;
}
while( False )

// *** New's & Enum's

enum
{
REGISTER_DIALOG ,
AGE_DIALOG ,
SEX_DIALOG ,
SPAWN_DIALOG ,
EMAIL_DIALOG ,
LOGIN_DIALOG
}

enum PlayerData
{
ID ,
Money ,
Age ,
Sex ,
Origine ,
FLogin
}

new aHandle = -1 ,
P_DATA[ MAX_PLAYERS ][ PlayerData ] ,
bool:Logged[ MAX_PLAYERS ] ,
gQuery[ 2000 ] ,
gString[ 2000 ] ;

main()
{
print(" BlackFlash") ;

}

public OnGameModeInit()
{
// Mysql conection

aHandle = mysql_connect( mysql_host , mysql_username , mysql_database , mysql_password ) ;

if ( aHandle && mysql_errno( aHandle ) == 0 ) printf( "Conexiunea la baza de date `%s` a avut succes !" , mysql_database ) ;
else printf( "Conexiunea la baza de date `%s` nu a avut succes ! " , mysql_database ) ,
mysql_reconnect( aHandle ) ;

mysql_log( LOG_ALL , LOG_TYPE_HTML ) ;

SetTimer( "SavePlayerData", 900000, true ) ;// odata la 15 minute se salveaza conturile

//------------------------------------------------------------------------------

SetGameModeText( "Romania:Stunt|Drift|Race|Fun|Freerom" ) ;
AddPlayerClass( 0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0 ) ;
return ( true ) ;
}

public OnGameModeExit()
{
mysql_close( aHandle ) ;
return ( true ) ;
}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return ( true ) ;
}

public OnPlayerConnect(playerid)
{
gQuery[ 0 ] = EOS ;
mysql_format( aHandle, gQuery, sizeof( gQuery ) , "SELECT `Name` FROM `Users` WHERE `Name`='%e' LIMIT 1;" , GetName( playerid ) ) ;
mysql_tquery( aHandle, gQuery, "AccountLoad", "d", playerid ) ;
return ( true ) ;
}

public OnPlayerDisconnect(playerid, reason)
{
SavePlayerData( playerid ) ;
return ( true ) ;
}

public OnPlayerSpawn(playerid)
{
switch( P_DATA[ playerid ][ Sex ] )
{
case 0: SetPlayerSkin( playerid, 250 ) ;
case 1: SetPlayerSkin( playerid, 193 ) ;
}
switch( P_DATA[ playerid ][ Origine ] )
{
case 0: SetPlayerPos(playerid, 1742.9990,-1862.0558,13.5768);
case 1: SetPlayerPos(playerid, -2424.7073,337.2923,37.0299);
}
}

public OnPlayerDeath(playerid, killerid, reason)
{
return ( true ) ;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case REGISTER_DIALOG:
{
gString[ 0 ] = EOS ,
gQuery[ 0 ] = EOS ;

format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn
{FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ;

if ( !response )
return Kick( playerid ) ;

new pPassword[ 45 ] ;

if ( sscanf( inputtext, "s[45]", pPassword ) )
return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ;

if ( strlen( pPassword ) < 6 || strlen( pPassword ) > 45 )
return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ;

mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`Money`) VALUES('%e','%e',0)", GetName( playerid ), pPassword ) ;
mysql_tquery( aHandle, gQuery, "", "" ) ;
ShowDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ;

}
case AGE_DIALOG:
{
new Varsta[ 55 ];

if ( sscanf( inputtext, "s[55]", Varsta ) )
return ShowPlayerDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ;

if ( strlen( Varsta ) < 1 || strlen( Varsta ) > 2 )
return ShowPlayerDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ;

if ( !IsNumeric( inputtext ) )
return ShowPlayerDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ;

P_DATA[ playerid ][ Age ] = strval( inputtext );

format( gQuery, sizeof gQuery, "UPDATE `Users` SET `Age`='%d' WHERE `Name`='%s'", strval( inputtext ), GetName( playerid ) ) ;
mysql_tquery( aHandle, gQuery, "", "" ) ;

SCMF( playerid, -1, "Deci ai %d ani .", strval( inputtext ) ) ;

SetTimerEx( "Spawn", 1, false, "i", playerid ) ;

mysql_tquery( aHandle, "SELECT * FROM `Users`", "OnPlayerRegister" , "d" , playerid ) ;
ShowDialog( playerid, SEX_DIALOG, DIALOG_STYLE_LIST, "{FFF1AF}4. Sex:", "MasculinnFeminin", "(Select)", "" ) ;
}
case SEX_DIALOG:
{
if(!response)
return Kick(playerid);

switch( listitem )
{
case 0:
{

P_DATA[ playerid ][ Sex ] = 0 ;
SCM(playerid,-1,"Bun , deci esti baiat!");
ShowPlayerDialog(playerid, SPAWN_DIALOG, DIALOG_STYLE_INPUT, "Unde vrei sa te spawnezi?", "LosSantosnSan Fierro", "OK", "Cancel");
}
case 1:
{
P_DATA[ playerid ][ Sex ] = 1 ;
SCM(playerid,-1,"Bun , deci esti fata!");
ShowPlayerDialog(playerid, SPAWN_DIALOG, DIALOG_STYLE_INPUT, "Unde vrei sa te spawnezi?", "LosSantosnSan Fierro", "OK", "Cancel");
}
}
}
case SPAWN_DIALOG:
{
if(!response)
return Kick(playerid);

switch( listitem )
{
case 0:
{

P_DATA[ playerid ][ Origine ] = 0 ;
ShowPlayerDialog(playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "Inregistrare", "Ce email ai?", "OK", "Cancel");
}
case 1:
{
P_DATA[ playerid ][ Origine ] = 1 ;
ShowPlayerDialog(playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "Inregistrare", "Ce email ai?", "OK", "Cancel");
}
}
}
case LOGIN_DIALOG:
{
if ( !response )
return Kick( playerid ) ;

mysql_format( aHandle, gQuery, sizeof( gQuery ), "SELECT * FROM `Users` WHERE `Name`='%s' AND `Password`='%e'", GetName( playerid ), inputtext ) ;
mysql_tquery( aHandle, gQuery, "Load_Player_Data", "d", playerid ) ;
}
}
return ( true ) ;
}

// Mysql Function's

Function:: AccountLoad( playerid )
{
gString[ 0 ] = EOS ;

new Rows, Fields;
cache_get_data( Rows, Fields, aHandle ) ;

if ( Rows )
{
format( gString, sizeof( gString ), "{FFFFFF}Bun venit inapoi {F3FF02}%s!nn
{FFFFFF}Te rugam sa te {F81414}autentifici {FFFFFF}cu parola cu care te-ai {F81414}inregistrat{FFFFFF}!n{F81414}Autentificarea {FFFFFF}este necesara pentru ca sa iti primesti datele in joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...)." , GetName( playerid ) ) ;

ShowDialog( playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, ""NOS1"N"NOS2"o"NOS3"S:{C3C3C3}Logare", gString, "(Login)", "(Cancel)" ) ;
}
else
{
format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn
{FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ;

ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ;
}

return ( true ) ;
}

Function:: Load_Player_Data( playerid )
{
gString[ 0 ] = EOS ;

new Rows, Fields;

cache_get_data( Rows, Fields, aHandle ) ;

if ( !Rows )
{
P_DATA[ playerid ][ FLogin ] ++;

if ( P_DATA[ playerid ][ FLogin ] == 3 )
{
P_DATA[ playerid ][ FLogin ] = 0;
format( gString, sizeof gString, "Account: %s a primit kick, Motiv: Parola gresita de 3 ori !", GetName( playerid ) ) ;
SendClientMessageToAll( C_GREY, gString ) ;
return Kick( playerid ) ;
}

format( gString, sizeof gString, "{F81414}Ai gresit parola !n{FFAF00}Incercari ramase: {F81414}%d/3n
{FFFFFF}Te rugam sa te autentifici cu parola cu care te-ai inregistrat !n", P_DATA[ playerid ][ FLogin ] ) ;

ShowDialog( playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "{F81414}Parola gresita!", gString, "(Login)", "(Kick)" ) ;
}
else
{
mysql_format( aHandle, gQuery, sizeof( gQuery ), "SELECT * FROM `Users` WHERE `Name`='%e'", GetName( playerid ) ) ;
mysql_tquery( aHandle, gQuery, "OnPlayerLogin", "d", playerid ) ;
}
return ( true ) ;
}

Function:: OnPlayerLogin( playerid )
{
gString[ 0 ] = EOS ;
gQuery[ 0 ] = EOS ;

P_DATA[ playerid ][ ID ] = cache_get_field_content_int( 0, "ID", aHandle ) ;
P_DATA[ playerid ][ Money ] = cache_get_field_content_int( 0, "Money", aHandle ) ;

ResetPlayerMoney( playerid ) ;
GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Money", aHandle ) ) ;

SCM( playerid, -1, ""NOS2"Te-ai logat cu succes!" ) ;

TogglePlayerSpectating( playerid, 0 ) ;

Logged[ playerid ] = true;

return ( true ) ;
}

Function:: SavePlayerData( playerid )
{
if ( Logged[ playerid ] == false )
return Kick( playerid ) ;

gQuery[ 0 ] = EOS;
P_DATA[ playerid ][ Money ] = GetPlayerMoney( playerid ) ;

mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET `Money`='%d' WHERE `Name`='%s'",
P_DATA[ playerid ][ Money ] ,
GetName( playerid ) ) ;
mysql_tquery( aHandle, gQuery, "", "" ) ;

return ( true ) ;
}

stock GetName( playerid )
{
new WiDuAlKBarosanu[ 24 ];
GetPlayerName( playerid, WiDuAlKBarosanu, sizeof( WiDuAlKBarosanu ) ) ;
return ( WiDuAlKBarosanu ) ;
}
IsNumeric( text[ ] )
{
for( new i = 0, r = strlen( text ) ; i < r; i++ )
{
if ( text[ i ] > '9' || text[ i ] < '0')
return ( 0 ) ;
}
return ( 1 ) ;
}
[/pawn]
Imagini / Video (optional): -
Aţi încercat să rezolvaţi singur?:Cu siguranta

 

Mie putina rusine , ca am venit ca un milog , dar alta solutie nu am gasit , dupa ce am incercat sa refac sistemul si nu am reusit , mam gandit sa va dau doar register/loginul , iar voi imi veti putea spune exact ce trebuie pus , fara a va incurca(asa cum am facut eu)...

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

La OnPlayerLogin pune sa ia si admin-ul din baza de date.

[pawn]P_DATA[ playerid ][ Admin] = cache_get_field_content_int( 0, "Admin", aHandle ) ;[/pawn]

 

Si la OnPlayerConnect reseteaza variabilele! Adica pune

[pawn]P_DATA[playerid ][Level] = 1;
P_DATA[playerid ][Admin] = 0;[/pawn]

etc.

Link to comment
Share on other sites

ok , l-am refacut si vad ca a functionat , oricum lam mai detaliat la admin , si acum merge DAR  special  vreau sa stiu parerea ta WopsS , daca esti deacord cu ce am facut , sau ai cv de imbunatatit.

[pawn]enum PlayerData
{
ID ,
Money ,
Age ,
Sex ,
AdminLevel,
Origine ,
FLogin
}



[/pawn]

[pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case REGISTER_DIALOG:
{
gString[ 0 ] = EOS ,
gQuery[ 0 ] = EOS ;

format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn
{FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ;

if ( !response )
return Kick( playerid ) ;

new pPassword[ 45 ] ;

if ( sscanf( inputtext, "s[45]", pPassword ) )
return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ;

if ( strlen( pPassword ) < 6 || strlen( pPassword ) > 45 )
return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ;

mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`AdminLevel`,`Money`) VALUES('%e','%e','%d',500)", GetName( playerid ), pPassword, P_DATA[playerid ][AdminLevel],
P_DATA[playerid ][Money]) ;
mysql_tquery( aHandle, gQuery, "", "" ) ;
ShowDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ;

}[/pawn]

 

Aici as vrea sa remarci modul in care am facut mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`AdminLevel`,`Money`) VALUES('%e','%e','%d',500)", GetName( playerid ), pPassword, P_DATA[playerid ][AdminLevel],

P_DATA[playerid ][Money]) ; 

si vrau sa vad daca esti de acord cu mine...

 

si as mai vrea sa te uiti la functiile:

[pawn]Function:: OnPlayerLogin( playerid )
{
gString[ 0 ] = EOS ;
gQuery[ 0 ] = EOS ;

P_DATA[ playerid ][ ID ] = cache_get_field_content_int( 0, "ID", aHandle ) ;
P_DATA[ playerid ][ Money ] = cache_get_field_content_int( 0, "Money", aHandle ) ;
P_DATA[ playerid ][ AdminLevel ] = cache_get_field_content_int( 0, "AdminLevel", aHandle ) ;

ResetPlayerMoney( playerid ) ;
GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Money", aHandle ) ) ;

SCM( playerid, -1, ""NOS2"Te-ai logat cu succes!" ) ;

TogglePlayerSpectating( playerid, 0 ) ;

Logged[ playerid ] = true;

return ( true ) ;
}

Function:: SavePlayerData( playerid )
{
if ( Logged[ playerid ] == false )
return Kick( playerid ) ;

gQuery[ 0 ] = EOS;
P_DATA[ playerid ][ Money ] = GetPlayerMoney( playerid ) ;

mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d') WHERE `Name`='%s'",
P_DATA[ playerid ][ Money ] ,
P_DATA[ playerid ][ AdminLevel ] ,
GetName( playerid ) ) ;
mysql_tquery( aHandle, gQuery, "", "" ) ;

return ( true ) ;
}
[/pawn]

 

aici as vrea sa subliniez

mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d')

Link to comment
Share on other sites

La MySQL te-ai folosit bine de "%e" pentru a prevenii "escape string".

 

Aici [pawn]GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Money", aHandle ) ) ;[/pawn] foloseste [pawn]GivePlayerMoney( playerid, P_DATA[ playerid ][ Money ]) ; [/pawn]

 

Pune si aici UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d') WHERE `Name`='%s', `Name`='%e', doar de siguranta.

 

Si daca poti sa faci sa se actualizeze datele atunci cand e nevoie, nu cand chemi tu functia SavePlayerData. De exemplu, jucatorul X a cumparat o masina, atunci sa ii actualizeze si banii in baza de date.

 

In rest imi place cum ai lucrat.

Link to comment
Share on other sites

ok , am folosit un mini script a unui prieten , dar ca sa il folosesc am urmatit tutoriale , deci lui ii atrbui creditele de '%e',

nam inteles treaba cu  UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d') WHERE `Name`='%s'`Name`='%e',  , unde vrei sa pun?

Si chestia asta cu actualizatul , se actualizeaza deja , am verificat cand pun banii in localhost tii da , daram creat o comadnda la panarama , /viata care iti da viata si iti ia 1000 dolari , si vad ca functioneaza , iti ia bani , dar in localhost/phpmyadmin iti apare aceeasi bani ,  , si nu se scad , iar cand intri din nou , iti da banii , pe care iai avut fara a fi opriti din cumpararea de viata.

Apropo , eu nu sunt "scripter bun" , si unul incepator spre mediu , care vrea sa inveta din pasiune , adica nu is chiar praf , adica mai stiu si eu cv , dar sti cum se spune "Omu cat traieste invata " si daca is pasionat de asta cu mult mai bine.
 

 

Acum , am facut un dialog de register , uitandu-ma in alt GM , si actualizandu-l cu datele scriptului , si vad ca nu imi ia   in localhost/phpmyadmin...

[pawn]case EMAIL_DIALOG:
{
gQuery[ 0 ] = EOS;
gString[ 0 ] = EOS ;

new pEmail[ 55 ] ;

if ( !response )
return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ;

if ( sscanf( inputtext, "s[55]", pEmail ) )
return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ;

if ( strlen( pEmail ) < 6 || strlen( pEmail ) > 55 )
return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ;

if ( strfind( pEmail, "@", false ) == -1 || strfind( pEmail, ".", false ) == -1 )
return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ;

new Security[ 55 ];

mysql_escape_string( pEmail, Security ) ;
format( gQuery, sizeof gQuery, "UPDATE `Users` SET `Mail`='%s' WHERE `Name`='%s'", Security, GetName( playerid ) ) ;
mysql_tquery( aHandle, "SELECT * FROM `Users`", "OnPlayerRegister" , "s" , playerid ) ;

SendClientMessage( playerid, -1, "Mail-ul tau a fost inserat in baza de date !" ) ;

format( PlayerInfo[ playerid ][ Mail ], 55, "%s", inputtext );
SpawnPlayer(playerid);
ShowPlayerDialog( playerid, D_NONE, DIALOG_STYLE_MSGBOX, "Felicitari", "Te-ai inregistrat!", "(Select)", "" ) ;
}

 

Function:: OnPlayerLogin( playerid )
{
gString[ 0 ] = EOS ;
gQuery[ 0 ] = EOS ;
 
PlayerInfo[ playerid ][ ID ] = cache_get_field_content_int( 0, "ID", aHandle ) ;
PlayerInfo[ playerid ][ Money ] = cache_get_field_content_int( 0, "Money", aHandle ) ;
PlayerInfo[ playerid ][ AdminLevel ] = cache_get_field_content_int( 0, "AdminLevel", aHandle ) ;
cache_get_field_content( 0, "Mail", PlayerInfo[ playerid ][ Mail ], aHandle, 55 ) ;
 
ResetPlayerMoney( playerid ) ;
GivePlayerMoney( playerid, PlayerInfo[ playerid ][ Money ]) ; 
 
 
SCM( playerid, -1, ""NOS2"Te-ai logat cu succes!" ) ;
SpawnPlayer(playerid);
 
TogglePlayerSpectating( playerid, 0 ) ;
 
Logged[ playerid ] = true;
 
return ( true ) ;
}
 
Function:: SavePlayerData( playerid )
{
if ( Logged[ playerid ] == false )
return Kick( playerid ) ;
 
gQuery[ 0 ] = EOS;
PlayerInfo[ playerid ][ Money ] =  GetPlayerMoney( playerid ) ;
 
mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d', `Mail`='%s') WHERE `Name`='%s'",
                               PlayerInfo[ playerid ][ Money ] ,
PlayerInfo[ playerid ][ AdminLevel ] ,
PlayerInfo[ playerid ][ Mail ] ,
                               GetName( playerid ) ) ;
mysql_tquery( aHandle, gQuery, "", "" ) ;
 
return ( true ) ;
}
 
 case REGISTER_DIALOG:
   {
       gString[ 0 ]  = EOS ,
gQuery[ 0 ] = EOS ;
 
format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn
        {FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ;
 
if ( !response )
       return Kick( playerid ) ;
 
new pPassword[ 45 ] ;
 
       if ( sscanf( inputtext, "s[45]", pPassword ) )
return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ;
 
if ( strlen( pPassword ) < 6 || strlen( pPassword ) > 45 )
return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ;
 
mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`AdminLevel`,`Money`, `Mail`) VALUES('%e','%e','%d',500)", GetName( playerid ), pPassword, PlayerInfo[playerid ][AdminLevel],
PlayerInfo[playerid ][Money], PlayerInfo[playerid ][Mail] ) ;
mysql_tquery( aHandle, gQuery, "", "" ) ;
ShowDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ;
 
   }

[/pawn]

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.