Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define MySQL_HOST "localhost"
- #define MySQL_USER "root"
- #define MySQL_DATA "serveris"
- #define MySQL_PASS ""
- #include <a_samp>
- #include <a_mysql>
- enum _playerData
- {
- pSkin,
- pPinigai,
- pPatirtis
- };
- new
- playerData[MAX_PLAYERS][_playerData],
- bool: online[MAX_PLAYERS], /* Ar prisijunges? */
- bool: from_login[MAX_PLAYERS], /* Ar po prisijungimo ? */
- bool: from_reg[MAX_PLAYERS], /* Ar po registracijos ? */
- trylog[MAX_PLAYERS]; /* Bandymai prisijungti */
- main()
- {
- print(" -:: mysqlGM \n by Yiin\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("mysqlGM");
- mysql_debug( true );
- mysql_connect( MySQL_HOST,MySQL_USER,MySQL_DATA,MySQL_PASS );
- if( mysql_ping( ) >= 1 ) print( "\n" );
- else print("Prisijungimas prie MySQL DB ( "MySQL_DATA" ) nepavyko !");
- AddPlayerClass(0, 0, 0,0,4,0,0,0,0,0,0);
- return 1;
- }
- public OnGameModeExit()
- {
- for(new i=0; i < MAX_PLAYERS; i++)
- {
- if( IsPlayerConnected(i) && online[i] ) MySQL_Save(i);
- }
- mysql_close( );
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- new
- Query[ 200 ]
- ;
- format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s'",GetPlayerNameEx( playerid ) );
- mysql_query( Query );
- mysql_store_result( );
- if( mysql_num_rows( ) )
- {
- ShowPlayerDialog( playerid,1,DIALOG_STYLE_INPUT,"Prisijungimas","Sveikas atvykes! Prisijunk!\nSlaptažodis: ","Jungtis", "" );
- }
- else
- {
- ShowPlayerDialog( playerid,0,DIALOG_STYLE_INPUT,"Registracija","Sveikas atvykes! Užsiregistruok.\nSlaptažodis: ","Registruotis", "" );
- }
- mysql_free_result( );
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- online[playerid] = false;
- trylog[playerid] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if( online[playerid] )
- {
- MySQL_Save(playerid);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if( !online[playerid] ) Kick(playerid);
- if( from_login[playerid] )
- {
- MySQL_Load(playerid);
- from_login[playerid] = false;
- return 1;
- }
- if( from_reg[playerid] )
- {
- from_reg[playerid] = false;
- return 1;
- }
- return 1;
- }
- public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
- {
- return 1;
- }
- public OnPlayerClickTextDraw(playerid, Text:clickedid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if( dialogid == 0 ) //Registracija
- {
- if( response )
- {
- new pw[40];
- mysql_real_escape_string(inputtext, pw);
- if( !strlen( pw ) )
- {
- SendClientMessage( playerid,-1,"Laukelis negali būti tuščias." );
- ShowPlayerDialog( playerid,0,DIALOG_STYLE_INPUT,"Registracija","Sveikas atvykes! Užsiregistruok.\nSlaptažodis: ","Registruotis","Atšaukti" );
- return 1;
- }
- if( strlen( pw ) > 40 )
- {
- SendClientMessage( playerid,-1,"Slaptažodis negali būti ilgesnis nei 40simbolių." );
- ShowPlayerDialog( playerid,0,DIALOG_STYLE_INPUT,"Registracija","Sveikas atvykes! Užsiregistruok.\nSlaptažodis: ","Registruotis","Atšaukti" );
- return 1;
- }
- new
- Query[ 150 ]
- ;
- format( Query,sizeof( Query ),"INSERT INTO `zaidejai` (vardas,slaptazodis) VALUES ('%s','%s')",GetPlayerNameEx( playerid ), pw );
- mysql_query( Query );
- online[playerid] = true;
- from_reg[playerid] = true;
- SendClientMessage(playerid, 0x00FF00FF, "Sėkmingai užsiregistravai! Spausk 'Spawn' norėdamas prisijungti.");
- }
- else
- {
- Kick( playerid );
- }
- return 1;
- }
- if( dialogid == 1 ) //Prisijungimas
- {
- if( response )
- {
- new pw[40];
- mysql_real_escape_string(inputtext, pw);
- if( strlen( pw ) > 40 )
- {
- SendClientMessage( playerid,-1,"Slaptažodis negali būti ilgesnis nei 40simbolių." );
- ShowPlayerDialog( playerid,1,DIALOG_STYLE_PASSWORD,"Prisijungimas","Malonu, kad gryžai :) Prisijunk!\nSlaptažodis: ","Jungtis","Atšaukti" );
- return 1;
- }
- new
- Query[ 150 ]
- ;
- format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s' AND slaptazodis = '%s'",GetPlayerNameEx( playerid ),pw );
- mysql_query( Query );
- mysql_store_result( );
- if(! mysql_num_rows( ) )
- {
- if(trylog[playerid] > 2) { SendClientMessage(playerid, 0xFF0000FF, "Norėdamas(-a) išeiti, rašyk /q"); Kick(playerid); }
- trylog[playerid]++;
- SendClientMessage(playerid, -1, "Neteisingas slaptažodis..");
- ShowPlayerDialog( playerid,1,DIALOG_STYLE_INPUT,"Prisijungimas","Malonu, kad gryžai :) Prisijunk!\nSlaptažodis: ","Jungtis","Atšaukti" );
- }
- else
- {
- SendClientMessage( playerid,0x97FC3CFF,"Prisijungei sėkmingai!" );
- online[playerid] = true;
- from_login[playerid] = true;
- return 1;
- }
- mysql_free_result( );
- return 1;
- }
- if( !response )
- {
- Kick( playerid );
- }
- return 1;
- }
- return 1;
- }
- stock MySQL_Save(playerid)
- {
- if( online[playerid] )
- {
- new
- Float: pos[3], // 0,1,2 - pozicija;
- Query[512];
- printf("Išsaugoma. [%s]", GetPlayerNameEx(playerid));
- GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
- format( Query,sizeof( Query ),"UPDATE `zaidejai` SET x = '%f', y = '%f', z = '%f' WHERE vardas = '%s'",\
- pos[0], pos[1], pos[2], GetPlayerNameEx( playerid ));
- mysql_query( Query );
- playerData[playerid][pSkin] = GetPlayerSkin(playerid);
- playerData[playerid][pPinigai] = GetPlayerMoney(playerid);
- playerData[playerid][pPatirtis] = GetPlayerScore(playerid);
- format( Query, sizeof(Query),"UPDATE `zaidejai` SET skin = '%i', pinigai = '%i', patirtis = '%i' WHERE vardas = '%s'",\
- playerData[playerid][pSkin], playerData[playerid][pPinigai], playerData[playerid][pPatirtis], GetPlayerNameEx(playerid));
- mysql_query( Query );
- new Float:HP, Float:ARM;
- GetPlayerArmour(playerid, ARM);
- GetPlayerHealth(playerid, HP);
- format(Query, sizeof(Query), "UPDATE `zaidejai` SET hp = '%f', armour = '%f' WHERE vardas = '%s'",\
- HP,ARM, GetPlayerNameEx(playerid));
- mysql_query(Query);
- }
- return 1;
- }
- stock MySQL_Load(playerid)
- {
- new
- Float: pos[3], // 0,1,2 - pozicija;
- fetch[16],
- Query[256];
- format(Query, sizeof(Query), "SELECT * FROM `zaidejai` WHERE vardas = '%s'", GetPlayerNameEx(playerid));
- mysql_query(Query);
- mysql_store_result();
- mysql_retrieve_row();
- mysql_fetch_field_row( fetch, "x" );
- pos[0] = floatstr(fetch);
- mysql_fetch_field_row( fetch, "y" );
- pos[1] = floatstr(fetch);
- mysql_fetch_field_row( fetch, "z" );
- pos[2] = floatstr(fetch);
- SetPlayerPos( playerid, pos[0], pos[1], pos[2] + 0.75);
- mysql_fetch_field_row( fetch,"skin" ); playerData[playerid][pSkin] = strval(fetch); SetPlayerSkin(playerid, playerData[playerid][pSkin]);
- mysql_fetch_field_row( fetch,"pinigai" ); playerData[playerid][pPinigai] = strval(fetch); GivePlayerMoney(playerid, playerData[playerid][pPinigai]);
- mysql_fetch_field_row( fetch,"patirtis" ); playerData[playerid][pPatirtis] = strval(fetch); SetPlayerScore(playerid, playerData[playerid][pPatirtis]);
- new Float: HP,
- Float: ARM;
- mysql_fetch_field_row( fetch,"hp" ); HP = floatstr( fetch ); SetPlayerHealth( playerid, HP);
- mysql_fetch_field_row( fetch,"armour" ); ARM = floatstr( fetch ); SetPlayerArmour( playerid, ARM);
- mysql_free_result();
- printf("Pakrautas žaidėjas. [%s]", GetPlayerNameEx(playerid));
- return 1;
- }
- stock GetPlayerNameEx( playerid )
- {
- new
- Name[ MAX_PLAYER_NAME ]
- ;
- GetPlayerName( playerid,Name,MAX_PLAYER_NAME );
- return Name;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement