Skripta koju koristim:Nesto moje
Detaljan opis problema:Odradio sam kao neki sistem za gorivo,i sad kad upalim GM,udjem IG i udjem u auto stoji mi "Gorivo: 19 L",ja odem na pumpu kucam /fill i na sekundu mi se pojavi "Gorivo:100 L" i onda opet vrati na 19... o.O
Dio skripte:http://pastebin.com/iB58WrQu (zanemarite sto nisam pisao callbeckove,kopirao sam to na brzaka,imate tu ceo sistem)
Neke slike/video za lakse dobivanje pomoci(neobavezno):/
Zaključano
[Pomoc]Fuel vraca na 19(Moze lock)
514
pregleda
11
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
pre 13 godina
Probaj ovako ako nebude probacemo opet
new Text:td_fuel;//Gorivo
new Text:td_vspeed;//Brzina
forward timer_update();//Gorivo/Brzina
forward timer_refuel(playerid);//Gorivo/Brzina
new isrefuelling = 0;//Gorivo/Brzina
new fuel;//Gorivo/Brzina
//on gamemod init
for(new i=0;i fuel = 250 + random(150); //Postavlja gorivo autima
}
for(new i=0;i td_fuel = TextDrawCreate(476,355,"Gorivo:");
td_vspeed = TextDrawCreate(478,376,"Brzina:");
TextDrawAlignment(td_fuel,0);
TextDrawAlignment(td_vspeed,0);
TextDrawBackgroundColor(td_fuel,0x000000ff);
TextDrawBackgroundColor(td_vspeed,0x000000ff);
TextDrawFont(td_fuel,1);
TextDrawLetterSize(td_fuel,0.5,2.5);
TextDrawFont(td_vspeed,1);
TextDrawLetterSize(td_vspeed,0.5,2.5);
TextDrawColor(td_fuel,0xffffffff);
TextDrawColor(td_vspeed,0xffffffff);
TextDrawSetOutline(td_fuel,1);
TextDrawSetOutline(td_vspeed,1);
TextDrawSetProportional(td_fuel,1);
TextDrawSetProportional(td_vspeed,1);
TextDrawSetShadow(td_fuel,1);
TextDrawSetShadow(td_vspeed,1);
}
SetTimer("timer_update",1000,true);
SetTimer("PayDay",3600000,1);// Na svakih 1 sat ide payday
SetTimer("ScoreUpdate", 1000, 1);
//on diskonekt
for(new i=0;i {
TextDrawDestroy(td_fuel);
TextDrawDestroy(td_vspeed);
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
TextDrawSetString(td_fuel,"Gorivo:");
TextDrawSetString(td_vspeed,"Brzina:");
TextDrawShowForPlayer(playerid,td_fuel);
TextDrawShowForPlayer(playerid,td_vspeed);
}
else
{
TextDrawHideForPlayer(playerid,td_fuel);
TextDrawHideForPlayer(playerid,td_vspeed);
}
//=============================KOMANDA---------------------------------
CMD:fill(playerid, params[])
{
if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,crvenaboja,"Nisi u vozilu.");
if (!IsPlayerInRangeOfPoint(playerid, 3, -2510.8735,2353.9539,5.0750)) return SendClientMessage (playerid, crvenaboja, "Nisi na benzinskoj pumpi.");
if (isrefuelling) return SendClientMessage(playerid,crvenaboja,"Vec dopunjujes rezervoar.");
if (GetPlayerMoney(playerid) - 80 <0) return SendClientMessage(playerid,crvenaboja,"Nemas dovoljno novca.");
GivePlayerMoney(playerid,-80);
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
isrefuelling = 1;
TextDrawSetString(td_fuel,"Dopunjavanje...");
SetTimerEx("timer_refuel",4500,false,"i",playerid);
return 1;
}
public timer_update()
{
for(new i=0;i {
if (isrefuelling) continue;
new vid = GetPlayerVehicleID(i);
if (GetPlayerVehicleSeat(i) == 0)
{
fuel = fuel - 2;
if (fuel<1)
{
fuel = 0;
RemovePlayerFromVehicle(i);
GameTextForPlayer(i,"~r~Vozilo nema ~w~goriva!",5000,4);
}
}
new string;format(string,sizeof string,"Gorivo: %i L",fuel /100);
TextDrawSetString(td_fuel,string);
new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed,final_speed;
GetVehicleVelocity(vid,speed_x,speed_y,speed_z);
temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*180.000;
final_speed = floatround(temp_speed,floatround_round);
format(string,sizeof string,"Brzina: %i",final_speed);
TextDrawSetString(td_vspeed,string);
}
return 1;
}
public timer_refuel(playerid)
{
new string;
new vid = GetPlayerVehicleID(playerid);
fuel = 100;
isrefuelling = 0;
format(string, sizeof(string), "%dL", fuel)
TextDrawSetString(td_fuel,string);
TogglePlayerControllable(playerid,1);
}
pre 13 godina
Ovako to nadji i samo prekopiraj
new string;format(string,sizeof string,"Gorivo: %i L",fuel /100);
TextDrawSetString(td_fuel,string);
new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed,final_speed;
GetVehicleVelocity(vid,speed_x,speed_y,speed_z);
temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*180.000;
final_speed = floatround(temp_speed,floatround_round);
format(string,sizeof string,"Brzina: %i",final_speed);
TextDrawSetString(td_vspeed,string);
}
pre 13 godina
|...NoKe...| wrote on September 19, 2012, 8:29 am:
Ovako to nadji i samo prekopiraj
new string;format(string,sizeof string,"Gorivo: %i L",fuel /100);
TextDrawSetString(td_fuel,string);
new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed,final_speed;
GetVehicleVelocity(vid,speed_x,speed_y,speed_z);
temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*180.000;
final_speed = floatround(temp_speed,floatround_round);
format(string,sizeof string,"Brzina: %i",final_speed);
TextDrawSetString(td_vspeed,string);
}Pa ovde je sve isto kako sam ga i ja napisao...
EDIT:
Evo slika nekih da lakse shvatite na sta mislim....Nisam uspeo da slikam kad pokaze "Gorivo:100 L" jer to pokaze samo na sekundu i onda vrati na 19...

pre 13 godina
zamjeni postojeci public timer_refuel(playerid) sa ovime:
public timer_refuel(playerid)
{
new string;
new vid = GetPlayerVehicleID(playerid);
fuel = 100;
isrefuelling = 0;
format(string, sizeof(string), "%dL", fuel)
TextDrawSetString(td_fuel,string);
TogglePlayerControllable(playerid,1);
timer_update();
}
public timer_refuel(playerid)
{
new string;
new vid = GetPlayerVehicleID(playerid);
fuel = 100;
isrefuelling = 0;
format(string, sizeof(string), "%dL", fuel)
TextDrawSetString(td_fuel,string);
TogglePlayerControllable(playerid,1);
timer_update();
}
pre 13 godina
Icoosk wrote on September 20, 2012, 10:37 am:
zamjeni postojeci public timer_refuel(playerid) sa ovime:
public timer_refuel(playerid)
{
new string;
new vid = GetPlayerVehicleID(playerid);
fuel = 100;
isrefuelling = 0;
format(string, sizeof(string), "%dL", fuel)
TextDrawSetString(td_fuel,string);
TogglePlayerControllable(playerid,1);
timer_update();
}
public timer_refuel(playerid)
{
new string;
new vid = GetPlayerVehicleID(playerid);
fuel = 100;
isrefuelling = 0;
format(string, sizeof(string), "%dL", fuel)
TextDrawSetString(td_fuel,string);
TogglePlayerControllable(playerid,1);
timer_update();
}
Ne radi,sad` vraca cak na 4 L...
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava