SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 05/09/2019, 09:35 PM   #1
MtPlayerZ
Banned
 
Join Date: Oct 2016
Posts: 235
Reputation: 0
Default Checkpoints Dinamicos

Comecei a utilizar Checkpoints Dinamicos do plugin streamer, porém, por algum motivo, quando entro em qualquer checkpoint nada acontece:

Um dos codigos:
PHP Code:
new CheckpointOnibus[MAX_PLAYERS][3];
CheckpointOnibus[playerid][0] = CreateDynamicCP(1758.5988, -1826.465113.480410.000playerid100.0);
SetPlayerMapIcon(playerid01758.5988, -1826.465113.480400xFF0000FFMAPICON_GLOBAL); 
PHP Code:
public OnPlayerEnterDynamicCP(playeridcheckpointid
{
if(
checkpointid == CheckpointOnibus[playerid][0])
    {
        if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
        {
            
DestroyDynamicCP(CheckpointOnibus[playerid][0]);
            
ResetCheckpoints(playerid);
            
TogglePlayerControllable(playerid0);
            
SendClientMessage(playeridCOR_AMARELO"[ONIBUS] Aguarde 10 segundos para o proximo ponto...");
            
TimerParadaOnibus[playerid] = SetTimerEx("ParadaOnibus"segundos(10), false"i"playerid);
        }else{ 
SendClientMessage(playerid,COLOR_ERROR,"|BMRP| Erro: Voce nao esta em um Onibus!"); }
    }
return 
1;

Todos os demais checkpoints são feitos desta maneira, mas por algum motivo, quando entro no checkpoint não acontece nada, ele só some.
MtPlayerZ is offline   Reply With Quote
Old 05/09/2019, 09:59 PM   #2
NWDMadara
Huge Clucker
 
NWDMadara's Avatar
 
Join Date: Mar 2018
Posts: 483
Reputation: 16
Default Re: Checkpoints Dinamicos

ResetCheckpoints(playerid)

Mande a função para nós
NWDMadara is offline   Reply With Quote
Old 05/09/2019, 10:04 PM   #3
MtPlayerZ
Banned
 
Join Date: Oct 2016
Posts: 235
Reputation: 0
Default Re: Checkpoints Dinamicos

Quote:
Originally Posted by NWDMadara View Post
ResetCheckpoints(playerid)

Mande a função para nós
não é nada tão importante, é somente uma função que reseta todas as variaveis e destroy os checkpoints.
PHP Code:
stock ResetCheckpoints(playerid)
{
    
DestroyDynamicCP(CheckCaminhoneiro[playerid]); DestroyDynamicCP(CheckAutoescolaA[playerid]); DestroyDynamicCP(CheckAutoescolaB[playerid]);
    
DestroyDynamicCP(CheckAutoescolaBreve[playerid]); DestroyDynamicCP(CheckChamadoTaxi[playerid]); DestroyDynamicCP(CheckChamadoEntregador[playerid]);
    
DestroyDynamicCP(CheckpointMyCar[playerid]); DestroyDynamicCP(CheckpointExplosao[playerid]); DestroyDynamicCP(CheckGPS[playerid]);
    
DestroyDynamicCP(CheckpointChamadoMec[playerid]); DestroyDynamicCP(CheckMinhaCasa[playerid]); 
    
DestroyDynamicCP(CheckpointOnibus[playerid][0]); DestroyDynamicCP(CheckpointOnibus[playerid][1]); DestroyDynamicCP(CheckpointOnibus[playerid][2]);
    
DestroyDynamicCP(CheckpointTecnico[playerid]); DestroyDynamicCP(CheckSedex[playerid][0]); DestroyDynamicCP(CheckSedex[playerid][1]);
    
DestroyDynamicCP(CheckSedex[playerid][2]); DestroyDynamicCP(CheckpointTransmadeira[playerid]); DestroyDynamicCP(CheckpointPescador[playerid]);
    
DestroyDynamicCP(CheckFuneraria[playerid][0]); DestroyDynamicCP(CheckFuneraria[playerid][1]); DestroyDynamicCP(CheckFuneraria[playerid][2]);
    
DestroyDynamicCP(CheckFuneraria[playerid][3]); DestroyDynamicCP(CheckCimento[playerid]);

    
CheckCaminhoneiro[playerid] = 0;
    
CheckAutoescolaA[playerid] = 0;
    
CheckAutoescolaB[playerid] = 0;
    
CheckAutoescolaBreve[playerid] = 0;
    
CheckChamadoTaxi[playerid] = 0;
    
CheckChamadoEntregador[playerid] = 0;
    
CheckpointMyCar[playerid] = 0
    
CheckpointExplosao[playerid] = 0;
    
CheckGPS[playerid] = 0
    
CheckpointChamadoMec[playerid] = 0
    
CheckMinhaCasa[playerid] = 0;
    
CheckpointOnibus[playerid][0] = 0;
    
CheckpointOnibus[playerid][1] = 0;
    
CheckpointOnibus[playerid][2] = 0;
    
CheckpointTecnico[playerid] = 0;
    
CheckSedex[playerid][0] = 0;
    
CheckSedex[playerid][1] = 0;
    
CheckSedex[playerid][2] = 0;
    
CheckpointTransmadeira[playerid] = 0;
    
CheckpointPescador[playerid] = 0;
    
CheckFuneraria[playerid][0] = 0;
    
CheckFuneraria[playerid][1] = 0;
    
CheckFuneraria[playerid][2] = 0;
    
CheckFuneraria[playerid][3] = 0;
    
CheckCimento[playerid] = 0;

    
RemovePlayerMapIcon(playerid0);  
    return 
1;

MtPlayerZ is offline   Reply With Quote
Old 05/09/2019, 10:24 PM   #4
SpikeCompiler
Huge Clucker
 
SpikeCompiler's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 323
Reputation: 20
Default Re: Checkpoints Dinamicos

Manda o que acontece ao timer finalizar. ''ParadaOnibus''
SpikeCompiler is offline   Reply With Quote
Old 05/09/2019, 11:40 PM   #5
MtPlayerZ
Banned
 
Join Date: Oct 2016
Posts: 235
Reputation: 0
Default Re: Checkpoints Dinamicos

Quote:
Originally Posted by SpikeCompiler View Post
Manda o que acontece ao timer finalizar. ''ParadaOnibus''
Quase a mesma coisa do primeiro codigo, exceto pela função de dar dinheiro, ele apenas manda uma mensagem que ele completou o ponto e entrega o dinheiro, logo após seta o checkpoint novamente com uma coordenada diferente.
É como eu disse no começo, este código foi só um exemplo, este problema esta em todos os checkpoints, quando eu entro neles, nada acontece.
MtPlayerZ is offline   Reply With Quote
Old 05/09/2019, 11:52 PM   #6
NWDMadara
Huge Clucker
 
NWDMadara's Avatar
 
Join Date: Mar 2018
Posts: 483
Reputation: 16
Default Re: Checkpoints Dinamicos

Você disse que eles somem, não? Talvez a função DestroyDynamicCP esteja impedindo que o restante da callback OnPlayerEnterDynamicCP seja lida pois o checkpoint passou a ser inválido.

Tente deixar essa função de resetar os checkpoints por último.
NWDMadara is offline   Reply With Quote
Old 06/09/2019, 12:06 AM   #7
MtPlayerZ
Banned
 
Join Date: Oct 2016
Posts: 235
Reputation: 0
Default Re: Checkpoints Dinamicos

Quote:
Originally Posted by NWDMadara View Post
Você disse que eles somem, não? Talvez a função DestroyDynamicCP esteja impedindo que o restante da callback OnPlayerEnterDynamicCP seja lida pois o checkpoint passou a ser inválido.

Tente deixar essa função de resetar os checkpoints por último.
Mesma coisa, eles somen e não acontece nada.
MtPlayerZ is offline   Reply With Quote
Old 06/09/2019, 12:08 AM   #8
NWDMadara
Huge Clucker
 
NWDMadara's Avatar
 
Join Date: Mar 2018
Posts: 483
Reputation: 16
Default Re: Checkpoints Dinamicos

Você colocou o DestroyDynamicCP e o ResetCheckpoints abaixo das outras funções?

PHP Code:
public OnPlayerEnterDynamicCP(playeridcheckpointid
{
if(
checkpointid == CheckpointOnibus[playerid][0])
    {
        if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
        {
            
TogglePlayerControllable(playerid0);
            
SendClientMessage(playeridCOR_AMARELO"[ONIBUS] Aguarde 10 segundos para o proximo ponto...");
            
TimerParadaOnibus[playerid] = SetTimerEx("ParadaOnibus"segundos(10), false"i"playerid);
            
DestroyDynamicCP(CheckpointOnibus[playerid][0]);
            
ResetCheckpoints(playerid);
        }else{ 
SendClientMessage(playerid,COLOR_ERROR,"|BMRP| Erro: Voce nao esta em um Onibus!"); }
    }
return 
1;

NWDMadara is offline   Reply With Quote
Old 06/09/2019, 12:14 AM   #9
MtPlayerZ
Banned
 
Join Date: Oct 2016
Posts: 235
Reputation: 0
Default Re: Checkpoints Dinamicos

Quote:
Originally Posted by NWDMadara View Post
PHP Code:
public OnPlayerEnterDynamicCP(playeridcheckpointid
{
if(
checkpointid == CheckpointOnibus[playerid][0])
    {
        if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
        {
            
TogglePlayerControllable(playerid0);
            
SendClientMessage(playeridCOR_AMARELO"[ONIBUS] Aguarde 10 segundos para o proximo ponto...");
            
TimerParadaOnibus[playerid] = SetTimerEx("ParadaOnibus"segundos(10), false"i"playerid);
            
DestroyDynamicCP(CheckpointOnibus[playerid][0]);
            
ResetCheckpoints(playerid);
        }else{ 
SendClientMessage(playerid,COLOR_ERROR,"|BMRP| Erro: Voce nao esta em um Onibus!"); }
    }
return 
1;


Você colocou o DestroyDynamicCP e o ResetCheckpoints abaixo das outras funções?
Não, eu os removi daí e coloquei para executar no ParadaOnibus, antes de setar o checkpoint novo, e continuou da mesma forma.
Mais isso que você esta falando de uma forma ou de outra não faz sentido, pois estas funções estão dentro da public que é chamada quando ele entra, se o checkpoint deixar de existir ou não, o jogador ja vai ter entrado dentro dele e ativado, o que não esta acontecendo.
MtPlayerZ is offline   Reply With Quote
Old 06/09/2019, 12:54 AM   #10
MtPlayerZ
Banned
 
Join Date: Oct 2016
Posts: 235
Reputation: 0
Default Re: Checkpoints Dinamicos

Aparentemente consegui corrigir inserindo uma verificação a mais na public:

PHP Code:
if(checkpointid == CheckpointOnibus[playerid][0] && CheckpointOnibus[playerid][0] == 1
Ja que o streamer atribui o ID 1 ao inves de um ID especifico a variavel.
MtPlayerZ is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Mapicons dinamicos Maklister Português/Portuguese 9 23/02/2013 02:32 AM


All times are GMT. The time now is 12:14 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.