Portal SAMP
[Ajuda] [Include] ValksGPS OnPathFound Error: Code 4. - 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] [Include] ValksGPS OnPathFound Error: Code 4. (/showthread.php?tid=2422)



[Include] ValksGPS OnPathFound Error: Code 4. - ZiringueJhonsom - 25/05/2022

Salve salve, a toda galera da resistencia que se recusou a deixa o samp acabar, estou voltando agora depois de 9 anos sem mexer com pawn estou meio enferrujado  Rolleyes
hoje me deparei com o seguinte erro descrito abaixo. depois de uma grande pesquisa sem muito resultado, decide vir aqui compartilhar esse probleminha com a rapeize.


Estou tentando utilizar a seguinte linha de codigo,[font=Consolas, "Courier New", monospace] SetPlayerCheckpointGPS(playerid,-2199.3972,-2310.8535,30.4528,-1,true);  [/font]da include: ValkGPS

[font=Consolas, "Courier New", monospace]As defines se encontram da seguinte forma:[/font]

Código:
#define GPS_MODE_2
#include <YSF>
#include <GPS>
#include <valkGPS>

Os Plugins e includes YSI e GPS estão devidamente atualizados, não apresenta nenhum erro na hora da compilação do amx porem quando tento utilizar o [font=Consolas, "Courier New", monospace]SetPlayerCheckpointGPS[/font] Apresenta o seguinte erro no console do serve samp:
YSF: Per player gangzones are disabled, you aren't allowed to use "Natives:: PlayerGangZoneDestroy" function!


RE: YSF: Per player gangzones are disabled - CoelhaO_LokaO - 25/05/2022

Opa meu querido #include desatualizada ou algo do género de uma olhado neste post LINK deve estar com o mesmo problema.


RE: YSF: Per player gangzones are disabled - ZiringueJhonsom - 26/05/2022

o erro citado acima era apenas, as configurações do YSF, não havia includes desatualizadas mas mesmo, assim obrigado pela resposta.

Porem apos resolver o error me deparei com outro ate então sem solução.





Ao tenta usar a função: SetPlayerCheckpointGPS(playerid,1183.4017,-1297.4088,14.2143,-1,true); Ou GPS_SetPlayerCheckpoint(playerid,-2199.3972,-2310.8535,30.4528); da Include ValksGPS

Dentro do jogo e exibido a mensagem de erro Error: Code 4.



Que ocorre na seguinte forward:



Código:
forward AssignatePlayerPath(playerid, Float:X, Float:Y, Float:Z);
public AssignatePlayerPath(playerid, Float:X, Float:Y, Float:Z)
{
    new Float:x, Float:y, Float:z, MapNode:start, MapNode:target;
    GetPlayerPos(playerid, x, y, z);
   
    if((GDBP(X, Y, 0.0, x, y, 0.0) <= 7.5))
    {
        ForcePlayerEndLastRoute(playerid);
        return 1;
    }
   
    if (GetClosestMapNodeToPoint(x, y, z, start) != 0) return print("Error Code 1.");
    if (GetClosestMapNodeToPoint(X, Y, Z, target)) return print("Error: Code 2");

    if (FindPathThreaded(start, target, "OnPathFound", "i", playerid))
    {
        SendClientMessage(playerid, -1, "Error: Code 4.");
        return 1;
    }

    return 1;
}

Código:
if (FindPathThreaded(start, target, "OnPathFound", "i", playerid))
Aonde o if /\ que retorna o erro se refere a função abaixo \/


Código:
public OnPathFound(Path:pathid, playerid)
{
    if(!IsValidPath(pathid)) return SendClientMessage(playerid, -1, "Error: Code 5.");

DestroyRoutes(playerid);

new size, Float:length;
GetPathSize(pathid, size);
GetPathLength(pathid, length);

if(size == 1)
{
ForcePlayerEndLastRoute(playerid);
return /*SendClientMessage(playerid, -1, "Has llegado a tu destino.");*/ 1;
}

new MapNode:nodeid, index, Float:lastx, Float:lasty,Float:lastz;
GetPlayerPos(playerid, lastx, lasty, lastz);
GetClosestMapNodeToPoint(lastx, lasty, lastz, nodeid);
GetMapNodePos(nodeid, lastx, lasty, lastz);

new _max = MAX_DOTS;
if(MAX_DOTS > size) _max = size;

new Float:X,Float:Y,Float:Z;

for(new i = 0; i < _max; i++)
{
GetPathNode(pathid, i, nodeid);
GetPathNodeIndex(pathid, nodeid, index);
GetMapNodePos(nodeid, X, Y, Z);
if(i == index) CreateMapRoute(playerid, lastx, lasty, X, Y, ColorsRutePlayerGPS[ PlayerColorGPS[playerid] ]);
lastx = X+0.5;
lasty = Y+0.5;
}
    return 1;
}

OBS: todos plugins e includes necessárias estão devidamente atualizadas. segue os links abaixo:
https://github.com/IllidanS4/YSF/releases/tag/v2.2
https://github.com/kristoisberg/samp-gps-plugin/releases/tag/1.4.0


RE: YSF: Per player gangzones are disabled - renanxp123 - 08/05/2023

(26/05/2022 13:14)ZiringueJhonsom Escreveu: o erro citado acima era apenas, as configurações do YSF, não havia includes desatualizadas mas mesmo, assim obrigado pela resposta.

Porem apos resolver o error me deparei com outro ate então sem solução.





Ao tenta usar a função: SetPlayerCheckpointGPS(playerid,1183.4017,-1297.4088,14.2143,-1,true); Ou GPS_SetPlayerCheckpoint(playerid,-2199.3972,-2310.8535,30.4528); da Include ValksGPS

Dentro do jogo e exibido a mensagem de erro Error: Code 4.



Que ocorre na seguinte forward:



Código:
forward AssignatePlayerPath(playerid, Float:X, Float:Y, Float:Z);
public AssignatePlayerPath(playerid, Float:X, Float:Y, Float:Z)
{
    new Float:x, Float:y, Float:z, MapNode:start, MapNode:target;
    GetPlayerPos(playerid, x, y, z);
   
    if((GDBP(X, Y, 0.0, x, y, 0.0) <= 7.5))
    {
        ForcePlayerEndLastRoute(playerid);
        return 1;
    }
   
    if (GetClosestMapNodeToPoint(x, y, z, start) != 0) return print("Error Code 1.");
    if (GetClosestMapNodeToPoint(X, Y, Z, target)) return print("Error: Code 2");

    if (FindPathThreaded(start, target, "OnPathFound", "i", playerid))
    {
        SendClientMessage(playerid, -1, "Error: Code 4.");
        return 1;
    }

    return 1;
}

Código:
if (FindPathThreaded(start, target, "OnPathFound", "i", playerid))
Aonde o if /\ que retorna o erro se refere a função abaixo \/


Código:
public OnPathFound(Path:pathid, playerid)
{
    if(!IsValidPath(pathid)) return SendClientMessage(playerid, -1, "Error: Code 5.");

DestroyRoutes(playerid);

new size, Float:length;
GetPathSize(pathid, size);
GetPathLength(pathid, length);

if(size == 1)
{
ForcePlayerEndLastRoute(playerid);
return /*SendClientMessage(playerid, -1, "Has llegado a tu destino.");*/ 1;
}

new MapNode:nodeid, index, Float:lastx, Float:lasty,Float:lastz;
GetPlayerPos(playerid, lastx, lasty, lastz);
GetClosestMapNodeToPoint(lastx, lasty, lastz, nodeid);
GetMapNodePos(nodeid, lastx, lasty, lastz);

new _max = MAX_DOTS;
if(MAX_DOTS > size) _max = size;

new Float:X,Float:Y,Float:Z;

for(new i = 0; i < _max; i++)
{
GetPathNode(pathid, i, nodeid);
GetPathNodeIndex(pathid, nodeid, index);
GetMapNodePos(nodeid, X, Y, Z);
if(i == index) CreateMapRoute(playerid, lastx, lasty, X, Y, ColorsRutePlayerGPS[ PlayerColorGPS[playerid] ]);
lastx = X+0.5;
lasty = Y+0.5;
}
    return 1;
}

OBS: todos plugins e includes necessárias estão devidamente atualizadas. segue os links abaixo:
https://github.com/IllidanS4/YSF/releases/tag/v2.2
https://github.com/kristoisberg/samp-gps-plugin/releases/tag/1.4.0

como você conseguiu arrumar o primeiro erro?