Jump to content
  • 0

pomoc Kostrbatě fungující OnPlayerKeyStateChange


Marks

Dotaz

Zdravím všechny. Dneska jsem na mém serveru něco zkoušel a přišel jsem na chyby. Nevím jestli mám špatně napsaný kód.
OnPlayerKeyStateChange mám detekci pokud hráč stiskl klávesu:

if(IsKeyJustDown(KEY_SPRINT,newkeys,oldkeys))

V tomto případě se jedná o mezerník. V této podmínce mám další podmínky na zjištění, jestli je hráč poblíž bodu:
například takto: 
if(IsPlayerInRangeOfPoint(playerid,1.0,1715.7653, -1917.6493, 19.1346))

v teto podmínce pak ukazuji hráči dialog. Zjistil jsem, když stisknu mezerník, tak dialog se normálně zobrazí, ale někdy dojde k bugnutí, že se zobrazí i znovu po zavření a takto neustále dokola se volá. Nevíte čím to může být, popřípadě jde to nějak ošetřit? Přijde mi to dost otravné to zavírat a pomalu se pohybovat.

popřípadě můj celý kód:

 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(IsKeyJustDown(KEY_SPRINT,newkeys,oldkeys)){//po stisknutí mezerníku
	if(IsPlayerInRangeOfPoint(playerid,1.0,1692.7938,-1949.8245,14.1172)){//železniční doprava spawn
	    ApplyDynamicActorAnimation(VlakySHerec, "PED", "IDLE_CHAT",4.1,0,0,0,0,0);
	    ShowPlayerDialog(playerid,DIALOG_OBSLUHA,DIALOG_STYLE_LIST,"Dopravní obsluha",obsluhatext,"Vybrat","{FF0000}Odejít");
        }
    }
}

Díky všem kdo mi nějak pomůže :)

Edited by Marks
Link to comment
Share on other sites

5 odpovědí na tuto otázku

Recommended Posts

  • 0

Z hledání na google posuzuji že si využil tento kód

stock IsKeyJustDown(key, newkeys, oldkeys)
{
      if((newkeys & key) && !(oldkeys & key))
      return 1;

      return 0;
}

jen pro info ostatních

nalezeno na: http://forum.sa-mp.com/archive/index.php/t-446381.html

Link to comment
Share on other sites

  • 0

Z hledání na google posuzuji že si využil tento kód

stock IsKeyJustDown(key, newkeys, oldkeys)
{
      if((newkeys & key) && !(oldkeys & key))
      return 1;

      return 0;
}

jen pro info ostatních

nalezeno na: http://forum.sa-mp.com/archive/index.php/t-446381.html

 

Nikde není :d

Omlouvám se, ale ze začátku jsem to moc nepochopil -> myslel jsem že po mě chcete kód kde ukazuji dialog (myslet znamená....).

Ano, používám tento kód který sem přidal arci224. Předtím normálně tento kód fungoval, ale teď přijdu k místu, kde řeším věci pomocí klávesnice a poprvé mi to zobrazí pouze 1x dialog. Ale když přijdu podruhé ať už na stejné místo, tak i jinam tak mi to začne vypisovat neustále dokola. Nevím vůbec čím to může být. Dokonce jsem zkoušel i napsat návratové tipy ale ty také nepomohly. Díky předem. :) 

 

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...