[SERVICE] Die Questkontrolle

10/29/2014 01:52 Dyshaxo#10591
Quest:


Problem:

Aus irgendeinem Grund führt er im state "dungeon" das "when login" nicht aus
10/30/2014 01:43 r3dn0xHD#10592
problem selber gelöst
10/30/2014 19:09 IceCreamx3#10593
Hallo,

ich möchte gerne bei der Ascaban Farmmap eine Levelgrenze einbauen.
Wenn man unter lvl 80 ist soll die nachricht kommen
"Du kannst diese Map nicht betreten, da du unter dem Level 80 bist."

Hier die Quest:

Code:
quest warpring begin
    state start begin
        when 70007.use begin
            say_title("Warpring") 
            say("Wohin möchtest du teleportiert werden?")
        local empire = pc.get_empire() 
                    local selectmap = select("Map1","Map2","Orktal","Wüste","Eisland","Feuerland","Weiter","Abbrechen")
                    if selectmap == 8 then
                return
                    elseif selectmap == 7 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            local selectmap2 = select("Dämonenturm","Geisterwald","Roter Wald","Spinnendungeon","Grotte der Verbannung 2","Land der Riesen","Wüste von Ascaban (80 Farmmap)","Abbrechen")
                    if selectmap2 == 8 then
                        return
                    elseif selectmap2 == 1 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(590500,110800)
                    elseif selectmap2 == 2 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local geisterselect = select("Anfang","Ende","Abbrechen")
                    if geisterselect == 3 then
                        return
                    elseif geisterselect == 1 then
            pc.warp(290500,5700)
                    elseif geisterselect == 2 then
            pc.warp(286400,44200)
            end
                    elseif selectmap2 == 3 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local roterselect = select("Anfang","Ende","Abbrechen")
                    if roterselect == 3 then
                        return
                    elseif roterselect == 1 then
            pc.warp(1119900,70800)
                    elseif roterselect == 2 then
            pc.warp(1119100,7700)
            end
                    elseif selectmap2 == 4 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(91700, 525300)
                    elseif selectmap2 == 5 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(241700, 1274900)
                    elseif selectmap2 == 6 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(819200, 716800)
					elseif selectmap2 == 7 then
						say_title("Warpring")
						say("Wohin möchtest du teleportiert werden?")
			pc.warp(5525600,5453200)			
            end
                    elseif selectmap == 1 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if map1select == 4 then
                        return
                    elseif map1select == 1 then
            pc.warp(474300, 954800)
                    elseif map1select == 2 then
            pc.warp(63800, 166400)
                    elseif map1select == 3 then
            pc.warp(959900, 269200)
            end
                    elseif selectmap == 2 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local map2select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if map2select == 4 then
                        return
                    elseif map2select == 1 then
            pc.warp(353100, 882900)
                    elseif map2select == 2 then
            pc.warp(145500, 240000)
                    elseif map2select == 3 then
            pc.warp(863900, 246000)
            end
                    elseif selectmap == 3 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local otselect = select("Anfang","Mitte","Abbrechen")
                    if otselect == 3 then
                        return
                    elseif otselect == 1 then
            if empire == 1 then
            pc.warp(402100, 673900)
                    elseif empire == 2 then
            pc.warp(270400, 739900)
                    elseif empire == 3 then
            pc.warp(321300, 808000)
            end
                    elseif otselect == 2 then
            pc.warp(332800, 745600)
            end
                    elseif selectmap == 4 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local wuesteselect = select("Anfang","Mitte","Abbrechen")
                    if wuesteselect == 3 then
                        return
                    elseif wuesteselect == 1 then
            if empire == 1 then
            pc.warp(217800, 627200)
                    elseif empire == 2 then
            pc.warp(221900, 502700)
                    elseif empire == 3 then
            pc.warp(344000, 502500)
            end
                    elseif wuesteselect == 2 then
            pc.warp(296800, 547100)
            end
                    elseif selectmap == 5 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local eisselect = select("Anfang","Mitte","Abbrechen")
                    if eisselect == 3 then
                        return
                    elseif eisselect == 1 then
            if empire == 1 then
            pc.warp(434200, 290600)
                    elseif empire == 2 then
            pc.warp(375200, 174900)
                    elseif empire == 3 then
            pc.warp(491800, 173600)
            end
                    elseif eisselect == 2 then
            pc.warp(436500, 215400)
            end
                    elseif selectmap == 6 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local feuerselect = select("Anfang","Mitte","Abbrechen")
                    if feuerselect == 3 then
                        return
                    elseif feuerselect == 1 then
            if empire == 1 then
            pc.warp(599400, 756300)
                    elseif empire == 2 then
            pc.warp(597800, 622200)
                    elseif empire == 3 then
            pc.warp(730700, 689800)
            end
                    elseif feuerselect == 2 then
            pc.warp(600800, 687100)
            end
                end
                    end
                        end
                            end
10/30/2014 19:47 Kullanici123#10594
Hey Leute,

habe eine kleine Frage ich möchte über einen Npc Mobs spwanen lassen habe mir dafür schon eine kleine Quest angelegt nur spwanen die Mobs leider nich :/

hier mal meine quest:

PHP Code:
        when 30121.chat."Siegel spwanen lassen" with pc.is_gm and pc.get_name() == "[SA]Anonymous" begin            
            local s 
= select("Siegel spwanen lassen", "Zurück" )
            if 
s==2 then
             
return
            
end
            
if s==1 then
        cmdchat
("CMD1")
        
d.spawn_mob(20096, 202, 58)
        
d.spawn_mob(20096, 43, 69)
        
d.spawn_mob(20096, 51, 224)
            
end
        end 

Nur als Anmerkung die Map hat den Mapindex 221 wenn man das dafür noch braucht.

Schon mal vielen dank :)

Quote:
Originally Posted by IceCreamx3 View Post
Hallo,

ich möchte gerne bei der Ascaban Farmmap eine Levelgrenze einbauen.
Wenn man unter lvl 80 ist soll die nachricht kommen
"Du kannst diese Map nicht betreten, da du unter dem Level 80 bist."

Hier die Quest:

Code:
quest warpring begin
    state start begin
        when 70007.use begin
            say_title("Warpring") 
            say("Wohin möchtest du teleportiert werden?")
        local empire = pc.get_empire() 
                    local selectmap = select("Map1","Map2","Orktal","Wüste","Eisland","Feuerland","Weiter","Abbrechen")
                    if selectmap == 8 then
                return
                    elseif selectmap == 7 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            local selectmap2 = select("Dämonenturm","Geisterwald","Roter Wald","Spinnendungeon","Grotte der Verbannung 2","Land der Riesen","Wüste von Ascaban (80 Farmmap)","Abbrechen")
                    if selectmap2 == 8 then
                        return
                    elseif selectmap2 == 1 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(590500,110800)
                    elseif selectmap2 == 2 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local geisterselect = select("Anfang","Ende","Abbrechen")
                    if geisterselect == 3 then
                        return
                    elseif geisterselect == 1 then
            pc.warp(290500,5700)
                    elseif geisterselect == 2 then
            pc.warp(286400,44200)
            end
                    elseif selectmap2 == 3 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local roterselect = select("Anfang","Ende","Abbrechen")
                    if roterselect == 3 then
                        return
                    elseif roterselect == 1 then
            pc.warp(1119900,70800)
                    elseif roterselect == 2 then
            pc.warp(1119100,7700)
            end
                    elseif selectmap2 == 4 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(91700, 525300)
                    elseif selectmap2 == 5 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(241700, 1274900)
                    elseif selectmap2 == 6 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
            pc.warp(819200, 716800)
					elseif selectmap2 == 7 then
						say_title("Warpring")
						say("Wohin möchtest du teleportiert werden?")
			pc.warp(5525600,5453200)			
            end
                    elseif selectmap == 1 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if map1select == 4 then
                        return
                    elseif map1select == 1 then
            pc.warp(474300, 954800)
                    elseif map1select == 2 then
            pc.warp(63800, 166400)
                    elseif map1select == 3 then
            pc.warp(959900, 269200)
            end
                    elseif selectmap == 2 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local map2select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if map2select == 4 then
                        return
                    elseif map2select == 1 then
            pc.warp(353100, 882900)
                    elseif map2select == 2 then
            pc.warp(145500, 240000)
                    elseif map2select == 3 then
            pc.warp(863900, 246000)
            end
                    elseif selectmap == 3 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local otselect = select("Anfang","Mitte","Abbrechen")
                    if otselect == 3 then
                        return
                    elseif otselect == 1 then
            if empire == 1 then
            pc.warp(402100, 673900)
                    elseif empire == 2 then
            pc.warp(270400, 739900)
                    elseif empire == 3 then
            pc.warp(321300, 808000)
            end
                    elseif otselect == 2 then
            pc.warp(332800, 745600)
            end
                    elseif selectmap == 4 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local wuesteselect = select("Anfang","Mitte","Abbrechen")
                    if wuesteselect == 3 then
                        return
                    elseif wuesteselect == 1 then
            if empire == 1 then
            pc.warp(217800, 627200)
                    elseif empire == 2 then
            pc.warp(221900, 502700)
                    elseif empire == 3 then
            pc.warp(344000, 502500)
            end
                    elseif wuesteselect == 2 then
            pc.warp(296800, 547100)
            end
                    elseif selectmap == 5 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local eisselect = select("Anfang","Mitte","Abbrechen")
                    if eisselect == 3 then
                        return
                    elseif eisselect == 1 then
            if empire == 1 then
            pc.warp(434200, 290600)
                    elseif empire == 2 then
            pc.warp(375200, 174900)
                    elseif empire == 3 then
            pc.warp(491800, 173600)
            end
                    elseif eisselect == 2 then
            pc.warp(436500, 215400)
            end
                    elseif selectmap == 6 then
                        say_title("Warpring") 
                        say("Wohin möchtest du teleportiert werden?")
                    local feuerselect = select("Anfang","Mitte","Abbrechen")
                    if feuerselect == 3 then
                        return
                    elseif feuerselect == 1 then
            if empire == 1 then
            pc.warp(599400, 756300)
                    elseif empire == 2 then
            pc.warp(597800, 622200)
                    elseif empire == 3 then
            pc.warp(730700, 689800)
            end
                    elseif feuerselect == 2 then
            pc.warp(600800, 687100)
            end
                end
                    end
                        end
                            end


Hey hier mal ein kleines Bsp:

PHP Code:
        elseif 3==s then
                say_title
("Normale Maps:")
                
local a=select ("Orktal (Mitte)", "Eisland (Mitte)", "Wüste (Mitte)", "Beenden")
                if 
1==a then
                
if pc.get_level() < 20 then syschat("Du musst mindestens Level 20 sein, um diese Map betreten zu können!") return end
                    pc
.warp(332885, 745737) 
Hoffe das hilft dir weiter einfach die zeile kopieren und Level 80 reinhauen

mfg
Nick
10/30/2014 21:07 IceCreamx3#10595
Quote:
Originally Posted by Kullanici123 View Post
Hey hier mal ein kleines Bsp:

PHP Code:
        elseif 3==s then
                say_title
("Normale Maps:")
                
local a=select ("Orktal (Mitte)", "Eisland (Mitte)", "Wüste (Mitte)", "Beenden")
                if 
1==a then
                
if pc.get_level() < 20 then syschat("Du musst mindestens Level 20 sein, um diese Map betreten zu können!") return end
                    pc
.warp(332885, 745737) 
Hoffe das hilft dir weiter einfach die zeile kopieren und Level 80 reinhauen

mfg
Nick
Danke, hast mir weitergeholfen.
10/30/2014 22:03 foxyfoxtrod#10596
Hallo,

ich würde gerne insgesamt 8 Geiststeine von egal welchem Plus und egal welcher Sorte zählen. Anschließend möchte ich wissen, ob ich tatsächlich 8 habe und diese dann löschen.

ich zähle das also mittels Array und while schleifen, ich glaub das hab ich ganz "ok" (für einen Anfänger) hinbekommen:

Code:
			local i = {}
			local j = 0
			local k = 30
			while k != 43 do
				while j != 8 do 
					if pc.count_item(23000+k) >= 1 then
						i[j] = 23000+k
						j++
					elseif pc.count_item(23100+k) >= 1 then
						i[j] = 23100+k
						j++
					elseif pc.count_item(23200+k) >= 1 then
						i[j] = 23200+k
						j++
					elseif pc.count_item(23300+k) >= 1 then
						i[j] = 23300+k
						j++
					elseif pc.count_item(23400+k) >= 1 then
						i[j] = 23400+k
						j++
					elseif pc.count_item(23500+k) >= 1 then
						i[j] = 23500+k
						j++
					elseif pc.count_item(23600+k) >= 1 then
						i[j] = 23600+k
						j++
					elseif pc.count_item(23700+k) >= 1 then
						i[j] = 23700+k
						j++
					elseif pc.count_item(23800+k) >= 1 then
						i[j] = 23800+k
						j++
					elseif pc.count_item(23900+k) >= 1 then
						i[j] = 23900+k
						j++
					else
						return
					end
					
					k++
					if i[7] != nil then
						return
					end
				end
			end
Die Item ID's der Steine gehen immer von 30 bis 43, deshalb startet k bei 30 und endet bei 43. Wenn alle pc.count_item's ergebnislos sind soll der auch gar ned 8 mal in die Schleife rein, weil sowieso keine da sind, daher "else return". Danach wird k hochgezählt, was man allerdings nicht abbrechen kann, da es ja verschiedene Steine gibt, es muss ja alle von +0 bis +9 prüfen. Allerdings kann der aufhören zu zählen, wenn das Array voll ist (Arrays starten bei 0, wenn also die 7. Stelle nicht leer ist kann er aus der schleife raus). Jetzt möchte ich aber gerne, wenn das array 7 stellen hat jede Stelle auslesen und einzeln löschen, wie mache ich das?

Ich komm einfach nicht drauf .__. ich weiß es ist simpel, aber ich krieg's ned hin.
10/31/2014 01:50 r3dn0xHD#10597
dt fehler

problem: werde nicht hoch geportet bzw nach dem killen des metins passiert nix
10/31/2014 02:18 Kullanici123#10598
Hey,

wie der Titel schon sagt möchte ich Mobs via eines Quest spwanen lassen. Mobs sind das nicht wirklich sondern eher npcs.

Hier mal meine Quest:

PHP Code:
        when 30121.chat."Siegel spwanen lassen" with pc.is_gm and pc.get_name() == "[SA]Anonymous" begin            
            local s 
= select("Siegel spwanen lassen", "Zurück" )
            if 
s==2 then
             
return
            
end
            
if s==1 then
        cmdchat
("CMD1")
        
d.spawn_mob(20096, 202, 58)
        
d.spawn_mob(20096, 43, 69)
        
d.spawn_mob(20096, 51, 224)
            
end
        end 
Schon mal vielen Dank :) PS. Der Map Index von meiner Map ist 221 wenn man diesen braucht.
10/31/2014 04:00 r3dn0xHD#10599
nächstes problem >.<

Reittiere bekommen keinen bonus bzw. keine vollen 200 def sondern ca nur 150

quest:

PHP Code:
quest Keiler begin 
    state start begin 
        when 52014.
use begin 
            
if  pc.level>=50 and not pc.is_mount() then
                chat
("Du hast deinen Keiler gerufen!") 
                
affect.remove_collect()  
                
pc.mount(52014) 
                        
affect.add_collect(apply.DEF_GRADE_BONUS,200,900)
            else 
                
chat("Du hast deinen Keiler gerufen!") 
            
end  
        end 
    end 
end 
10/31/2014 05:56 foxyfoxtrod#10600
Quote:
Originally Posted by r3dn0xHD View Post
dt fehler

problem: werde nicht hoch geportet bzw nach dem killen des metins passiert nix
Das liegt daran, dass du die entsprechende Stelle auskommentiert hast. "-- Text" sind Kommentare. Einfach bei der 5. Etage die beiden Bindestriche weg machen.

Quote:
Originally Posted by Kullanici123 View Post
Hey,

wie der Titel schon sagt möchte ich Mobs via eines Quest spwanen lassen. Mobs sind das nicht wirklich sondern eher npcs.

Hier mal meine Quest:

PHP Code:
        when 30121.chat."Siegel spwanen lassen" with pc.is_gm and pc.get_name() == "[SA]Anonymous" begin            
            local s 
= select("Siegel spwanen lassen", "Zurück" )
            if 
s==2 then
             
return
            
end
            
if s==1 then
        cmdchat
("CMD1")
        
d.spawn_mob(20096, 202, 58)
        
d.spawn_mob(20096, 43, 69)
        
d.spawn_mob(20096, 51, 224)
            
end
        end 
Schon mal vielen Dank :) PS. Der Map Index von meiner Map ist 221 wenn man diesen braucht.
Das d.spawn_mob hat drei Parameter. Das erste ist die Mob ID, wäre bei dir dann 20096, das zweite sind die X und das dritte die Y Koordinaten. Mal abgesehen davon, dass dein Select nicht funktionieren wird ist also alles ok.

Code:
if 2==s 
if 1==s
So rum wär's richtig.

Quote:
Originally Posted by r3dn0xHD View Post
nächstes problem >.<

Reittiere bekommen keinen bonus bzw. keine vollen 200 def sondern ca nur 150

quest:

PHP Code:
quest Keiler begin 
    state start begin 
        when 52014.
use begin 
            
if  pc.level>=50 and not pc.is_mount() then
                chat
("Du hast deinen Keiler gerufen!") 
                
affect.remove_collect()  
                
pc.mount(52014) 
                        
affect.add_collect(apply.DEF_GRADE_BONUS,200,900)
            else 
                
chat("Du hast deinen Keiler gerufen!") 
            
end  
        end 
    end 
end 
Da gibt's eine ganz einfache Lösung: "(apply.DEF_GRADE_BONUS,250,900)" Wenn's 50 weniger sind einfach um 50 erhöhen. Dein Code ist richtig, um die Ursache des Bugs zu finden müsstest du am besten einen neuen Thread aufmachen und mehr Details erörtern, an sonsten kann man dir nur raten das einfach höher zu setzen.
10/31/2014 09:01 Kullanici123#10601
Quote:
Originally Posted by foxyfoxtrod View Post
Das d.spawn_mob hat drei Parameter. Das erste ist die Mob ID, wäre bei dir dann 20096, das zweite sind die X und das dritte die Y Koordinaten. Mal abgesehen davon, dass dein Select nicht funktionieren wird ist also alles ok.

Code:
if 2==s 
if 1==s
So rum wär's richtig.

Habe es so getestet aber die Teile spwanen immer noch nicht an den angegebenen Kordinaten. Soweit ich weiß funktioniert mein Select da ich das mehrfach wo anders verwendet habe. Ich glaube das der Fehler eher wo anders liegen muss. Aber danke für deine Antwort.
10/31/2014 09:33 foxyfoxtrod#10602
Quote:
Originally Posted by Kullanici123 View Post
Habe es so getestet aber die Teile spwanen immer noch nicht an den angegebenen Kordinaten. Soweit ich weiß funktioniert mein Select da ich das mehrfach wo anders verwendet habe. Ich glaube das der Fehler eher wo anders liegen muss. Aber danke für deine Antwort.
Hmm dann kann es eventuell sein, dass wo auch immer du deine Mobs spawnen möchtest das Gebiet nicht als Dungeon anerkannt wird. Du benutzt den Präfix "d." also Dungeon. Wäre zum Beispiel Dämonenturm.

Versuch's einfach mal so:

Code:
mob.spawn(20096, 202, 58, 1)
mob.spawn(20096, 43, 69, 1) 
mob.spawn(20096, 51, 224, 1)
10/31/2014 17:55 .yorliK#10603
Quote:
Originally Posted by foxyfoxtrod View Post
Hallo,

ich würde gerne insgesamt 8 Geiststeine von egal welchem Plus und egal welcher Sorte zählen. Anschließend möchte ich wissen, ob ich tatsächlich 8 habe und diese dann löschen.

ich zähle das also mittels Array und while schleifen, ich glaub das hab ich ganz "ok" (für einen Anfänger) hinbekommen:

Die Item ID's der Steine gehen immer von 30 bis 43, deshalb startet k bei 30 und endet bei 43. Wenn alle pc.count_item's ergebnislos sind soll der auch gar ned 8 mal in die Schleife rein, weil sowieso keine da sind, daher "else return". Danach wird k hochgezählt, was man allerdings nicht abbrechen kann, da es ja verschiedene Steine gibt, es muss ja alle von +0 bis +9 prüfen. Allerdings kann der aufhören zu zählen, wenn das Array voll ist (Arrays starten bei 0, wenn also die 7. Stelle nicht leer ist kann er aus der schleife raus). Jetzt möchte ich aber gerne, wenn das array 7 stellen hat jede Stelle auslesen und einzeln löschen, wie mache ich das?

Ich komm einfach nicht drauf .__. ich weiß es ist simpel, aber ich krieg's ned hin.
Ich versteh nicht was du mit auslesen und einzeln löschen meinst. Über nen select oder wie?

Code:
local steine = {}
for i=1, 9, 1 do
	for k=30, 43, 1 do
		stein = tonumber("23"..i..""..k)
		if pc.count_item(stein)>=1 then
			table.insert(steine, stein)
			if table.getn(steine)>=8 then break end
		end
	end
	if table.getn(steine)>=8 then break end
end
if table.getn(steine)==0 then say("Keine Steine") return end
namen = {}
for i=1, table.getn(steine), 1 do
	table.insert(namen, item_name(steine[i]))
end
table.insert(namen, "Abbrechen")
s = select_table(namen)
if s==table.getn(namen) then return end
pc.remove_item(steine[s], 1)
10/31/2014 19:48 .DarkDreams#10604
PHP Code:
quest post begin
    state start begin
        when 20011.chat
."Postfach öffnen" begin
            local myname 
= pc.get_name()
            
local sel = select("Posteingang", "Postausgang", "Neue Mail", "Beenden")
            if 
sel == 4 then
                say
("Okey bye")
                return
            elseif 
sel == 1 then
                local mail 
= mysql_query("SELECT * FROM player.mail where empfanger = '"..pc.get_name().."' and seeable = 1;")
                
local inbox_table = {}
                for 
i = 1,table.getn(mail),1 do 
                    
table.insert(inbox_table, mail.titel[i]) 
                
end 
                table
.insert(inbox_table,"Close") 
                
local m = select_table(inbox_table) 
                
local vid = mail.vid[m]
                
local split = 0
                local path 
= "/usr/metin2/wof2010/share/locale/germany/quest/mail"
                
local file = io.open(path.."/mail_"..vid,"r")
                
zeile = file:read()
                for 
line in file:lines() do
                    
say(line)
                    if 
split == 10 then
                        wait
()
                        
split = 0
                    
else
                        
split = split + 1
                    end
                end
                file
:close()
                
wait()
                
local sel3 = select("löschen", "antworten", "weiterleiten", "Beenden")
                if 
sel3 == 1 then
                    mysql_query
("UPDATE player.mail SET seeable = 0 where vid = "..vid..";")
                    
say("Erfolgreich durchgeführt")
                    return
                elseif 
sel3 == 2 then
                    local name 
= mail.sender[m]
                    
local titel = "RE: "..mail.titel[m]
                    
local mail = ""
                    
local add = pc.get_name()..":/n"
                    
local add = "timestamp: "..get_global_time().."\\n"..pc.get_name()..":\\n"
                    
while add != "" do
                        
say("Gib deine Nachricht ein.")
                        
say("Leeres Feld beendet Texteingabe")
                        
mail = mail..add.."\\n"
                        
add = input()
                    
end
                    local vid 
= game.get_event_flag("Mail_Vid")
                    
game.set_event_flag("Mail_Vid", vid + 1)
                    
local path = "/usr/metin2/wof2010/share/locale/germany/quest/mail"
                    
mysql_query("INSERT INTO player.mail VALUES ('"..vid.."', '"..titel.."', '"..name.."', '"..myname.."', '1');") 
                    
local file = io.output(io.open(path.."/mail_"..vid,"a"))
                    
io.write(mail);
                    
file:flush()
                    
file:close() 
                    
say("Erfolgreich gesendet")
                elseif 
sel3 == 3 then
                    local titel 
= "Weiterleitung: "..mail.titel[m]
                    
local vid = mail.vid[m]
                    
say("Empfänger wählen")
                    
local name = input()
                    
mysql_query("INSERT INTO player.mail VALUES ('"..vid.."', '"..titel.."', '"..name.."', '"..myname.."', '1');") 
                    
say("Erfolgreich durchgeführt")
                elseif 
sel3 == 4 then
                    say
("Okey bis bald")
                    return
                
end
            
elseif sel == 2 then
                local inbox_table 
= {}
                
local mail = mysql_query("SELECT * FROM player.mail where sender = '"..myname.."' and seeable = 1;")
                for 
i = 1,table.getn(mail),1 do 
                    
table.insert(inbox_table, mail.titel[i]) 
                
end 
                table
.insert(inbox_table,"Close") 
                
local m = select_table(inbox_table) 
                
local vid = mail.vid[m]
                
local split = 0
                local path 
= "/usr/metin2/wof2010/share/locale/germany/quest/mail"
                
local file = io.open(path.."/mail_"..vid,"r")
                
zeile = file:read()
                for 
line in file:lines() do
                    
say(line)
                    if 
split == 10 then
                        wait
()
                        
split = 0
                    
else
                        
split = split + 1
                    end
                end
                file
:close()
            elseif 
sel == 3 then
                local string mail 
= ""                
                
say("Okey wen möchtest du die Mail schicken?")
                
local to = input()
                
local check = mysql_query("SELECT * FROM player.player WHERE name = '"..to.."';")
                if 
check.id[1] == nil then
                    say
("Spieler nicht gefunden")
                    return
                
end
                say
("Titel eingeben")
                
local title = input()
                
local add = "timestamp: "..get_global_time().."\\n"..pc.get_name()..":\\n"
                
while add != "" do
                    
say("Gib deine Nachricht ein.")
                    
say("Leeres Feld beendet Texteingabe")
                    
mail = mail..add.."\\n"
                    
add = input()
                
end
                local vid 
= game.get_event_flag("Mail_Vid")
                
game.set_event_flag("Mail_Vid", vid + 1)
                
local path = "/usr/metin2/wof2010/share/locale/germany/quest/mail"
                
mysql_query("INSERT INTO player.mail VALUES ('"..vid.."', '"..title.."', '"..to.."', '"..myname.."', '1');") 
                
local file = io.output(io.open(path.."/mail_"..vid,"a"))
                
io.write(mail);
                
file:flush()
                
file:close() 
                
say("Erfolgreich gesendet")
            
end
        end
    end
end 
beim compilieren keine probleme wenn ich nen user eingebe schließt sich das questfenster :/
11/01/2014 13:46 Zaturix#10605
Guten Tag,

ich habe ein Problem mit meiner Gildenlagerquest

Bei der Rechteverteilung kann man die Member nicht mehr löschen von der Rechteverteilung somit bleiben die Rechte der Member dann..