[SERVICE] Die Questkontrolle

04/04/2014 15:17 RawClassic#9961
Habe irgendwie probleme mit der Quest ich checks nicht warums nicht geht
der Entfernt das Item und sagt auch wenn ich das item nicht habe das es nicht geht aber er portet mich dann im endeffekt nicht nach dem er das item Removed hat....
PHP Code:
quest Biomap begin
    state start begin
    when 20377.chat
."Biomap"  begin
            say_title
("Biomap")       
            
say("Du willst also auf die Biomap")
            
say("Dort kannst du alle Bio Items droppen")
            
say("Aber es wird nicht leicht werden")
            
say("Ich benoetige dafuer Bioschluessel")
            
say("")

                    if 
pc.count_item(30190) >= 1 then
                    local s 
= select("Ja", "Nein")
                    if 
s==1 then
                    pc
.removeitem("30190", 1)
                    
                    
say_title("Biomap")       
                    
say("Du hast ein Bioschluessel")
                    
say("Ich bringe dich nun auf die Biomap")
                    
say("Dort droppst du die Bio Items bis zur 70ger Bio")
                    
say("aus Metinsteinen jeder Boss droppt einen zufaelligen Bio Seeli")
                    
say("")
                    
pc.warp(383, 640)
else
return
end
else
                    
say_title("Du hast keinen Bioschluessel")
                    
say("besorg dir einen")
                    
say("und komm wieder")

                    
say_item_vnum(30190)
        
end
    end
    end
end 
04/04/2014 16:37 pyccak96#9962
Moin,
Hab 'n bisschen Stress mit der Quest:
Problem: Ich bekomme das Siegel, und die Items werden auch abgezogen. Nur ist das Problem, dass wenn ich auch 1 habe, der mir trotzdem das Siegel gibt. Man soll aber min. 50 besitzen.
Wäre nett, wenn jemand die Quest korrigieren könnte.
:D
04/04/2014 16:39 nOa##9963

@RawClassic

@M2Back2Roots

@pyccak96
04/04/2014 16:57 RawClassic#9964
Hey danke für deine Antwort aber das porten funktioniert leider immer noch nicht.... der sagt denn ja ich porte ich blabla und dann steht unten "ok" sobald man "ok" drück schließt sich das fenster aber man wird nicht geportet

Das ist diese "Gm Insel" wo der rauf soll metin2_map_t1 kann das an den warps liegen oder so? also sind die richten /warp 383 640 aber vllt kann man da nicht mitm porter rauf oder so?
04/04/2014 17:16 xknairolf22#9965
Quote:
Originally Posted by 123Crusher123 View Post
Weil die Abfrage ganz einfach zu spät kommt. Er wird praktisch abgefragt, nachdem man den Mpp und den Tradi bekommen hat.

So sollte es gehen:
PHP Code:
quest truhen_zero begin 
    state start begin 
        when login begin
            pc
.give_item2(50187)
            
set_state(truhen)
        
end
    end
    state truhen begin
        when 50187.
use begin
            
if pc.get_job() == 0 then
                local item_vnum 
= 19 --Schwert+9
                pc
.give_item2(11209, 1) --Mönchsplattenpanzer+9
                pc
.give_item2(12209, 1) --Traditioneller Helm+9
            
elseif pc.get_job() == 1 then
                item_vnum 
= 1009 --Dolche+9
                pc
.give_item2(11409, 1) --Azuranzug+9
                pc
.give_item2(12349, 1) --Lederkaputze+9
            
elseif pc.get_job() == 2 then                
                item_vnum 
= 19 --Schwert+9
                pc
.give_item2(11609, 1) --Requiem-Plattenpanzer+9
                pc
.give_item2(12489,1) --Blutiger Helm+9
            
elseif pc.get_job() == 3 then
                item_vnum 
= 7009 --Fächer+9
                pc
.give_item2(11809, 1) --Pupurkleidung+9
                pc
.give_item2(12629, 1) --Mönchshut+9
            end
            pc
.give_item2(item_vnum) --lvl 1er waffe je nach rasse
            pc
.give_item2(27003, 200) --Roter Trank(G)
            
pc.give_item2(27006, 200) --Blauer Trank(G)
            
pc.give_item2(27112, 200)  --Grüner Trank(G)
            
pc.give_item2(27115, 200)  --Violetter Trank(G)
            
pc.give_item2(13009, 1)  --Schlachtschild+9
            pc
.give_item2(14009, 1)  --Holzarmband+9
            pc
.give_item2(15009, 1)  --Lederschuhe+9
            pc
.give_item2(16009, 1)  --Holzhalskette+9
            pc
.give_item2(17009, 1)  --Holzohrringe+9
            pc
.give_item2(70038, 200)  --Tapferkeitsumhang
            pc
.give_item2(50037, 10) --Sechseckige Schatztruhe
            pc
.give_item2(72701, 1) --Windschuhe
            pc
.give_item2(72501, 1) --Anti-EXP
            pc
.give_item2(71134, 1) --Rappen-Siegel
            pc
.remove_item(50187, 1) --Lehrlingstruhe I verschwindet
        end 
    end 
end 
Jetzt bekommt man kein schwert mehr D:
04/04/2014 17:25 M2Back2Roots#9966
Quote:
Originally Posted by 123Crusher123 View Post
@RawClassic

@M2Back2Roots

@pyccak96
ist eingetragen, finde nur komischerweise in den questlib keinen eintrag der direkt "function number" heißt.. jedoch nutze ich die funktion hier auch :o

Code:
			function chance(percent)
				local r = number(1,100)
				if r < percent then return true else return false
				end
			end
da funktioniert es ohne probleme :o
04/04/2014 17:30 RawClassic#9967
Quote:
Originally Posted by 123Crusher123 View Post
@RawClassic

@M2Back2Roots

@pyccak96

Muss ich bei dem moob 20377 (Palastwächter) noch was in db ändern? eigentlich ja nicht oder? weil anklicken kann ja ihn ja das einzige was er nicht macht ist mich nach dem entfernen des items wegporten...
irgendwas muss da in der quest noch falsch sein...
04/04/2014 19:04 TayzZ.?#9968
Ne klappt aber Immer noch ned

04/04/2014 22:27 RawClassic#9969
Keiner eine Idee warum der den Spieler dann nicht portet? ;(
PHP Code:
quest Biomap begin
    state start begin
        when 20377.chat
."Biomap" begin
            say_title
("Biomap")    
            
say("Du willst also auf die Biomap")
            
say("Dort kannst du alle Bio Items droppen")
            
say("Aber es wird nicht leicht werden")
            
say("Ich benoetige dafuer Bioschluessel")
            
say("")

            if 
pc.count_item(30190) >= 1 then
                local s 
= select("Ja", "Nein")
                if 
s==1 then
                    pc
.remove_item(30190, 1)

                    
say_title("Biomap")    
                    
say("Du hast ein Bioschluessel")
                    
say("Ich bringe dich nun auf die Biomap")
                    
say("Dort droppst du die Bio Items bis zur 70ger Bio")
                    
say("aus Metinsteinen jeder Boss droppt einen zufaelligen Bio Seeli")
                    
say("")
                    
pc.warp(383, 640)
                else
                    return
                
end
            
else
                
say_title("Du hast keinen Bioschluessel")
                
say("")
                
say("besorg dir einen und komm wieder!")
                
say("")
                
say_item_vnum(30190)
            
end
        end
    end
end 
04/04/2014 23:29 .Pff#9970
Code:
quest metinkill begin
    state start begin
        when login with  pc.get_level() >= 50 begin
            send_letter("Zerstoere die Metinsteine")
        end
        when info or button begin
            say_title("Auftrag:")
            say("Toete 50 Metinsteine!")
            say_reward("Willst du den Auftrag annehmen?")
            local boolean = select("ja", "Abbrechen")
            if a == 2 then 
                complete_quest()
            else
                pc.setqf("statemob", 0)
                q.set_counter("Metinsteine", 50)
                set_state(metinkill)
            end
        end
    end
    state metinkill begin
        when letter begin
            send_letter("Zerstoere die Metinsteine")
        end
        when info or button begin
            say_title("Auftrag:")
            say("Anzahl der Zerstoerten Metins")
            say_reward("Metinsteine: "..pc.qetgf("statemob").."")
        end
        when 8027.kill begin
            local count1 = pc.getqf("statemob") + 1 
            if count1 <= 50 then 
                pc.setqf("statemob", count1) 
                q.set_counter("Metinsteine", count1) 
            end 
            if count1 == 50 then 
            set_state(fertig) 
        end 
    end
    state fertig begin
        when letter begin
            send_letter("Auftrag abgeschlossen")
        end		
        when button or info begin
            say_title("Auftrag:")
            say("Du hast den Auftrag erfolgreich abgeschlossen!")
            say_reward("Suche dir eine Belohnung aus")
            local a = select("A", "B", "C", "D")
            if a == 1 then
                complete_quest()
            elsif a == 2 then
                complete_quest()
            elsif a == 3 then
                complete_quest()
            elsif a == 4 then
                complete_quest()
            end
	end
    end
end


Sieht einer den Fehler? ... Ich gucke schon so lange drauf und ich komm einfach nicht drauf. Der Error der kommt ist:
"expecting ´when´or ´function´
Metinsteine_kill.quest:39:Error occured on compile Metinsteine_kill.quest

Danke im Vorraus.

Lg. .Pff
04/04/2014 23:31 Mr.Xhater#9971
Quote:
Originally Posted by xknairolf22 View Post
Jetzt bekommt man kein schwert mehr D:
PHP Code:
quest truhe begin  
        state start begin  
            when 50187.
use begin 
            
if pc.get_job() == 0 then --> Rasse Krieger
                pc
.give_item2(19, 1)
                
pc.give_item2(11209, 1)
                
pc.give_item2(12209, 1) 
                elseif 
pc.get_job() == 1 then   --> Rasse Ninja
                pc
.give_item2(1009, 1)
                
pc.give_item2(11409, 1) 
                
pc.give_item2(12349, 1)
                elseif 
pc.get_job() == 2 then  --> Rasse Sura                  
                pc
.give_item2(19, 1) -
                
pc.give_item2(11609, 1) -
                
pc.give_item2(12489,1) 
                elseif 
pc.get_job() == 3 then   --> Rasse Schamane
                pc
.give_item2(7009, 1) 
                
pc.give_item2(11809, 1) 
                
pc.give_item2(12629, 1) 
            
end 
            pc
.give_item2(27003, 200) --Roter Trank(G) 
            
pc.give_item2(27006, 200) --Blauer Trank(G) 
            
pc.give_item2(27112, 200)  --Grüner Trank(G) 
            
pc.give_item2(27115, 200)  --Violetter Trank(G) 
            
pc.give_item2(13009, 1)  --Schlachtschild+9 
            pc
.give_item2(14009, 1)  --Holzarmband+9 
            pc
.give_item2(15009, 1)  --Lederschuhe+9 
            pc
.give_item2(16009, 1)  --Holzhalskette+9 
            pc
.give_item2(17009, 1)  --Holzohrringe+9 
            pc
.give_item2(70038, 200)  --Tapferkeitsumhang 
            pc
.give_item2(50037, 10) --Sechseckige Schatztruhe 
            pc
.give_item2(72701, 1) --Windschuhe 
            pc
.give_item2(72501, 1) --Anti-EXP 
            pc
.give_item2(71134, 1) --Rappen-Siegel 
            pc
.remove_item(50187, 1) --Lehrlingstruhe I verschwindet 
        end  
    end 
end 
04/04/2014 23:45 .Pff#9972
Quote:
Originally Posted by .Pff View Post
Code:
quest metinkill begin
    state start begin
        when login with  pc.get_level() >= 50 begin
            send_letter("Zerstoere die Metinsteine")
        end
        when info or button begin
            say_title("Auftrag:")
            say("Toete 50 Metinsteine!")
            say_reward("Willst du den Auftrag annehmen?")
            local boolean = select("ja", "Abbrechen")
            if a == 2 then 
                complete_quest()
            else
                pc.setqf("statemob", 0)
                q.set_counter("Metinsteine", 50)
                set_state(metinkill)
            end
        end
    end
    state metinkill begin
        when letter begin
            send_letter("Zerstoere die Metinsteine")
        end
        when info or button begin
            say_title("Auftrag:")
            say("Anzahl der Zerstoerten Metins")
            say_reward("Metinsteine: "..pc.qetgf("statemob").."")
        end
        when 8027.kill begin
            local count1 = pc.getqf("statemob") + 1 
            if count1 <= 50 then 
                pc.setqf("statemob", count1) 
                q.set_counter("Metinsteine", count1) 
            end 
            if count1 == 50 then 
            set_state(fertig) 
        end 
    end
    state fertig begin
        when letter begin
            send_letter("Auftrag abgeschlossen")
        end		
        when button or info begin
            say_title("Auftrag:")
            say("Du hast den Auftrag erfolgreich abgeschlossen!")
            say_reward("Suche dir eine Belohnung aus")
            local a = select("A", "B", "C", "D")
            if a == 1 then
                complete_quest()
            elsif a == 2 then
                complete_quest()
            elsif a == 3 then
                complete_quest()
            elsif a == 4 then
                complete_quest()
            end
	end
    end
end


Sieht einer den Fehler? ... Ich gucke schon so lange drauf und ich komm einfach nicht drauf. Der Error der kommt ist:
"expecting ´when´or ´function´
Metinsteine_kill.quest:39:Error occured on compile Metinsteine_kill.quest

Danke im Vorraus.

Lg. .Pff
Push# >.>
04/04/2014 23:45 'Laaw.#9973
Quote:
Originally Posted by RawClassic View Post
Keiner eine Idee warum der den Spieler dann nicht portet? ;(
PHP Code:
quest Biomap begin
    state start begin
        when 20377.chat
."Biomap" begin
            say_title
("Biomap")    
            
say("Du willst also auf die Biomap")
            
say("Dort kannst du alle Bio Items droppen")
            
say("Aber es wird nicht leicht werden")
            
say("Ich benoetige dafuer Bioschluessel")
            
say("")

            if 
pc.count_item(30190) >= 1 then
                local s 
= select("Ja", "Nein")
                if 
s==1 then
                    pc
.remove_item(30190, 1)

                    
say_title("Biomap")    
                    
say("Du hast ein Bioschluessel")
                    
say("Ich bringe dich nun auf die Biomap")
                    
say("Dort droppst du die Bio Items bis zur 70ger Bio")
                    
say("aus Metinsteinen jeder Boss droppt einen zufaelligen Bio Seeli")
                    
say("")
                    
pc.warp(383, 640)
                else
                    return
                
end
            
else
                
say_title("Du hast keinen Bioschluessel")
                
say("")
                
say("besorg dir einen und komm wieder!")
                
say("")
                
say_item_vnum(30190)
            
end
        end
    end
end 

Es könnte an der Map liegen. Überprüf mal die Warps dannach müsste es klappen :)
04/05/2014 01:30 RawClassic#9974
Quote:
Originally Posted by #Joker™ View Post
Es könnte an der Map liegen. Überprüf mal die Warps dannach müsste es klappen :)
Habs schon mit anderen waprs probiert von wüste/orktal usw geht mit allen nicht....
04/05/2014 09:45 nOa##9975
Quote:
Originally Posted by .Pff View Post
Code:
quest metinkill begin
    state start begin
        when login with  pc.get_level() >= 50 begin
            send_letter("Zerstoere die Metinsteine")
        end
        when info or button begin
            say_title("Auftrag:")
            say("Toete 50 Metinsteine!")
            say_reward("Willst du den Auftrag annehmen?")
            local boolean = select("ja", "Abbrechen")
            if a == 2 then 
                complete_quest()
            else
                pc.setqf("statemob", 0)
                q.set_counter("Metinsteine", 50)
                set_state(metinkill)
            end
        end
    end
    state metinkill begin
        when letter begin
            send_letter("Zerstoere die Metinsteine")
        end
        when info or button begin
            say_title("Auftrag:")
            say("Anzahl der Zerstoerten Metins")
            say_reward("Metinsteine: "..pc.qetgf("statemob").."")
        end
        when 8027.kill begin
            local count1 = pc.getqf("statemob") + 1 
            if count1 <= 50 then 
                pc.setqf("statemob", count1) 
                q.set_counter("Metinsteine", count1) 
            end 
            if count1 == 50 then 
            set_state(fertig) 
        end 
    end
    state fertig begin
        when letter begin
            send_letter("Auftrag abgeschlossen")
        end		
        when button or info begin
            say_title("Auftrag:")
            say("Du hast den Auftrag erfolgreich abgeschlossen!")
            say_reward("Suche dir eine Belohnung aus")
            local a = select("A", "B", "C", "D")
            if a == 1 then
                complete_quest()
            elsif a == 2 then
                complete_quest()
            elsif a == 3 then
                complete_quest()
            elsif a == 4 then
                complete_quest()
            end
	end
    end
end


Sieht einer den Fehler? ... Ich gucke schon so lange drauf und ich komm einfach nicht drauf. Der Error der kommt ist:
"expecting ´when´or ´function´
Metinsteine_kill.quest:39:Error occured on compile Metinsteine_kill.quest

Danke im Vorraus.

Lg. .Pff
Hinter
Code:
 if count1 == 50 then 
            set_state(fertig)
fehlt ein end. Müsste so aussehen:
PHP Code:
 if count1 == 50 then 
            set_state
(fertig)
        
end 
Quote:
Habs schon mit anderen waprs probiert von wüste/orktal usw geht mit allen nicht....
Ich bin mir ziemlich sicher, dass du die Koordinaten von der Minimap genommen hast oder? Also du bist auf die Map gegangen und hast da auf die Minimap geschaut und die Koordinaten genommen, die da standen oder? Das kannst du so nicht machen, weil es da Überschneidungen zu anderen Maps gibt. Geh bitte mal auf denen Server in den Mapordner und suche die Map darin und nimm die Koordinaten, welche da eingetragen sind in der settings.