Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <DOF2>
- //
- #define DIALOG_REGISTRO 1
- #define DIALOG_LOGIN 2
- #define DIALOG_SEXO 3
- //
- enum P_INFO
- {
- Nome[21],
- Senha[17],
- bool:Logado,
- Float:upX, // Última Pos X
- Float:upY, // Última Pos Y
- Float:upZ, // Última Pos Z
- Float:upA // Última Pos A
- };
- new Player[MAX_PLAYERS][P_INFO];
- main(){}
- public OnGameModeInit()
- {
- SetGameModeText("REGISTRO/LOGIN");
- return 1;
- }
- public OnGameModeExit()
- {
- DOF2::Exit();
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- if(!DOF2::FileExists(Conta(playerid)))
- {
- new DIALOG[120];
- format(DIALOG, sizeof(DIALOG), "{3CB371}Usuário: {FFFFFF}%s\n\nInsira uma senha para registrar-se:", Player[playerid][Nome]);
- ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF4500}Registro", DIALOG, "Registrar", "Sair");
- }
- else if(DOF2::FileExists(Conta(playerid)))
- {
- new DIALOG[150];
- format(DIALOG, sizeof(DIALOG), "{3CB371}Usuário: {FFFFFF}%s\n\nInsira uma senha para logar-se:", Player[playerid][Nome]);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF4500}Login", DIALOG, "Logar", "Sair");
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid, Player[playerid][Nome], 20);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SalvarConta(playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_REGISTRO)
- {
- if(!response)
- {
- Kick(playerid);
- return 1;
- }
- if(!(4 <= strlen(inputtext) <= 16))
- {
- new DIALOG[150];
- format(DIALOG, sizeof(DIALOG), "{3CB371}Usuário: {FFFFFF}%s\n\nInsira uma senha para registrar-se:\n\n* Insira uma senha entre 4 a 16 caracteres", Player[playerid][Nome]);
- ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF4500}Registro", DIALOG, "Registrar", "Sair");
- return 1;
- }
- format(Player[playerid][Senha], 16, inputtext);
- DOF2::CreateFile(Conta(playerid));
- DOF2::SetString(Conta(playerid), "Senha", Player[playerid][Senha]);
- DOF2::SetInt(Conta(playerid), "Dinheiro", GivePlayerMoney(playerid, 1000));
- DOF2::SetInt(Conta(playerid), "Level", SetPlayerScore(playerid, 0));
- DOF2::SetInt(Conta(playerid), "Skin", SetPlayerSkin(playerid, 0));
- DOF2::SetFloat(Conta(playerid), "X", Player[playerid][upX] = 1958.3783);
- DOF2::SetFloat(Conta(playerid), "Y", Player[playerid][upY] = 1343.1572);
- DOF2::SetFloat(Conta(playerid), "Z", Player[playerid][upZ] = 15.3746);
- DOF2::SetFloat(Conta(playerid), "A", Player[playerid][upA] = 270.0000);
- DOF2::SaveFile();
- /* --------------- */
- ShowPlayerDialog(playerid, DIALOG_SEXO, DIALOG_STYLE_MSGBOX, "{FF4500}Sexualidade", "{FFFFFF}Informe sua sexualidade abaixo:", "Masculino", "Feminino");
- }
- if(dialogid == DIALOG_SEXO)
- {
- if(response)
- {
- SetSpawnInfo(playerid, 0, 60, Player[playerid][upX], Player[playerid][upY], Player[playerid][upZ], Player[playerid][upA], 0, 0, 0, 0, 0, 0);
- Player[playerid][Logado] = true;
- SetCameraBehindPlayer(playerid);
- SpawnPlayer(playerid);
- }
- else
- {
- SetSpawnInfo(playerid, 0, 56, Player[playerid][upX], Player[playerid][upY], Player[playerid][upZ], Player[playerid][upA], 0, 0, 0, 0, 0, 0);
- Player[playerid][Logado] = true;
- SetCameraBehindPlayer(playerid);
- SpawnPlayer(playerid);
- }
- }
- if(dialogid == DIALOG_LOGIN)
- {
- if(!response)
- {
- Kick(playerid);
- return 1;
- }
- if(!strlen(inputtext))
- {
- new DIALOG[120];
- format(DIALOG, sizeof(DIALOG), "{3CB371}Usuário: {FFFFFF}%s\n\nInsira uma senha para logar-se:", Player[playerid][Nome]);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF4500}Login", DIALOG, "Logar", "Sair");
- return 1;
- }
- format(Player[playerid][Senha], 16, DOF2::GetString(Conta(playerid), "Senha"));
- if(!strcmp(inputtext, Player[playerid][Senha], true))
- {
- GivePlayerMoney(playerid, DOF2::GetInt(Conta(playerid), "Dinheiro"));
- SetPlayerScore(playerid, DOF2::GetInt(Conta(playerid), "Level"));
- SetPlayerSkin(playerid, DOF2::GetInt(Conta(playerid), "Skin"));
- Player[playerid][upX] = DOF2::GetFloat(Conta(playerid), "X");
- Player[playerid][upY] = DOF2::GetFloat(Conta(playerid), "Y");
- Player[playerid][upZ] = DOF2::GetFloat(Conta(playerid), "Z");
- Player[playerid][upA] = DOF2::GetFloat(Conta(playerid), "A");
- /* --------------- */
- SetSpawnInfo(playerid, 0, GetPlayerSkin(playerid), Player[playerid][upX], Player[playerid][upY], Player[playerid][upZ], Player[playerid][upA], 0, 0, 0, 0, 0, 0);
- Player[playerid][Logado] = true;
- SetCameraBehindPlayer(playerid);
- SpawnPlayer(playerid);
- }
- else
- {
- new DIALOG[150];
- format(DIALOG, sizeof(DIALOG), "{3CB371}Usuário: {FFFFFF}%s\n\nInsira uma senha para logar-se:\n\n* Senha incorreta", Player[playerid][Nome]);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF4500}Login", DIALOG, "Logar", "Sair");
- }
- }
- return 1;
- }
- //
- SalvarConta(playerid)
- {
- if(DOF2::FileExists(Conta(playerid)) && Player[playerid][Logado])
- {
- GetPlayerPos(playerid, Player[playerid][upX], Player[playerid][upY], Player[playerid][upZ]);
- GetPlayerFacingAngle(playerid, Player[playerid][upA]);
- DOF2::SetInt(Conta(playerid), "Dinheiro", GetPlayerMoney(playerid));
- DOF2::SetInt(Conta(playerid), "Level", GetPlayerScore(playerid));
- DOF2::SetInt(Conta(playerid), "Skin", GetPlayerSkin(playerid));
- DOF2::SetFloat(Conta(playerid), "X", Player[playerid][upX]);
- DOF2::SetFloat(Conta(playerid), "Y", Player[playerid][upY]);
- DOF2::SetFloat(Conta(playerid), "Z", Player[playerid][upZ]);
- DOF2::SetFloat(Conta(playerid), "A", Player[playerid][upA]);
- DOF2::SaveFile();
- //
- Player[playerid][Logado] = false;
- Player[playerid][upX] = 0.0;
- Player[playerid][upY] = 0.0;
- Player[playerid][upZ] = 0.0;
- Player[playerid][upA] = 0.0;
- }
- return 1;
- }
- Conta(playerid)
- {
- new file[40];
- format(file, sizeof(file), "Contas/%s.ini", Player[playerid][Nome]);
- return file;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement