[Ajuda] O que tem de errado?
#1

O player nгo estб ganhando o dinheiro, quando passa pelo ponto. O que estб errado?

Код:
   
public OnPlayerEnterCheckpoint(playerid)
{                                                             
 if(IsPlayerInRangeOfPoint(playerid,1.0, 575.3373,856.0883,-42.7390))
    {
   GivePlayerMoney(playerid, 2000)
        return 1;
    }
Reply
#2

Pois vocк nгo criou nenhum checkpoint, ou se criou estб fazendo de uma forma errada.

Nessa sua logica o player sу iria conseguir passar e nгo iria acontecer nada, e porque que nгo irб acontecer nada? Pois vocк nгo definiu um timer para verificar se o player encontrasse na devida posiзгo.

Tem alguns jeitos de fazer, eu escolhi fazer por esse:
PHP код:
new 
    
bool:Recebeu[MAX_PLAYERS];
public 
OnGameModeInit()
{    
    
SetTimer("PlayerInCP"2000true);
    return 
1;
}
forward PlayerInCP();
public 
PlayerInCP()
{
    for(new 
i!= MAX_PLAYERSi++)
    {
        if(
IsPlayerInRangeOfPoint(i1.0575.3373,856.0883,-42.7390))
        {
            if(!
Recebeu[i])
            {
                
GivePlayerMoney(i2000);
                
Recebeu[i] = true;
                break;
            }
        }
    }
    return 
1;

Mas, vocк pode fazer por SetTimerEx e utilizando a Callback OnPlayerConnect mas creio que poderб lagar o servidor se tiver um grande nъmero de jogador conectado.

Outra forma de criar tambйm й a utilizaзгo de CheckPoint(Aparecerб um icone vermelho no chгo) esse irб ser o mais leve de todos e suprir o que vocк pede.
Reply
#3

PHP код:
public OnPlayerSpawn(playerid) {
    
SetPlayerCheckpoint(playerid575.3373856.0883, -42.73903.0);
    return 
1;
}
 
public 
OnPlayerEnterCheckpoint(playerid) {
    
GivePlayerMoney(playerid2000);
    
DisablePlayerCheckpoint(playerid);
    return 
1;

Nгo tem necessidade de adicionar um timer, basta usar o cйrebro.
Reply
#4

PHP код:
public OnPlayerSpawn(playerid) {
    
SetPlayerCheckpoint(playerid575.3373856.0883, -42.73903.0);
    return 
1;
}

public 
OnPlayerEnterCheckpoint(playerid) {
    if(
IsPlayerInRangeOfPoint(playerid3.0575.3373856.0883, -42.7390)) {
        
GivePlayerMoney(playerid2000);
        
DisablePlayerCheckpoint(playerid);
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)