Jump to content
  • 0

pomoc tachometer


Jurajvocny

Dotaz

Ahojte. Ja mám taký problém, robil som si tachometer a mám tam rýchlosť a poškodenie a chcem to spraviť tak že keď budem na bicykli tak aby to poškodenie neukazovalo. 

 

Kód.

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
	{
            if(GetPlayerVehicleID(playerid) != 509 && GetPlayerVehicleID(playerid) != 510 && GetPlayerVehicleID(playerid) != 481)
            {
		 TextDrawShowForPlayer(playerid, Rychlost[playerid]);
		 TextDrawShowForPlayer(playerid, Poskodenie[playerid]);
            }
            else 
            {
                 TextDrawHideForPlayer(playerid, Poskodenie[playerid]);
            }
	}
	else if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
	{
	  	TextDrawHideForPlayer(playerid, Rychlost[playerid]);
	  	TextDrawHideForPlayer(playerid, Poskodenie[playerid]);
	}
	return 1;
}

public PoskodenieSecond()
{
	for(new i; i<MAX_PLAYERS; i++)
	{
        if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && GetPlayerVehicleID(i) != 481 && GetPlayerVehicleID(i) != 509 && GetPlayerVehicleID(i) != 510)
		{
			new poskodenie[150];
			new Float:VHP;
			GetVehicleHealth(GetPlayerVehicleID(i), VHP);
			format(poskodenie, 150, "Poskodenie ~y~%.1f %%", VHP/10);
			TextDrawSetString(Poskodenie[i], poskodenie);
		}
	}
	return 1;
}

Ďakujem.

Edited by Jurajvocny
Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

toto:

if(GetPlayerVehicleID(playerid) != 509 && GetPlayerVehicleID(playerid) != 510 && GetPlayerVehicleID(playerid) != 481)
{
zmeň na:

 

 

if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 509 || GetVehicleModel(GetPlayerVehicleID(playerid)) != 510 | GetVehicleModel(GetPlayerVehicleID(playerid)) != 481)
{
&& - a

|| - alebo 

 

;)

 

Takže si uprav aj tú druhú podmienku :) to zvládneš :)

 

EDIT:

 

ešte takto, ty si porovnával ID vozidla v ktorom je hráč...lenže ID vozidla je číslo v ktorom poradí bolo vozidlo spawnuté na servery, preto musíš zistiť model jeho vozidla a porovnávať model :)

Edited by Mattsy
Link to comment
Share on other sites

  • 0

toto:

if(GetPlayerVehicleID(playerid) != 509 && GetPlayerVehicleID(playerid) != 510 && GetPlayerVehicleID(playerid) != 481)
{
zmeň na:

 

 

if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 509 || GetVehicleModel(GetPlayerVehicleID(playerid)) != 510 | GetVehicleModel(GetPlayerVehicleID(playerid)) != 481)
{
&& - a

|| - alebo 

 

;)

 

Takže si uprav aj tú druhú podmienku :) to zvládneš :)

 

EDIT:

 

ešte takto, ty si porovnával ID vozidla v ktorom je hráč...lenže ID vozidla je číslo v ktorom poradí bolo vozidlo spawnuté na servery, preto musíš zistiť model jeho vozidla a porovnávať model :)

 

 

Nejde to.

Link to comment
Share on other sites

  • 0

lol, nema tam byt || ale &&. Mel to spravne jen ma porovnavat modely a ne id vozidel.

if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
	{
 		if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 509 || GetVehicleModel(GetPlayerVehicleID(playerid)) != 510 || GetVehicleModel(GetPlayerVehicleID(playerid)) != 481)
		{
			 print("1");
		}
		if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 509 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 510 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 481)
		{
			 print("2");
		}
	}
čuduj sa svete vypísalo mi to 1 !

 

pri && by musel sedieť vo všetkých troch naraz

 

&& - všetky parametre naraz

 

|| - iba jeden z oddelených

Edited by Mattsy
Link to comment
Share on other sites

  • 0

Nauč se logicky přemýšlet a pak někomu raď.

 

Vypíše ti to vždy 1, protože se pokaždé splní ALESPOŇ jedna podmínka. Tak jak to máš ty, tak může sedět vlastně v jakémkoliv vozidle ^^

 

správný kód..

if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
    new model = GetVehicleModel(GetPlayerVehicleID(playerid));
    if(model != 509 && model != 510 && model != 481)
    {

A tvoje "definice" || a && je taky špatná.

Edited by Lukasz
Link to comment
Share on other sites

  • 0

A my požadujeme splnění všech podmínek víš?:)

 

Nesmí sedět ve vozidle s modelem X, také nesmí sedět ve vozidle s modelem Y a také nesmí sedět ve vozidle s modelem Z.

model != x && model != y && model != z

To tvoje je, že nesedí ve vozidle modelu X nebo nesedí ve vozidle modelu Y atd -> To se splní pokaždé, pokud vozidlo nemá vyjmenované modely (to nemá viď :))

model != x || model != y || model != z

Nic si zkoušet nepotřebuju, protože vím, že mám pravdu a ty tu trapčíš

  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...