Szerző Téma: [TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe  (Megtekintve 3895 alkalommal)

.:: ZeX ::.

  • Vendég
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Dátum: 2009. December 13. - 17:44:19 »
0
Hosszú szöveg a párbeszédpanelbe
 
Mivel sokan teszik fel ezt a kérdést, és megtaláltam a muködoképes és tesztelt megoldást, gondolom megosztom veletek.

A titok nyitja egy nagyon parasztos, de hatékony megoldásban rejlik. Akkor lássuk is:

 
new DialogIDString[][]={
\"Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt\\n\", // Sor 1 (Az \\n kell a végére!)
\"Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt,Teszt\"
};

 
Ezzel létrehoztuk a késobb megjeleno karakterláncot...
 
new DialogString[1600]; // Az 1600 helyett a karakterek számát írd..
format(DialogString,sizeof DialogString,\"%s%s\",DialogIDString[0],DialogIDString[1]); // Szépen beágyazzuk a sorokat, ezzel átvertük a PAWN-t és nem veszi hoszúnak:D

 
Innentol magáért beszél a dolog szerintem...gyengébbek kedvéért:

A dialógus megjelenésénél a
DialogString karakterláncot használjuk szövegnek...:
 
ShowPlayerDialog(playerid,dialogid,style,caption,DialogString,button1[],button2[]);

 
Ugye nem is nehéz? Ha mégis bátran írj...Ennyi, Enjoy!
« Utoljára szerkesztve: 2009. December 13. - 17:46:39 írta .:: ZeX ::. »

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #1 Dátum: 2009. December 13. - 18:12:34 »
0
Ezt jó ötlet volt leírni, sok embernek hasznára válhat. A DialogString vektor mérete nekem kicsit furcsa, nem hiszem hogy \'ennyire\' hosszú szöveget akarnának leírni. De ki tudja? :) Jó lett, ez a lényeg.
ZeRo

.:: ZeX ::.

  • Vendég
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #2 Dátum: 2009. December 13. - 19:22:51 »
0
A cellák méretét a karakterlánc méretére állítsd.

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #3 Dátum: 2010. Január 30. - 11:24:46 »
0
Ez egy jó hülye kérdés lesz: hogy állapítod meg, hogy hány karakter ?

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #4 Dátum: 2010. Január 30. - 11:35:16 »
+1
Megszámolod pl  ;D

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #5 Dátum: 2010. Január 30. - 12:21:35 »
+1
strlen( string[  ] );

 
És mondjuk kiíratod a konzolba a print függvénnyel, így nem is kell megszámolnod, csak leolvasnod.
ZeRo

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #6 Dátum: 2010. Január 30. - 14:16:53 »
0
Idézetet írta: ZeRo date=1264850495\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"337\" data-ipsquote-contentclass=\"forums_Topic

strlen( string[  ] );

 
És mondjuk kiíratod a konzolba a print függvénnyel, így nem is kell megszámolnod, csak leolvasnod.
ZeRo
 
Vagy new hosszusag = strlen(string);, igaz? :P

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #7 Dátum: 2010. Január 30. - 14:19:59 »
0
Idézetet írta: Iceaac date=1264857413\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"337\" data-ipsquote-contentclass=\"forums_Topic


 
strlen( string[  ] );

 
És mondjuk kiíratod a konzolba a print függvénnyel, így nem is kell megszámolnod, csak leolvasnod.
ZeRo
 
Vagy new hosszusag = strlen(string);, igaz? :P
 
[/quote]
Még mindíg jobb, mint megszámolni.  ;)
ZeRo

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #8 Dátum: 2010. Január 31. - 20:05:40 »
0
Én ezt nemértem, írd le pls h hogyan goldolod azt a stringeset XD
De nekem már az is hosszú.....
« Utoljára szerkesztve: 2010. Február 01. - 12:35:26 írta kurta999 »

[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #9 Dátum: 2010. Január 31. - 20:22:04 »
0
Sortöréssel csináld. \\ jel és új sorban folytatod. Példa:
\"Ez most a teszt\\
karakterlánc\"

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #10 Dátum: 2010. Július 12. - 13:37:42 »
0
Na megy xD Amúgy ha DialogIDString-et használsz naggyából 20 darab után má problémázik a pawno h hosszú a format :D Ezért én csak így használom DS.

Nem elérhető krisk

  • 2380
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #11 Dátum: 2010. Július 13. - 11:03:40 »
0
Ez ugyanolyan kis \'small but smart\' fixek mint pl az IsNull függvény, vagy az IsNAN. Nagyon ötletes!

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #12 Dátum: 2010. Július 13. - 18:17:28 »
0
Lenne egy kérdésem; ezt, h lehet úgy megcsinálni, h ne kellljen minden sort beágyazni ?

[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #13 Dátum: 2012. Január 28. - 20:06:54 »
0
és hogy csinjem meg parancsra nem értem

Nem elérhető Game94

  • 405
    • Profil megtekintése
[TUT] [UNIT] Hosszú szöveg a párbeszédpanelbe
« Válasz #14 Dátum: 2012. Január 28. - 20:19:59 »
0
Ezt mondjuk inkább a kérdésekhez kellett volna, fõleg úgy hogy több mint 1 éve nem írtak a témába..
Ez a leírás nem a Dialogok használatát mutatja be, hanem hogy hogyan lehet nagyobb karakterláncokat használni, szóval ez még off is volt.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal