Jump to content
  • 0

pomoc Neustále vyskakování dialogu


SwoBii

Dotaz

Ahoj, vím, toto téma tu už bylo několikrát, a i jsem našel řešení na tomto foru. Našel jsem asi 3 různé a vyzkoušel sem je, ale ani jedno mi nešlo, i když lidé tvrdili, že jim to funguje. Takže k věci. Mám pickup a na něm, když stisknu mezerník objeví se dialog, ale jakmile ho zavřu začne se automaticky zobrazovat a přitom by se měl zobrazovat jen při stisknutí mezerníku.

Keystatechange:
if(newkeys == KEY_SPRINT)
{
if(IsPlayerInSphere(playerid, -2029.5951,-100.9007,35.1641,1))
{
ShowAutoskolaDialog(playerid);
}}
Můj dialog :

ShowAutoskolaDialog(playerid)
{
	new string[144];
	format(string,sizeof(string),"Jméno : %s\nTest : Řidičský průkaz\nCena : 2 000 $",GetName(playerid));
	ShowPlayerDialog(playerid,130,DIALOG_STYLE_MSGBOX,"{FF0000}A{FFFFFF}utoškola",string,"Zacit","");
}

Upozořňuji, že jsem zkoušel ShowPlayerDialogEx a různé podmínky, ale buď se dialog po stisknutí neotevřel vůbec a nebo se zase otevíral furt dokola .. Děkuji za radu :)

Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 0
  • Hlavní moderátor

~> Callback OnPlayerResponse() se vyvolá, když je nějaký dialog otevřený. Tam následně měníš hodnotu proměnné, kterou pak v OnPlayerPickUpPickup() podmínkuješ. ShowPlayerDialogEx podstatě jen obsahuje tuhle podmínku a i následné zobrazení dialogu.

~> Problém je, že ty ni nepodmínkuješ. Ty sis to zobrazení dal jen do nové funkce.

V tomhle máš sice pravdu, ale on se ptá, proč se mu to otevírá i v případě, že nestiskl dané tlačítko, jak vidíš, kód dal z callbacku OnPlayerKeyStateChange.

 

SwoBii: V názvu funkce vidím Autoskola, jsi tedy ve vozidle, když se ti to stále zobrazuje? Protože KEY_SPRINT odpovídá tlačítku W, když jsi ve vozidle. (zde to máš napsané) To by dost dobře mohlo být důvodem, proč se ti to neustále zobrazuje. Pokud nejsi ve vozidle, ujisti se, že tu funkci nevoláš i jinde, třeba v OnPlayerPickUpPickup.

 

Jinak, když chceš zjistit, zda zmáčkl danou klávesu, používej operátor &, ne ==. Viz tohle.

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

  • 0

Jakmile splňuji dané podmínky, hodí mě to do auta a normálně jedu, ale jakmile nesplňuji jednu z daných podmínek tak se dialog zavře a začne se automaticky otvírat sám, a to je potom problém se z toho pickupu dostat :d. Jinak v onplayerpickuppickup nemám zobrazování dialogu, pouze podtím tlačítkem mnou nadefinovaným :)

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