Jump to content
  • 0

pomoc Drunk systém


nikitasicek

Dotaz

Ahoj, mám problém, chtěl jsem si udělat nějakej drunk systém, jenže nevím jak detekovat kdy se hráč napije z flašky, abych mu mohl nastavit promile a svůj vlastní drunk level kterej chci a ne ten, co to dává defaultně po napití se z láhve.

 

 

Zkoušel jsem něco ve smyslu, že pokud hráč drží LTM potom i pokud hráč zmáčkne ltm a nikdy to nefunguje, funguje to jen v případě že ultra-rychle zmáčknu ltm a hned pustím, to zas ale nezapne tu animaci napití se z láhve.

#define HOLDING(%0) \
	((newkeys & (%0)) == (%0))
	if (HOLDING( KEY_FIRE ))
	{
	    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
	    {
	        if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_WINE || GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_BEER || GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_SPRUNK)
	        {
	            ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1); 
	            pInfo[playerid][pPromile] = float(GetPlayerDrunkLevel(playerid) /  10000);
	        }
	    }
	}

Pak druhej problém, že "ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1);" jde přerušit shiftem atd.. a když to vypnu, tak zase nejde ovládat chůzi. Viděl jsem na hodně ostatních serverech, že to nešlo přerušit a zároveň fungovalo ovládání postavy.

 

Díky za radu :).

Link to comment
Share on other sites

1 odpověd na tuto otázku

Recommended Posts

  • 0

float (s malým f) je u proměn jiného jazyka. Ve pawn to je new Float:proměnna, a používá se jen proměnna, a můžeš přidat i desetiná čísla (třeba 1.32).

 

enum
{
...
Float:pPromile,
}
...

pInfo[playerid][pPromile] = GetPlayerDrunkLevel(playerid) / 10000.0);
A uvědomuješ si, že právě jsi napsal, že pPromile se rovná dosavadní drunk level hráče děleno 10000 ? Takže, když bude mít 0, a napije se, bude mít stále 0 ( 0/10000 = 0). Spíše zkus:

pInfo[playerid][pPromile] = GetPlayerDrunkLevel(playerid) + 1500.5);
A kontrolovat animace hráče mužeš například pomocí GetPlayeAnimationIndex. :).
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...