02.11.2018, 18:07
Pessoal estou com um pequeno probleminha, fiz esse cуdigo aqui sу pra dar um exemplo do meu problema:
Neste caso, quando eu uso SetPlayerPos no jogador, ele detecta TELEPORT mesmo eu pegando a posiзгo dele no OnOutcomingRPC.
Por que isso acontece e como resolver sem usar TIMER ?
PHP Code:
#include <a_samp>
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#define FILTERSCRIPT
#include <Pawn.RakNet>
static
Float:old_pos[MAX_PLAYERS][3];
public OnPlayerUpdate(playerid){
if(GetPlayerDistanceFromPoint(playerid, old_pos[playerid][0], old_pos[playerid][1], old_pos[playerid][2]) > 40.0)
{
// Teleport Hack
}
else GetPlayerPos(playerid, old_pos[playerid][0], old_pos[playerid][1], old_pos[playerid][2]);
return 1;
}
public OnOutcomingRPC(playerid, rpcid, BitStream:bs){
if(rpcid == 12) // SetPlayerPos
{
BS_ReadValue(bs,
PR_FLOAT, old_pos[playerid][0],
PR_FLOAT, old_pos[playerid][1],
PR_FLOAT, old_pos[playerid][2]);
}
return 1;
}
Por que isso acontece e como resolver sem usar TIMER ?