02.08.2014, 02:49
Galera , esse meu salvamento ele salva mas muitas vezes buga tambйm , eu dou /q e tem vez que volto desetado de tudo , minha conta fica registrada mas ela nгo fica setada de nada , sу acontece as vezes eu fiz o teste pelo /rcon gmx , peguei outro gamemode e testei o gmx e votei setado , quando fui fazer no meu ele volta desetado todas as vezes.
Resumindo : o gamemode sу salva quando quer , muitas das vezes quando vou relogar volto sem estб setado
Codigo V
Em OnGameModeExit, OnPlayerDisconnect, nos settal(...).
Login e registro
Resumindo : o gamemode sу salva quando quer , muitas das vezes quando vou relogar volto sem estб setado
Codigo V
Код:
SalvarPlayer(playerid) { AntiDeAMX(); new String[256]; format(String, sizeof(String), CONTAS, Nome(playerid)); DOF2_SetInt(String,"Administrador", PlayerInfo[playerid][pAdmin]); DOF2_SetInt(String,"ADM", PlayerInfo[playerid][pADM]); DOF2_SetInt(String,"CBF", PlayerInfo[playerid][pCBF]); DOF2_SetInt(String,"PMLV", PlayerInfo[playerid][pPMLV]); DOF2_SetInt(String,"PMLS", PlayerInfo[playerid][pPMLS]); DOF2_SetInt(String,"PMSF", PlayerInfo[playerid][pPMSF]); DOF2_SetInt(String,"RGT", PlayerInfo[playerid][pRGT]); DOF2_SetInt(String,"Narrador", PlayerInfo[playerid][pNarrador]); DOF2_SetInt(String,"Score", GetPlayerScore(playerid)); DOF2_SetInt(String,"Viptemp", PlayerInfo[playerid][pVip]); new date[32]; new hour, minute, second, day, month, year; gettime(hour, minute, second); getdate(year, month, day); format(date, 32,"%d/%d/%d/%d/%d/%d",day,month,year,hour, minute, second); DOF2_SetString(String,"LastLogin", date); DOF2_SetInt(String,"LastLoginTick", Now()); DOF2_SaveFile(); return 1; } SetarPlayer(playerid) { AntiDeAMX(); new String[256]; format(String, sizeof(String), CONTAS, Nome(playerid)); PlayerInfo[playerid][pAdmin] = DOF2_GetInt(String, "Administrador"); PlayerInfo[playerid][pADM] = DOF2_GetInt(String, "ADM"); PlayerInfo[playerid][pCBF] = DOF2_GetInt(String, "CBF"); PlayerInfo[playerid][pPMLV] = DOF2_GetInt(String, "PMLV"); PlayerInfo[playerid][pPMLS] = DOF2_GetInt(String, "PMLS"); PlayerInfo[playerid][pPMSF] = DOF2_GetInt(String, "PMSF"); PlayerInfo[playerid][pRGT] = DOF2_GetInt(String, "RGT"); PlayerInfo[playerid][pNarrador] = DOF2_GetInt(String, "Narrador"); SetPlayerScore(playerid, DOF2_GetInt(String,"Score")); PlayerInfo[playerid][pVip] = DOF2_GetInt(String, "Viptemp"); return 1; }
Код:
SalvarPlayer(playerid) e/ou (i).
Код:
if(dialogid == REGISTRO) { if(response) { if(!strlen(inputtext)) { new Nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome, sizeof(Nome)); new String[128]; format(String, sizeof(String), "{FFFFFF}Parece que й sua primeira vez aqui.\n\nNick: %s\nStatus: {FF0000}Nгo registrada\n\n{FFFFFF}Digite uma senha abaixo para se registrar.", Nome); ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", String, "Registrar", "Cancelar"); SendClientMessage(playerid,VERMELHO,"ERRO: Senha invalida, digite uma senha vбlida"); return 1; } new Nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome, sizeof(Nome)); new String[128]; format(String, sizeof(String), CONTAS, Nome); DOF2_CreateFile(String); DOF2_SetString(String,"Senha",inputtext); DOF2_SetInt(String,"Administrador", 0); DOF2_SetInt(String,"ADM",0); DOF2_SetInt(String,"CBF",0); DOF2_SetInt(String,"PMLV",0); DOF2_SetInt(String,"PMLS",0); DOF2_SetInt(String,"PMSF",0); DOF2_SetInt(String,"RGT",0); DOF2_SetInt(String,"Narrador",0); DOF2_SetInt(String,"Score",0); DOF2_SetInt(String,"Viptemp",0); new year,day,month; getdate(year, month, day); new str[32]; format(str, 32,"%02d/%02d/%d",day,month,year); DOF2_SetString(String,"RegisterDate",str); GivePlayerMoney(playerid, 1000); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); format(String, sizeof(String), "[INFO] Sua conta foi registrada com a senha '%s'", inputtext); SendClientMessage(playerid, 0x51FF3EAA, String); DOF2_SaveFile(); ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Parabens! Conta criada com sucesso.\n\n Pra logar digite sua senha.", "Logar", "Cancelar"); return 1; } else { SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo quis se registrar, por este motivo foi kickado."); Kick(playerid); return 1; } } if(dialogid == LOGIN) { if(response) { if(!strlen(inputtext)) { new String[128]; format(String, sizeof(String), "{FFFFFF}Olб {FFFF00}%s.\n{FFFFFF}Tipo de Conta: {00CC00}Registrada.\n{FFFFFF}Digite sua senha para continuar:",Nome(playerid)); ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Logar", "Cancelar"); SendClientMessage(playerid,ERRO,"Senha incorreta digite-a novamente."); return 1; } new String[128]; format(String, sizeof(String), CONTAS, Nome(playerid)); if(!strcmp(inputtext,DOF2_GetString(String,"Senha"),false)) { ShowPlayerDialog(playerid,ESCOLHA_CIDADE,DIALOG_STYLE_LIST,"Sйrie A 2014","{FFFFFF}Norte/Nordeste {FFFF00}- {00CC00}[LV]\n{FFFFFF}Sudeste {FFFF00}- {00CC00}[LS]\n{FFFFFF}Sul {FFFF00}- {00CC00}[SF]","Escolher",""); GivePlayerMoney(playerid, 10000); SetarPlayer(playerid); SalvarPlayer(playerid); new lastlogin[19]; format(lastlogin, 19, "%s.", DOF2_GetString(String, "LastLogin") ); if(strlen(lastlogin) == 17) format(lastlogin, 9, "%s", DOF2_GetString(String, "LastLogin") ); else if(strlen(lastlogin) == 19) format(lastlogin, 11, "%s", DOF2_GetString(String, "LastLogin") ); else if(strlen(lastlogin) == 18) format(lastlogin, 10, "%s", DOF2_GetString(String, "LastLogin") ); SendClientMessage(playerid, -1, " "); SendFormattedMessage(playerid, AZULCLARO, "** Bem vindo %s!", Nome(playerid)); SendFormattedMessage(playerid, AZULCLARO, "** Registrado em %s | Ъltimo Login: %s.", DOF2_GetString(String, "RegisterDate"), lastlogin); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); if(PlayerInfo[playerid][pVip] >= 1) { new var10[128]; format(var10, sizeof(var10), "** Seu VIP expira em %s.", SistemaVipSpeed(PlayerInfo[playerid][pVip]-Now())); SendClientMessage(playerid, AZULCLARO, var10); SetPlayerArmour(playerid,100); } if(PlayerInfo[playerid][pAdmin] >= 1) { ShowPlayerDialog(playerid, 901, DIALOG_STYLE_PASSWORD,"Anti-Fake","Administrador, coloque a senha Anti-Fake:", "Ok", ""); } if(PlayerInfo[playerid][pADM] == 1) { SendClientMessage(playerid,AZULCLARO,"** Vocк й um Organizador."); } if(PlayerInfo[playerid][pCBF] == 1) { SendClientMessage(playerid,AZULCLARO,"** Vocк й um CBF."); } if(PlayerInfo[playerid][pNarrador] == 1) { SendClientMessage(playerid,AZULCLARO,"**: Vocк й um Narrador."); } if(PlayerInfo[playerid][pPMLS] >= 1) { SendClientMessage(playerid,AZULCLARO,"** Vocк й um Polнcial."); } if(PlayerInfo[playerid][pPMSF] >= 1) { SendClientMessage(playerid,AZULCLARO,"** Vocк й um Polнcial."); } if(PlayerInfo[playerid][pPMLV] >= 1) { SendClientMessage(playerid,AZULCLARO,"** Vocк й um Polнcial."); } return 1; } else { SendClientMessage(playerid,ERRO,"Senha incorreta digite-a novamente."); format(String, sizeof(String), "{FFFFFF}Olб {FFFF00}%s.\n{FFFFFF}Tipo de Conta: {00CC00}Registrada.\n{FFFFFF}Digite sua senha para continuar:",Nome(playerid)); ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Logar", "Cancelar"); } return 1; } else { SendClientMessage(playerid, ERRO, "Vocк nгo quis se logar, por este motivo foi kickado."); Kick(playerid); } return 1; }