Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Updates:
- * Fixed mysql_register
- * Added mysql_login
- */
- /* Includes */
- #include <a_samp>
- #include <a_mysql>
- #include <sscanf2>
- #include <zcmd>
- native WP_Hash(buffer[], len, const str[]);
- /* Defines */
- #define SQL_HOST "localhost"
- #define SQL_USER "root"
- #define SQL_PASS ""
- #define SQL_DB "rp"
- #define DIALOG_REGISTER (1)
- #define DIALOG_LOGIN (2)
- #define revision "0.1"
- new Pipeline;
- /* Player Enums */
- enum pInfo
- {
- pID,
- pPassword[129],
- IP[16],
- pAdmin,
- pLevel,
- pMoney,
- pGender,
- pAge,
- pSkin,
- pFightingStyle,
- Float: pHealth,
- Float: pArmour,
- Float: PosX,
- Float: PosY,
- Float: PosZ,
- pKills,
- pDeaths
- };
- /* Player arrays */
- new PlayerInfo[MAX_PLAYERS][pInfo];
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Blank Filterscript by your name here");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- #endif
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, 24);
- return name;
- }
- forward mysql_register(playerid);
- public mysql_register(playerid)
- {
- SetSpawnInfo(playerid, 0, 299, 1061.0099, -1618.9415, 13.9375, 180, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- return 1;
- }
- forward mysql_login(playerid);
- public mysql_login(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- new Query[512],
- savestr[50],
- rows,
- fields;
- mysql_format(Pipeline, Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Username` = '%e'", GetName(playerid));
- mysql_tquery(Pipeline, Query, "", "");
- cache_get_data(rows, fields);
- if(rows)
- {
- cache_get_field_content(0, "Admin", savestr); PlayerInfo[playerid][pAdmin] = strval(savestr);
- cache_get_field_content(0, "Level", savestr); PlayerInfo[playerid][pLevel] = strval(savestr);
- cache_get_field_content(0, "Money", savestr); PlayerInfo[playerid][pMoney] = strval(savestr);
- cache_get_field_content(0, "Gender", savestr); PlayerInfo[playerid][pGender] = strval(savestr);
- cache_get_field_content(0, "Age", savestr); PlayerInfo[playerid][pAge] = strval(savestr);
- cache_get_field_content(0, "Skin", savestr); PlayerInfo[playerid][pSkin] = strval(savestr);
- cache_get_field_content(0, "FightStyle", savestr); PlayerInfo[playerid][pFightingStyle] = strval(savestr);
- cache_get_field_content(0, "Kills", savestr); PlayerInfo[playerid][pKills] = strval(savestr);
- cache_get_field_content(0, "Deaths", savestr); PlayerInfo[playerid][pDeaths] = strval(savestr);
- cache_get_field_content(0, "Health", savestr); PlayerInfo[playerid][pHealth] = strval(savestr);
- cache_get_field_content(0, "Armour", savestr); PlayerInfo[playerid][pArmour] = strval(savestr);
- cache_get_field_content(0, "PosX", savestr); PlayerInfo[playerid][PosX] = strval(savestr);
- cache_get_field_content(0, "PosY", savestr); PlayerInfo[playerid][PosY] = strval(savestr);
- cache_get_field_content(0, "PosZ", savestr); PlayerInfo[playerid][PosZ] = strval(savestr);
- SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][PosX], PlayerInfo[playerid][PosY], PlayerInfo[playerid][PosZ], 0, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
- GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
- SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pFightingStyle]);
- SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
- SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
- }
- }
- return 1;
- }
- public OnGameModeInit()
- {
- Pipeline = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
- mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
- SetGameModeText(revision);
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new Query[300],
- rows,
- fields;
- mysql_format(Pipeline, Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Username` = '%s'", GetName(playerid));
- mysql_tquery(Pipeline, Query, "", "");
- cache_get_data(rows, fields, Pipeline);
- if(rows) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "This account is registered, please enter the correctp password below.", "Login", "Quit");
- if(!rows) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "This account is not registered in our database\nPlease enter a password below in order to register this account.", "Register", "Quit");
- 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[])
- {
- switch(dialogid)
- {
- case DIALOG_REGISTER:
- {
- if(!response) return Kick(playerid);
- if(strlen(inputtext) < 4 || strlen(inputtext) > 129) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Error - Register", "~ Password must be within 4 and 129 characters ~\nThis account is not registered in our database\nPlease enter a password below in order to register this account.", "Register", "Quit");
- new buffer[129],
- Query[512];
- WP_Hash(buffer, sizeof(buffer), inputtext);
- PlayerInfo[playerid][pID] = cache_insert_id();
- mysql_format(Pipeline, Query, sizeof(Query), "INSERT INTO `accounts` (`Username`, `Password`) VALUES ('%e', '%e')", GetName(playerid), buffer);
- mysql_tquery(Pipeline, Query, "", "");
- mysql_register(playerid);
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement