SA-MP Forums Archive
[Tutorial] DS Add opзгo ao velocimetro do PPC_Trucking - 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)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] DS Add opзгo ao velocimetro do PPC_Trucking (/showthread.php?tid=471721)



DS Add opзгo ao velocimetro do PPC_Trucking - Don_Speed - 24.10.2013

Ola trago esse tutorial a pedido do thiagoMK (Acho que esse o nick dele)
Motivo Dizem que o tutorial do Joгo nгo fico bom .
Ele nгo pediu pra mim , pediu para o mau.tito mas tomei a liberdade de fazer.

ENTГO VAMOS LA

Em TPlayerData que se encontra na include PPC_Defines vocк precisa criar uma variavel para sua textdraw.
Neste exemplo usaremos
PHP Code:
Text:Lataria 
Agora na include PPC_Speedometer serб onde tudo ocorrerб

Neste tutorial usarei um codigo que eu ja tinha feito para meu GameMode.
Este exemplo sera de uma lataria ...

Agora em Speedometer_Setup na include PPC_Speedometer vocк criarб a textdraw

Exemplo
PHP Code:
Speedometer_Setup(playerid)
{
    
APlayerData[playerid][Lataria] = TextDrawCreate(479.000000406.000000" "); // Sem estar escrito nada
    
TextDrawBackgroundColor(APlayerData[playerid][Lataria], 255);
    
TextDrawLetterSize(APlayerData[playerid][Lataria], 0.4499991.599998);
    
TextDrawColor(APlayerData[playerid][Lataria], -1);
    
TextDrawSetOutline(APlayerData[playerid][Lataria], 1);
    
TextDrawSetProportional(APlayerData[playerid][Lataria], 1);
    
        
TextDrawShowForPlayer(playeridAPlayerData[playerid][Lataria]);
    
APlayerData[playerid][SpeedometerTimer] = SetTimerEx("Speedometer_Update"100true"i"playerid);
    return 
1;

PS: Observe que diminui as opзoes da textdraw para evitar bug da textdraw do GameMode.

Depois na callback Speedometer_Cleanup faremos para que a textdraw seja deletada .
Para que possa ser criada e deletada varias vezes .
PHP Code:
Speedometer_Cleanup(playerid)
{
    
TextDrawDestroy(APlayerData[playerid][Lataria]);
    return 
1;

Agora vem uma parte mais chatinha de se explicar ...
Agora em Speedometer_Update faremos que a textdraw seja atualizada.
Dentro desta callback vocк ira procurar

PHP Code:
if(vehicleid != 0
Encontrando isso vocк ja sabe que abaixo disso e onde fica a textdraw do velocimetro ...
... que fica atualizando.

Entгo iremos adicionar esta "textdraw"

PS: Lembrando que nesse caso e necessario getar a latira do vehicle
PHP Code:
if(vehicleid != 0)
{
        new 
Float:Vida;// Variavel da vida
        
GetVehicleHealth(GetPlayerVehicleID(playerid), Vida); // getando a vida
/*------------------------------------------------------------------------------
                                Lataria
------------------------------------------------------------------------------*/
        
new ss[50];
        if ((
Vida 0) && (Vida 1000))
            
format(ss50"~w~Lataria: ~w~I~r~........."Vida);
        if ((
Vida >= ((1000 10) * 1)) && (Vida < ((1000 10) * 2)))
            
format(ss50"~w~Lataria: ~w~II~r~........"Vida);
        if ((
Vida >= ((1000 10) * 2)) && (Vida < ((1000 10) * 3)))
            
format(ss50"~w~Lataria: ~w~III~r~......."Vida);
        if ((
Vida >= ((1000 10) * 3)) && (Vida < ((1000 10) * 4)))
            
format(ss50"~w~Lataria: ~w~IIII~r~......"Vida);
        if ((
Vida >= ((1000 10) * 4)) && (Vida < ((1000 10) * 5)))
            
format(ss50"~w~Lataria: ~w~IIIII~r~....."Vida);
        if ((
Vida >= ((1000 10) * 5)) && (Vida < ((1000 10) * 6)))
            
format(ss50"~w~Lataria: ~w~IIIIII~r~...."Vida);
        if ((
Vida >= ((1000 10) * 6)) && (Vida < ((1000 10) * 7)))
            
format(ss50"~w~Lataria: ~w~IIIIIII~r~..."Vida);
        if ((
Vida >= ((1000 10) * 7)) && (Vida < ((1000 10) * 8)))
            
format(ss50"~w~Lataria: ~w~IIIIIIII~r~.."Vida);
        if ((
Vida >= ((1000 10) * 8)) && (Vida < ((1000 10) * 9)))
            
format(ss50"~w~Lataria: ~w~IIIIIIIII~r~."Vida);
        if ((
Vida >= ((1000 10) * 9)) && (Vida <= 1000))
            
format(ss50"~w~Lataria: ~w~IIIIIIIIII"Vida);
        if (
Vida == 0)
            
format(ss50"~w~Lataria: ~r~.........."Vida);
        
TextDrawSetString(APlayerData[playerid][Lataria], ss); // atualizando a textdraw 

Apos isto sua textdraw estarб quase pronta , vocк so tera que encontrar mais uma coisa.
Dentro da mesma callback ira procurar isto
PHP Code:
else
    {
        
TextDrawSetString(APlayerData[playerid][SpeedometerText], " ");
        
TextDrawSetString(APlayerData[playerid][FuelGauge], " ");
        
APlayerData[playerid][PlayerSpeed] = 0;
    } 
Isto e para setar a string da sua textdraw para que nгo apareзa nada quando vocк ou u8m jogador de seu servidor nгo tiver em um vehicle.
Ficaria assim
PHP Code:
else
    {
        
TextDrawSetString(APlayerData[playerid][SpeedometerText], " ");
        
TextDrawSetString(APlayerData[playerid][FuelGauge], " ");
        
TextDrawSetString(APlayerData[playerid][Lataria], " ");
        
APlayerData[playerid][PlayerSpeed] = 0;
    } 


Creditos
DonSpeed - Tutorial
[iPs]mau.tito - Codigo



Re: DS Add opзгo ao velocimetro do PPC_Trucking - BielCOP - 24.10.2013

Ййййййййййййййй bais ou benos, bais ou benos...


Re: DS Add opзгo ao velocimetro do PPC_Trucking - PT - 25.10.2013

agr sim ja da pra entender alguma coisa...

reputado.


Re: DS Add opзгo ao velocimetro do PPC_Trucking - BielCOP - 25.10.2013

O tutorial esta bom, porem ele eh de um unico Gm que nem todos usam... :S


Re: DS Add opзгo ao velocimetro do PPC_Trucking - Don_Speed - 25.10.2013

Quote:
Originally Posted by BielCOP
View Post
O tutorial esta bom, porem ele eh de um unico Gm que nem todos usam... :S
Ese GM e a Mania BR , se ta boiando .



Re: DS Add opзгo ao velocimetro do PPC_Trucking - AndersonAq - 25.10.2013

Eu fiz tudo certinho, revisei vбrias vezes mas o textdraw nгo aparece, por que??

Eu entro no veнculo e nada!!


Re: DS Add opзгo ao velocimetro do PPC_Trucking - mau.tito - 25.10.2013

Quote:
Originally Posted by AndersonAq
View Post
Eu fiz tudo certinho, revisei vбrias vezes mas o textdraw nгo aparece, por que??

Eu entro no veнculo e nada!!
SimpleS ele esqueceu de colocar a funзгo no Speedometer_Setup .
PHP Code:
TextDrawShowForPlayer(playeridAPlayerData[playerid][Lataria]); 
colocando isso ele irar aparecer , nгo esqueзa de colocar para sumir quando sair do carro.

#Topic poderia ter explicado melhor !


Re: DS Add opзгo ao velocimetro do PPC_Trucking - Don_Speed - 25.10.2013

Quote:
Originally Posted by AndersonAq
View Post
Eu fiz tudo certinho, revisei vбrias vezes mas o textdraw nгo aparece, por que??

Eu entro no veнculo e nada!!

Esqueci uma parte , ja corrigida no topico.


#mautito
Cala boca filho !



Respuesta: DS Add opзгo ao velocimetro do PPC_Trucking - DanDRT - 25.10.2013

Parabens vai ajudar alguns, usuarios do PPC_Truck


Re : DS Add opзгo ao velocimetro do PPC_Trucking - ThiagoMK - 25.10.2013

Vou tentar aqui vlw!