Portal SAMP
[Ajuda] Vip não esta salvando posição - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Vip não esta salvando posição (/showthread.php?tid=1975)

Páginas: 1 2 3


RE: Vip não esta salvando posição - Luiz - 25/12/2021

Na verdade, como a posição é float, o correto seria DOF2_GetFloat.
Verifique se funciona.


RE: Vip não esta salvando posição - fear - 25/12/2021

(25/12/2021 16:48)Luiz Escreveu: Na verdade, como a posição é float, o correto seria DOF2_GetFloat.
Verifique se funciona.

ERRO:

Código PHP:
error 048: array dimensions do not match 

LINHA:
Código PHP:
if(DOF2_GetFloat(ContaPlayer"UltimaPosX") == && DOF2_GetFloat(ContaPlayer"UltimaPosY") == && DOF2_GetFloat(ContaPlayer"UltimaPosZ") == 0



RE: Vip não esta salvando posição - fear - 25/12/2021

Alguém sabe resolver??


RE: Vip não esta salvando posição - xbruno1000x - 25/12/2021

(25/12/2021 19:31)fear Escreveu: Alguém sabe resolver??

Faça o seguinte:
Código:
if(PlayerInfo[playerid][VipLevel] == 0 || ContaPlayer[playerid][UltimaPosX] == 0)
{
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
} else {
    SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
}

Lembre-se de corrigir a variável do Vip. O funcionamento do código é basicamente comparando a Pos Salva no eixo X(Caso o player não tenha salvo, provavelmente salvará na coordenada 0) e caso não tenha salvo, ele dá random spawn.


RE: Vip não esta salvando posição - fear - 25/12/2021

(25/12/2021 20:53)xbruno1000x Escreveu:
(25/12/2021 19:31)fear Escreveu: Alguém sabe resolver??

Faça o seguinte:
Código:
if(PlayerInfo[playerid][VipLevel] == 0 || ContaPlayer[playerid][UltimaPosX] == 0)
{
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
} else {
    SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
}

Lembre-se de corrigir a variável do Vip. O funcionamento do código é basicamente comparando a Pos Salva no eixo X(Caso o player não tenha salvo, provavelmente salvará na coordenada 0) e caso não tenha salvo, ele dá random spawn.
Funcionou. vlw mano!
Só uma dúvida.. como eu uso o SetPlayerFacingAngle no /salvarpos do vip pra ele não ficar com o ângulo errado da câmera??


RE: Vip não esta salvando posição - xbruno1000x - 25/12/2021

Código:
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]);
    GetPlayerFacingAngle(playerid, ContaPlayer[playerid][UltimaFacingAngle]);

    SendClientMessage(playerid, Verde, "<!> {FFFFFF}Posição Salva Com sucesso, aqui será seu novo spawn!");

    return 1;
}

Crie a variável UltimaFacingAngle junto com as outras para funcionar.

Depois altere o código do spawn para:
Código:
f(PlayerInfo[playerid][VipLevel] == 0 || ContaPlayer[playerid][UltimaPosX] == 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]);
    SetPlayerFacingAngle(playerid, ContaPlayer[playerid][UltimaFacingAngle]);
}



RE: Vip não esta salvando posição - fear - 26/12/2021

(25/12/2021 22:27)xbruno1000x Escreveu:
Código:
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]);
    GetPlayerFacingAngle(playerid, ContaPlayer[playerid][UltimaFacingAngle]);

    SendClientMessage(playerid, Verde, "<!> {FFFFFF}Posição Salva Com sucesso, aqui será seu novo spawn!");

    return 1;
}

Crie a variável UltimaFacingAngle junto com as outras para funcionar.

Depois altere o código do spawn para:
Código:
f(PlayerInfo[playerid][VipLevel] == 0 || ContaPlayer[playerid][UltimaPosX] == 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]);
    SetPlayerFacingAngle(playerid, ContaPlayer[playerid][UltimaFacingAngle]);
}

100% @RESOLVIDO - OBRIGADO A TODOS QUE AJUDAREM +REP