Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- #include <zcmd>
- #include <sscanf2>
- /* MySQL Connection */
- #define MySQL_Hostname "localhost" //This will be your mysql host. Default for xampp is localhost
- #define MySQL_Username "root" //This will be your mysql username. Default for xampp is root
- #define MySQL_Database "genx" //This is your database name. Remember we have created a database called server before.
- #define MySQL_Password "" //This is your mysql password. In xampp, the password didn't set. So leave it empty.
- /* Dialog Definition */
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- /* Colour Definition */
- #define COLOR_WHITE 0xFFFFFFAA
- #define WHITE "{FFFFAA}"
- #define COLOR_GREY 0xAFAFAFAA
- #define GREY "{AFAFAA}"
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define LIGHTBLUE "{CCFFAA}"
- #define COLOR_RED 0xAA3333AA
- #define RED "{FF0000}"
- /* Starter Accounts */
- #define starterCash 400
- /* End of Definitions */
- static dbHandle;
- native WP_Hash(buffer[], len, const str[]); //Whirlpool
- enum PlayerData
- {
- ID,
- Name,
- Password,
- Cash
- }
- new PlayerInfo[MAX_PLAYERS][PlayerData];
- main()
- {
- }
- public OnGameModeInit()
- {
- // Don't use these lines if it's a filterscript
- SetGameModeText("GenX:RP");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
- dbHandle = mysql_connect(MySQL_Hostname, MySQL_Username, MySQL_Database, MySQL_Password);
- if(mysql_errno(dbHandle) != 0)
- {
- printf("[-- Could not establish a MySQL connection! --]");
- }
- else
- {
- printf("[-- Established a successful MySQL connection! --]");
- }
- return 1;
- }
- public OnGameModeExit()
- {
- mysql_close(dbHandle);
- 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)
- {
- if(dbHandle)
- {
- new query[128], playerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playerName, sizeof(playerName));
- mysql_format(dbHandle, query, sizeof(query), "SELECT `ID`, `Name` FROM `players` WHERE `Name` = '%s' LIMIT 1", playerName);
- mysql_tquery(dbHandle, query, "CheckAccount", "i", playerid);
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "Error"WHITE": Could not establish a connection to our server.");
- Kick(playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- 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 OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/mycommand", cmdtext, true, 10) == 0)
- {
- // Do something here
- return 1;
- }
- return 0;
- }
- 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[])
- {
- if (dialogid == DIALOG_REGISTER)
- {
- if (response)
- {
- if(strlen(inputtext) < 11 || strlen(inputtext) > 29 )
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", ""RED"Your password must be between 11 and 29 characters long.\n"WHITE"Choose and enter a password:", "Register", "Quit");
- }
- else
- {
- new query[300];
- new playerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playerName, sizeof(playerName));
- WP_Hash(PlayerInfo[playerid][Password], 129, inputtext);
- mysql_format(dbHandle, query, sizeof(query), "INSERT INTO `players` (`Name`, `Password`, `Cash`) VALUES ('%s', '%s', %d)", playerName, PlayerInfo[playerid][Password], starterCash);
- mysql_tquery(dbHandle, query, "RegisterAccount", "i", playerid);
- mysql_format(dbHandle, query, sizeof(query), "SELECT `ID`, `Name`, `Password`, `Cash` FROM `players` WHERE `Name` = '%s'", playerName);
- mysql_tquery(dbHandle, query, "RegisterAccount", "i", playerid);
- }
- }
- else
- {
- Kick(playerid);
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- forward CheckAccount(playerid);
- public CheckAccount(playerid)
- {
- new rows, fields;
- cache_get_data(rows, fields, dbHandle);
- if(rows)
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Welcome back!\nYour account has been found in our database. Please fill in your password:", "Login", "Quit");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "Welcome player!\nYour account has not been registered. Choose and enter a password:", "Register", "Quit");
- }
- return 1;
- }
- forward RegisterAccount(playerid);
- public RegisterAccount(playerid)
- {
- new string[128];
- PlayerInfo[playerid][ID] = cache_get_field_content_int(1, "ID");
- cache_get_field_content(2, "Name", PlayerInfo[playerid][Name], dbHandle, 129);
- cache_get_field_content(3, "Password", PlayerInfo[playerid][Password], dbHandle, 129);
- PlayerInfo[playerid][Cash] = cache_get_field_content_int(4, "Cash");
- format(string, sizeof(string), "ID: %d, Name: '%s', Password: '%s', Cash: %d", PlayerInfo[playerid][ID], PlayerInfo[playerid][Name], PlayerInfo[playerid][Password], PlayerInfo[playerid][Cash]);
- SendClientMessage(playerid, -1, string);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement