SA-MP Forums Archive
[Ajuda] nao aparece checkpoint - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] nao aparece checkpoint (/showthread.php?tid=665610)



nao aparece checkpoint - moura98 - 10.04.2019

pq nao aparece o proximo checkpoint?
PHP Code:
public OnPlayerEnterCheckpoint(playerid)
{
    
DisablePlayerCheckpoint(playerid);
    return 
1;
}
CMD:pegarencomendas(playeridparams[])
{
    if(
Player[playerid][pEmprego] != Motoboy) return SCM(playerid, -1,"voce nao e motoboy");
    new 
vehid GetPlayerVehicleID(playerid);
    if( 
vehid veh_motoboy[0] || vehid veh_motoboy[7]) return SCM(playerid, -1"voce nao esta no veiculo da profissao!");
     if(
IsPlayerInRangeOfPoint(playerid2.01758.7290,-1683.9829,13.4583))
    {
        new 
rand random(sizeof(Encomendas));
        
cp_motoboy1 CreateDynamicCP(Encomendas[rand][0], Encomendas[rand][1], Encomendas[rand][2], 3.0,-1,-1,-1,100.0);
        
SetPlayerCheckpoint(playeridEncomendas[rand][0], Encomendas[rand][1], Encomendas[rand][2],3.0);
        
SCM(playerid, -1"Entregas iniciadas siga as marcas no mapa para entregar!");
      }
      else 
SCM(playerid, -1,"voce nao esta no local de coleta!");
      return 
true;
}
    if( 
checkpointid == cp_motoboy1)
    {
        new 
str[100], granavehid GetPlayerVehicleID(playerid);
        if( 
vehid veh_motoboy[0] || vehid veh_motoboy[7]) return SCM(playerid, -1"voce nao esta no veiculo da profissao!");
        
grana granamotoboyrandom();
        
GivePlayerMoney(playeridgrana);
        
format(str100"Voce entregou a encomenda e ganhou %i"grana);
        
SCM(playerid, -1str);
        
DestroyDynamicCP(cp_motoboy1);
        new 
rand random(sizeof(Encomendas));
        
cp_motoboy2 CreateDynamicCP(Encomendas[rand][0],Encomendas[rand][1],Encomendas[rand][2], 3.0,-1,-1,-1,100.0);
        
SetPlayerCheckpoint(playeridEncomendas[rand][0], Encomendas[rand][1], Encomendas[rand][2],3.0);
    } 



Re: nao aparece checkpoint - Cauezin - 10.04.2019

, o CreateDynamicCP, jб cria seu checkpoint, entгo nгo precisa desse SetPlayerCheckPoint.
, O CreateDynamicCP й da include streamer, entгo vocк tem que utilizar a callback da inc (OnPlayerEnterDynamicCP) Isso pode te ajudar.
, Quando vocк cria um checkpoint e coloca ele em uma variбvel, no caso ai й "cp_motoboy1", ele adere o valor 1 e quando vocк o destrуi, ele continua com o valor 1, entгo sempre que for destruir um checkpoint, logo depois coloque, "cp_motoboy1[playerid]= 0;"
Caso vocк nгo faзa isso, sempre que vocк entrar no segundo checkpoint, vai contar como se tivesse no primeiro ou vai executar tudo no mesmo checkpoint.


Re: nao aparece checkpoint - moura98 - 11.04.2019

Quote:
Originally Posted by Cauezin
View Post
, o CreateDynamicCP, jб cria seu checkpoint, entгo nгo precisa desse SetPlayerCheckPoint.
, O CreateDynamicCP й da include streamer, entгo vocк tem que utilizar a callback da inc (OnPlayerEnterDynamicCP) Isso pode te ajudar.
, Quando vocк cria um checkpoint e coloca ele em uma variбvel, no caso ai й "cp_motoboy1", ele adere o valor 1 e quando vocк o destrуi, ele continua com o valor 1, entгo sempre que for destruir um checkpoint, logo depois coloque, "cp_motoboy1[playerid]= 0;"
Caso vocк nгo faзa isso, sempre que vocк entrar no segundo checkpoint, vai contar como se tivesse no primeiro ou vai executar tudo no mesmo checkpoint.
Posso manter essas 2 callbacks juntas?
PHP Code:
public OnPlayerEnterDynamicCP(playeridcheckpointid) { 
public 
OnPlayerEnterCheckpoint(playerid) { DisablePlayerCheckpoint(playerid); return 1; } 
pois ainda esta bugando quando eu pego o primeiro checkpoint aparece q e peguei todos

PHP Code:
new cp_motoboy[5][MAX_PLAYERS]; // essa variavel e global esta fora da callback
public OnPlayerEnterDynamicCP(playeridcheckpointid)
{
if( 
checkpointid == cp_motoboy[0][playerid])
    {
        new 
str[100], granavehid GetPlayerVehicleID(playerid);
        if( 
vehid veh_motoboy[0] || vehid veh_motoboy[7]) return SCM(playerid, -1"voce nao esta no veiculo da profissao!");
        
grana granamotoboyrandom();
        
GivePlayerMoney(playeridgrana);
        
format(str100"Voce entregou a encomenda e ganhou %i"grana);
        
SCM(playerid, -1str);
        
DestroyDynamicCP(cp_motoboy[0][playerid]);
        
cp_motoboy[0][playerid] = 0;
        new 
rand random(sizeof(Encomendas));
        
cp_motoboy[1][playerid] = CreateDynamicCP(Encomendas[rand][0],Encomendas[rand][1],Encomendas[rand][2], 3.0,-1,-1,-1,1000.0);
    }
    if( 
checkpointid == cp_motoboy[1][playerid])
    {
        new 
str[100], granavehid GetPlayerVehicleID(playerid);
        if( 
vehid veh_motoboy[0] || vehid veh_motoboy[7]) return SCM(playerid, -1"voce nao esta no veiculo da profissao!");
        
grana granamotoboyrandom();
        
GivePlayerMoney(playeridgrana);
        
format(str100"Voce entregou a encomenda e ganhou %i"grana);
        
SCM(playerid, -1str);
        
DestroyDynamicCP(cp_motoboy[1][playerid]);
        
cp_motoboy[1][playerid] = 0;
        new 
rand random(sizeof(Encomendas));
        
cp_motoboy[2][playerid] = CreateDynamicCP(Encomendas[rand][0],Encomendas[rand][1],Encomendas[rand][2], 3.0,-1,-1,-1,1000.0);
    }
.... 
restante dos cp's