[Tutorial] DS Add opзгo ao velocimetro do PPC_Trucking
#1

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
Reply
#2

Ййййййййййййййй bais ou benos, bais ou benos...
Reply
#3

agr sim ja da pra entender alguma coisa...

reputado.
Reply
#4

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

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

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

Eu entro no veнculo e nada!!
Reply
#7

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 !
Reply
#8

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 !
Reply
#9

Parabens vai ajudar alguns, usuarios do PPC_Truck
Reply
#10

Vou tentar aqui vlw!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)