SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 17/06/2017, 06:22 PM   #1
fsDaley
Little Clucker
 
Join Date: Nov 2013
Posts: 18
Reputation: 0
Post Sistema de Combustível

Alguém poderia me dizer por que meu sistema de combustível não está pegando ?

PHP Code:
stock UpdateGas(vehicleid)
{
    new 
_s[40];
    foreach(
Playerplayerid)
    {
        if(
IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == vehicleid)
        {
            if(
IsAPlane(GetPlayerVehicleID(playerid)))
            {
                
_s[0] = EOS;
                for(new 
0;Gas[vehicleid]/4g++)
                    
strcat(_s"100%");
                
PlayerTextDrawSetString(playerid,Textaviao9[playerid], _s);

                if(
Gas[vehicleid] <= 0)
                    
PlayerTextDrawSetString(playerid,Textaviao9[playerid], "Sem Gasolina");
                else if(
Gas[vehicleid] <= 10)
                    
PlayerTextDrawSetString(playerid,Textaviao9[playerid], "~y~Reserva");
            }
            else
            {
                
_s[0] = EOS;
                for(new 
0;Gas[vehicleid]/4g++)
                    
strcat(_s"i");
                
PlayerTextDrawSetString(playerid,TextGasolina[playerid], _s);

                if(
Gas[vehicleid] <= 0)
                    
PlayerTextDrawSetString(playerid,TextGasolina[playerid], "Sem Gasolina");
                else if(
Gas[vehicleid] <= 10)
                    
PlayerTextDrawSetString(playerid,TextGasolina[playerid], "~y~Reserva");
            }

        }
    }

    return 
0;

Simplesmente não abaixa a gasolina, fica sempre os mesmos quadradinhos, desde já agradeço.
fsDaley is offline   Reply With Quote
Old 17/06/2017, 07:13 PM   #2
MorteAmerica
Big Clucker
 
MorteAmerica's Avatar
 
Join Date: Feb 2015
Location: Gravatai-RS
Posts: 116
Reputation: 2
Default Re: Sistema de Combustível

Onde você chama essa stock?
__________________
Trabalhos:
DisableMachines
Projetos:
Modern World
MorteAmerica is offline   Reply With Quote
Old 18/06/2017, 12:50 PM   #3
MorteAmerica
Big Clucker
 
MorteAmerica's Avatar
 
Join Date: Feb 2015
Location: Gravatai-RS
Posts: 116
Reputation: 2
Default Re: Sistema de Combustível

PHP Code:
stock UpdateGas(vehicleid)
{
    new 
_s[40];
    foreach(
Playerplayerid)
    {
        if(
IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == vehicleid)
        {
            if(
Gas[vehicleid] > 0Gas[vehicleid]--; //Verifica se a variavel e maior que 0, se sim seta ela no valor anterior - 1.
            
            
if(IsAPlane(GetPlayerVehicleID(playerid)))
            {
                
_s[0] = EOS//
                
for(new 0;Gas[vehicleid]/4g++) //
                    
strcat(_s"100%"); // Nao entendi a necessidade dessas tres linhas que assinalei
                
PlayerTextDrawSetString(playerid,Textaviao9[playerid], _s);

                if(
Gas[vehicleid] <= 0)
                    
PlayerTextDrawSetString(playerid,Textaviao9[playerid], "Sem Gasolina");
                else if(
Gas[vehicleid] <= 10)
                    
PlayerTextDrawSetString(playerid,Textaviao9[playerid], "~y~Reserva");
            }
            else
            {
                
_s[0] = EOS//
                
for(new 0;Gas[vehicleid]/4g++) //
                    
strcat(_s"i"); // Tanto la, quanto aqui.
                
PlayerTextDrawSetString(playerid,TextGasolina[playerid], _s);

                if(
Gas[vehicleid] <= 0)
                    
PlayerTextDrawSetString(playerid,TextGasolina[playerid], "Sem Gasolina");
                else if(
Gas[vehicleid] <= 10)
                    
PlayerTextDrawSetString(playerid,TextGasolina[playerid], "~y~Reserva");
            }

        }
    }

    return 
0;

Se ajudei, rep++
__________________
Trabalhos:
DisableMachines
Projetos:
Modern World
MorteAmerica is offline   Reply With Quote
Old 19/06/2017, 12:56 AM   #4
fsDaley
Little Clucker
 
Join Date: Nov 2013
Posts: 18
Reputation: 0
Default Re: Sistema de Combustível

Quote:
Originally Posted by MorteAmerica View Post
PHP Code:
stock UpdateGas(vehicleid)
{
    new 
_s[40];
    foreach(
Playerplayerid)
    {
        if(
IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == vehicleid)
        {
            if(
Gas[vehicleid] > 0Gas[vehicleid]--; //Verifica se a variavel e maior que 0, se sim seta ela no valor anterior - 1.
            
            
if(IsAPlane(GetPlayerVehicleID(playerid)))
            {
                
_s[0] = EOS//
                
for(new 0;Gas[vehicleid]/4g++) //
                    
strcat(_s"100%"); // Nao entendi a necessidade dessas tres linhas que assinalei
                
PlayerTextDrawSetString(playerid,Textaviao9[playerid], _s);

                if(
Gas[vehicleid] <= 0)
                    
PlayerTextDrawSetString(playerid,Textaviao9[playerid], "Sem Gasolina");
                else if(
Gas[vehicleid] <= 10)
                    
PlayerTextDrawSetString(playerid,Textaviao9[playerid], "~y~Reserva");
            }
            else
            {
                
_s[0] = EOS//
                
for(new 0;Gas[vehicleid]/4g++) //
                    
strcat(_s"i"); // Tanto la, quanto aqui.
                
PlayerTextDrawSetString(playerid,TextGasolina[playerid], _s);

                if(
Gas[vehicleid] <= 0)
                    
PlayerTextDrawSetString(playerid,TextGasolina[playerid], "Sem Gasolina");
                else if(
Gas[vehicleid] <= 10)
                    
PlayerTextDrawSetString(playerid,TextGasolina[playerid], "~y~Reserva");
            }

        }
    }

    return 
0;

Se ajudei, rep++
Certo amigo, mais agora não aparece nem " 100 % " ou algum quadradinho mostrando o combustível, poderia me ajudar?
fsDaley is offline   Reply With Quote
Old 19/06/2017, 01:49 AM   #5
MorteAmerica
Big Clucker
 
MorteAmerica's Avatar
 
Join Date: Feb 2015
Location: Gravatai-RS
Posts: 116
Reputation: 2
Default Re: Sistema de Combustível

PHP Code:
stock UpdateGas(vehicleid)
{
    new 
str[40]; //Nova variavel.
    
for(new 0MAX_PLAYERSi++) //Faz um loop de 0 até o valor definido em MAX_PLAYERS.
    
{
        if(
IsPlayerConnected(i)) //Verifica se o id está connectado, se não tiver pula tudo que tiver dentro das { chaves }.
        
{
            if(
IsPlayerInAnyVehicle(i) && GetPlayerVehicleID(i) == vehicleid//Verifica se o player está em um veiculo e se o veiculo que ele está tem o mesmo id do veiculo cujo foi chamado junto com a stock.
            
{
                if(
Gas[vehicleid] > 0//Verifica se a variavel e maior que 0.
                
{
                    
Gas[vehicleid]--; //Subtrai 1 do valor da variavel.
                    
if(Gas[vehicleid] < 11//Verifica se o valor for menor que 11(de 10 até depois de 0, se necessario)
                    
{
                        
format(strsizeof(str), "~y~Reserva"); // Formata a variavel.
                    
}
                    else 
//Caso não estiver menor que 11.
                    
{
                        
format(strsizeof(str), "%d %%"Gas[vehicleid]); // Formata a variavel.
                    
}
                }
                else 
//Caso o valor não for maior que 0.
                
{
                    
format(strsizeof(str), "~r~Sem Combustivel"); //Formata a variavel.
                
}
                
PlayerTextDrawSetString(playerid,Textaviao9[i], str); //Geta o texto da variavel na textdraw.
            
}
        }
    }

Codigo bem basico, feito sem muita frescura. Só colocar que irá funcionar perfeitamente.
Se foi util, da rep++ irmão
__________________
Trabalhos:
DisableMachines
Projetos:
Modern World
MorteAmerica is offline   Reply With Quote
Old 19/06/2017, 03:11 AM   #6
fsDaley
Little Clucker
 
Join Date: Nov 2013
Posts: 18
Reputation: 0
Default Re: Sistema de Combustível

Quote:
Originally Posted by MorteAmerica View Post
PHP Code:
stock UpdateGas(vehicleid)
{
    new 
str[40]; //Nova variavel.
    
for(new 0MAX_PLAYERSi++) //Faz um loop de 0 até o valor definido em MAX_PLAYERS.
    
{
        if(
IsPlayerConnected(i)) //Verifica se o id está connectado, se não tiver pula tudo que tiver dentro das { chaves }.
        
{
            if(
IsPlayerInAnyVehicle(i) && GetPlayerVehicleID(i) == vehicleid//Verifica se o player está em um veiculo e se o veiculo que ele está tem o mesmo id do veiculo cujo foi chamado junto com a stock.
            
{
                if(
Gas[vehicleid] > 0//Verifica se a variavel e maior que 0.
                
{
                    
Gas[vehicleid]--; //Subtrai 1 do valor da variavel.
                    
if(Gas[vehicleid] < 11//Verifica se o valor for menor que 11(de 10 até depois de 0, se necessario)
                    
{
                        
format(strsizeof(str), "~y~Reserva"); // Formata a variavel.
                    
}
                    else 
//Caso não estiver menor que 11.
                    
{
                        
format(strsizeof(str), "%d %%"Gas[vehicleid]); // Formata a variavel.
                    
}
                }
                else 
//Caso o valor não for maior que 0.
                
{
                    
format(strsizeof(str), "~r~Sem Combustivel"); //Formata a variavel.
                
}
                
PlayerTextDrawSetString(playerid,Textaviao9[i], str); //Geta o texto da variavel na textdraw.
            
}
        }
    }

Codigo bem basico, feito sem muita frescura. Só colocar que irá funcionar perfeitamente.
Se foi util, da rep++ irmão
PHP Code:
C:\Users\luizg\Desktop\Brasil PlayLife RPG V2.0a\gamemodes\BPL.pwn(86939) : error 017undefined symbol "playerid" 
Deu esse erro irmão

E analisando o código parece que está aparecendo o gas apenas pra carros e não para ambos ( carros e avioes )
fsDaley is offline   Reply With Quote
Old 19/06/2017, 11:42 AM   #7
GuilhermeW
Huge Clucker
 
GuilhermeW's Avatar
 
Join Date: Sep 2016
Location: Lauro de Freitas, BA
Posts: 203
Reputation: 5
Default Re: Sistema de Combustível

Quote:
Originally Posted by fsDaley View Post
PHP Code:
C:\Users\luizg\Desktop\Brasil PlayLife RPG V2.0a\gamemodes\BPL.pwn(86939) : error 017undefined symbol "playerid" 
Deu esse erro irmão

E analisando o código parece que está aparecendo o gas apenas pra carros e não para ambos ( carros e avioes )
Substitua a palavra "playerid" pela letra "i" nessa linha, ficando assim:
PHP Code:
PlayerTextDrawSetString(i,Textaviao9[i], str); //Geta o texto da variavel na textdraw. 
Em relação a não estar setando o valor no TextDraw é pelo simples fato de que toda vez que você for setar um valor em um TextDraw terá que usar novamente a função para mostrá-lo, como no seu caso é PlayerTextDraw, tu vai usar a função:
PHP Code:
PlayerTextDrawShow(playeridTextID[playerid]); 
E não esqueça do "playerid" pelo "i"...
__________________
GuilhermeW is offline   Reply With Quote
Old 19/06/2017, 03:21 PM   #8
fsDaley
Little Clucker
 
Join Date: Nov 2013
Posts: 18
Reputation: 0
Default Re: Sistema de Combustível

Quote:
Originally Posted by GuilhermeW View Post
Substitua a palavra "playerid" pela letra "i" nessa linha, ficando assim:
PHP Code:
PlayerTextDrawSetString(i,Textaviao9[i], str); //Geta o texto da variavel na textdraw. 
Em relação a não estar setando o valor no TextDraw é pelo simples fato de que toda vez que você for setar um valor em um TextDraw terá que usar novamente a função para mostrá-lo, como no seu caso é PlayerTextDraw, tu vai usar a função:
PHP Code:
PlayerTextDrawShow(playeridTextID[playerid]); 
E não esqueça do "playerid" pelo "i"...
Tudo está arrumado, mais ainda continua não mostrando, e já está com a playertextdrawshow ativa

PHP Code:
TextGasolina[playerid] = CreatePlayerTextDraw(playerid136.500000288.060058" ");
    
PlayerTextDrawLetterSize(playeridTextGasolina[playerid], 0.3194990.820667);
    
PlayerTextDrawAlignment(playeridTextGasolina[playerid], 1);
    
PlayerTextDrawColor(playeridTextGasolina[playerid], -1);
    
PlayerTextDrawSetOutline(playeridTextGasolina[playerid], 1);
    
PlayerTextDrawBackgroundColor(playeridTextGasolina[playerid], 287323647);
    
PlayerTextDrawFont(playeridTextGasolina[playerid], 2);
    
PlayerTextDrawSetProportional(playeridTextGasolina[playerid], 1); 
Esse ai é o text da gasolina, e o drawshow está encima
fsDaley is offline   Reply With Quote
Old 19/06/2017, 04:47 PM   #9
GuilhermeW
Huge Clucker
 
GuilhermeW's Avatar
 
Join Date: Sep 2016
Location: Lauro de Freitas, BA
Posts: 203
Reputation: 5
Default Re: Sistema de Combustível

Amigo, o que eu quis dizer foi que, independentemente de ela já está sendo mostrada, toda vez que você setar um valor nela (PlayerTextDrawSetString), você irá ter que mostrá-la de novo, como uma forma de "update", ou seja, a atualização dela...

Exemplo:
PHP Code:
new var = 10//Criei uma variável com um determinado valor
new string[128]; //string
format(stringsizeof(string), "Valor: %d", var); //Formatando a string
PlayerTextDrawSetString(playeridTextID[playerid], string); //Imprimindo o valor no TextDraw 
Viu o code acima? Porém ainda não setou o valor na TD por um motivo, essa simples função:
PHP Code:
PlayerTextDrawShow(playeridTextID[playerid);
// É isso daqui que vai fazer que a TextDraw atualize o valor dela... 
__________________
GuilhermeW is offline   Reply With Quote
Old 19/06/2017, 05:27 PM   #10
RodrigoMSR
High-roller
 
RodrigoMSR's Avatar
 
Join Date: Mar 2015
Location: Paraná - Brazil
Posts: 1,015
Reputation: 134
Default Re: Sistema de Combustível

Se não diminui é porque Gas não está sendo alterada em nenhuma parte, faça o teste com comando para ver se muda o textdraw:
Code:
CMD:setgas(playerid)
{
	new vehicleid;
	if(!(vehicleid = GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, -1, "Você não está em um veículo");
    Gas[vehicleid] -= 10;
    SendClientMessage(playerid, -1, "Descontado -10 de combustível do seu veículo");
	return 1;
}
__________________
sttserver.net

RodrigoMSR is online now   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] Sistema de combustível _MtM_ Português/Portuguese 5 28/12/2016 12:07 AM
[Ajuda] Sistema de combustivel Italoigt Português/Portuguese 2 30/01/2016 10:55 PM
[Ajuda] Sistema de combustível maxblaya01 Português/Portuguese 2 04/10/2015 02:55 PM
[Pedido] Sistema de Combustível. Ley Português/Portuguese 2 15/09/2012 02:31 AM
[Ajuda] Combustivel Arthenry Português/Portuguese 3 25/07/2012 05:37 PM


All times are GMT. The time now is 09:11 AM.


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