Ne prikazuje dialog


Započeo njoBe_, Septembar 16, 2021, 17:06:00 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Ne pokazuje mi dialog u bank sistemu..

Komanda:
CMD:banka(playerid, params[])
{
	if(!IsPlayerInRangeOfPoint(playerid, 3, 319.3219,905.7609,-19.5035)) return SendClientMessage(playerid, -1, "{039DFC}[BC:RP]: {FFFFFF}Niste na salteru banke.");
	if(PlayerInfo [playerid] [pOtvorenRacun] < 1) return SendClientMessage(playerid, -1, "{039DFC}[BC:RP]: {FFFFFF}Nemas otvoren racun u banci. Otvori ga na salteru pored.");
	ShowPlayerDialog(playerid, DIALOG_BANKA, DIALOG_STYLE_LIST, "{FFFFFF}Banka.", "{039DFC}1. {FFFFFF}Ostavi novac\n{039DFC}2. {FFFFFF}Podigni novac\n{039DFC}3. {FFFFFF}Transfer", "Odaberi", "Odustani");
	return 1;
}


Dolazi problem kada odabere jednu od ponudjenih opcija ne prikaze mu drugi dialog, a trebalo bi..

fDialog(DIALOG_BANKA)
{
	if (!response) return SendClientMessage(playerid, -1, "{009e32}Odustali ste.");
	if(listitem == 0)
	{
		ShowPlayerDialog(playerid, DIALOG_OSTAVI_NOVAC, DIALOG_STYLE_INPUT, "{FFFFFF}Banka", "{FFFFFF}Unesi koliko novca zelis ostaviti.", "Potvrdi", "Izadji");
	}
	if(listitem == 1)
	{
		ShowPlayerDialog(playerid, 9, DIALOG_STYLE_INPUT, "{FFFFFF}Banka", "{FFFFFF}Unesite koliko novca zelite ostaviti.", "Potvirdi", "Izadji");
	}
	if(listitem == 2)
	{
		ShowPlayerDialog(playerid, DIALOG_TRANSFER_ID, DIALOG_STYLE_INPUT, "{FFFFFF}Banka", "{FFFFFF}Unesite ID igraca.", "Potvrdi", "Odustani");
	}
	return 1;	
}
Poslednja Izmena: Septembar 23, 2021, 02:47:53 PRE PODNE od M Ө M Σ N Z I

Da li si ti ovo kompajlovao uopste ?

Koliko ja znam listitem se koristi samo u DIALOG_STYLE_LIST ako nisam u pravu neka me ispravi neko i mislim da bi trebao koristiti

switch(listitem)
{
   case 0:
   {
        //WORK
   }
}
Upwork Skills
Back-end:
• PHP Frameworks (Laravel, Symfony,Codeigniter)
• Python/Django
• Node.js

Front-end:
• HTML
• CSS pre-processing (SASS, LESS)
• Javascript (JQuery, Ajax, Vue, Angular, React, etc.)
• Bootstrap

CMS
• Wordpress (Woocommerce)
• Shopify, Magento

koristim fDialog

EDIT: Probao sam u ondialogresponse i isto, prikaze mi samo dialog koji se prikaze inace i u komandi

case DIALOG_BANKAMENU:
		{
			switch(listitem)
			{
				case 0:
				{
					SendClientMessage(playerid, -1, "Test");
				}
				case 1:
				{
					SendClientMessage(playerid, -1, "Test");

				}
				case 2:
				{
					SendClientMessage(playerid, -1, "Test");
				}

			}
Poslednja Izmena: Septembar 17, 2021, 12:10:57 POSLE PODNE od njoBe_

posalji mi private komandu i dialoge
Upwork Skills
Back-end:
• PHP Frameworks (Laravel, Symfony,Codeigniter)
• Python/Django
• Node.js

Front-end:
• HTML
• CSS pre-processing (SASS, LESS)
• Javascript (JQuery, Ajax, Vue, Angular, React, etc.)
• Bootstrap

CMS
• Wordpress (Woocommerce)
• Shopify, Magento

imas gore kako sam pokusao sa fDialog i kako sa ondialogresponse


CMD:banka(playerid)
ShowPlayerDialog(playerid, DIALOG_BANKA, DIALOG_STYLE_LIST, "{FFFFFF}Banka.", "{039DFC}1. {FFFFFF}Ostavi novac\n{039DFC}2. {FFFFFF}Podigni novac\n{039DFC}3. {FFFFFF}Transfer", "Odaberi", "Odustani");


ovo ti je on dialog response
case DIALOG_BANKAMENU:
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, -1, "Test");
}
case 1:
{
SendClientMessage(playerid, -1, "Test");

}
case 2:
{
SendClientMessage(playerid, -1, "Test");
}

}

1. Neznam kako radi fDialog, ali sasvim je moguce da ako imas njega da ti se nece pozvati OnDialogResponse.
2. U OnDialogResponse koristis DIALOG_BANKAMENU dok prikazujes DIALOG_BANKA
3. Stavi debug u sam dialog da vidis da li ti se poziva dialog, i stavi u OnDialogResponse (ne u sami handle dialoga nego na vrh callback-a) cisto da vidis da li se public poziva.
4. Ako vec koristis dialog processor kao krstena osoba, onda preporucujem easyDialog (https://github.com/Awsomedude/easyDialog)

1. ne krstim se
2. da se on dialog response ne poziva ne bi se mogao logovati/kreirati acc
3. fdialog je slicno easydialogu, mozda malo starije, ugl probacu kada dodjem kuci. hvala

Citat: njoBe_ poslato Septembar 18, 2021, 23:07:01 POSLE PODNE
2. da se on dialog response ne poziva ne bi se mogao logovati/kreirati acc
Nije uvek sve isto u razlicitom trenutnku brate, proveri za svaki slucaj. Uvek se moze desiti nesto na runtime sto ce se promeniti i zaustaviti chain.

Totalno mi je nelogicno da mozes ovo da uradis
fDialog DIALOG_BANKAMENU:
{
switch(listitem)

Kako listitem ne bude undefined, sta je on globalna varijabla? Uradi debug
fDialog DIALOG_BANKAMENU: {
                 printf("debug listitem - %i", listitem); // vidi sta ce vratiti ovdje
Poslednja Izmena: Septembar 19, 2021, 14:44:34 POSLE PODNE od __vedran.xyz77

Citat: __vedran.xyz77 poslato Septembar 19, 2021, 14:42:52 POSLE PODNE
Totalno mi je nelogicno da mozes ovo da uradis
fDialog DIALOG_BANKAMENU:
{
switch(listitem)

Kako listitem ne bude undefined, sta je on globalna varijabla? Uradi debug
fDialog DIALOG_BANKAMENU: {
                 printf("debug listitem - %i", listitem); // vidi sta ce vratiti ovdje

Za debug se slazem, a ovo za define, fDialog je u stvari macro:
//Usage:: fDialog(dialogid)
#define fDialog(%1) \
	forward GDialog_%1(playerid,response,listitem,inputtext[]);\
	public GDialog_%1(playerid,response,listitem,inputtext[])

Citat: Deleted User poslato Septembar 19, 2021, 15:33:56 POSLE PODNE
Za debug se slazem, a ovo za define, fDialog je u stvari macro:
//Usage:: fDialog(dialogid)
#define fDialog(%1) \
   forward GDialog_%1(playerid,response,listitem,inputtext[]);\
   public GDialog_%1(playerid,response,listitem,inputtext[])

Nikad nisam radio sa njim pa ne znam, onda postoji mogucnost da je DIALOG_BANKA i neki drugi dialog isti id

*
ShowPlayerDialog(playerid, DIALOG_BANKA, DIALOG_STYLE_LIST, "{FFFFFF}Banka.", "{039DFC}1. {FFFFFF}Ostavi novac\n{039DFC}2. {FFFFFF}Podigni novac\n{039DFC}3. {FFFFFF}Transfer", "Odaberi", "Odustani");


*
ShowPlayerDialog(playerid, DIALOG_BANKAMENU, DIALOG_STYLE_LIST, "{FFFFFF}Banka.", "{039DFC}1. {FFFFFF}Ostavi novac\n{039DFC}2. {FFFFFF}Podigni novac\n{039DFC}3. {FFFFFF}Transfer", "Odaberi", "Odustani");


CMD:uzmigajbicu(playerid, params[]) {

   
   return 1;
}
Poslednja Izmena: Septembar 19, 2021, 19:10:21 POSLE PODNE od Grella™
Upwork Skills
Back-end:
• PHP Frameworks (Laravel, Symfony,Codeigniter)
• Python/Django
• Node.js

Front-end:
• HTML
• CSS pre-processing (SASS, LESS)
• Javascript (JQuery, Ajax, Vue, Angular, React, etc.)
• Bootstrap

CMS
• Wordpress (Woocommerce)
• Shopify, Magento

*
ShowPlayerDialog(playerid, DIALOG_BANKA, DIALOG_STYLE_LIST, "{FFFFFF}Banka.", "{039DFC}1. {FFFFFF}Ostavi novac\n{039DFC}2. {FFFFFF}Podigni novac\n{039DFC}3. {FFFFFF}Transfer", "Odaberi", "Odustani");


*
ShowPlayerDialog(playerid, DIALOG_BANKAMENU, DIALOG_STYLE_LIST, "{FFFFFF}Banka.", "{039DFC}1. {FFFFFF}Ostavi novac\n{039DFC}2. {FFFFFF}Podigni novac\n{039DFC}3. {FFFFFF}Transfer", "Odaberi", "Odustani");


CMD:banka(playerid, params[]) {

        ShowPlayerDialog(playerid, DIALOG_BANKAMENU, DIALOG_STYLE_LIST, "{FFFFFF}Banka.", "{039DFC}1. {FFFFFF}Ostavi novac\n{039DFC}2. {FFFFFF}Podigni novac\n{039DFC}3. {FFFFFF}Transfer", "Odaberi", "Odustani");	
	return 1;
}



case DIALOG_BANKAMENU:
{
if(response)
{
switch(listitem)
{
case 0:
{
print( "Test Ostavljam Novac");
}
case 1:
{
print( "Test PodizemNovac");

}
case 2:
{
print(  "Test Transfer");
}
}
}

Upwork Skills
Back-end:
• PHP Frameworks (Laravel, Symfony,Codeigniter)
• Python/Django
• Node.js

Front-end:
• HTML
• CSS pre-processing (SASS, LESS)
• Javascript (JQuery, Ajax, Vue, Angular, React, etc.)
• Bootstrap

CMS
• Wordpress (Woocommerce)
• Shopify, Magento

Nemoguce je koristiti OnDialogResponse pored fDialoga (( https://prnt.sc/1suu9rl )), on ce zaustaviti svaku OnDialogResponse funkciju i pozvati svoju