[QUEST]Text splitten

06/16/2012 12:02 ɑɀe'#1
Hallo liebe epvp Community,
ich hoffe ihr könnt mir weiterhelfen.

Ich möchte einen Quest Text, falls dieser eine bestimmte Länge überschreitet aufsplitten.
Zum besseren Verständnis:

Ich hoffe jemand kann mir weiterhelfen :)

Mit freundlichen Grüßen
06/16/2012 12:06 .SonGoku™#2
Kommt dahin

[Only registered and activated users can see links. Click Here To Register...]
06/16/2012 12:07 ɑɀe'#3
Quote:
Originally Posted by Zysios View Post
Kommt dahin

[Only registered and activated users can see links. Click Here To Register...]
Warum sollte es dahin kommen?
Ich habe hier eine Frage gestellt und nichts released..

Mit freundlichen Grüßen
06/16/2012 12:26 Fear *_*#4
hö was des den für ne frage is doch ganz klar einfach dann 3 zeilen machen xD
also:
say("Guten Tag")
say("Isch bin")
say("Fear")

oder meintest du was anderes?
06/16/2012 12:28 ηøℓι#5
Ich glaub er meinte, dass es automatisiert ist.
Also schreibt er nur: Guten Tag, ich bin Aze.
Und es kommt automatisch:
Guten Tag
ich bin
Aze
06/16/2012 12:29 ɑɀe'#6
Quote:
Originally Posted by Fear *_* View Post
hö was des den für ne frage is doch ganz klar einfach dann 3 zeilen machen xD
also:
say("Guten Tag")
say("Isch bin")
say("Fear")

oder meintest du was anderes?
Wenn es so einfach wäre :D

Okey, damit ihr euch das besser vorstellen könnt.
Auf eine Quest Seite passt nur eine bestimmte Zahl von Zeichen.

Wenn ich nun eine MySQL Abfrage mache, ist die Zeichenkette immer unterschiedlich lang.

Deshalb möchte ich den Text splitten falls das Abgefragte die maximale Zeichanzahl einer Seite überschreitet.
D.h. der erste Teil wird dann auf die erste Seite geschrieben & der 2. Teil auf die 2.

Das mit dem "Hallo ich bin aze" war nur ein Beispiel.

Mit freundlichen Grüßen
06/16/2012 12:34 #SoNiice#7
Müsste mit der "split" Funktion von Lua gehen, weiß aber gerade den genauen Syntax für Zeilenlänge nicht.
__

//edit:

Habe deinen neuen Post erst jetzt gesehen, willst du Text ausgeben? Und wenn der bis zum Ende der Zeile, geht soll ein Button kommen mit "Weiter" und dann weiter halt.
06/16/2012 12:36 ɑɀe'#8
Quote:
Originally Posted by SoNiice' View Post
Müsste mit der "split" Funktion von Lua gehen, weiß aber gerade den genauen Syntax für Zeilenlänge nicht.
Ja soweit war ich auch schon. Habe mir auch den Snippet auf der Scriptingpage von Mijago angeschaut. Allerdings wird dort nach Zeichen und nicht nach der Zeichenlänge gesplittet.

Edit:
Quote:
Originally Posted by SoNiice' View Post
Habe deinen neuen Post erst jetzt gesehen, willst du Text ausgeben? Und wenn der bis zum Ende der Zeile, geht soll ein Button kommen mit "Weiter" und dann weiter halt.
Genau das.

Mit freundlichen Grüßen
06/16/2012 12:39 DasKuchen#9
man kann glaube auch einfach in das say schreiben:

[ENTER]
06/16/2012 12:42 ɑɀe'#10
Quote:
Originally Posted by DasKuchen View Post
man kann glaube auch einfach in das say schreiben:

[ENTER]
Bitte lies dir erst die anderen Beiträge durch, bevor du antwortest.

Das wäre das selbe wie
PHP Code:
say("Teil1")
say("Teil2"
Mit freundlichen Grüßen
06/16/2012 12:44 #SoNiice#11
Joa, es gibt genug Befehle zum Zeichen zählen, dann machst du am Ende halt eine Abfrage, wenn er so und so viele Zeichen hat, Button erstellen.
06/16/2012 12:52 ɑɀe'#12
Quote:
Originally Posted by SoNiice' View Post
Joa, es gibt genug Befehle zum Zeichen zählen, dann machst du am Ende halt eine Abfrage, wenn er so und so viele Zeichen hat, Button erstellen.
Und wie willst du ihm dann sagen welchen Teil er auf die "erste Seite" und welchen Teil er auf die "zweite Seite" legen soll?

Wenn du folgendes Beispiel hast:

PHP Code:
local text "Blablablalbalbal blabla bla spl bla blalbalba blabla blablalba" 
Und nach 31 Zeichen also "spl" soll er splitten.

Mit freundlichen Grüßen
06/16/2012 13:01 #SoNiice#13
Textzeichen zählen, die ersten 31 Zeichen in array[0] packen, die nächsten 31 in array[1], ein wenig mitdenken musst du da schon.
06/16/2012 13:11 ɑɀe'#14
Quote:
Originally Posted by SoNiice' View Post
Textzeichen zählen, die ersten 31 Zeichen in array[0] packen, die nächsten 31 in array[1], ein wenig mitdenken musst du da schon.
Könntest du bitte ein Beispiel posten?
Habe gerade keine Vorstellung wie das gehen soll.

Mit freundlichen Grüßen
06/16/2012 13:20 Sp0ngeb0b ist cool#15
Hab nicht wirklich mitgelesen, was ihr genau wollt :D
..hab einfach mal iwas geschrieben, müsst ihr mal testen xP

PHP Code:
local text2 = {
    {
"Guten Tag ich bin sponge"},
    {
"Wer bist du?"},
    {
"Aze"},
}
table.foreach(text2
    function(
e,l
        
local text1,max '',31
        local s 
split(l,' ')
        
table.insert(s,table.getn(s)+1'')
        
local i 0
        repeat
            i 
1
            text1 
s[i]..' '..s[i+1]
        
until string.len(text1) >= max
        
if string.len(text1) == max then
            say
(text1)
        else    
            
local a split(text1' ')
            for 
1table.getn(a) do
                if 
a[table.getn(a)] == a[bthen
                    text1 
text1..'[ENTER]'..a[b]
                else
                    
text1 text1..a[b]
                
end
            end
            say
(text1)
        
end
    end