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(playerid, params[])
{
    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(playerid, 2.0, 1758.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(playerid, Encomendas[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], grana, vehid = 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(playerid, grana);
        
format(str, 100, "Voce entregou a encomenda e ganhou %i", grana);
        
SCM(playerid, -1, str);
        
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(playerid, Encomendas[rand][0], Encomendas[rand][1], Encomendas[rand][2],3.0);
    } 



Re: nao aparece checkpoint - Cauezin - 10.04.2019

1°, o CreateDynamicCP, jб cria seu checkpoint, entгo nгo precisa desse SetPlayerCheckPoint.
2°, O CreateDynamicCP й da include streamer, entгo vocк tem que utilizar a callback da inc (OnPlayerEnterDynamicCP) Isso pode te ajudar.
3°, 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
1°, o CreateDynamicCP, jб cria seu checkpoint, entгo nгo precisa desse SetPlayerCheckPoint.
2°, O CreateDynamicCP й da include streamer, entгo vocк tem que utilizar a callback da inc (OnPlayerEnterDynamicCP) Isso pode te ajudar.
3°, 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(playerid, checkpointid) { 
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(playerid, checkpointid)
{
if( 
checkpointid == cp_motoboy[0][playerid])
    {
        new 
str[100], grana, vehid = 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(playerid, grana);
        
format(str, 100, "Voce entregou a encomenda e ganhou %i", grana);
        
SCM(playerid, -1, str);
        
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], grana, vehid = 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(playerid, grana);
        
format(str, 100, "Voce entregou a encomenda e ganhou %i", grana);
        
SCM(playerid, -1, str);
        
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