Moze li neko da mi pomogne kako bi mogao da napravim ovakav progressbar s vehicle health-om, kako ga napraviti da radi
https://imgur.com/a/LswOTsR
Zaključano
Progressbar za Vehicle Health
478
pregleda
6
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
pre 4 godine
Najprostiji progress bar koji možeš uzet iz example-a (sto se koda tice), a za poziciju imaš filterskriptu, kada uzmeš poziciju jednostavno vrijednost staviš procentualno od healtha vozila, ali budući da je max health vozila 1000,a progress bara 100, vrijednost možeš staviti kroz prostu formulu hpvozila/10,s tim da vrijednost nikad ne ide preko 100 ili ispod 0 jer neko prakticira stavljati ručno hp na vozila preko 1000 imitirajući blindirano vozilo ili sta vec
pre 4 godine
daniop wrote on November 20, 2021, 11:10 pm:
Najprostiji progress bar koji možeš uzet iz example-a (sto se koda tice), a za poziciju imaš filterskriptu, kada uzmeš poziciju jednostavno vrijednost staviš procentualno od healtha vozila, ali budući da je max health vozila 1000,a progress bara 100, vrijednost možeš staviti kroz prostu formulu hpvozila/10,s tim da vrijednost nikad ne ide preko 100 ili ispod 0 jer neko prakticira stavljati ručno hp na vozila preko 1000 imitirajući blindirano vozilo ili sta vec
pre 4 godine
Evo sklepao sam ti nesto, testiraj, trebalo bi da radi :>
#include
/**
* Variables
*/
new
vehicleBarTimer,
PlayerBar: vehicleBar = {PlayerBar: INVALID_PLAYER_BAR_ID,...};
/**
* Function
*/
stock Bar_CreateVehicleBar(const playerid, bool: status = true)
{
if (!status)
{
DestroyPlayerProgressBar(playerid, PlayerBar: vehicleBar);
vehicleBar = PlayerBar: INVALID_PLAYER_BAR_ID;
KillTimer(vehicleBarTimer);
return 1;
}
vehicleBar = CreatePlayerProgressBar(playerid, 469.00, 392.00, 146.00, 1.70, -263908865, 100.00, 0);
SetPlayerProgressBarValue(playerid, PlayerBar: vehicleBar, Float: 100.00);
ShowPlayerProgressBar(playerid, PlayerBar: vehicleBar);
return 1;
}
/**
* Callbacks
*/
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == PLAYER_STATE_DRIVER)
{
/**
* Customize interval
*/
vehicleBarTimer = SetTimerEx("OnVehicleDamaged", 1500, 1, "d", playerid);
}
else
{
Bar_CreateVehicleBar(playerid, false);
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
/**
* Test
*/
if (newkeys & KEY_YES)
{
new Float: x, Float: y, Float: z;
GetPlayerPos(playerid, x, y, z);
CreateVehicle(411, x, y, z, 0.0, 0, 0, 0);
}
if (newkeys & KEY_NO)
{
Bar_CreateVehicleBar(playerid);
}
return 1;
}
forward OnVehicleDamaged(const playerid);
public OnVehicleDamaged(const playerid)
{
if (IsPlayerInAnyVehicle(playerid))
{
new
Float: floatbar = GetPlayerProgressBarValue(playerid, PlayerBar: vehicleBar),
Float: floatveh;
GetVehicleHealth(GetPlayerVehicleID(playerid), floatveh);
SetPlayerProgressBarValue(playerid, PlayerBar: vehicleBar, (floatveh / 10));
}
return 1;
}
pre 4 godine
Emmett White wrote on November 21, 2021, 7:26 am:
Evo sklepao sam ti nesto, testiraj, trebalo bi da radi :>
#include
/**
* Variables
*/
new
vehicleBarTimer,
PlayerBar: vehicleBar = {PlayerBar: INVALID_PLAYER_BAR_ID,...};
/**
* Function
*/
stock Bar_CreateVehicleBar(const playerid, bool: status = true)
{
if (!status)
{
DestroyPlayerProgressBar(playerid, PlayerBar: vehicleBar);
vehicleBar = PlayerBar: INVALID_PLAYER_BAR_ID;
KillTimer(vehicleBarTimer);
return 1;
}
vehicleBar = CreatePlayerProgressBar(playerid, 469.00, 392.00, 146.00, 1.70, -263908865, 100.00, 0);
SetPlayerProgressBarValue(playerid, PlayerBar: vehicleBar, Float: 100.00);
ShowPlayerProgressBar(playerid, PlayerBar: vehicleBar);
return 1;
}
/**
* Callbacks
*/
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == PLAYER_STATE_DRIVER)
{
/**
* Customize interval
*/
vehicleBarTimer = SetTimerEx("OnVehicleDamaged", 1500, 1, "d", playerid);
}
else
{
Bar_CreateVehicleBar(playerid, false);
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
/**
* Test
*/
if (newkeys & KEY_YES)
{
new Float: x, Float: y, Float: z;
GetPlayerPos(playerid, x, y, z);
CreateVehicle(411, x, y, z, 0.0, 0, 0, 0);
}
if (newkeys & KEY_NO)
{
Bar_CreateVehicleBar(playerid);
}
return 1;
}
forward OnVehicleDamaged(const playerid);
public OnVehicleDamaged(const playerid)
{
if (IsPlayerInAnyVehicle(playerid))
{
new
Float: floatbar = GetPlayerProgressBarValue(playerid, PlayerBar: vehicleBar),
Float: floatveh;
GetVehicleHealth(GetPlayerVehicleID(playerid), floatveh);
SetPlayerProgressBarValue(playerid, PlayerBar: vehicleBar, (floatveh / 10));
}
return 1;
}Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava