[Ajuda] nao aparece checkpoint
#1

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);
    } 
Reply
#2

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.
Reply
#3

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 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)