[ajuda]Sistema simples de entrega
#1

Quote:

new testecheck;
new testecheck2;
new testecheck3;



if (strcmp("/testcheck", cmdtext, true, 10) == 0)
{
GameTextForPlayer(playerid, "Vocк Precisa Pegar as Cargas!", 5000, 1);
testecheck = SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
return 1;
}





public OnPlayerEnterCheckpoint(playerid)
{

DisablePlayerCheckpoint(playerid);

if (IsPlayerInCheckpoint(testecheck))
{
GameTextForPlayer(playerid, "Vocк Precisa entregar as Cargas!", 5000, 1);
testecheck2 = SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
}
if (IsPlayerInCheckpoint(testecheck2))
{
GameTextForPlayer(playerid, "Vocк completou a entrega retorne a empresa!", 5000, 1);
testecheck3 = SetPlayerCheckpoint(playerid, 1129.7092,-1563.1699,13.5464,20.0);
}
if (IsPlayerInCheckpoint(testecheck3))
{
GameTextForPlayer(playerid, "Vocк completou a sua entrega!", 5000, 1);
GivePlayerMoney(playerid,1000);
}
return 1;
}

Bom galera to tentando montar aqui 1 pequeno comando para pegar cargas para caminhoneiros...
era pra funcionar assim.. eu usando o comando /testcheck iria aparecer o checkpoint e tals... dai quando eu entrasse no checkpoint ele iria me mostrar no mapa outro checkpoint como nos checkpoint de corrida.. entro em 1 e no mapa aparece o prуximo alvo... sу que nгo funciono .. eu nгo sei muito de pawno entгo pesquisei nгo achei nada dai o jeito foi montar esse tуpico aqui.. espero que me ajudem!!
Reply
#2

Porque nгo usas PlayerToPoint?
Reply
#3

Como vocк desabilita o checkpoint antes de conferir se o jogador estб nele ? ¬¬'

Apague esta linha:

PHP код:
DisablePlayerCheckpoint(playerid
Reply
#4

Porque Shadoww, ele pode estб usando outro check ao acionar o que ele quer, ai ele irб desabilitar o que estava sendo usado para habilitar o que ele irб querer.
Reply
#5

coloquei da seguinte maneira agora
Quote:

new pegar;
new entregar;
new voltar;



if (strcmp("/testcheck", cmdtext, true, 10) == 0)
{
GameTextForPlayer(playerid, "Vocк Precisa Pegar as Cargas!", 5000, 1);
pegar = SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
return 1;
}


public OnPlayerEnterCheckpoint(playerid)
{

if (IsPlayerInCheckpoint(pegar))
{
GameTextForPlayer(playerid, "Vocк Precisa entregar as Cargas!", 5000, 1);
entregar = SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
}

if (IsPlayerInCheckpoint(entregar))
{
GameTextForPlayer(playerid, "Vocк completou a entrega retorne a empresa!", 5000, 1);
voltar = SetPlayerCheckpoint(playerid, 1129.7092,-1563.1699,13.5464,20.0);
}

if (IsPlayerInCheckpoint(voltar))
{
GameTextForPlayer(playerid, "Vocк completou a sua entrega!", 5000, 1);
GivePlayerMoney(playerid,1000);
}
return 1;
}

sу que nгo ta dando seguimento .. quando eu uso /testcheck mostra o checkpoint "PEGAR" certo, dai quando eu pego ele me manda pegar o "ENTREGAR" sу que nesse entregar nгo ta mostrando o caminho para o "voltar" tico e teco estгo meio ruins hoje :P acho que da pra entender mais ou menos o que eu expliquei aew ^^ alguem sabe me dizer o pq de nгo ta funfando certo ?




Reply
#6

PHP код:
new kPkEkV;
//OnPlayerCommandText
if( !strcmpcmdtext"/testcheck"true ) )
{
   
GameTextForPlayerplayerid"Voce precisa pegar as cargas!"5000);
   
kP SetPlayerCheckpointplayerid2620.7441, -2226.809313.381020.0 );
   return 
true;
}
public 
OnPlayerEnterCheckpointplayerid )
{
   if( 
IsPlayerInCheckpointkP ) )
   {
      
GameTextForPlayerplayerid"Voce precisa entregar as cargas!"5000);
      
DisablePlayerCheckpointkP );
      
kE SetPlayerCheckpoint(playerid2620.7441, -2226.809313.381020.0 );
      return 
true;
   }
   if( 
IsPlayerInCheckpointkE ) )
   {
      
GameTextForPlayerplayerid"Voce completou a entrega. Retorne a empresa"5000);
      
DisablePlayerCheckpointkE );
      
kV SetPlayerCheckpointplayerid1129.7092, -1563.169913.5464,20.0 );
      return 
true;
   }
   if( 
IsPlayerInCheckpointkV ) )
   {
      
GameTextForPlayerplayerid"Voce completou a sua entrega"5000);
      
DisablePlayerCheckpointkV );
      
GivePlayerMoneyplayerid1000 );
      return 
true;
   }
   return 
true;

Reply
#7

deu o mesmo problema x.x vo tentar montar com o SetPlayerRaceCheckpoint dai qualquer coisa pergunto a vcs aew
Reply
#8

Adicione-me: diogobrandao_9@hotmail.com
Ajudo-o por msn.
Reply
#9

pawn Код:
//topo do GM
new Cp[MAX_PLAYERS];






if (strcmp("/testcheck", cmdtext, true, 10) == 0)
{
GameTextForPlayer(playerid, "Vocк Precisa Pegar as Cargas!", 5000, 1);
SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
Cp[playerid] = 1;
return 1;
}


public OnPlayerEnterCheckpoint(playerid)
{

if(Cp[playerid] == 1)
{
DisablePlayerCheckpoint(playerid) ;
GameTextForPlayer(playerid, "Vocк Precisa entregar as Cargas!", 5000, 1);
SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
Cp[playerid] = 2;
}

else if (Cp[playerid] == 2)
{
DisablePlayerCheckpoint(playerid) ;
GameTextForPlayer(playerid, "Vocк completou a entrega retorne a empresa!", 5000, 1);
SetPlayerCheckpoint(playerid, 1129.7092,-1563.1699,13.5464,20.0);
Cp[playerid] == 3
}

if (Cp[playerid] == 3)
{
DisablePlayerCheckpoint(playerid) ;
GameTextForPlayer(playerid, "Vocк completou a sua entrega!", 5000, 1);
GivePlayerMoney(playerid,1000);
Cp[playerid] = 0;
}
return 1;
}

Nem testei, ve ai se funciona....
Reply
#10

A funзгo IsPlayerInCheckpoint(playerid) na verdade checa se um jogador estб em um checkpoint qualquer, sendo assim nгo se pode usб-la para detectar se um jogador estб em certo checkpoint .


Por isso, recomendo que use IsPlayerInRangeofPoint .


Isso deve resolver o seu problema .


pawn Код:
if(strcmp("/testcheck",cmdtext,true,10)==0)
{
    GameTextForPlayer(playerid, "Vocк Precisa Pegar as Cargas!", 5000, 1);
    SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
    return 1;
}





public OnPlayerEnterCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);

    if(IsPlayerInRangeOfPoint(playerid, 3.0, 2620.7441,-2226.8093,13.3810))
    {
        GameTextForPlayer(playerid, "Vocк Precisa entregar as Cargas!", 5000, 1);
        SetPlayerCheckpoint(playerid, 2620.7441,-2226.8093,13.3810,20.0);
    }
    if(IsPlayerInRangeOfPoint(playerid, 3.0, 2620.7441,-2226.8093,13.3810))
    {
        GameTextForPlayer(playerid, "Vocк completou a entrega retorne a empresa!", 5000, 1);
        SetPlayerCheckpoint(playerid, 1129.7092,-1563.1699,13.5464,20.0);
    }
    if(IsPlayerInRangeOfPoint(playerid, 3.0, 1129.7092,-1563.1699,13.5464))
    {
        GameTextForPlayer(playerid, "Vocк completou a sua entrega!", 5000, 1);
        GivePlayerMoney(playerid,1000);
    }
    return 1;
}

Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)