Vip não esta salvando posição - fear - 22/12/2021
boa tarde. estou fazendo o sistema vip pro meu servidor mas tive um problema na hora de setar a posição salva do vip. ele salva no .ini certinho porém ele não ta setando ao logar no servidor tu spawna como qualquer player ao invez de spawnar a posição que tu salvou no /salvarpos
Código PHP: CMD:salvarpos(playerid) { if(!IsVip(playerid)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Comando exclusivo para Jogador Vip ou Sócio!");
GetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
SendClientMessage(playerid, Verde, "<!> {FFFFFF}Posição Salva Com sucesso, aqui será seu novo spawn!");
return 1; }
onplayerconnect:
Código PHP: ContaPlayer[playerid][UltimaPosX] = ContaPlayer[playerid][UltimaPosY] = ContaPlayer[playerid][UltimaPosZ] = 0.0;
Código PHP: CarregarVip(playerid) { new pastaFormatada[11 + 24], auxiliar[15];
format(pastaFormatada, sizeof(pastaFormatada), PASTA_VIP, Nome(playerid));
if(DOF2_FileExists(pastaFormatada)) { ContaPlayer[playerid][TempoVip] = DOF2_GetInt(pastaFormatada, "Tempo Vip");
if(DiaExpirado(ContaPlayer[playerid][TempoVip])) { MensagemVipExpirado[playerid] = true; }
else { format(ContaPlayer[playerid][Cor_Tag], 8, "%s", DOF2_GetString(pastaFormatada, "Cor Tag")); format(ContaPlayer[playerid][Frase_Vip], 15, "%s", DOF2_GetString(pastaFormatada, "Frase"));
ContaPlayer[playerid][VipLevel] = DOF2_GetInt(pastaFormatada, "Level Vip");
ContaPlayer[playerid][UltimaPosX] = DOF2_GetFloat(pastaFormatada, "Pos X"); ContaPlayer[playerid][UltimaPosY] = DOF2_GetFloat(pastaFormatada, "Pos Y"); ContaPlayer[playerid][UltimaPosZ] = DOF2_GetFloat(pastaFormatada, "Pos Z");
for(new i = 0; i < 10; i ++) { format(auxiliar, sizeof(auxiliar), "Slot Arma %d:", i);
inventarioPlayer[playerid][armaInv][i] = DOF2_GetInt(pastaFormatada, auxiliar); }
for(new i = 0; i < 5; i ++) { format(auxiliar, sizeof(auxiliar), "Slot Veiculo %d:", i);
inventarioPlayer[playerid][modeloCarroInv][i] = DOF2_GetInt(pastaFormatada, auxiliar); } } } }
SalvarVip(playerid) { new pastaFormatada[11 + 24], auxiliar[15];
format(pastaFormatada, sizeof(pastaFormatada), PASTA_VIP, Nome(playerid));
if(DOF2_FileExists(pastaFormatada)) { DOF2_SetString(pastaFormatada, "Cor Tag", ContaPlayer[playerid][Cor_Tag]); DOF2_SetString(pastaFormatada, "Frase", ContaPlayer[playerid][Frase_Vip]);
DOF2_SetFloat(pastaFormatada, "Pos X", ContaPlayer[playerid][UltimaPosX]); DOF2_SetFloat(pastaFormatada, "Pos Y", ContaPlayer[playerid][UltimaPosY]); DOF2_SetFloat(pastaFormatada, "Pos Z", ContaPlayer[playerid][UltimaPosZ]);
for(new i = 0; i < 10; i ++) { format(auxiliar, sizeof(auxiliar), "Slot Arma %d:", i);
DOF2_SetInt(pastaFormatada, auxiliar, inventarioPlayer[playerid][armaInv][i]); }
for(new i = 0; i < 5; i ++) { format(auxiliar, sizeof(auxiliar), "Slot Veiculo %d:", i);
DOF2_SetInt(pastaFormatada, auxiliar, inventarioPlayer[playerid][modeloCarroInv][i]); }
DOF2_SaveFile(); } }
RE: Vip não esta salvando posição - xbruno1000x - 22/12/2021
Creio que o salvamento esteja correto, olhei rápido mas não vi nenhum erro.
Por outro lado, não sei como você fez na OnPlayerSpawn. Lembre-se que as public's são lidas de cima pra baixo, então pode ser que o spawn comum seja chamado antes que o vip e esteja interferindo. Envie o spawn comum e o vip aqui para analisarmos melhor.
RE: Vip não esta salvando posição - fear - 22/12/2021
(22/12/2021 14:48)xbruno1000x Escreveu: Creio que o salvamento esteja correto, olhei rápido mas não vi nenhum erro.
Por outro lado, não sei como você fez na OnPlayerSpawn. Lembre-se que as public's são lidas de cima pra baixo, então pode ser que o spawn comum seja chamado antes que o vip e esteja interferindo. Envie o spawn comum e o vip aqui para analisarmos melhor.
Pode ser... eu uso spawn randomico.. mas no onplayerspawn não coloquei nada do salvpos do vip pode ser isso..
onplayerspawn:
Código PHP: public OnPlayerSpawn(playerid) { hasHS[playerid] = 0; SetPlayerRandomSpawn(playerid); StopAudioStreamForPlayer(playerid); if(playerConnectedNow[playerid]) { playerConnectedNow[playerid] = false;
SetTimerEx("LoadPlayerChainAdmin", 300, false, "i", playerid);
GetPlayerPos(playerid, playerAFKCheck[playerid][E_PLAYER_AFK_POS][0], playerAFKCheck[playerid][E_PLAYER_AFK_POS][1], playerAFKCheck[playerid][E_PLAYER_AFK_POS][2]);
SetTimerEx("CheckPlayerAfk", CHECK_PLAYER_AFK_TIME, true, "i", playerid);
SetTimerEx("CheckPlayerWeaponHack", 700, false, "i", playerid); checkPlayerNameTimer[playerid] = SetTimerEx("CheckPlayerNameAltered", 1000, true, "i", playerid);
ContaPlayer[playerid][Score] = GetPlayerScore(playerid); if(zoneperfect[playerid]) { TextDrawShowForPlayer(playerid, Textdraw0); TextDrawShowForPlayer(playerid, Textdraw1); TextDrawShowForPlayer(playerid, Textdraw2); TextDrawShowForPlayer(playerid, Textdraw3); TextDrawShowForPlayer(playerid, Textdraw4); TextDrawShowForPlayer(playerid, Textdraw5); TextDrawShowForPlayer(playerid, Players); }
if(relogiod[playerid]) { TextDrawShowForPlayer(playerid, DataC); TextDrawShowForPlayer(playerid, HoraC); } if(MundoDM[playerid]) { new weapons[13][2], i;
for (i = 0; i <= 12; i++) GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
ResetPlayerWeapons(playerid);
for(i = 0; i <= 12; i++) { if(weapons[i][0] == 46 || weapons[i][0] == 43) GivePlayerWeapon(playerid, weapons[i][0], weapons[i][1]); } } } if(ContaPlayer[playerid][Level] > 1) { spawnou[playerid] = true; SetPlayerClass(playerid, PLAYER_CLASS_ADMIN); } if(Logado[playerid] == false) Logado[playerid] = true;
if(ContaPlayer[playerid][Skin] > 0) { SetPlayerSkin(playerid, ContaPlayer[playerid][Skin]); }
if(Logado[playerid] == false) { Msg(playerid, Vermelho, "{90EE90}CONTA: {FFFFFF}Você tem que spawnar primeiro!"); return Kick(playerid); } return 1; }
não tenho nada do spawn do vip na public onplayerspawn somente no onplayerconnect como está acima.
RE: Vip não esta salvando posição - ipsLuan - 22/12/2021
Faça um debug.
Compare se a posição que você recebe no servidor é a mesma que está no arquivo.
RE: Vip não esta salvando posição - fear - 22/12/2021
(22/12/2021 16:28)ipsLuan Escreveu: Faça um debug.
Compare se a posição que você recebe no servidor é a mesma que está no arquivo.
Putz achei que com os códigos acima alguem saberia como resolver... debug não sei fazer...
RE: Vip não esta salvando posição - xbruno1000x - 22/12/2021
O que é SetPlayerRandomSpawn(playerid); ??
Me parece ser o responsável pela posição de spawn, e em nenhum lugar tem nada referente ao spawn vip...
RE: Vip não esta salvando posição - fear - 22/12/2021
(22/12/2021 22:12)xbruno1000x Escreveu: O que é SetPlayerRandomSpawn(playerid); ??
Me parece ser o responsável pela posição de spawn, e em nenhum lugar tem nada referente ao spawn vip...
spawn randômico... sera ele o problema?
Removi e não resolveu...
RE: Vip não esta salvando posição - xbruno1000x - 23/12/2021
(22/12/2021 22:37)fear Escreveu: spawn randômico... sera ele o problema?
Não acredito que é o problema. Eu só preciso saber onde está o trecho responsável por definir a posição do spawn.
RE: Vip não esta salvando posição - fear - 23/12/2021
(23/12/2021 10:22)xbruno1000x Escreveu: (22/12/2021 22:37)fear Escreveu: spawn randômico... sera ele o problema?
Não acredito que é o problema. Eu só preciso saber onde está o trecho responsável por definir a posição do spawn.
Ve se seria isso.. está no onplayerspawn.
Código PHP: ContaPlayer[playerid][UltimaPosX] = ContaPlayer[playerid][UltimaPosY] = ContaPlayer[playerid][UltimaPosZ] = 0.0;
Código PHP: enum PlayerInfo { Senha, Dinheiro, Score, Skin, Level, TempoOn, Class,
bool:CanBeYoutuber,
VipLevel, TempoVip,
Cor_Tag[8], Frase_Vip[15],
Float: UltimaPosX, Float: UltimaPosY, Float: UltimaPosZ };
RE: Vip não esta salvando posição - xbruno1000x - 23/12/2021
(23/12/2021 12:20)fear Escreveu: (23/12/2021 10:22)xbruno1000x Escreveu: (22/12/2021 22:37)fear Escreveu: spawn randômico... sera ele o problema?
Não acredito que é o problema. Eu só preciso saber onde está o trecho responsável por definir a posição do spawn.
Ve se seria isso.. está no onplayerspawn.
Código PHP: ContaPlayer[playerid][UltimaPosX] = ContaPlayer[playerid][UltimaPosY] = ContaPlayer[playerid][UltimaPosZ] = 0.0;
Código PHP: enum PlayerInfo { Senha, Dinheiro, Score, Skin, Level, TempoOn, Class,
bool:CanBeYoutuber,
VipLevel, TempoVip,
Cor_Tag[8], Frase_Vip[15],
Float: UltimaPosX, Float: UltimaPosY, Float: UltimaPosZ };
Onde fica o spawn comum? Esse código é do seu sistema de VIP, eu preciso do spawn comum.
|