-
Sziasztok!
Hogy lehet azt megcsinálni, hogy MSGBOX-os dialogba adja ki az elmentett txt-bõl a szöveget?
Mert most chatbe dobja ki.
Köszönöm!
CMD:uzifal(playerid)
{
new
File:cfg = fopen(\"uzenofal.txt\", io_read);
if(cfg)
{
new
rstr[500];
while(fread(cfg, rstr))
{
SendClientMessage(playerid, COLOR_ORANGE, rstr);
}
fclose(cfg);
}
return 1;
}
-
SendClientMessage(playerid, COLOR_ORANGE, rstr);
Cseréld erre:
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX, \"\", rstr, \"Oké\",\"\");
-
Oké, behozta dialogba a szöveget. Már csak az a gond, hogy csak egy sornyit :)
Dupla hozzászólás automatikusan összefûzve. ( [time]2014. Július 27. 20:36:32[/time] )
Jó nehezet kérdeztem :D
Dupla hozzászólás automatikusan összefûzve. ( [time]2014. Július 27. 21:28:15[/time] )
vagyis inkább az a baj, hogy az egészet olvasná be, de csak 1 sorba adja ki az msgbox, persze ha kiférne. Sortördelve menti el, az jó, viszont a sortört szöveget a txt-bõl már nem olvassa be teljesen, csak a legutóbbi sort.
erre varjál gombot :hmmm:
-
Ugyan én a fájlkezeléshez nem értek, csak a dinihez egy kicsit, de logikám az van. Így tudok rá feltételezett megoldást nyújtani. Nos, a while ciklus miatt minden sort kiolvas, majd minden sorral megjelenít egy dialogot. Ebbõl a játékos annyit érzékel, hogy az utolsó megjelenített dialog a képernyõjén marad benne az utolsó kiolvasott sorral. Erre az a megoldás, hogy létrehozol egy string tipusú változót, amelyre a while ciklus alatt rácsatolod a következõ sort a strcat függbény segítségével, majd a string valtozót használva - miután a program kilép a ciklusból - elõhívod a dialogot. Ez gyakorlatban valahogy így néz ki:
while(fread(cfg, rstr))
{
strcat(string, rstr);
}
fclose(cfg);
ShowPlayerDialog(playerid, 12345, DIALOG_STYLE_MSGBOX, \"Teszt\", string, \"Bezárás\", \"\");
-
undefined symbol: string .... most akkor õõ.. izé .. :(
Dupla hozzászólás automatikusan összefûzve. ( 2014. július 28. - 01:16:55 )
csak simán \'new string\'?
-
Ezt ugye most nem mondod komolyan...? Nézd át a programozás alapjait, mielõtt bármibe belevágsz. Amúgy pedig:
new string[ide amilyen hosszú lehet a szöveg maximum, de nem több, mint amennyi kifér a dialogba + 1 + ahány \\n van * 2]
Amúgy az elõzõben egy \\n kimaradt, írd majd oda, hogy minden kiolvasott sornál újat kezdjen. Ja és használhatnád dupla és tripla hozzászólás helyett a szerkesztés gombot!
-
Köszönök szépen mindent! Meglesz! :)