Dialógusok/Párbeszédpanelek Üdv!
Mivel még nem láttam róla magyar leírást, ezért gondoltam itt az ideje, hogy írjak róla.
1. Mi is a dialógus/Párbeszédpanel ?A párbeszédpanelek (
dialógusok ) 0.3-as verzióknál érhetõ el. Legtöbbször Menük helyettesítésére a legalkalmasabb, mivel kezelése sokkal egyszerûbb.
Lehet lista, szövegdoboz és bevitel típusú.
2. Függvények / EljárásokEljárások:ShowPlayerDialog: Egy adott játékos számára megjeleníti a párbeszédpanelt.
Paraméterek: ( playerid, dialogid, style, caption [ ], info [ ], button1 [ ], button2 [ ] )
playerid - Annak a játékosnak az azonosítója, akinek megjelenítjük a párbeszédpanelt.
dialogid - A párbeszédpanel azonosítója. ( Következõkbe ezzel fogjuk elérni. ) (
Maximum értéke: 32767 )
style - A párbeszédpanel \'stílusa\'. Ez lehet 4 féle.
1. DIALOG_STYLE_MSGBOX ( 0 )
Ezt szövegek megjelenítésére használjuk.
Kép: 2. DIALOG_STYLE_INPUT ( 1 )
Ezt akkor használjuk, amikor szeretnék bevinni X karaktert. (
szöveg, szám stb.. )
Kép: 3. DIALOG_STYLE_LIST ( 2 )
Lista megjelenítésére használjuk.
Kép: 2. DIALOG_STYLE_PASSWORD ( 3 )
Ezt akkor használjuk, amikor jelszót kérünk be.
Kép:http://wiki.sa-mp.com/wroot/images2/f/f8/Dialog_style_password.png[/img]
caption [ ] - Dialógus \'címe\'. Ez jelenik meg a dialógus tetején, mint cím.
info [ ] - Dialógus leírása. Ez a cím alatt helyezkedik el. Ide szoktuk írni az információkat.
-
\\n - Új sor kezdete.
-
\\t - Tabulátor, sor betolása.
button1 [ ] - Dialógus 1. gombja.
button2 [ ] - Dialógus 2. gombja. (
0.3c verziótól már nem szükséges! Üresen is hagyhatod(\"\") és akkor csak a button1 [ ] fog megjelenni )
Visszatérés - Ez a funkció nem add vissza értéket.
Példák:
/* DIALOG_STYLE_INPUT */
ShowPlayerDialog ( playerid, 1, DIALOG_STYLE_INPUT, \"Bejeletkezés\", \"Kérlek írd be a jelszavad:\", \"Belépés\", \"Kilépés\" );
/* DIALOG_STYLE_LIST */
ShowPlayerDialog ( playerid, 2, DIALOG_STYLE_LIST, \"Lista Dialógus\", \"1. Sor\\n2. Sor\\n3. Sor\",\"Gomb 1\", \"Gomb 2\" );
Függvények:
OnDialogResponse - Ez a függvény akkor hívódik meg, amikor a játékosnak megjelenítettük a párbeszédpanelt és választott a lehetõségek közül.
Paraméterek:
( playerid, dialogid, response, listitem, inputtext [ ] )
playerid - Annak a játékosnak az azonosítója, akinek megjelenítettük a párbeszédpanelt.
dialogid - A meghívott párbeszédpanel azonosítója.
response - A választott \'gomb\'. ( 0 - Elsõ gomb értéke, 1 - Második gomb értéke )
listitem - A listából kiválasztott \'sor\'.
inputtext [ ] - A bevitt adat. ( Csak Inputos dialógusnál! )
Példák:
public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
if (dialogid == 1 ) // 1 azonosítójú dialógus.
{
if ( !response ) return SendClientMessage ( playerid, 0xFFFFFFFF, \"Te kiléptél!\" ); // Második gombot választotta, ami a mostani esetbe a kilépés.
new iText [ 128 ];
format ( iText, 128, \"Te ezt írtad be: %s\", inputtext );
SendClientMessage ( playerid, 0xFFFFFFFF, iText );
return 1;
}
return 0;
}
public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
{
if (dialogid == 1 )
{
if ( !response )
{
SendClientMessage ( playerid, 0xFF0000FF, \"Te kiléptél a dialógusból.\" );
return 1;
}
if ( listitem == 0 )
{
SendClientMessage ( playerid, 0xFF0000FF, \"Te az elsõ lehetõséget választottad!.\" );
}
if ( listitem == 1 )
{
SendClientMessage ( playerid, 0xFF0000FF, \"Te a második lehetõséget választottad!.\" );
}
return 1;
}
return 0;
}
3. Utószó
Remélem mindet leírtam és jól. Ha bármi hibát vétettem, vagy valamit nem írtam le, akkor szóljatok!