
/* include */
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <DOF2>
/* mailer */
#define MAILER_URL "blablav.000webhostapp.com/sendmailer.php" // Pode usar esse host mais recomendo que pegue algum outro
#include <mailer>
#define SERVER_EMAIL "serverteste09@gmail.com"
/* defines */
#define PASTA_CONTA "Contas/%s.ini"
#define SKIN_FEMININA 12
#define SKIN_MASCULINA 154
/* define dialog */
#define DIALOG_REGISTRO 10001
#define DIALOG_REGISTRO1 10002
#define DIALOG_REGISTRO2 10003
#define DIALOG_REGISTRO3 10004
#define DIALOG_REGISTRO4 10005
#define DIALOG_LOGIN 10006
#define DIALOG_LOGIN1 10007
/* forward */
forward KickPlayerTimer(playerid);
forward UpTimer(playerid);
/* enum's */
enum pInfo
{
pCodigoLiberacao,
pSenhaInvalida,
pExperiencia,
pLevel
};
/* news */
new pInfos[MAX_PLAYERS][pInfo];
new LetterList[26][] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by KaioMuzzo");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("Blank Gamemode by KaioMuzzo");
AddPlayerClass(154, 1958.3783, 1343.1572, 15.3746, 0, 0, 0, 0, 0, 0, 0);
// Veiculos BMX
AddStaticVehicle(481, 828.1001, -1336.1182, 13.0559, 359.9905, 1, 1);
AddStaticVehicle(481, 829.2002, -1336.1337, 13.0620, 359.9879, 12, 9);
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, -2626.3479, 1422.0120, 24.5625);
SetPlayerFacingAngle(playerid, 239.9000);
SetPlayerCameraPos(playerid, -2622.5000, 1418.6584, 24.5625);
SetPlayerCameraLookAt(playerid, -2625.0000, 1423.1483, 24.5625);
/* dialog de registro/login quando o player entrar */
new string[512];
/* registro mal executado */
if(strfind("0", DOF2_GetString(GetPlayerAccount(playerid), "Sexo"), true) != -1){
/* se ''Sexo'' for igual a 0 (caso o player tenha saido sem digitar o codigo)*/
format(string, sizeof(string), "{F8FCF8}Bem vindo(a) novamente {6094E8}%s\n\n{F8FCF8}Vocк tem o e-mail ( {208C20}%s {F8FCF8}) cadastrado nesse nick, acesse-o para ver\no cуdigo de liberaзгo e informe abaixo, apos informar selecione {F84400}Confirmar\n\n{F8FCF8}Caso o e-mail informado esteja errado poderб edita-lo selecionando {F84400}Alterar", GetPlayerNome(playerid), DOF2_GetString(GetPlayerAccount(playerid), "E-mail"));
ShowPlayerDialog(playerid, DIALOG_REGISTRO3, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "Alterar");
/* fim registro */
} else {
if(DOF2_FileExists(GetPlayerAccount(playerid))){
/* login caso a conta do player exista */
format(string, sizeof(string), "{7084E8}Usuбrio: {F8FCF8}%s\n\nConta: {30CC30}Registrada\n\n{F8FCF8}Informe sua Senha:", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{F80000}Conta", string, "Logar", "Sair");
} else {
/* registro caso o player nгo possua uma conta */
format(string, sizeof(string), "{7084E8}Usuбrio: {F8FCF8}%s\n\nConta: {F80000} Nгo registrada\n\n{F8FCF8}Informe sua Senha:", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{F80000}Conta", string, "Registrar", "Sair");
}
}
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
SetTimerEx("UpTimer", 600000, true, "i", playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
/* news */
new Float:Pos[4];
// pegar as cords do player
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
/* salvar informacoes da conta */
DOF2_SetFloat(GetPlayerAccount(playerid), "UltimaPosX", Pos[0]);
DOF2_SetFloat(GetPlayerAccount(playerid), "UltimaPosY", Pos[1]);
DOF2_SetFloat(GetPlayerAccount(playerid), "UltimaPosZ", Pos[2]);
DOF2_SetFloat(GetPlayerAccount(playerid), "UltimaPosA", Pos[3]);
DOF2_SetInt(GetPlayerAccount(playerid), "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(GetPlayerAccount(playerid), "Level", GetPlayerScore(playerid));
DOF2_SetInt(GetPlayerAccount(playerid), "Experiencia", pInfos[playerid][pExperiencia]);
KillTimer(UpTimer(playerid));
DOF2_SaveFile();
/* fim informacoes salvas */
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 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) {
/*------------------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------DIALOGREGISTRO----------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------------------*/
case DIALOG_REGISTRO: {
if(response){
/* se a resposta for registrar */
new string[256];
if(!strlen(inputtext)){
/* se nгo tiver nada na caixa de texto */
SendClientMessage(playerid, 0xF84400AA, "| INFO | A senha deve ter entre 4 e 16 caracteres!");
format(string, sizeof(string), "{F8FCF8}Senha muito grande ou pequena, {6884E8}%s {F8FCF8}!\nColoque sua senha e clique em {F80000}Registrar", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{F80000}Registrando uma conta", string, "Registrar", "Sair");
} else if(strlen(inputtext) < 4 && strlen(inputtext) >= 1) {
/* caso a senha tenha menos de 4 caracteres */
SendClientMessage(playerid, 0xF84400AA, "| INFO | A senha deve ter entre 4 e 16 caracteres!");
format(string, sizeof(string), "{F8FCF8}Senha muito grande ou pequena, {6884E8}%s {F8FCF8}!\nColoque sua senha e clique em {F80000}Registrar", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{F80000}Registrando uma conta", string, "Registrar", "Sair");
} else if(strlen(inputtext) > 16) {
/* caso a senha tenha mais de 16 caracteres */
SendClientMessage(playerid, 0xF84400AA, "| INFO | A senha deve ter entre 4 e 16 caracteres!");
format(string, sizeof(string), "{F8FCF8}Senha muito grande ou pequena, {6884E8}%s {F8FCF8}!\nColoque sua senha e clique em {F80000}Registrar", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{F80000}Registrando uma conta", string, "Registrar", "Sair");
} else {
/* configuracao na case (DIALOG_REGISTRO1) */
DOF2_CreateFile(GetPlayerAccount(playerid)); // criou o arquivo .ini
DOF2_SetString(GetPlayerAccount(playerid), "Nome", GetPlayerNome(playerid));
DOF2_SetString(GetPlayerAccount(playerid), "Senha", inputtext);
DOF2_SetString(GetPlayerAccount(playerid), "Sexo", "0");
DOF2_SetString(GetPlayerAccount(playerid), "E-mail", "0");
DOF2_SetString(GetPlayerAccount(playerid), "CodigoLiberacao", "0");
DOF2_SetInt(GetPlayerAccount(playerid), "Level", 0);
DOF2_SetInt(GetPlayerAccount(playerid), "Experiencia", 0);
DOF2_SetInt(GetPlayerAccount(playerid), "Dinheiro", 600);
DOF2_SetInt(GetPlayerAccount(playerid), "Skin", 0);
DOF2_SaveFile(); // salvando os aquivos acima
SendClientMessage(playerid, 0xF8FCF8AA, "| CONTA | Registrado com sucesso!");
format(string, sizeof(string), "{F8FCF8}Para confirmar sua conta, vocк deve informar um e-mail valido abaixo, serб enviado\num cуdigo no e-mail informado para prosseguir com o registro\n\n{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico");
ShowPlayerDialog(playerid, DIALOG_REGISTRO1, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Enviar", "");
}
} else {
/* se a resposta for sair */
SendClientMessage(playerid, 0xF80000AA, "| REGISTRO | Vocк foi kickado por sair sem se registrar!");
SetTimerEx("KickPlayerTimer", 100, false, "i", playerid);
}
return 1;
/* fim case DIALOG_REGISTRO */
}
case DIALOG_REGISTRO1: {
if(response){
/* se a resposta for enviar */
new string[512];
if(!strlen(inputtext)){
/* se nгo tiver nada na caixa de texto */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}E-mail muito pequeno ou grande demais pra ser valido!\n\nPara se registrar no servidor vocк deve informar um e-mail valido abaixo, serб enviado\num cуdigo no e-mail informado para prosseguir com o registro\n\n{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO1, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Enviar", "");
} else if(EmailCaps(inputtext)) {
/* se tiver letras maiusculas */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}E-mail nгo pode conter letras MAIUSCULAS!\n\nPara se registrar no servidor vocк deve informar um e-mail valido abaixo, serб enviado\num cуdigo no e-mail informado para prosseguir com o registro\n\n{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO1, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Enviar", "");
} else if(strlen(inputtext) < 5 || strlen(inputtext) > 51){
/* verifica se o que foi digitado tem mais de 5 caracteres */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}E-mail muito pequeno ou grande demais pra ser valido!\n\nPara se registrar no servidor vocк deve informar um e-mail valido abaixo, serб enviado\num cуdigo no e-mail informado para prosseguir com o registro\n\n{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO1, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Enviar", "");
} else if(strfind(inputtext, "@hotmail.com") == -1 && strfind(inputtext, "@gmail.com") == -1 && strfind(inputtext, "@live.com") == -1 && strfind(inputtext, "@outlook.com") == -1 && strfind(inputtext, "@terra.com") == -1 && strfind(inputtext, "@ig.com") == -1){
/* Verifica se o que foi digitado й um e-mail valido */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}E-mail informado estб invalido!\n\nE-mails suportados ( {30C830}@hotmail - @gmail - @live - @outlook - @terra - @ig {F8FCF8})\n\nPara se registrar no servidor vocк deve informar um e-mail valido abaixo, serб enviado\num cуdigo no e-mail informado para prosseguir com o registro\n\n", GetPlayerNome(playerid));
strcat(string, "{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico");
ShowPlayerDialog(playerid, DIALOG_REGISTRO1, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Enviar", "");
} else{
/* envia e-mail para conta com o codigo de liberaзгo, configuracao na case (DIALOG_REGISTRO2) */
DOF2_SetString(GetPlayerAccount(playerid), "E-mail", inputtext);
DOF2_SetString(GetPlayerAccount(playerid), "CodigoLiberacao", RandomCodeLiberacao());
DOF2_SaveFile();
format(string, sizeof(string), "%s,\n\nPara completar o processo de registro no servidor ''Cidade Vida Real'', Use o cГіdigo abaixo:\n\nCГіdigo: %s\n\n\nAtenciosamente,\nLos Katchorros - Jogos Online\nhttp://www.loskatchorros.com.br", GetPlayerNome(playerid), DOF2_GetString(GetPlayerAccount(playerid), "CodigoLiberacao")); /* arrumado, obs GetString %s GetInt %d ;D */
SendMail(DOF2_GetString(GetPlayerAccount(playerid), "E-mail"), SERVER_EMAIL, "Cidade Vida Real - cГіdigo", "CГіdigo para liberaГ§ГЈo de conta", string);
format(string, sizeof(string), "{6094E8}%s{F8FCF8},\n\nFoi enviado a seu e-mail o cуdigo de liberaзгo\nInforme-o abaixo para prosseguir com o registro\n\n{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
}
} else {
/* se ele tentar fechar a dialog */
new string[256];
format(string, sizeof(string), "{F8FCF8}Para confirmar sua conta, vocк deve informar um e-mail valido abaixo, serб enviado\num cуdigo no e-mail informado para prosseguir com o registro\n\n{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico");
ShowPlayerDialog(playerid, DIALOG_REGISTRO1, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Enviar", "");
}
return 1;
/* fim case DIALOG_REGISTRO1 */
}
case DIALOG_REGISTRO2: {
if(response){
/* se a resposta for confirmar */
new string[512];
if(strfind(inputtext, DOF2_GetString(GetPlayerAccount(playerid), "CodigoLiberacao"), true) != -1){
format(string, sizeof(string), "selecione!");
ShowPlayerDialog(playerid, DIALOG_REGISTRO4, DIALOG_STYLE_MSGBOX, "{F80000}Qual seu sexo?", string, "Masculino", "Feminino");
} else {
pInfos[playerid][pCodigoLiberacao]++;
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Cуdigo incorreto!\n\n{F80000}Obs: {F8FCF8}Ao errar 3 vezes, serб enviado um novo cуdigo para o e-mail cadastrado\n\nInforme o codigo que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
if(pInfos[playerid][pCodigoLiberacao] == 3){
/* sistema de reenvio de e-mail trocar o codigo de liberacao */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Vocк digitou o cуdigo errado 3 vezes!\n\nFoi gerado um novo cуdigo de liberaзгo e enviado ao e-mail cadastrado\ninforme o cуdigo que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
DOF2_SetString(GetPlayerAccount(playerid), "CodigoLiberacao", RandomCodeLiberacao());
DOF2_SaveFile();
format(string, sizeof(string), "%s,\n\nPara completar o processo de registro no servidor ''Cidade Vida Real'', Use o cГіdigo abaixo:\n\nCГіdigo: %s\n\n\nAtenciosamente,\nLos Katchorros - Jogos Online\nhttp://www.loskatchorros.com.br", GetPlayerNome(playerid), DOF2_GetString(GetPlayerAccount(playerid), "CodigoLiberacao"));
SendMail(DOF2_GetString(GetPlayerAccount(playerid), "E-mail"), SERVER_EMAIL, "CГіdigo para liberaГ§ГЈo de conta", "Cidade Vida Real - cГіdigo", string);
pInfos[playerid][pCodigoLiberacao]--;
pInfos[playerid][pCodigoLiberacao]--;
pInfos[playerid][pCodigoLiberacao]--;
}
if(!strlen(inputtext)){
/* se nгo tiver nada na caixa de texto */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Vocк deixou o campo em branco!\n\nInforme o dнgitos de 4 digitos que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
}
}
} else {
/* se ele tentar fechar a dialog */
new string[512];
if(strfind(inputtext, DOF2_GetString(GetPlayerAccount(playerid), "CodigoLiberacao"), true) != -1){
format(string, sizeof(string), "selecione!");
ShowPlayerDialog(playerid, DIALOG_REGISTRO4, DIALOG_STYLE_MSGBOX, "{F80000}Qual seu sexo?", string, "Masculino", "Feminino");
} else {
pInfos[playerid][pCodigoLiberacao]++;
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Cуdigo incorreto!\n\n{F80000}Obs: {F8FCF8}Ao errar 3 vezes, serб enviado um novo cуdigo para o e-mail cadastrado\n\nInforme o codigo que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
if(pInfos[playerid][pCodigoLiberacao] == 3){
/* sistema de reenvio de e-mail trocar o codigo de liberacao */
DOF2_SetString(GetPlayerAccount(playerid), "CodigoLiberacao", RandomCodeLiberacao());
DOF2_SaveFile();
format(string, sizeof(string), "%s,\n\nPara completar o processo de registro no servidor ''Cidade Vida Real'', Use o cГіdigo abaixo:\n\nCГіdigo: %s\n\n\nAtenciosamente,\nLos Katchorros - Jogos Online\nhttp://www.loskatchorros.com.br", GetPlayerNome(playerid), DOF2_GetString(GetPlayerAccount(playerid), "CodigoLiberacao"));
SendMail(DOF2_GetString(GetPlayerAccount(playerid), "E-mail"), SERVER_EMAIL, "CГіdigo para liberaГ§ГЈo de conta", "Cidade Vida Real - cГіdigo", string);
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Vocк digitou o cуdigo errado 3 vezes!\n\nFoi gerado um novo cуdigo de liberaзгo e enviado ao e-mail cadastrado\ninforme o cуdigo que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
pInfos[playerid][pCodigoLiberacao]--;
pInfos[playerid][pCodigoLiberacao]--;
pInfos[playerid][pCodigoLiberacao]--;
}
if(!strlen(inputtext)){
/* se nгo tiver nada na caixa de texto */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Vocк deixou o campo em branco!\n\nInforme o dнgitos de 4 digitos que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
}
}
}
return 1;
/* fim case DIALOG_REGISTRO2 */
}
case DIALOG_REGISTRO3: {
new string[512];
if(response){
/* confirmar */
if(strfind(inputtext, DOF2_GetString(GetPlayerAccount(playerid), "CodigoLiberacao"), true) != -1){
format(string, sizeof(string), "selecione!");
ShowPlayerDialog(playerid, DIALOG_REGISTRO4, DIALOG_STYLE_MSGBOX, "{F80000}Qual seu sexo?", string, "Masculino", "Feminino");
} else {
/* se o codigo informado for o errado */
pInfos[playerid][pCodigoLiberacao]++;
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Cуdigo incorreto!\n\n{F80000}Obs: {F8FCF8}Ao errar 3 vezes, serб enviado um novo cуdigo para o e-mail cadastrado\n\nInforme o codigo que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
if(pInfos[playerid][pCodigoLiberacao] == 3){
/* sistema de reenvio de e-mail / troca do codigo de liberacao */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Vocк digitou o cуdigo errado 3 vezes!\n\nFoi gerado um novo cуdigo de liberaзгo e enviado ao e-mail cadastrado\ninforme o cуdigo que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
DOF2_SetString(GetPlayerAccount(playerid), "CodigoLiberacao", RandomCodeLiberacao());
DOF2_SaveFile();
format(string, sizeof(string), "%s,\n\nPara completar o processo de registro no servidor ''Cidade Vida Real'', Use o cГіdigo abaixo:\n\nCГіdigo: %s\n\n\nAtenciosamente,\nLos Katchorros - Jogos Online\nhttp://www.loskatchorros.com.br", GetPlayerNome(playerid), DOF2_GetString(GetPlayerAccount(playerid), "CodigoLiberacao"));
SendMail(DOF2_GetString(GetPlayerAccount(playerid), "E-mail"), SERVER_EMAIL, "CГіdigo para liberaГ§ГЈo de conta", "Cidade Vida Real - cГіdigo", string);
pInfos[playerid][pCodigoLiberacao]--;
pInfos[playerid][pCodigoLiberacao]--;
pInfos[playerid][pCodigoLiberacao]--;
}
if(!strlen(inputtext)){
/* se nгo tiver nada na caixa de texto */
format(string, sizeof(string), "{6090E0}%s{F8FCF8}, um erro ocorreu, detalhe:\n\n» {F80000}| ERRO | {F8FCF8}Vocк deixou o campo em branco!\n\nInforme o dнgitos de 4 digitos que recebeu em seu e-mail para prosseguir com o registro", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO2, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Confirmar", "");
}
}
} else {
/* alterar */
format(string, sizeof(string), "{6894E8}%s{F8FCF8}, vocк estб em processo de alteraзгo do e-mail\n\nPara se registrar no servidor vocк deve informar um e-mail valido abaixo, serб enviado\num cуdigo no e-mail informado para prosseguir com o registro\n\n{F80000}Obs: {F8FCF8}Em alguns caso o e-mail com o cуdigo de liberaзгo vai para o lixo eletrфnico", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO1, DIALOG_STYLE_INPUT, "{F80000}Registro", string, "Enviar", "");
}
/* fim case DIALOG_REGISTRO3 */
return 1;
}
case DIALOG_REGISTRO4: {
if(response){
/* se a resposta for Masculino */
SetPlayerSkin(playerid, SKIN_MASCULINA);
DOF2_SetString(GetPlayerAccount(playerid), "Sexo", "Masculino");
DOF2_SetInt(GetPlayerAccount(playerid), "Skin", SKIN_MASCULINA);
DOF2_SaveFile();
GivePlayerMoney(playerid, DOF2_GetInt(GetPlayerAccount(playerid), "Dinheiro"));
SetSpawnInfo(playerid, 0, DOF2_GetInt(GetPlayerAccount(playerid), "Skin"), 822.8328, -1341.8531, 13.5177, 354.1657, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
} else {
/* se a resposta for Feminino */
SetPlayerSkin(playerid, SKIN_FEMININA);
DOF2_SetString(GetPlayerAccount(playerid), "Sexo", "Feminino");
DOF2_SetInt(GetPlayerAccount(playerid), "Skin", SKIN_FEMININA);
DOF2_SaveFile();
GivePlayerMoney(playerid, DOF2_GetInt(GetPlayerAccount(playerid), "Dinheiro"));
SetSpawnInfo(playerid, 0, DOF2_GetInt(GetPlayerAccount(playerid), "Skin"), 822.8328, -1341.8531, 13.5177, 354.1657, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
}
return 1;
/* fim case DIALOG_REGISTRO4 */
}
/* dialog registro */
/*------------------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------DIALOGLOGIN-------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------------------*/
/* dialog login */
case DIALOG_LOGIN: {
if( response ) {
/* logar */
new string[256];
if(!strlen(inputtext)){
format(string, sizeof(string), "{F8FCF8}Vocк deve digitar uma senha {7088E8}%s\n\n{F8FCF8}Digite sua senha e clique em ''{F84400}Logar{F8FCF8}''", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{F80000}Conta", string, "Logar", "Sair");
} else if( strcmp( inputtext, DOF2_GetString(GetPlayerAccount(playerid), "Senha"), false)){
/* senha errada */
pInfos[playerid][pSenhaInvalida]++;
SendClientMessage(playerid, 0xF84400AA, "| CONTA | Senha incorreta, Se errar 3 vezes terб que recuperar-lб por E-mail!");
format(string, sizeof(string), "{F8FCF8}Senha incorreta {7088E8}%s\n\n{F8FCF8}Digite sua senha e clique em ''{F84400}Logar{F8FCF8}''", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{F80000}Conta", string, "Logar", "Sair");
if(pInfos[playerid][pSenhaInvalida] == 3){
/* senha errada 3x */
format(string, sizeof(string), "{F8FCF8}Aperte em '{2090F8}Enviar{F8FCF8}' para enviar os dados para o seu e-mail contendo sua senha\n{F80000}Obs: {F8FCF8}A senha serб enviada para o e-mail cadastrado em nosso banco de dados", GetPlayerNome(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_MSGBOX, "{F80000}Registro {F8FCF8}Recuperaзгo de Senha", string, "Enviar", "Cancelar");
}
} else {
/* se o login for efetuado corretamente */
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "| CONTA | Logado com sucesso!");
GivePlayerMoney(playerid, DOF2_GetInt(GetPlayerAccount(playerid), "Dinheiro"));
SetPlayerScore(playerid, DOF2_GetInt(GetPlayerAccount(playerid), "Level"));
pInfos[playerid][pExperiencia] = DOF2_GetInt(GetPlayerAccount(playerid), "Experiencia");
SetSpawnInfo(playerid, 0, DOF2_GetInt(GetPlayerAccount(playerid), "Skin"), DOF2_GetFloat(GetPlayerAccount(playerid), "UltimaPosX"), DOF2_GetFloat(GetPlayerAccount(playerid), "UltimaPosY"), DOF2_GetFloat(GetPlayerAccount(playerid), "UltimaPosZ"), DOF2_GetFloat(GetPlayerAccount(playerid), "UltimaPosA"), 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
} else {
/* sair */
SendClientMessage(playerid, 0xF80000AA, "| LOGIN | Vocк foi kickado por sair sem logar");
SetTimerEx("KickPlayerTimer", 100, false, "i", playerid);
}
return 1;
/* fim dialog login */
}
case DIALOG_LOGIN1:{
if(response){
/* enviar informacoes para o email */
new string[512];
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "");
SendClientMessage(playerid, 0xF8FCF8AA, "| INFO | Dados com sua senha foi enviado para seu E-mail");
SendClientMessage(playerid, 0xF8FCF8AA, "| INFO | As vezes pode demorar 5 minutos");
SetTimerEx("KickPlayerTimer", 100, false, "i", playerid);
DOF2_SetString(GetPlayerAccount(playerid), "Senha", RandomCodeLiberacao());
DOF2_SaveFile();
format(string, sizeof(string), "%s,\n\nPara completar o processo de recuperaзгo de senha da sua conta no servidor ''Cidade Vida Real'', Use os seguintes dados:\n\nNick: %s\nSenha: %s\n\nIMPORTANTE: Ao logar no servidor use o comando /TrocarSenha para redefini-la\n\n\nAtenciosamente,\nLos Katchorros - Jogos Online\nhttp://www.loskatchorros.com.br", GetPlayerNome(playerid), GetPlayerNome(playerid), DOF2_GetString(GetPlayerAccount(playerid), "Senha"));
SendMail(DOF2_GetString(GetPlayerAccount(playerid), "E-mail"), SERVER_EMAIL, "Cidade Vida Real - Recuperaзгo de senha", "Recuperaзгo de senha", string);
} else {
/* cancelar e kickar o player */
SendClientMessage(playerid, 0xF8FCF8AA, "| INFO | Vocк cancelou a aзгo de enviar um E-mail");
SetTimerEx("KickPlayerTimer", 100, false, "i", playerid);
}
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
public KickPlayerTimer(playerid)
{
Kick(playerid);
return 1;
}
public UpTimer(playerid)
{
new string[64];
pInfos[playerid][pLevel] = GetPlayerScore(playerid);
if(pInfos[playerid][pExperiencia] == 4){
// up Level
pInfos[playerid][pExperiencia]++;
SetPlayerScore(playerid, pInfos[playerid][pLevel] + 1);
SendClientMessage(playerid, 0x75EA00AA, "| UP | Vocк ganhou +1 de Experiкncia ( 5/5 )");
format(string, sizeof(string), "| UP | Vocк juntou 5 de Experiкncia, e ganhou +1 level ( %d )", GetPlayerScore(playerid));
SendClientMessage(playerid, 0x75EA00AA, string);
pInfos[playerid][pExperiencia]--;
pInfos[playerid][pExperiencia]--;
pInfos[playerid][pExperiencia]--;
pInfos[playerid][pExperiencia]--;
pInfos[playerid][pExperiencia]--;
} else if(pInfos[playerid][pExperiencia] == 3){
// mensagem quando ele tiver 4
SendClientMessage(playerid, 0x75EA00AA, "| UP | Vocк ganhou +1 de Experiкncia ( 4/5 )");
pInfos[playerid][pExperiencia]++;
} else if(pInfos[playerid][pExperiencia] == 2){
// mensagem quando ele tiver 3
SendClientMessage(playerid, 0x75EA00AA, "| UP | Vocк ganhou +1 de Experiкncia ( 3/5 )");
pInfos[playerid][pExperiencia]++;
} else if(pInfos[playerid][pExperiencia] == 1){
// mensagem quando ele tiver 2
SendClientMessage(playerid, 0x75EA00AA, "| UP | Vocк ganhou +1 de Experiкncia ( 2/5 )");
pInfos[playerid][pExperiencia]++;
} else {
// mensagem quando ele tiver 1
SendClientMessage(playerid, 0x75EA00AA, "| UP | Vocк ganhou +1 de Experiкncia ( 1/5 )");
pInfos[playerid][pExperiencia]++;
}
return 1;
}
stock GetPlayerAccount(playerid){ // Aprendi em uma video aula do LeoBradoks
new file[128];
format(file, sizeof(file), PASTA_CONTA, GetPlayerNome(playerid));
return file;
}
stock GetPlayerNome(playerid){ // Aprendi em uma video aula do LeoBradoks
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
return aname;
}
stock RandomCodeLiberacao(){ // Esse codigo eu tirei do proprio forum samp infelizmente nao tenho o link do autor mais se souberem por favor me avisem
new codrand[16];
format(codrand, sizeof(codrand), "%s%d%s%d%d%d", LetterList[random(sizeof(LetterList))], random(10), LetterList[random(sizeof(LetterList))], random(10), random(10), random(10));
return codrand;
}
stock EmailCaps( text[ ] ){ // Esse codigo eu tirei do proprio forum samp infelizmente nao tenho o link do autor mais se souberem por favor me avisem
for( new i, j = strlen( text )-1; i < j; i ++ )
{
if( ( 'A' <= text[ i ] <= 'Z' ) && ( 'A' <= text[ i ] <= 'Z' ) )
return true;
}
return false;
}

DOF2::SetInt(File, "EXP", Player[playerid][Experiencia] = 0);
DOF2::SetInt(File, "Level", Player[playerid][Level] = 0);
DOF2::SaveFile();
SetPlayerScore(playerid, Player[playerid][Score]);
Player[playerid][Experiencia] = DOF2::GetInt(File, "EXP");
Player[playerid][Level] = DOF2::GetInt(File, "Level");
SetPlayerScore(playerid, Player[playerid][Level]);
Player[playerid][Level] = GetPlayerScore(playerid);
DOF2::SetInt(File, "EXP", Player[playerid][Experiencia]);
DOF2::SetInt(File, "Level", Player[playerid][Level]);
DOF2::SaveFile();
// resetando
Player[playerid][Experiencia] = 0;
Player[playerid][Level] = 0;
|
Originally Posted by KaioStinson
Nгo achei nгo cara
|