Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Olá, este FS foi criado por Adrian Fahrenheit Tepes
- Se for usá-lo, ponha meu nome nos creditos, hoje é dia
- 26/11/2011, nesse dia eu era muito noob no pawn, hoje eu
- ainda sou, mas é assim mesmo. Se não colocar meu nome nos
- créditos, eu vou aí te matar.
- Att. Adrian Fahrenheit Tepes, filho de Drácula.
- */
- #include <a_samp>
- #include <YSI\y_ini>
- #define PASTACONTAS "/Contas/%s.ini" // Aqui, obviamente, ficará o diretório/caminho onde as contas serão salvas.
- #define REGISTRO 1
- #define LOGIN 2
- #define SCM SendClientMessage
- #define COR_INFO 0xA9C4E4AA
- new gstring[1024];
- enum a_Info
- {
- a_Senha[30],
- bool:a_Logado = false,
- a_Reg,
- a_Admin,
- a_Dinheiro,
- a_Skin
- };
- new AFT_Info[MAX_PLAYERS][a_Info];
- public OnFilterScriptInit()
- {
- print("\n\n");
- print(" Sistema de registro/login em dialog com Y_INI, criado por:\n\n");
- print(" Adrian Fahrenheit Tepes\n\n\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- LimparChat(playerid, 125);
- SCM(playerid, COR_INFO, "{FFFF00}[INFO]{FFFFFF}: Este servidor usa sistema de salvamento por Y_INI. Sistema criado por:");
- SCM(playerid, COR_INFO, " {FF9999}Adrian Fahrenheit Tepes");
- LimparChat(playerid, 2);
- if(fexist(pPasta(playerid))) ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}LOGIN", "Bem-vindo de volta ao ''NOMEDOSERVIDOR''.\n\nDigite sua senha para logar-se.", "Logar", "");
- else ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD,"{FFFF00}REGISTRO", "Bem-vindo ao ''NOMEDOSERVIDOR''.\n\nDigite sua senha para registrar-se.", "Registrar", "");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- AFT_Info[playerid][a_Logado] = false;
- AFT_Info[playerid][a_Reg] = 0;
- AFT_Info[playerid][a_Admin] = 0;
- AFT_Info[playerid][a_Dinheiro] = 0;
- AFT_Info[playerid][a_Skin] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- jAtualizar(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(AFT_Info[playerid][a_Logado] == false) return SCM(playerid, COR_INFO, "{FFFF00}[INFO]{A9C4E4}: Você precisa estar logado."), Kick(playerid);
- LimparChat(playerid, 1);
- SCM(playerid, COR_INFO, "{FFFF00}+++++++++++++++++++++++++++++++");
- SCM(playerid, COR_INFO, " Informações:");
- format(gstring, sizeof(gstring), "{FFFFFF}Nível de administrador{A9C4E4}: %d", AFT_Info[playerid][a_Admin]);
- SCM(playerid, COR_INFO, gstring);
- format(gstring, sizeof(gstring), "{FFFFFF}Skin em uso{A9C4E4}: %d", AFT_Info[playerid][a_Skin]);
- SCM(playerid, COR_INFO, gstring);
- format(gstring, sizeof(gstring), "{FFFFFF}Dinheiro{A9C4E4}: %d", AFT_Info[playerid][a_Dinheiro]);
- SCM(playerid, COR_INFO, gstring);
- SCM(playerid, COR_INFO,"{FFFF00}++++++++++++++++++++++++++++++++");
- jCarregar(playerid);
- LimparChat(playerid, 1);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[128], idx;
- cmd = strtok(cmdtext, idx);
- if(!strcmp(cmdtext, "/viraradmin", true))
- {
- AFT_Info[playerid][a_Admin] = 3;
- format(gstring, sizeof(gstring), "{FFFF00}[INFO]{A9C4E4}: O jogador %s virou administrador. (/viraradmin)", Nome(playerid));
- SendClientMessageToAll(COR_INFO, gstring);
- jAtualizar(playerid);
- return 1;
- }
- if(!strcmp(cmd, "/skin", true))
- {
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, COR_INFO, "{FFFF00}[Use]{A9C4E4}: /skin [ID]");
- if(0 > strval(cmd) > 299) return SendClientMessage(playerid, COR_INFO, "{FF0000[ERRO]{A9C4E4}: Skin inválida.");
- SetPlayerSkin(playerid, strval(cmd));
- AFT_Info[playerid][a_Skin] = strval(cmd);
- format(gstring, sizeof(gstring), "{FFFF00}[INFO]{A9C4E4}: Você mudou sua skin para a de número %d. Valor: 100 US$", strval(cmd));
- SendClientMessage(playerid, COR_INFO, gstring);
- GivePlayerMoney(playerid, -100);
- AFT_Info[playerid][a_Dinheiro] -= 100;
- jAtualizar(playerid);
- return 1;
- }
- if(!strcmp(cmdtext, "/stats", true))
- {
- LimparChat(playerid, 1);
- SCM(playerid, COR_INFO, "{FFFF00}+++++++++++++++++++++++++++++++");
- SCM(playerid, COR_INFO, " Informações:");
- format(gstring, sizeof(gstring), "{FFFFFF}Nível de administrador{A9C4E4}: %d", AFT_Info[playerid][a_Admin]);
- SCM(playerid, COR_INFO, gstring);
- format(gstring, sizeof(gstring), "{FFFFFF}Skin em uso{A9C4E4}: %d", AFT_Info[playerid][a_Skin]);
- SCM(playerid, COR_INFO, gstring);
- format(gstring, sizeof(gstring), "{FFFFFF}Dinheiro{A9C4E4}: %d", AFT_Info[playerid][a_Dinheiro]);
- SCM(playerid, COR_INFO, gstring);
- SCM(playerid, COR_INFO,"{FFFF00}++++++++++++++++++++++++++++++++");
- LimparChat(playerid, 1);
- return 1;
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case REGISTRO:
- {
- static confirmar[MAX_PLAYERS];
- if(!response) return LimparChat(playerid, 125), SCM(playerid, COR_INFO, "{FFFF00}[INFO]{A9C4E4}: Você foi kickado automaticamente. Motivo: Recusou o registro."), Kick(playerid);
- else
- {
- if(strlen(inputtext) < 5 || strlen(inputtext) > 20) return confirmar[playerid] = 0, ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD,"{FFFF00}REGISTRO", "{FF0000}Você precisa digitar no mínimo 5 caractéres e no máximo 20.\n\n{A9C4E4}Digite sua senha para registrar-se.", "Registrar", "");
- if(confirmar[playerid] == 0)
- {
- confirmar[playerid] = 1;
- format(gstring, sizeof(gstring), "%s", inputtext);
- ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD,"{FFFF00}REGISTRO", "{FFFF00}Confirme sua senha para prosseguir.\n\n{A9C4E4}Digite sua senha para confirmar.", "Confirmar", "");
- return 1;
- }
- if(confirmar[playerid] == 1 && !strcmp(gstring, inputtext, true)) return confirmar[playerid] = 0, jRegistrar(playerid, inputtext);
- else return confirmar[playerid] = 0, ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD,"{FFFF00}REGISTRO", "{FF0000}As senhas não coincidiam. Vamos tentar novamente...\n\n{A9E4C4}Digite sua senha para registrar-se.", "Registrar", "");
- }
- }
- case LOGIN:
- {
- if(!response) return LimparChat(playerid, 125), SCM(playerid, COR_INFO, "{FFFF00}[INFO]{A9C4E4}: Você foi kickado automaticamente. Motivo: Recusou o login."), Kick(playerid);
- else
- {
- if(strlen(inputtext) < 5 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}LOGIN", "{FF0000}Você precisa digitar no mínimo 5 caractéres e no máximo 20.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
- INI_ParseFile(pPasta(playerid), "jSenha", false, true, playerid);
- GetPVarString(playerid, "a_jSenha", gstring, sizeof gstring);
- if(!strcmp(inputtext, gstring, true)) INI_ParseFile(pPasta(playerid), "Carregar_Stats", false, true, playerid), SCM(playerid, COR_INFO, "{FFFF00}[INFO]{A9C4E4}: Logado com sucesso."), SpawnPlayer(playerid), jCarregar(playerid);
- else ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}LOGIN", "{FF0000}Senha incorreta.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
- }
- }
- }
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock LimparChat(playerid, linhas)
- {
- for(new i = 0; i < linhas; ++i) SCM(playerid, COR_INFO, "");
- return 1;
- }
- stock pPasta(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(gstring,sizeof(gstring),PASTACONTAS,name);
- return gstring;
- }
- stock Nome(playerid)
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- return Name;
- }
- forward jRegistrar(playerid, senha[]);
- public jRegistrar(playerid, senha[])
- {
- new INI:Conta = INI_Open(pPasta(playerid));
- INI_WriteString(Conta, "Senha", senha);
- INI_WriteInt(Conta, "Reg", AFT_Info[playerid][a_Reg] = true);
- INI_WriteInt(Conta, "Admin", AFT_Info[playerid][a_Admin]);
- INI_WriteInt(Conta, "Dinheiro", AFT_Info[playerid][a_Dinheiro]);
- INI_WriteInt(Conta, "Skin", AFT_Info[playerid][a_Dinheiro]);
- INI_Close(Conta);
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"{FFFF00}LOGIN", "{FFFF00}Conta criada com sucesso.\n\n{A9C4E4}Digite sua senha para logar-se.", "Logar", "");
- LimparChat(playerid, 125);
- return 1;
- }
- forward jSenha(playerid, name[], value[]);
- public jSenha(playerid, name[], value[]) if(!strcmp(name, "Senha")) SetPVarString(playerid, "a_jSenha", value);
- forward Carregar_Stats(playerid, name[], value[]);
- public Carregar_Stats(playerid, name[], value[])
- {
- INI_String("Senha", AFT_Info[playerid][a_Senha], 30);
- INI_Int("Reg",AFT_Info[playerid][a_Reg]);
- INI_Int("Admin", AFT_Info[playerid][a_Admin]);
- INI_Int("Dinheiro",AFT_Info[playerid][a_Dinheiro]);
- INI_Int("Skin",AFT_Info[playerid][a_Skin]);
- return 1;
- }
- forward jCarregar(playerid);
- public jCarregar(playerid)
- {
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, AFT_Info[playerid][a_Dinheiro]);
- SetPlayerSkin(playerid, AFT_Info[playerid][a_Skin]);
- return 1;
- }
- forward jAtualizar(playerid);
- public jAtualizar(playerid)
- {
- new INI:Conta = INI_Open(pPasta(playerid));
- INI_WriteInt(Conta, "Admin", AFT_Info[playerid][a_Admin]);
- INI_WriteInt(Conta, "Dinheiro", AFT_Info[playerid][a_Dinheiro]);
- INI_WriteInt(Conta, "Skin", AFT_Info[playerid][a_Skin]);
- INI_Close(Conta);
- return 1;
- }
- /*
- Olá, este FS foi criado por Adrian Fahrenheit Tepes
- Se for usá-lo, ponha meu nome no /creditos, hoje é dia
- 26/11/2011, nesse dia eu era muito noob no pawn, hoje eu
- ainda sou, mas é assim mesmo. Se não colocar meu nome nos
- créditos, eu vou aí te matar.
- Att. Adrian Fahrenheit Tepes, filho de Drácula.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement