Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- #include <sscanf2>
- #include <izcmd>
- #define MYSQL_HOST "localhost"
- #define MYSQL_USER "root"
- #define MYSQL_DATABASE "baza"
- #define MYSQL_PASSWORD ""
- #define SPAWN_X 10.0
- #define SPAWN_Y 10.0
- #define SPAWN_Z 5.0
- #define SPAWN_A 0.0
- forward OnAccountCheck(playerid);
- forward OnAccountLoad(playerid);
- forward OnAccountRegister(playerid);
- enum
- {
- LoginDialog,
- RegisterDialog
- };
- new
- mysql;
- native WP_Hash(buffer[], len, const str[]);
- enum PlayerData
- {
- ID,
- Name[MAX_PLAYER_NAME],
- Password[129],
- IP[16],
- pAdmin,
- pVIP,
- pMoney,
- pScore
- };
- new Player[MAX_PLAYERS][PlayerData];
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- mysql_log(LOG_ALL);
- mysql = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
- if(mysql_errno() != 0)
- {
- printf("[MySQL] The connection has failed.");
- }
- else
- {
- printf("[MySQL] The connection was successful.");
- }
- return true;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- 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 1;
- }
- public OnPlayerConnect(playerid)
- {
- TogglePlayerSpectating(playerid, true);
- new
- query[512],
- playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- mysql_format(mysql, query, sizeof(query), "SELECT `Password`, `ID` FROM `accounts` WHERE `Name` = '%e' LIMIT 1", playername);
- mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
- return true;
- }
- public OnAccountCheck(playerid)
- {
- new
- rows,
- fields;
- cache_get_data(rows, fields, mysql);
- if(rows)
- {
- cache_get_field_content(0, "Password", Player[playerid][Password], mysql, 129);
- Player[playerid][ID] = cache_get_field_content_int(0, "ID");
- ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT, "Login", "Welcome player!\nYour account has been found in our database. Please fill in your password:", "Login", "Quit");
- }
- else
- {
- ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_INPUT, "Register", "Welcome player!\nYour account has not been registered yet. Please fill in your desired password:", "Register", "Quit");
- }
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new
- query[512];
- mysql_format(mysql, query, sizeof(query), "UPDATE `accounts` SET `pMoney` = '%d', 'pScore' = '%d' WHERE `ID` = '%d'", GetPlayerMoney(playerid),GetPlayerScore(playerid),Player[playerid][ID]);
- mysql_tquery(mysql, query, "", "");
- return true;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- 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 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[])
- {
- switch(dialogid)
- {
- case LoginDialog:
- {
- if(!response) Kick(playerid);
- new
- hashpass[129],
- query[512],
- playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- WP_Hash(hashpass, sizeof(hashpass), inputtext);
- if(!strcmp(hashpass, Player[playerid][Password]))
- {
- mysql_format(mysql, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%e' LIMIT 1", playername);
- mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
- }
- else
- {
- SendClientMessage(playerid, -1, "You have specified an incorrect password!");
- ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT, "Login", "Welcome player!\nYour account has been found in our database. Please fill in your password:", "Login", "Quit");
- }
- }
- case RegisterDialog:
- {
- if(!response) return Kick(playerid);
- if(strlen(inputtext) < 5)
- {
- SendClientMessage(playerid, -1, "Your password must at least contain more than 4 characters.");
- return ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_INPUT, "Register", "Welcome player!\nYour account has not been registered yet. Please fill in your desired password:", "Register", "Quit");
- }
- new
- query[512],
- playername[MAX_PLAYER_NAME],
- playerip[16];
- GetPlayerName(playerid, playername, sizeof(playername));
- GetPlayerIp(playerid, playerip, sizeof(playerip));
- WP_Hash(Player[playerid][Password], 129, inputtext);
- mysql_format(mysql, query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `pAdmin`, `pVIP`, `pMoney`, 'pScore') VALUES ('%e', '%e', '%e', 0, 0, 0, 0)", playername, Player[playerid][Password], playerip);
- mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
- }
- }
- return false; // For filterscripts..
- }
- public OnAccountLoad(playerid)
- {
- Player[playerid][pAdmin] = cache_get_field_content_int(0, "pAdmin");
- Player[playerid][pVIP] = cache_get_field_content_int(0, "pVIP");
- Player[playerid][pMoney] = cache_get_field_content_int(0, "pMoney");
- Player[playerid][pScore] = cache_get_field_content_int(0, "pScore");
- TogglePlayerSpectating(playerid, false);
- GivePlayerMoney(playerid, Player[playerid][pMoney]);
- SetPlayerScore(playerid, Player[playerid][pScore]);
- SetSpawnInfo(playerid, 0, 23, 10.0, 10.0, 5.0, 0.0, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- SendClientMessage(playerid, -1, "You have successfully logged in.");
- return true;
- }
- public OnAccountRegister(playerid)
- {
- Player[playerid][ID] = cache_insert_id();
- printf("[Registration] New account registered. Database ID: [%d]", Player[playerid][ID]);
- TogglePlayerSpectating(playerid, false);
- SetSpawnInfo(playerid, 0, 23, 10.0, 10.0, 5.0, 0.0, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- return true;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement