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 :$
     

Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168 Hívjon!    *****    A legfrissebb hírek a Super Mario világából és a legteljesebb adatbázis a Mario játékokról.Folyamatosan bõvülõ tartalom.    *****    Gigágá! Márton napján is gyertek a Mesetárba! Nemcsak libát, de kacsát is kaptok! Játsszatok velünk!    *****    A Nintendo a Nintendo Music-kal megint valami kiváló dolgot hozott létre! Alaposan nagyító alá vettem, az eredmény itt.    *****    Leanderek, Parfümök, Olajok, és Szépségápolási termékek! Használd a LEVI10 kupont és kapj 10% kedvezményt!Megnyitottunk    *****    Megjelent a Nintendo saját gyártású órája, a Nintendo Sound Clock Alarmo! Ha kíváncsi vagy, mit tud, itt olvashatsz róla    *****    Megnyílt a webáruházunk! Parfümök, Szépségápolási termékek, Olajok mind egy helyen! Nyitási akciók, siess mert limitált!    *****    Az általam legjobbnak vélt sportanimék listája itt olvasható. Top 10 Sportanime az Anime Odyssey-n!    *****    Pont ITT Pont MOST! Pont NEKED! Már fejlesztés alatt is szebbnél szebb képek! Ha gondolod gyere less be!    *****    Megnyílt a webáruházunk! NYITÁSI AKCIÓK! Tusfürdõ+Fogkrém+Sampon+Izzadásgátló+multifunkcionális balzsam most csak 4.490!    *****    Új mese a Mesetárban! Téged is vár, gyere bátran!    *****    Veterán anime rajongók egyik kedvence a Vadmacska kommandó. Retrospektív cikket olvashatsz róla az Anime Odyssey blogban    *****    Parfümök, Olajok, Párologtatók mind egy weboldalon! Siess mert nyitási AKCIÓNK nem sokáig tart! Nagy kedvezmények várnak    *****    Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168 Hívjon!    *****    Aki érdeklõdik a horoszkópja után, az nem kíváncsi, hanem intelligens. Rendeld meg most és én segítek az értelmezésben!    *****    A Múzsa, egy gruppi élményei a színfalak mögött + napi agymenések és bölcseletek    *****    KARATE OKTATÁS *** kicsiknek és nagyoknak *** Budapest I. II. XII.kerületekben +36 70 779-55-77    *****    Augusztus 26-án Kutyák Világnapja! Gyertek a Mesetárba, és ünnepeljétek kutyás színezõkkel! Vau-vau!    *****    A horoszkóp elemzésed utáni érdeklõdés, nem kíváncsiság hanem intelligencia. Rendeld meg és nem fogod megbánni. Katt!!!    *****    Cikksorozatba kezdtem a PlayStation történelmérõl. Miért indult nehezen a Sony karrierje a konzoliparban?