25/12/2021 11:56
(25/12/2021 03:29)Luiz Escreveu:(25/12/2021 02:39)fear Escreveu:(25/12/2021 02:01)Luiz Escreveu:(24/12/2021 23:28)fear Escreveu: Um problema que ficou agora que eu seto vip novo.. ele é obrigado a dar /salvarpos --- senão ele reloga e cai no limbo kkkk
Quando ele logar, faça a verificação para ver se o jogador usou o comando /salvarpos alguma vez. Caso ele nunca tenha usado, faça ele spawnar no local que ele estava antes de sair do servidor.
Como eu faço isso? kkk
Várias formas. A mais fácil é criar um novo salvamento e verifica se ele está como 1 ou true, exemplo:
Código PHP:DOF2_SetInt(Contas, "SalvouPos", 1);
...
if(DOF2_GetInt(Contas, "SalvouPos") == 0)
{
// não salvou pos
}
else
{
// salvou pos
}
Pode fazer também verificando as posições salvas. Se todas constarem 0, significa que ele nunca usou o comando
Código PHP:if(DOF2_GetInt(Contas, "PosSalvaX") == 0 && DOF2_GetInt(Contas, "PosSalvaY") == 0 && DOF2_GetInt(Contas, "PosSalvaZ") == 0)
{
// não salvou pos
}
else
{
// salvou pos
}
Fiz assim:
Código PHP:
CarregarVip(playerid)
{
new pastaFormatada[11 + 24], auxiliar[15];
format(pastaFormatada, sizeof(pastaFormatada), PASTA_VIP, Nome(playerid));
new rand = random(sizeof(RandomSpawn));
if(DOF2_GetInt(ContaPlayer, "UltimaPosX") == 0 && DOF2_GetInt(ContaPlayer, "UltimaPosY") == 0 && DOF2_GetInt(ContaPlayer, "UltimaPosZ") == 0)
{
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
}
else
{
SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
}
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);
}
}
}
}
Porém deu esse erro pesquisei sobre não entendi esse erro não.
Código PHP:
error 048: array dimensions do not match