deleted -
Joe Vagos - 28.06.2012
deleted
Re: Help me making this -
Joe Vagos - 30.06.2012
still need help !!!
Re: Help me making this -
Joe Vagos - 01.07.2012
NO one
Re: Help me making this -
LaGrande - 01.07.2012
If it's related with gametext then it will be much easy.
Show us the code
Re: Help me making this -
FalconX - 01.07.2012
Quote:
Originally Posted by LaGrande
If it's related with gametext then it will be much easy.
Show us the code
|
Not gametexts it's textdraws - and it's not really hard to make that. You have to use timer for it and update the textdraws according to what you want to do.
For speed you can use the following function:-
pawn Код:
stock GetVehicleSpeed(vehicleid)
{
new Float:V[3];
GetVehicleVelocity(vehicleid, V[0], V[1], V[2]);
return floatround(floatsqroot(V[0] * V[0] + V[1] * V[1] + V[2] * V[2]) * 180.00);
}
Note: this is in km/h so ye and it is not really tested by me.
For fuel you can just checkout the following tutorial made by gamer:-
https://sampforum.blast.hk/showthread.php?tid=169284
EDIT: I just realized you want to change the color and you have already made this code. Anyway to change the colors check in the timer if you are using something like GetVehicleSpeed you could use it something like:
pawn Код:
if( GetVehicleSpeed( vehicleid ) < 100 ) // if speed is less then 100
{
TextDrawSetString( YOURTD, "~r~%d" ); // I am sorry but I am on my internet tablet you have to format it before setting string into the textdraw and you should know that ~r~ is red colour ~b~ blue, ~g~ green, ~w~ white and etc..
}
Regards,
FalconX
deleted -
Joe Vagos - 01.07.2012
deleted
deleted -
Joe Vagos - 01.07.2012
deleted
Re: Help me making this -
LaGrande - 01.07.2012
Have Patience and DO NOT BREAK THE RULES.
don't double post or we won't response/help.
Try to understand FalconX's post it is your problem's solution.
deleted -
Joe Vagos - 01.07.2012
deleted
Re: Help me making this -
Joe Vagos - 02.07.2012
#include <a_samp>
new Text:td_fuel[MAX_PLAYERS];
new Text:td_vhealth[MAX_PLAYERS];
new Text:td_vspeed[MAX_PLAYERS];
new Text:td_box[MAX_PLAYERS];
forward timer_update();
forward timer_refuel(playerid);
new isrefuelling[MAX_PLAYERS] = 0;
new fuel[MAX_VEHICLES];
new Float:max_vhealth[MAX_VEHICLES];
public OnFilterScriptInit()
{
for(new i=0;i<MAX_VEHICLES;i++) {
GetVehicleHealth(i,max_vhealth[i]); //getting max health
fuel[i] = 250 + random(150); //setting fuel for vehicles
}
for(new i=0;i<MAX_PLAYERS;i++) { //setting up all textdraws
td_fuel[i] = TextDrawCreate(476,355,"Fuel:");
td_vhealth[i] = TextDrawCreate(478,376,"Health:");
td_vspeed[i] = TextDrawCreate(478,397,"Speed:");
td_box[i] = TextDrawCreate(478.000000,328.000000,"Vehicle Stats: ~n~~n~~n~~n~");
TextDrawUseBox(td_box[i],1);
TextDrawBoxColor(td_box[i],0x00000066);
TextDrawTextSize(td_box[i],626.000000,21.000000);
TextDrawAlignment(td_fuel[i],0);
TextDrawAlignment(td_vhealth[i],0);
TextDrawAlignment(td_vspeed[i],0);
TextDrawAlignment(td_box[i],0);
TextDrawBackgroundColor(td_fuel[i],0x000000ff);
TextDrawBackgroundColor(td_vhealth[i],0x000000ff);
TextDrawBackgroundColor(td_vspeed[i],0x000000ff);
TextDrawBackgroundColor(td_box[i],0x000000cc);
TextDrawFont(td_fuel[i],1);
TextDrawLetterSize(td_fuel[i],0.699999,2.699999);
TextDrawFont(td_vhealth[i],1);
TextDrawLetterSize(td_vhealth[i],0.699999,2.699999);
TextDrawFont(td_vspeed[i],1);
TextDrawLetterSize(td_vspeed[i],0.699999,2.699999);
TextDrawFont(td_box[i],0);
TextDrawLetterSize(td_box[i],0.699999,2.899999);
TextDrawColor(td_fuel[i],0xffffffff);
TextDrawColor(td_vhealth[i],0xffffffff);
TextDrawColor(td_vspeed[i],0xffffffff);
TextDrawColor(td_box[i],0xffffffff);
TextDrawSetOutline(td_fuel[i],1);
TextDrawSetOutline(td_vhealth[i],1);
TextDrawSetOutline(td_vspeed[i],1);
TextDrawSetOutline(td_box[i],1);
TextDrawSetProportional(td_fuel[i],1);
TextDrawSetProportional(td_vhealth[i],1);
TextDrawSetProportional(td_vspeed[i],1);
TextDrawSetProportional(td_box[i],1);
TextDrawSetShadow(td_fuel[i],1);
TextDrawSetShadow(td_vhealth[i],1);
TextDrawSetShadow(td_vspeed[i],1);
TextDrawSetShadow(td_box[i],10);
}
SetTimer("timer_update",1000,true);
return 1;
}
public OnFilterScriptExit()
{
for(new i=0;i<MAX_PLAYERS;i++) {
TextDrawDestroy(td_fuel[i]);
TextDrawDestroy(td_vhealth[i]);
TextDrawDestroy(td_vspeed[i]);
TextDrawDestroy(td_box[i]);
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
TextDrawSetString(td_fuel[playerid],"Fuel:");
TextDrawSetString(td_vhealth[playerid],"Health:");
TextDrawSetString(td_vspeed[playerid],"Speed:");
TextDrawShowForPlayer(playerid,td_fuel[playerid]);
TextDrawShowForPlayer(playerid,td_vspeed[playerid]);
TextDrawShowForPlayer(playerid,td_vhealth[playerid]);
TextDrawShowForPlayer(playerid,td_box[playerid]);
} else {
TextDrawHideForPlayer(playerid,td_fuel[playerid]);
TextDrawHideForPlayer(playerid,td_vspeed[playerid]);
TextDrawHideForPlayer(playerid,td_vhealth[playerid]);
TextDrawHideForPlayer(playerid,td_box[playerid]);
}
return 1;
}
public OnPlayerCommandText(playerid,cmdtext[]) {
if (!strcmp("/refuel",cmdtext,true,7)) {
if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFC800FF,"You are not in an vehicle!"); //if a player isnt in a vehicle, it stops here
if (isrefuelling[playerid]) return SendClientMessage(playerid,0xFFC800FF,"You are already refuelling!"); //if a player is already refuelling, it stops here
if (GetPlayerMoney(playerid) - 80 <0) return SendClientMessage(playerid,0xFFC800FF,"You dont have enough money!"); //if a player doesnt have $80 anymore, it stops here
GivePlayerMoney(playerid,-80); //Sets the player's cash -$80
SetCameraBehindPlayer(playerid); //Sets the camera behind the player (looks better because the player will be frozen for a few secs)
TogglePlayerControllable(playerid,0); //freezes the player so he cant drive and refuel at the same time
isrefuelling[playerid] = 1; //setting isrefuelling to 1 so the player cant spam /refuel
TextDrawSetString(td_fuel[playerid],"Refuelling..."); //changing textdraw to /refuel
SetTimerEx("timer_refuel",4500,false,"i",playerid) ; //setting refueltimer
return 1;
}
return 0;
}
public timer_update()
{
for(new i=0;i<MAX_PLAYERS;i++) {
if (isrefuelling[i]) continue;
new vid = GetPlayerVehicleID(i);
if (GetPlayerVehicleSeat(i) == 0) {
fuel[vid] = fuel[vid] - 2;
if (fuel[vid]<1)
{
fuel[vid] = 0;
RemovePlayerFromVehicle(i);
GameTextForPlayer(i,"~r~You are out of ~w~fuel~r~!",5000,4);
}
}
new string[128];format(string,sizeof string,"Fuel: %i",fuel[vid] /4);
TextDrawSetString(td_fuel[i],string);
new Float
peed_x,Float
peed_y,Float
peed_z,Float:te mp_speed,final_speed,Float:health;
GetVehicleVelocity(vid,speed_x,speed_y,speed_z);
temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+ (speed_z*speed_z))*136.666667;
final_speed = floatround(temp_speed,floatround_round);
format(string,sizeof string,"Speed: %i",final_speed);
TextDrawSetString(td_vspeed[i],string);
GetVehicleHealth(vid,health);
if (max_vhealth[vid] == 0)//if its an random spawned vehicle
{
fuel[vid] = 400;
GetVehicleHealth(vid,max_vhealth[vid]);
}
health = (((health - max_vhealth[vid]) /max_vhealth[vid]) *100)+ 100;
format(string,sizeof string,"Health: %i",floatround(health,floatround_round));
TextDrawSetString(td_vhealth[i],string);
}
return 1;
}
public timer_refuel(playerid)
{
new vid = GetPlayerVehicleID(playerid);
fuel[vid] = fuel[vid] = 400;
isrefuelling[playerid] = 0;
TextDrawSetString(td_fuel[playerid],"Fuel:100");
TogglePlayerControllable(playerid,1);
}