Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > DIALOGS
- #define DIALOG_REGISTER (0)
- #define DIALOG_LOGIN (1)
- #define DIALOG_SEX (2)
- #define DIALOG_BCITY (3)
- #define DIALOG_BDAY (4)
- #define DIALOG_BMONTH (5)
- #define DIALOG_BYEAR (6)
- #define DIALOG_TUTORIAL (7)
- #define DIALOG_CHECK1 (8)
- #define DIALOG_CHECK2 (9)
- #define DIALOG_CHECK3 (10)
- #define DIALOG_SPAWN (11)
- > OnPlayerConnect
- public OnPlayerConnect(playerid)
- {
- ResetPlayer(playerid);
- SetPlayerCamera(playerid);
- new pCheck[248];
- mysql_format(sqlDB, pCheck, sizeof(pCheck), "SELECT * FROM accounts WHERE acc_name = '%e'", ReturnName(playerid));
- mysql_tquery(sqlDB, pCheck, "LoggingIn", "i", playerid);
- return 1;
- }
- > OnPlayerRequestClass * I suspect it's what spawns me
- public OnPlayerRequestClass(playerid, classid)
- {
- if(PlayerInfo[playerid][LoggedIn] == false)
- {
- SetSpawnInfo(playerid, 0, 0, 563.3157, 3315.2559, 0, 269.15, 0, 0, 0, 0, 0, 0);
- TogglePlayerSpectating(playerid, true);
- TogglePlayerSpectating(playerid, false);
- SetPlayerCamera(playerid);
- return 1;
- }
- SetSpawnInfo(playerid, 0, 1, 2098.5088,1159.1156,11.6484, 65.2418, 0, 0, 0, 0, 0, 0 ); // this line gets called somehow?
- SpawnPlayer(playerid);
- return 0;
- }
- > "LoggingIn" Function which is called from OnPlayerConnect:
- function:LoggingIn(playerid) // Gets called when a player connects basically instead of OnPlayerConnect
- {
- new rows, fields;
- cache_get_data(rows, fields, sqlDB);
- if(!rows)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""COL_ASOCIETY"aSociety Gaming Roleplay", pDialog, "Let's go!", "Quit");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""COL_ASOCIETY"aSociety Gaming Roleplay", pLoginDialog, "Login", "Quit");
- }
- return 1;
- }
- > Registration DIALOG
- case DIALOG_REGISTER:
- {
- if(!response)
- return Kick(playerid);
- if(strlen(inputtext) > 20 || strlen(inputtext) < 4)
- return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""COL_ASOCIETY"aSociety Gaming Roleplay", ""COL_WHITE"> The password you select must contain at least "COL_ERROR"4 characters"COL_WHITE", and be shorter than "COL_SERVER"20 characters"COL_WHITE".", "Register!", "Quit");
- new regInfo[256];
- mysql_format(sqlDB, regInfo, sizeof(regInfo), "INSERT INTO accounts (acc_name, acc_password, register_ip, register_date) VALUES ('%e', sha1('%e'), '%e', '%e')", ReturnName(playerid), inputtext, ReturnIP(playerid), ReturnDate());
- mysql_tquery(sqlDB, regInfo, "OnPlayerRegister", "i", playerid);
- }
- OnPlayerRegister Function which is called from the dialog:
- function:OnPlayerRegister(playerid)
- {
- PlayerInfo[playerid][LoggedIn] = true;
- PlayerInfo[playerid][pDBID] = cache_insert_id();
- format(PlayerInfo[playerid][pName], 32, "%s", ReturnName(playerid));
- CLS(playerid);
- SCM(playerid, COLOR_SERVER, "** [Server] > "COL_WHITE"Awsome! Now after you have chosen your "COL_SERVER"password"COL_WHITE" we have some minor tweaks to do. "COL_SERVER"**");
- SCM(playerid, COLOR_SERVER, "** [Server] > "COL_WHITE"Don't worry, it won't take too long. "COL_SERVER"**");
- ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, ""COL_REGISTER"[Account-Setup] > Gender Definition", ""COL_WHITE"I am a male!\nI am a female!", "Select", "Quit");
- return 1;
- }
- This prompts you to choose your CHARACTER SETUP, and then to the TUTORIAL and then this is executed on the last DIALOG of the tutorial:
- > Spawning the player
- case DIALOG_SPAWN:
- {
- if(!response)
- return Kick(playerid);
- SetSpawnInfo(playerid, 0, 230, 937.7089,-1717.3564,13.5469,95.4095, 0, 0, 0, 0, 0, 0);
- SetPlayerPos(playerid, 937.7089,-1717.3564,13.5469);
- TogglePlayerSpectating(playerid, false);
- TogglePlayerControllable(playerid, true);
- SetPlayerFacingAngle(playerid, 90);
- SetCameraBehindPlayer(playerid);
- GivePlayerMoney(playerid, 7500);
- PlayerInfo[playerid][pCash] = 0;
- PlayerInfo[playerid][pCash] += 7500;
- new pCashSQL[256];
- mysql_format(sqlDB, pCashSQL, sizeof(pCashSQL), "UPDATE accounts SET player_cash = '%i' WHERE DBID = '%i'", PlayerInfo[playerid][pCash], PlayerInfo[playerid][pDBID]);
- mysql_tquery(sqlDB, pCashSQL);
- SetPlayerSkin(playerid, 230);
- PlayerInfo[playerid][pSkin] = 230;
- new pSkinSQL[256];
- mysql_format(sqlDB, pSkinSQL, sizeof(pSkinSQL), "UPDATE accounts SET player_skin = '%i' WHERE DBID = '%i'", PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pDBID]);
- mysql_tquery(sqlDB, pSkinSQL);
- SetPlayerHealth(playerid, 100);
- PlayerInfo[playerid][pHealth] = 100;
- new pHealthSQL[256];
- mysql_format(sqlDB, pHealthSQL, sizeof(pHealthSQL), "UPDATE accounts SET player_health = '%i' WHERE DBID = '%i'", PlayerInfo[playerid][pHealth], PlayerInfo[playerid][pDBID]);
- mysql_tquery(sqlDB, pHealthSQL);
- SetPlayerArmour(playerid, 50);
- PlayerInfo[playerid][pArmour] = 50;
- new pArmourSQL[256];
- mysql_format(sqlDB, pArmourSQL, sizeof(pArmourSQL), "UPDATE accounts SET player_armour = '%i' WHERE DBID = '%i'", PlayerInfo[playerid][pArmour], PlayerInfo[playerid][pDBID]);
- mysql_tquery(sqlDB, pArmourSQL);
- SetPlayerVirtualWorld(playerid, 0);
- PlayerInfo[playerid][pVW] = 0;
- new pVWSQL[256];
- mysql_format(sqlDB, pVWSQL, sizeof(pVWSQL), "UPDATE accounts SET player_vw = '%i' WHERE DBID = '%i'", PlayerInfo[playerid][pVW], PlayerInfo[playerid][pDBID]);
- mysql_tquery(sqlDB, pVWSQL);
- CLS(playerid);
- SCMex(playerid, COLOR_ASOCIETY, "** [Server] > "COL_WHITE"Congratulations "COL_SERVER"%s"COL_WHITE"! You have successfully finished the tutorial! "COL_SERVER"**", ReturnName(playerid));
- SCM(playerid, COLOR_ASOCIETY, "** [Server] > "COL_WHITE"You have been spawned with "COL_SERVER"7,500$"COL_WHITE" on-hand, and "COL_SERVER"2,500$"COL_WHITE" in your bank account. "COL_SERVER"**");
- SCM(playerid, COLOR_YELLOW, "** [Note] > You have spawned with 50 armour because it's your first time spawning. **");
- }
- LOGIN PART >
- case DIALOG_LOGIN:
- {
- if(!response)
- {
- SCM(playerid, COLOR_SERVER, "** [Server] > You were kicked for aborting the login! **");
- KickEx(playerid);
- }
- new playerCheck[256];
- mysql_format(sqlDB, playerCheck, sizeof(playerCheck), "SELECT DBID FROM accounts WHERE acc_name = '%e' AND acc_password = sha1('%e') LIMIT 1", ReturnName(playerid), inputtext);
- mysql_tquery(sqlDB, playerCheck, "LogPlayerIn", "i", playerid);
- return 1;
- }
- Log Player In function which is called from the login >
- function:LogPlayerIn(playerid)
- {
- if(!cache_num_rows())
- {
- playerLogin[playerid]++;
- if(playerLogin[playerid] == 3)
- {
- SCM(playerid, COLOR_ERROR, "*** [Server] > You were kicked due to providing a wrong password 3 times. ***");
- Kick(playerid);
- return 1;
- }
- new pLoginDialog[1024];
- strcat(pLoginDialog, "\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, ""COL_ASOCIETY"> Login || "COL_ERROR"Wrong password provided!\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, "\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, ""COL_WHITE"> Welcome back to our server!\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, ""COL_WHITE"> We see your account is already "COL_SERVER"registered on our database"COL_WHITE", please provide the password you used on your "COL_SERVER"registration.\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, ""COL_WHITE"> Providing a wrong password several times will get you kicked and the attempt will be reported to the admins.\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, "\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, ""COL_YELLOW"> [Note]: "COL_WHITE"Impersonating someone will result in a "COL_ERROR"permanent range ban"COL_WHITE", please do not try "COL_TUTORIAL"exploiting"COL_WHITE" accounts!\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, "\n", sizeof(pLoginDialog));
- strcat(pLoginDialog, ""COL_YELLOW"* proTip: If you forgot your password please post an appeal on our forums: "COL_TUTORIAL"https://forum.asocietygaming.com\n", sizeof(pLoginDialog));
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""COL_ASOCIETY"aSociety Gaming Roleplay", pLoginDialog, "Login", "Quit");
- return 1;
- }
- new rows, fields;
- cache_get_data(rows, fields, sqlDB);
- PlayerInfo[playerid][pDBID] = cache_get_field_content_int(0, "DBID", sqlDB);
- format(PlayerInfo[playerid][pName], 32, "%s", ReturnName(playerid));
- PlayerInfo[playerid][LoggedIn] = true;
- SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], 937.7089,-1717.3564,13.5469,95.4095, 0, 0, 0, 0, 0, 0);
- SetPlayerPos(playerid, 937.7089,-1717.3564,13.5469);
- TogglePlayerSpectating(playerid, false);
- TogglePlayerControllable(playerid, true);
- SetPlayerFacingAngle(playerid, 90);
- SetCameraBehindPlayer(playerid);
- GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
- SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
- SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
- return 1;
- }
- Basically what it does it checks the password for wrong attempts 3 times, if it doesn't match it returns a kick, if it does it returns all the rest of the code which is shown below, and everything works fine, but when I give player money etc... it gives me 0 values.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement