Gta San Andreas MultiPlayer (samp) HUN
Navigation
     
Account
Felhasználónév:

Jelszó:
SúgóSúgó
Regisztráció
Elfelejtettem a jelszót
     
Kép
Szerver
Legyen ennek a weboldalnak saját samp szervere?

Igen
Nem
Szavazás állása
Lezárt szavazások
     
Friss

Utolsó módosítás
2013 máj. 19.
12:17

 

     
Más weblapok
 SA:MP Fórum
SA:MP Wiki
Google

     

PAWN Eszközök
     
Dialogus

Párbeszéd panelek, dialogusok, létrehozása

forrás:Scream,SAMP FÓRUM

Üdvözlök mindenkit.
Tudom, ZeRo már írt egy ilyesfajta leckét, de mivel törölve lett, így úgy gondoltam, jó lenne, ha újra itt lenne,

és segítene a szkriptereknek / magán embereknek a leírás.
( Ez saját! )


Előszó

Mit is jelent a dialógus?
A dialógus az angol dialog (U.S.A) és a dialogue (Brit) szóból keletkezett. Jelentése: párbeszédek, párbeszéd panelek

Milyen célt szolgál a dialógus?
Például, a 0.2.x -es időszakban (és ezelött) a szokásos SendClientMessage() (üzenet-küldéses)

függvényt használtuk a játékos üdvözlésére.
A 0.3 -as időszak tehát már itt van, elérkezett. Így tehát, az üzenet dobozt is használhatjuk üzenet küldés helyett

, ami sokkal megkönnyíti a mindennapi szkripter dolgainkat.

Bevezetés: A párbeszéd panelek

A dialógus fajtái: Üzenet doboz (Message Box), Adatkezelő doboz (Input Box) és Választó doboz (vagyis: Lista,

kiválasztó doboz, angolul pedig: List)
Ezekre mind írni fogok leírást, és példát egyaránt.


Az üzenet doboz:
Az üzenet doboz azt teszi elérhetővé számunkra, hogy a játékosnak a párbeszéd panellel együtt üzenetet küldjünk neki.

A kiválasztó/lista doboz:
A kiválasztó, illetve a lista doboz azt teszi elérhetővé számunkra, hogy a játékosnak a

párbeszéd panellel együtt üzenetet küldjünk neki, s majd a megadott szövegekből kattintásra opciót választhat. (például autót kérhet le)

Az adatkezelő/beviteli szöveg kezelő doboz:
Az adatkezelő, illetve a beviteli szöveg kezelő doboz azt teszi elérhetővé számunkra, hogy a játékosnak

a párbeszéd panellel együtt egy olyan üzenet küldjünk neki, amelybe ő bekell írjon 1, vagy több számot, kódot, stb.

A párbeszéd paneleknek saját függvényük/funkciójuk van.
- Funkció: ShowPlayerDialog( paraméterek );
- Függvény: OnDialogResponse( paraméterek );
 Ezeket később bővebben kifejtem.


Egy példa az adatkezelő párbeszéd panelre:

Kód:
ShowPlayerDialog(playerid, DIALÓGUS_AZONOSÍTÓ, DIALOG_STYLE_INPUT,
 "Bejelentkező ablak","Írd be a jelszavad!","Bejelentkez", "Mégse");

Elemezzük!

Kód:
ShowPlayerDialog
- Ez a funkció elő hozza nekünk a párbeszéd panelt.

Kód:
playerid
- Játékos azonosítószám (jelen esetben annak jelenik meg, aki pl. beírta a parancsot, hogy megjelenítse a párbeszéd panelt)

Kód:
DIALÓGUS_AZONOSÍTÓ

- Ez a párbeszéd paneled azonosítója. Ha több dialógusod van, és nem akarod hogy összekeveredj bennük,

akkor itt egy kód részlet, amit a módod/szkripted tetejére másold be, és használd fel!

Kiegészítő:

Kód: (Szkripted tetejére!)
#define DIALOG_0 (0)
#define DIALOG_1 (1)
#define DIALOG_2 (2)
- Ezeket így írd tovább!

A kiegészítő után, elemezzük tovább a példa szkriptet!

Idézet
DIALOG_STYLE_INPUT
- A párbeszéd panel típusa. Ez jelen esetben adat-kezelő párbeszéd panel.
További párbeszéd panel defíniciók:
DIALOG_STYLE_MSGBOX - Üzenet doboz
DIALOG_STYLE_LIST - Lista doboz (Kiválasztó doboz)


Kód:
Bejelentkező ablak
- Ez a párbeszéd paneled főcíme. A párbeszéd panel tetején fog megjelenni.

Kód:
Írd be a jelszavad!
- Írd át a saját variációdra, hogy mit írjon ki az illetőnek! Ez az alcím és középen fog megjelenni.

Kód:
Bejelentkez
- Ez az első gomb a párbeszéd paneledben. Írd át saját fantáziád szerint!

Kód:
Mégse
- Ez az úgy mond kilépés gomb. Vagyis ez a második gombod a párbeszéd paneledben. Írd át ezt is, ha úgy gondolod.

További példák:

Példa az üzenet küldős párbeszéd panelre:
Kód:
ShowPlayerDialog(playerid, DIALOG_0, DIALOG_STYLE_MSGBOX, "Józska gyerek",
"Csumika tesóka.\nNézd meg te is a Gollam Show -t a jú tyúbon!","Megnézem","Vissza!");

Ebben a példában találunk egy
Kód:
\n
-t. Ez azt jelenti, hogy egy újabb sorba tudjuk rendezni a mondatokat. (Hasznos a felsorolásnál, mert ott egyből megkavarodnánk!)
További hasonló kombinációk: \t   Jelentése: Kihagyást készít a sorok közt. (Ugyanaz, mintha a PAWNO -ban megnyomnád a TAB gombot)

Példa a lista / kiválasztó párbeszéd panelre:
Kód:
ShowPlayerDialog(playerid, DIALOG_1, DIALOG_STYLE_LIST, "Válaszd ki a harc stílusod!",
"Kung-Fu\nBox\nElkapás és rúgás","Kiválaszt","Mégse");

És, ugyebár mivel a gombok még gyakorlatilag semmit sem csinálnak, így ezt is nekünk megkell csinálnunk.

Egy példa erre, s majd elemzés:

Kód:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_0) 
    {
            if(response == 1) 
            {
                     SendClientMessage(playerid, SAJT_SZIN, "Szép jó estét!");
            } 
            else 
            {
                     SendClientMessage(playerid, PIROSKA, "A Mégsére kattintottál :(");
            }
            return 1;
    }
    return 0;
}

Elemezzük!

Kód:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- A funkció neve, paraméterei

Kód:
if(dialogid == DIALOG_0)
- Ebben az esetben az első párbeszéd panelünket hívjuk meg.

Kód:
if(response == 1)
- Ha a játékos az első gombra [általában kiválaszt illetve igen gombra] mennek akkor az hívódik meg, ami ez alatt van.

Kód:
Ami az else szó alatt van, az azt jelenti, hogy a játékos a 2. gombra ment rá. 
tehát általában ez a nemet, vagy a mégsét jelenti.

Komplett szkript:
A kezdőknek ez elengedhetetlen, mivel csak így fogják megtanulni a párbeszéd panelek használatát.  Wink

Példa szkript tartalma: 3 db müködő párbeszéd panel
LETÖLTÉS.....


Utószó
HAMAROSAN KÉPEK VÁRHATÓAK!
A komplett szkript alapján kérek mindenkit, hogy tanulmányozza a párbeszéd panel készítést!
Valamint, ha valami probléma lenne a leírással, akkor nyugodtan szóljatok, javítom.
Ezek után, kívánok mindenkinek kellemes párbeszéd panel készítést!  Wink Smiley
 
4 hozzászólás
Idézet
2011.12.04. 14:49
skyline

{color id} pl: Piros: {FF0000}   ezt a szöveg elé pl.:

{FF0000}Ez egy Piros szöveg!


2011.06.18 21:02
Scripter

„ Anyi kérdésem lene hogy hogy lehet a dialógusban a szövegeket szinezni???
Ez érdelekhet mást is az egyebekhez vagy valakova ahol megtalálható fel kéne rakni.
Mert tudom hogy lehet mert látam csak netom hogy!!!

Idézet
2011.06.18. 21:02
Scripter

Anyi kérdésem lene hogy hogy lehet a dialógusban a szövegeket szinezni???
Ez érdelekhet mást is az egyebekhez vagy valakova ahol megtalálható fel kéne rakni.
Mert tudom hogy lehet mert látam csak netom hogy!!!

Idézet
2011.05.02. 08:48
devil

Sziasztok!

Egy dialogus teleportot akkarok csinálni, csak eleve nem értem ezt az egész Lista dialogust. Aki tud segiteni vegyen fel msn-re. devil.dare066@gmail.com

Idézet
2010.12.26. 23:25
zozi21

 Nagyon köszönöm a leírást olyan szépen el van magyarázva meg a példa ami mellékelve van annyira jó hogy egyből megértetem :Đ

     
Nézettség
Indulás: 2010-02-26
     
PAWN/Szkriptek
     
Tutorialok
     
Óra
     
Chat
Kérlek, felesleges dolgokat ne írj a chatbe!
Név:

Üzenet:
:)) :) :@ :? :(( :o :D ;) 8o 8p 8) 8| :( :'( ;D :$
     

Ha hagyod, hogy magával ragadjon a Mario Golf miliõje, akkor egy egyedi és életre szóló játékélménnyel leszel gazdagabb!    *****    A horoszkóp a lélek tükre, nagyon fontos idõnként megtudni, mit rejteget. Keress meg és nézzünk bele együtt. Várlak!    *****    Dryvit, hõszigetelés! Vállaljuk családi házak, lakások, nyaralók és egyéb épületek homlokzati szigetelését!    *****    rose-harbor.hungarianforum.com - rose-harbor.hungarianforum.com - rose-harbor.hungarianforum.com    *****    Vérfarkasok, boszorkányok, alakváltók, démonok, bukott angyalok és emberek. A világ oly' színes, de vajon békés is?    *****    Az emberek vakok, kiváltképp akkor, ha olyasmivel találkoznak, amit kényelmesebb nem észrevenni... - HUNGARIANFORUM    *****    Valahol Delaware államban létezik egy város, ahol a természetfeletti lények otthonra lelhetnek... Közéjük tartozol?    *****    Minden mágia megköveteli a maga árát... Ez az ár pedig néha túlságosan is nagy, hogy megfizessük - FRPG    *****    Why do all the monsters come out at night? - FRPG - Why do all the monsters come out at night? - FRPG - Aktív közösség    *****    Az oldal egy évvel ezelõtt költözött új otthonába, azóta pedig az élet csak pörög és pörög! - AKTÍV FÓRUMOS SZEREPJÁTÉK    *****    Vajon milyen lehet egy rejtélyekkel teli kisváros polgármesterének lenni? És mi történik, ha a bizalmasod árul el?    *****    A szörnyek miért csak éjjel bújnak elõ? Az ártatlan külsõ mögött is lapulhat valami rémes? - fórumos szerepjáték    *****    Ünnepeld a magyar költészet napját a Mesetárban! Boldog születésnapot, magyar vers!    *****    Amikor nem tudod mit tegyél és tanácstalan vagy akkor segít az asztrológia. Fordúlj hozzám, segítek. Csak kattints!    *****    Részletes személyiség és sors analízis + 3 éves elõrejelzés, majd idõkorlát nélkül felteheted a kérdéseidet. Nézz be!!!!    *****    A horoszkóp a lélek tükre, egyszer mindenkinek érdemes belenéznie. Ez csak intelligencia kérdése. Tedd meg Te is. Várlak    *****    Új kínálatunkban te is megtalálhatod legjobb eladó ingatlanok között a megfelelõt Debrecenben. Simonyi ingatlan Gportal    *****    Szeretnél egy jó receptet? Látogass el oldalamra, szeretettel várlak!    *****    Minõségi Homlokzati Hõszigetelés. Vállaljuk családi házak, lakások, nyaralók és egyéb épületek homlokzati szigetelését.    *****    Amway termék elérhetõ áron!Tudta, hogy az általános tisztítószer akár 333 felmosásra is alkalmas?Több info a weboldalon