[Ajuda] Sistema de localizaзгo
#1

Estou com problemas na hora de fazer um sistema de localizar para o meu servidor, em que o procurado ficasse sendo marcado, codigo:
PHP код:
  if(strcmp(cmd"/localizar"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
                if(!
IsACop(playerid))
                 {
                
SendClientMessage(playeridCOLOR_GREY"   Vocк nгo й um oficial !");
                return 
1;
            }
            
tmp strtok(cmdtextidx);
            if(!
strlen(tmp))
            {
                
SendClientMessage(playeridCOLOR_GRAD2"USE: /localizar [id]");
                return 
1;
            }
            
giveplayerid ReturnUser(tmp);
            if(
IsPlayerConnected(giveplayerid))
            {
                if(
giveplayerid != INVALID_PLAYER_ID)
                {
                    if(
giveplayerid == playerid) { SendClientMessage(playeridCOLOR_GREY"Vocк nгo pode se procurar!"); return 1; }
                    
GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                    new 
Float:X,Float:Y,Float:Z;
                    
GetPlayerPos(giveplayeridX,Y,Z);
                    
SetPlayerCheckpoint(playeridX,Y,Z6);
                }
            }
            else
            {
                
SendClientMessage(playeridCOLOR_GREY"   Esse nгo й um jogador ativo !");
                return 
1;
            }
        }
    } 
Reply
#2

teste para ver se nгo hб erros e se compila:

PHP код:
new playeridlocalizacao[MAX_PLAYERS], localizadorativado[MAX_PLAYERS]; // topo do gamemode
if(strcmp(cmd"/localizar"true) == 0)
{
    if(!
IsACop(playerid)) return SendClientMessage(playeridCOLOR_GREY"   Vocк nгo й um oficial !");
    
tmp strtok(cmdtextidx);
    if(!
strlen(tmp)) return SendClientMessage(playeridCOLOR_GRAD2"USE: /localizar [id]");
    
giveplayerid ReturnUser(tmp);
    
    if(!
IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_GREY"Esse nгo й um jogador ativo !");
    if(
giveplayerid == playerid) return SendClientMessage(playeridCOLOR_GREY"Vocк nгo pode se procurar!");
    new 
Float:X,Float:Y,Float:Z;
    
GetPlayerPos(giveplayeridX,Y,Z);
    
SetPlayerCheckpoint(giveplayeridX,Y,Z6);
    
    
playeridlocalizacao[playerid] = giveplayerid;
    
localizadorativado[playerid] = 1// setar em 0 em um /deslocalizar
    
return 1;
}
public 
OnPlayerUpdate(playerid) {
    if(
localizadorativado[playerid]) {
         new 
Float:X,Float:Y,Float:Z;
        
GetPlayerPos(playeridlocalizacao[playerid], XYZ);
        
SetPlayerCheckpoint(playeridlocalizacao[playerid], XYZ6);
    }
    return 
1;

Reply
#3

Nгo funcionou man continua a msm coisa.
Reply
#4

Vocк nгo chegou a falar no tуpico o erro...
O que aconteceu? Nгo cria o checkpoint? Seja mais especнfico.

Na funзгo SetPlayerCheckpoint, o ъltimo parвmetro й um float.
Coloque 6.0 e veja se o erro й resolvido.
Reply
#5

ele esta setando apenas 1 checkpoint no player
Reply
#6

Quote:
Originally Posted by MateGPlay
Посмотреть сообщение
ele esta setando apenas 1 checkpoint no player
E onde estб o erro?
Reply
#7

Como eu disse queria que o jogador ficasse sendo marcado por onde ele fosse, cade vez q o player se movesse ficasse setando Checkpoints no player
Reply
#8

Use SetTimerEx para chamar uma callback a cada 1,5/2 segundos.
Reply
#9

Й sу criar um settimerex e colocar pra setar checkpoints a cada 2 segundos?
Reply
#10

Quote:
Originally Posted by MateGPlay
Посмотреть сообщение
Й sу criar um settimerex e colocar pra setar checkpoints a cada 2 segundos?
Exatamente isso.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)