[SERVICE] Die Questkontrolle

10/13/2013 02:10 TeRRoRSiZex3#9151
PHP Code:
quest verlassen begin  
    state start begin  
        when letter 
or levelup with pc.get_level() == 15 and pc.getqf("port") == 0 begin     
            say_title
("Level 15 Erreicht!")   
            
say(""
            
say("Wie ich sehe hast du schon Level 15 Erreicht"
            
say("Es wird zeit dich von dieser Map weg zu Telepotieren"
            
say("")  
            
pc.setqf("port"1
            
wait()
            
local p = {
                {
463900964200},
                {
55700157900},
                {
969600278400}
            }
            
pc.warp(p[pc.get_empire()][1],p[pc.get_empire()][2])
        
end  
    end 
end 
Ich Drücke auf "Weiter" aber er Portet mich dann nicht in die Verschiedenen Reiche
10/13/2013 10:01 G.I Duke#9152
Quote:
Originally Posted by TeRRoRSiZex3 View Post
PHP Code:
quest verlassen begin  
    state start begin  
        when letter 
or levelup with pc.get_level() == 15 and pc.getqf("port") == 0 begin     
            say_title
("Level 15 Erreicht!")   
            
say(""
            
say("Wie ich sehe hast du schon Level 15 Erreicht"
            
say("Es wird zeit dich von dieser Map weg zu Telepotieren"
            
say("")  
            
pc.setqf("port"1
            
wait()
            
local p = {
                {
463900964200},
                {
55700157900},
                {
969600278400}
            }
            
pc.warp(p[pc.get_empire()][1],p[pc.get_empire()][2])
        
end  
    end 
end 
Ich Drücke auf "Weiter" aber er Portet mich dann nicht in die Verschiedenen Reiche
Wenn du dass mit den Tabellen noch nicht so kannst
würde ich dir empfehlen es normal zu lösen und das
mit den Tabellen nochmal anschauen in versch. HowTo's

Normale Lösung
PHP Code:
quest verlassen begin   
    state start begin   
        when letter 
or levelup with pc.get_level() == 15 and pc.getqf("port") == 0 begin      
            say_title
("Level 15 Erreicht!")    
            
say("")  
            
say("Wie ich sehe hast du schon Level 15 Erreicht")  
            
say("Es wird zeit dich von dieser Map weg zu Telepotieren")  
            
say("")   
            
pc.setqf("port"1)  
            
wait()
            
local empire pc.get_empire()
            if 
empire == 1 then -- Rotes Reich
                pc
.warp()
            elseif 
empire == 2 then -- Gelbes Reich
                pc
.warp()
            elseif 
empire == 3 then -- Blaues Reich
                pc
.warp()
            
end
        end   
    end  
end 
MfG
10/13/2013 10:40 .ProjektX²#9153
Quote:
Originally Posted by .мαяfυ™ View Post
Wenn du dass mit den Tabellen noch nicht so kannst
würde ich dir empfehlen es normal zu lösen und das
mit den Tabellen nochmal anschauen in versch. HowTo's

Normale Lösung
PHP Code:
quest verlassen begin   
    state start begin   
        when letter 
or levelup with pc.get_level() == 15 and pc.getqf("port") == 0 begin      
            say_title
("Level 15 Erreicht!")    
            
say("")  
            
say("Wie ich sehe hast du schon Level 15 Erreicht")  
            
say("Es wird zeit dich von dieser Map weg zu Telepotieren")  
            
say("")   
            
pc.setqf("port"1)  
            
wait()
            
local empire pc.get_empire()
            if 
empire == 1 then -- Rotes Reich
                pc
.warp()
            elseif 
empire == 2 then -- Gelbes Reich
                pc
.warp()
            elseif 
empire == 3 then -- Blaues Reich
                pc
.warp()
            
end
        end   
    end  
end 
MfG
Du solltest dir eher das mit den Tabellen angucken, seine geht.
Dennoch kannste die Tabelle etwas verschoenern.

So sollte die Quest funktionieren:
PHP Code:
quest verlassen begin  
    state start begin  
        when login 
or levelup with pc.get_level() == 15 begin     
            timer
('level15',0.5)
        
end
        when level15
.timer begin
            say_title
("Level 15 Erreicht!")   
            
say(""
            
say("Wie ich sehe hast du schon Level 15 Erreicht"
            
say("Es wird zeit dich von dieser Map weg zu Telepotieren"
            
say(""
            
wait()
            
local p = ({{463900964200},{55700157900},{969600278400}})[pc.get_empire()]
            
pc.warp(p[1],p[2])
            
set_state(_complete_)
        
end
    end 
    state _complete_ begin
    end
end 
10/13/2013 12:56 .Soυzα#9154
Moin, ich bekomme beim reloaden das problem!
PHP Code:
syntax error : [string "startpc . count_item ( 30321 ) >= 5"]:34: `then' expecte     d near `pc'
kurbis.quest:99:Error occured on compile kurbis.quest 
PHP Code:
quest kurbis begin
    state start begin
        when 33008.chat
."Halloween Event" with pc.is_gm() begin
            
if game.get_event_flag("kürbisse_drop") == 0 then
                say
("Das Event ist gerade nicht Aktive.")
                
say("Willst du es Aktivieren")
                
local s select ("Ja""Nein")
                if 
== 1 then
                    say
("Halloween Event wurde aktiviert!")
                    
game.set_event_flag("moon_drop"1)
                    
notice_all("Das Halloween Event wurde aktiviert!")
                else
                    return
                
end
            
else
                
say("Das Halloween Event ist aktiviert")
                
say("Möchtest du es deaktivieren?")
                
local s select("Ja","Nein")
              if 
== 1 then
                    say
("Das Halloween Event wurde deaktiviert!")
                    
game.set_event_flag("moon_drop"0)
                    
notice_all("Das Halloween Event wurde deaktiviert!")
                else
                    return
                
end
            end
            say_title 
("Sei gegrüsst, "..pc.get_name().."!")
            
say ("Das Halloween-Event hat begonnen und jetzt")
            
say ("heisst es, dass jeder Spieler die Chance hat,")
            
say ("etwas Besonderes zu gewinnen.")
            
say ("Als Alternativ-Drop wurden Kürbisse aktiviert,")
            
say ("die man von jedem Monster erhalten kann.")
            
say ("Daher solltest du diese gut aufbewahren, denn")
            
say ("man bekommt am Ende eine kleine Überraschung.")
            
say ("Man kann ab 5 Kürbise bis 100 Stück etwas gewinnen")
            
wait()
            
say_title ("Ab Bestimmter Anzahl von Kürbissen:")
            
say ("")
            
say_reward ("5 = Reittier Siegel")
            
say_reward ("10 = Frucht des Lebens")
            
say_reward ("25 = Seelensteine")
            
say_reward ("50 = 3 Perlen jeder Sorte")
            
say_reward ("100 = Regenbogenstein")
        
end
        when 33008.chat
."Kürbisse tauschen" with pc.count_item(30321) >= 5 begin
            say_title 
(""..pc.get_name()..":")
            
say ("Ich habe Kürbisse und möchte diese tauschen.")
            
local a select ("5 Kürbisse""10 Kürbisse""25 Kürbisse""50 Kürbisse""100            Kürbisse""Abbrechen")
            if 
== 1 then
                
if pc.count_item(30321) >= 5 then
                    pc
.give_item2(7111410)
                    
pc.give_item2(7111510)
                    
pc.give_item2(7111610)
                    
pc.give_item2(7111710)
                    
pc.remove_item(303215)
                else
                    
say ("Du hast zu wenig kuerbise")
                
end
            
elseif == 2 then
                
if pc.count_item(30321) >= 10 then
                    pc
.give_item2(71107)
                    
pc.give_item2(71107)
                    
pc.give_item2(71107)
                    
pc.remove_item(3032110)    
                else 
                     
say ("Du hast du wenig kuerbise")
                 
end

             
elseif == 3 then
                 
if pc.count_item(30321) >= 25 then 
                     pc
.give_item2(50513)
                     
pc.give_item2(50513)
                     
pc.give_item2(50513)
                     
pc.remove_item(3032125)
                 else
                     
say("Du hast zu wenig Kuerbise")
                 
end
             
elseif == 4 then
                
if pc.count_item(30321) >= 50
                    pc
.give_item2(27992)
                    
pc.give_item2(27993)
                    
pc.give_item2(27994)
                    
pc.give_item2(27992)
                    
pc.give_item2(27993)
                    
pc.give_item2(27994)
                    
pc.give_item2(27992)
                    
pc.give_item2(27993)
                    
pc.give_item2(27994)
                    
pc.remove_item(3032150)
                else
                    
say("Du hast zuwenig kuerbise")
                
end
             
elseif == 5 then
                 
if pc.count_item(30321) >= 100 then
                     pc
.give_item2(50512)
                     
pc.remove_item(30321100)
                
end
            end
        end
    end
end 
10/13/2013 13:16 .ProjektX²#9155
Quote:
Originally Posted by .н¢Happy View Post
Moin, ich bekomme beim reloaden das problem!
PHP Code:
syntax error : [string "startpc . count_item ( 30321 ) >= 5"]:34: `then' expecte     d near `pc'
kurbis.quest:99:Error occured on compile kurbis.quest 
PHP Code:
quest kurbis begin
    state start begin
        when 33008.chat
."Halloween Event" with pc.is_gm() begin
            
if game.get_event_flag("kürbisse_drop") == 0 then
                say
("Das Event ist gerade nicht Aktive.")
                
say("Willst du es Aktivieren")
                
local s select ("Ja""Nein")
                if 
== 1 then
                    say
("Halloween Event wurde aktiviert!")
                    
game.set_event_flag("moon_drop"1)
                    
notice_all("Das Halloween Event wurde aktiviert!")
                else
                    return
                
end
            
else
                
say("Das Halloween Event ist aktiviert")
                
say("Möchtest du es deaktivieren?")
                
local s select("Ja","Nein")
              if 
== 1 then
                    say
("Das Halloween Event wurde deaktiviert!")
                    
game.set_event_flag("moon_drop"0)
                    
notice_all("Das Halloween Event wurde deaktiviert!")
                else
                    return
                
end
            end
            say_title 
("Sei gegrüsst, "..pc.get_name().."!")
            
say ("Das Halloween-Event hat begonnen und jetzt")
            
say ("heisst es, dass jeder Spieler die Chance hat,")
            
say ("etwas Besonderes zu gewinnen.")
            
say ("Als Alternativ-Drop wurden Kürbisse aktiviert,")
            
say ("die man von jedem Monster erhalten kann.")
            
say ("Daher solltest du diese gut aufbewahren, denn")
            
say ("man bekommt am Ende eine kleine Überraschung.")
            
say ("Man kann ab 5 Kürbise bis 100 Stück etwas gewinnen")
            
wait()
            
say_title ("Ab Bestimmter Anzahl von Kürbissen:")
            
say ("")
            
say_reward ("5 = Reittier Siegel")
            
say_reward ("10 = Frucht des Lebens")
            
say_reward ("25 = Seelensteine")
            
say_reward ("50 = 3 Perlen jeder Sorte")
            
say_reward ("100 = Regenbogenstein")
        
end
        when 33008.chat
."Kürbisse tauschen" with pc.count_item(30321) >= 5 begin
            say_title 
(""..pc.get_name()..":")
            
say ("Ich habe Kürbisse und möchte diese tauschen.")
            
local a select ("5 Kürbisse""10 Kürbisse""25 Kürbisse""50 Kürbisse""100            Kürbisse""Abbrechen")
            if 
== 1 then
                
if pc.count_item(30321) >= 5 then
                    pc
.give_item2(7111410)
                    
pc.give_item2(7111510)
                    
pc.give_item2(7111610)
                    
pc.give_item2(7111710)
                    
pc.remove_item(303215)
                else
                    
say ("Du hast zu wenig kuerbise")
                
end
            
elseif == 2 then
                
if pc.count_item(30321) >= 10 then
                    pc
.give_item2(71107)
                    
pc.give_item2(71107)
                    
pc.give_item2(71107)
                    
pc.remove_item(3032110)    
                else 
                     
say ("Du hast du wenig kuerbise")
                 
end

             
elseif == 3 then
                 
if pc.count_item(30321) >= 25 then 
                     pc
.give_item2(50513)
                     
pc.give_item2(50513)
                     
pc.give_item2(50513)
                     
pc.remove_item(3032125)
                 else
                     
say("Du hast zu wenig Kuerbise")
                 
end
             
elseif == 4 then
                
if pc.count_item(30321) >= 50
                    pc
.give_item2(27992)
                    
pc.give_item2(27993)
                    
pc.give_item2(27994)
                    
pc.give_item2(27992)
                    
pc.give_item2(27993)
                    
pc.give_item2(27994)
                    
pc.give_item2(27992)
                    
pc.give_item2(27993)
                    
pc.give_item2(27994)
                    
pc.remove_item(3032150)
                else
                    
say("Du hast zuwenig kuerbise")
                
end
             
elseif == 5 then
                 
if pc.count_item(30321) >= 100 then
                     pc
.give_item2(50512)
                     
pc.remove_item(30321100)
                
end
            end
        end
    end
end 
Zeile 79, then fehlt.
10/13/2013 13:55 .HNSY#9156
Quote:
Originally Posted by ΞΠ∪Μ View Post
PHP Code:
quest dreammt2spezial begin 
    state start begin 
        when login 
or levelup with pc.level >= 70 begin 
            set_state
(information
        
end 
    end 
    state information begin 
        when letter begin 
            send_letter
("Fischer Auftrag")
        
end 
        when button 
or info begin
            makequestbutton 
"Fischer Auftrag"
            
local v find_npc_by_vnum(9009
            if 
!= 0 then target.vid("__TARGET__"v"fischer")end
            say_title
("Brief vom Fischer")
            
say()
            
say"Hallo Abenteurer, ich brauche eure"
            
say"Hilfe, ich hab was kostbares verloren"
            
say"und kann es nicht finden."
            
say"Bitte kommt mich besuchen"
            
say_reward"Alles liebe, Fischer."
        
end
        when __TARGET__
.target.click or 
            
9009.chat."Klumpen Eis" with pc.level >= 70 begin 
            target
.delete("__TARGET__"
            
say("Fischer :"
            
say("Oh, du bist es "..pc.get_name()) 
            
say("Entschuldige bitte"
            
say("ich war grade mit suchen"
            
say("Beschaeftigt.")
            
say"Wie ich sehe hast du meinem Brief erhalten."
            
wait() 
            
say("Seit Tagen beschaeftigen mich die"
            
say("Roten boesen Baeume"
            
say("Sie haben mir viele Eis-Klumpen geklaut"
            
say("diese brauche ich zur Herstellung von Angeln."
            
say("Geh und suche 500 Klumpen Eis von mir."
            
say_red("Du bekommst als Belohnung"
            
say("folgendes:"
            
say("Feuer-Phoenix Siegel"
            
say("12.000.000 Yang"
            
say("1.000 TP"
            
pc.setqf("dreammt2spezial",0) -- hier
            say
(""
            
local s=select("Ja, gerne.","Nein, keine Zeit."
            if 
2==s then 
                say
("Quest beenden?"
                
local a=select("Ja","Nein"
                if  
2==a then 
                    say
("Fischer:"
                    
say("Danke."
                    
say(""
                    return 
                
end 
                say
("Fischer:"
                
say("Schade."
                
say("Aber in Ordnung."
                
clear_letter()
                
set_state(__GIVEUP__
                return 
            
end 
            say
("Fischer:"
            
say("Ich warte auf dich."
            
say("Bitte beeile dich."
            
say("")     
            
say(""
            
clear_letter()
            
set_state(get_item
        
end 
    end 
    state get_item begin 
        when letter begin 
            send_letter
("Suche 500 Klumpen Eis"
        
end 
        when info 
or button begin 
            makequestbutton 
"Suche 500 Klumpen Eis"
            
say(locale.NOTICE_COLOR.."500 Klumpen Eis Suchen"..locale.NORMAL_COLOR
            
say(""
            
say("Der Fischer braucht seine 500 Klumpen Eis"
            
say("Geh und toete Rote boese Baeume"
            
say("Um seine Klumpen Eis zu finden"
            
say(""
        
end 
        when kill with npc
.get_race()==2315 and not npc.is_pc() begin  
            
if number(1100) <= 10 then -- 10droppchance
                pc
.give_item2(301461
                
pc.setqf("dreammt2spezial",pc.getqf("dreammt2spezial")+1) -- hier
                
if pc.count_item(30146) >= 500 then
                    
if pc.getqf("dreammt2spezial") >=500 then -- hier
                    
--[[INFO:
                    
                        
Das Problem hierbei istwenn der Spieler die gefarmten Items mit anderen Spieler Handelt oder Verkauft,
                        
wird er die Quest nie fertig bekommen (Die Quest buggt dann beim Spieler).
                        
Um diesen bug zu beheben einfach alle markierten zeilen die mit "-- hier" versehen sind.
                        
Nachteil bei diesen fix istdas man die Klumpen dann in Massen farmen kannbis der Spieler die erforderliche 
                        Menge abgeben will
.
                    ]]
                        
clear_letter()
                        
set_state(fertig
                    
end -- hier
                end 
            end 
        end 
    end 
    state fertig begin 
        when letter 
or enter begin 
            send_letter
("Du hast die Klumpen Eis gefunden"
        
end 
        when info 
or button begin 
            makequestbutton
"Du hast die Klumpen Eis gefunden"
            
say("Gehe zum Fischer um deine belohnung abzuholen"
        
end 
        when 9009.chat
."Ich habe alle Klumpen Eis" begin 
            say
"Fischer:"
            
say""
            
if pc.count_item(30146)>=500 then
                say
("Oh du hast schon"
                
say("alles zusammen?"
                
say("Du bist wirklich"
                
say("Schnell. Danke."
                
say(""
                
say("Belohnung:"
                
say_reward("Du erhaeltst ein Feuer-Phoenix Siegel"
                
say_reward("und 12.000.000 Yang + 1000 TP Permanent"
                
pc.remove_item(30146500)  
                
pc.give_item2(53001) --phoenix
                pc
.change_gold(12000000)--yang
                affect
.add_collect(apply.MAX_HP100060*60*24*365*10)--bonus
                clear_letter
() 
                
set_state(__THEEND__
            else
                
say"Du hast keine 500x Klumpe Eis bei dir."
                
say"komm wieder wenn du genau die Menge hast!"
            
end
        end 
    end 
    state __GIVEUP__ begin 
    end 
    state __THEEND__ begin 
    end 
end 
[Only registered and activated users can see links. Click Here To Register...]
10/13/2013 14:07 makralovag#9157
HELP!
Code:
quest javito begin
	state start begin
		function attr_list ( bonus )
            local attr = {
                [1] = "Max. TP",
                [2] = "Max. MP",
                [3] = "Vitalität",
                [4] = "Intelligenz",
                [5] = "Stärke",
                [6] = "Beweglichkeit",
                [7] = "Angriffsgeschwindigkeit",
                [8] = "Bewegungsgeschw.",
                [9] = "Zaubergeschwindigkeit",
                [10] = "TP-Regeneration",
                [11] = "MP-Regeneration",
                [12] = "Vergiftungschance ",
                [13] = "Ohnmachtschance ",
                [14] = "Verlangsamungschance ",
                [15] = "Chance auf krit. Treffer +",
                [16] = "Chance auf durchbohrenden Treffer",
                [17] = "Stark gegen Halbmenschen +",
                [18] = "Stark gegen Tiere +",
                [19] = "Stark gegen Orks +",
                [20] = "Stark gegen Esoterische +",
                [21] = "Stark gegen Untote +",
                [22] = "Stark gegen Teufel +",
                [23] = "Schaden wird von TP absorbiert",
                [24] = "Schaden wird von MP absorbiert",
                [25] = "Chance auf Manaraub",
                [27] = "Chance, Nahkampf-Angriff abzublocken ",
                [28] = "Chance, Pfeilangriff auszuweichen",
                [29] = "Schwertverteidigung ",
                [30] = "Zweihänderverteidigung ",
                [31] = "Dolchverteidigung ",
                [32] = "Glockenverteidigung ",
                [33] = "Fächerverteidigung ",
                [34] = "Pfeilwiderstand ",
                [35] = "Feuerwiderstand ",
                [36] = "Blitzwiderstand ",
                [37] = "Magiewiderstand ",
                [38] = "Windwiderstand ",
                [39] = "Chance, Nahkampftreffer zu reflektieren",
                [40] = "Giftwiderstand",
                [41] = "Chance, MP wiederherzustellen",
                [42] = "Chance auf EXP-Bonus",
                [43] = "Chance, eine doppelte Menge Yang fallen zu lassen.",
                [44] = "Chance, eine doppelte Menge von Gegenständen fallen zu lassen.",
                [45] = "Chance, TP wiederherzustellen",
                [46] = "Abwehr gegen Ohnmacht",
                [47] = "Abwehr gegen Verlangsamen",
                [48] = "Angriffswert",
                [49] = "Stark gegen Monster",
                [50] = "Fertigkeitsschaden ",
                [51] = "Durchschn. Schaden ",
                [52] = "Widerstand gegen Fertigkeitsschaden ",
                [53] = "Durchschn. Schadenswiderstand ",
                [71] = "Fertigkeitsschaden",
                [72] = "Durchschn. Schaden",
            }
            return tostring(attr[bonus])
		end
		
		when 9011.take begin
			say_title(mob_name(9011))
			local itemid = mysql_query("SELECT vnum FROM player.item WHERE owner_id="..pc.get_account_id().." and window='SAFEBOX' and pos='0';")
			local itemid = item.get_id()
			local itemname = item.get_name()
			local bonuszok = mysql_select("SELECT attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6 FROM player.item WHERE id ='"..itemid.."'")
			say_title(item.get_name())
			say("Bónuszok:")
			if tonumber(bonuszok.attrtype0[1]) > 0 then
                say_reward(javito.attr_list(tonumber(bonuszok.attrtype0[1])).." : "..bonuszok.attrvalue0[1])
            else
                say(" Üres")
            end
            if tonumber(bonuszok.attrtype1[1]) > 0 then
                say_reward(javito.attr_list(tonumber(bonuszok.attrtype1[1])).." : "..bonuszok.attrvalue1[1])
            else
                say(" Üres")
            end
            if tonumber(bonuszok.attrtype2[1]) > 0 then
                say_reward(javito.attr_list(tonumber(bonuszok.attrtype2[1])).." : "..bonuszok.attrvalue2[1])
            else
                say(" Üres")
            end
            if tonumber(bonuszok.attrtype3[1]) > 0  then
                say_reward(javito.attr_list(tonumber(bonuszok.attrtype3[1])).." : "..bonuszok.attrvalue3[1])
            else
                say(" Üres")
            end
			if tonumber(bonuszok.attrtype4[1]) > 0  then
                say_reward(javito.attr_list(tonumber(bonuszok.attrtype4[1])).." : "..bonuszok.attrvalue4[1])
            else
                say(" Üres")
            end
			if tonumber(bonuszok.attrtype5[1]) > 0  then
                say_reward(javito.attr_list(tonumber(bonuszok.attrtype5[1])).." : "..bonuszok.attrvalue5[1])
            else
                say(" Üres")
            end
			if tonumber(bonuszok.attrtype6[1]) > 0  then
                say_reward(javito.attr_list(tonumber(bonuszok.attrtype6[1])).." : "..bonuszok.attrvalue6[1])
            else
                say(" Üres")
            end
			if 1 == select("Javítás", "Mégse") then
				say_title("Javítás")
				say("")
				say("Javításhoz szükséges: "..item.get_name(70001))
				if 1 == select("Javít", "Mégse") then
				if  pc.countitem(70001) > 0 then
					local player = pc.get_account_id()
					local bon0 = bonuszok.attrvalue0[1] * 1.2
					local bon1 = bonuszok.attrvalue1[1] * 1.2
					local bon2 = bonuszok.attrvalue2[1] * 1.2
					local bon3 = bonuszok.attrvalue3[1] * 1.2
					local bon4 = bonuszok.attrvalue4[1] * 1.2
					local bon5 = bonuszok.attrvalue5[1] * 1.2
					local bon6 = bonuszok.attrvalue6[1] * 1.2
					mysql_query("UPDATE player.item SET attrvalue0='"..bon0.."', attrvalue1='"..bon1.."', attrvalue2='"..bon2.."', attrvalue3='"..bon3.."', attrvalue4='"..bon4.."', attrvalue5='"..bon5.."', attrvalue6='"..bon6.."' WHERE id = '"..itemid.."' LIMIT 1")
					say("A tárgy bónuszai javítva")
					end
				end
			end
		end
	end
end
ingame problem:

[Only registered and activated users can see links. Click Here To Register...]
10/13/2013 14:09 .ProjektX²#9158
Quote:
Originally Posted by .HNSY View Post
[Only registered and activated users can see links. Click Here To Register...]
Die Quest hat keinen Fehler.
Du hast wahrscheinlich 2x den gleichen questnamen verwendet.
"dreammt2spezial"
Nenn die Quest einfach
"dreammt2spezial2"
10/13/2013 16:46 G.I Duke#9159
Quote:
Originally Posted by .ProjektX² View Post
Du solltest dir eher das mit den Tabellen angucken, seine geht.
Dennoch kannste die Tabelle etwas verschoenern.

So sollte die Quest funktionieren:
PHP Code:
quest verlassen begin  
    state start begin  
        when login 
or levelup with pc.get_level() == 15 begin     
            timer
('level15',0.5)
        
end
        when level15
.timer begin
            say_title
("Level 15 Erreicht!")   
            
say(""
            
say("Wie ich sehe hast du schon Level 15 Erreicht"
            
say("Es wird zeit dich von dieser Map weg zu Telepotieren"
            
say(""
            
wait()
            
local p = ({{463900964200},{55700157900},{969600278400}})[pc.get_empire()]
            
pc.warp(p[1],p[2])
            
set_state(_complete_)
        
end
    end 
    state _complete_ begin
    end
end 
Ich sollte? Pahaha noe ich kanns ja es ging aber um
was anderes sprich dass er wenn er Fehler hat es noch
mal sich erklären lässt oder sowas. deshalb gab ich ihm
ne Ausweichmöglichkeit weil ich keine Zeit hab es ihm
zu erklären.
10/13/2013 17:44 frankiz7#9160
Code:
quest map_warp begin
	state start begin
		when 9012.chat."Para onde queres ir?"  begin
			say_title("Teleportador:")
			say("A vila é um bom lugar para se passar")
			say("mas aqui nada acontece.. é muito pacato.")
			say("Se queres perigos para outras regiões")
			say("te deves dirigir.")
			say("Há diversos destinos interessantes")
			say("para onde podes viajar, no entanto, como")
			say("hoje em dia, nada é de graça!")
			say("Terás de pagar um certo valor monetário")
			say("se quiseres viajar para uma outra terra.")
			say("Queres ser teleportado?")
			local main_set = select("Sim","Não")
			if main_set == 2 then
			return
		end
			local map = pc.get_map_index()
			local empire = pc.get_empire()
			local level = pc.get_level()
			local cost = 10000
			local second_cost = cost*2
			local final_cost = cost*50
				say_title("Teleportador:")
				say("Para onde queres ser teleportado?")
				say_reward("Vai-te custar "..cost.." Yang.")
			if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then
			local guild_map_names = {
					"Jungrang - Zona de Guilds",
					"Waryong - Zona de Guilds",
					"Imha - Zona de Guilds",
			}
			guild_map_name = guild_map_names[empire]
			local warp_coords = {
				--Zona_de_Guilds
				{
					{ 128500, 1000 },
					{ 179500, 1000 },
					{ 271800, 13000 },
				},
				--Vale_Seungryong
				{
					{ 402100, 673900 },
					{ 270400, 739900 },
					{ 321300, 808000 },
				},
				--Deserto_Yongbi
				{
					{ 217800, 627200 },
					{ 221900, 502700 },
					{ 344000, 502500 },
				},
				--Montanha_Sohan
				{
					{ 434200, 290600 },
					{ 375200, 174900 },
					{ 491800, 173600 },
				},
				--Doyyumhwan_Terra_do_Fogo
				{
					{ 599400, 756300 },
					{ 597800, 622200 },
					{ 730700, 689800 },
				},
				--Torre_Gumsan
				{
					{ 590500, 110500 },
					{ 590500, 110500 },
					{ 590500, 110500 },
				},
				--Cave_das_Aranhas
				{
					{ 60000, 496000 },
					{ 60000, 496000 },
					{ 60000, 496000 },
				},
				--Floresta_Fantasma
				{
					{ 288700, 5700 },
					{ 288700, 5700 },
					{ 288700, 5700 },
				},
				--Bosque_Rubro
				{
					{ 1119900, 70800 },
					{ 1119900, 70800 },
					{ 1119900, 70800 },
				},
				--Jotunheim
				{
					{ 845100, 745900 },
					{ 845100, 745900 },
					{ 845100, 745900 },
				},
				--Ilha_Misteriosa
				{
					{ xxx00, xxx00 },
					{ xxx00, xxx00 },
					{ xxx00, xxx00 },
				},
				--Montanha_Arida
				{
					{ 1191000, 1655300 },
					{ 1191000, 1655300 },
					{ 1191000, 1655300 },
				},
			}
				if level < 95 then
				local option = select(guild_map_name, "Vale Seungryong", "Deserto Yongbi", "Montanha Sohan", "Doyyumhwan - Terra do Fogo", "Outras Áreas")
					if option != 6 then
						if pc.gold < cost then
							say_title("Teleportador:")
							say("Não tens yang suficiente.")
							return
						end
							pc.change_gold(-cost)
							say_title("Teleportador:")
							say("Estás a ser teleportado...")
							wait()
							pc.warp(warp_coords[option][empire][1], warp_coords[option][empire][2])
					else
				say_title("Teleportador:")
				say("Para onde queres ser teleportado?")
				say_reward("Vai-te custar "..second_cost.." Yang.")
				local second_option = select("Torre do Demónio", "Cave das Aranhas", "Floresta Fantasma", "Bosque Rubro", "Jotunheim", "Sair")
					if second_option != 6 then
						if pc.gold < second_cost then
							say_title("Teleportador:")
							say("Não tens yang suficiente.")
							return
						end
							pc.change_gold(-second_cost)
							say_title("Teleportador:")
							say("Estás a ser teleportado...")
							wait()
							pc.warp(warp_coords[second_option+5][empire][1], warp_coords[second_option+5][empire][2])
						return
					else
					end
				end
			end
				else
					local option = select(guild_map_name, "Vale Seungryong", "Deserto Yongbi", "Montanha Sohan", "Doyyumhwan - Terra do Fogo", "Outras Áreas")
					if option != 6 then
						if pc.gold < cost then
							say_title("Teleportador:")
							say("Não tens yang suficiente.")
							return
						end
							pc.change_gold(-cost)
							say_title("Teleportador:")
							say("Estás a ser teleportado...")
							wait()
							pc.warp(warp_coords[option][empire][1], warp_coords[option][empire][2])
					else
				say_title("Teleportador:")
				say("Para onde queres ser teleportado?")
				say_reward("Vai-te custar "..second_cost.." Yang.")
				local second_option = select("Torre do Demónio", "Cave das Aranhas", "Floresta Fantasma", "Bosque Rubro", "Jotunheim", "Continuar")
					if second_option != 6 then
						if pc.gold < second_cost then
							say_title("Teleportador:")
							say("Não tens yang suficiente.")
							return
						end
							pc.change_gold(-second_cost)
							say_title("Teleportador:")
							say("Estás a ser teleportado...")
							wait()
							pc.warp(warp_coords[second_option+5][empire][1], warp_coords[second_option+5][empire][2])
						return
					else
				say_title("Teleportador:")
				say("Para onde queres ser teleportado?")
				say_reward("Vai-te custar "..final_cost.." Yang.")
				local final_option("Ilha Misteriosa","Naalong - Montanha Árida","Sair")
					if final_option != 3 then
						if pc.gold < final then
							say_title("Teleportador:")
							say("Não tens yang suficiente.")
							return
						end
							pc.change_gold(-final_cost)
							say_title("Teleportador:")
							say("Estás a ser teleportado...")
							wait()
							pc.warp(warp_coords[second_option+10][empire][1], warp_coords[second_option+10][empire][2])
						return
					end
				end
			end
		end
			else
				if empire == 1 then
					local city = select("Yongan","Jayang","Cancelar")
				elseif empire == 2 then
					local city = select("Joan","Bokjung","Cancelar")
				elseif empire == 3 then
					local city = select("Pyungmoo","Bakra","Cancelar")
				end
				if city != 3 then
					if pc.gold < cost then
						say_title("Teleportador:")
						say("Não tens yang suficiente.")
						return
					end
				else
					if city == 1 then
						pc.change_gold(-cost)
						say_title("Teleportador:")
						say("Estás a ser teleportado...")
						wait()
						if empire == 1 then
								pc.warp(474300,954800)
							elseif empire == 2 then
								pc.warp(63800,166400)
							elseif empire == 3 then
								pc.warp(959900,269200)
						end
					elseif city == 2 then
						pc.change_gold(-cost)
						say_title("Teleportador:")
						say("Estás a ser teleportado...")
						wait()
						if empire == 1 then
								pc.warp(353100,882900)
							elseif empire == 2 then
								pc.warp(145500,240000)
							elseif empire == 3 then
								pc.warp(863900,246000)
						return
					end
				end
			end
		end
	end
end
Fehler: syntax error [string "start"]:162: ')' expected near ','
10/14/2013 18:30 [SA]ProtoTyp#9161
Moin Mein Fehler Bei Einem Kill Bekomme Ich Kein Steinstück
PHP Code:
quest player_kill1 begin   
    state start begin   
        when login with pc
.level >= 90 begin   
            set_state
(player_kill1)   
        
end   
    end   

    state player_kill1 begin   
        when letter begin   
            send_letter
("Mission 1")   
        
end   

        when button 
or info begin   
            say
("Das ist Unsere Mission 1 Quest,")  
            
say_reward("75   Spieler toeten = 5% Halbmenschen , 1.000 TP")
            
say_reward("100  Spieler toeten = 10% Halbmenschen , 1.000 TP")  
            
say_reward("150  Spieler toeten = 10% Halbmenschen , 2.000 TP")  
            
pc.setqf("level"1)  
        
end  
        when kill with npc
.is_pc() begin  
            
if get_time() < pc.getqf("kill_time"then   
                chat
("Die 2 Minuten sind derzeit noch nicht vergangen")  
                
chat("Du erhielst keinen Punkt")  
                return  
            
end      
            chat
("Du hast einen Punkt erhalten Gratuliere du hast derzeit ")  
            
chat("Einen weiteren Punkt erhaelst du in erst 2 Minuten")  
            
chat("Derzeit besitz du "..pc.getqf("kill_punkte").." Punkt(e)")  
            
pc.setqf("kill_punkte"pc.getqf("kill_punkte")+1)  
            
pc.setqf("kill_time"get_time() + 60*2)   
            if 
pc.getqf("kill_punkte") == 1 then   
                    pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 1 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 2 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 3 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 4 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 5 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 6 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 7 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 8 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 9 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 10 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 11 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 12 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 13 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 14 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 15 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 16 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 17 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 18 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 19 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 20 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 21 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 22 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 23 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 24 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 25 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 26 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 27 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 28 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 29 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 30 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 31 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 32 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 33 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 34 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 35 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 36 then   
                pc
.give_item2("27990,2")
            elseif 
pc.getqf("kill_punkte") == 37 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 38 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 39 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 40 then   
                pc
.give_item2("27990,2")
            elseif 
pc.getqf("kill_punkte") == 41 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 42 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 43 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 44 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 45 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 46 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 47 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 48 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 49 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 50 then       
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 51 then       
                pc
.give_item2("27990,2")  
            elseif 
pc.getqf("kill_punkte") == 52 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 53 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 54 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 55 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 56 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 57 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 58 then   
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 59 then       
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 60 then       
                pc
.give_item2("27990,2"
            elseif 
pc.getqf("kill_punkte") == 75 then  
                affect
.add_collect(apply.ATTBONUS_HUMAN,20,60*60*24*365*60)  
                
affect.add_collect(apply.MAX_HP,3000,60*60*24*365*60)  
                
say("Du hast soeben 75 Leute getoetet")  
                
say("Dafuer kriegst du 5% Halbmenschen")  
                
say("Und 1000 TP")                  
            elseif 
pc.getqf("kill_punkte") == 100 then  
                affect
.add_collect(apply.ATTBONUS_HUMAN,20,60*60*24*365*60)  
                
affect.add_collect(apply.MAX_HP,3000,60*60*24*365*60)  
                
say("Du hast soeben 100 Leute getoetet")  
                
say("Dafuer kriegst du 10% Halbmenschen")  
                
say("Und 1000 TP")                  
            elseif 
pc.getqf("kill_punkte") == 150 then  
                affect
.add_collect(apply.ATTBONUS_HUMAN,20,60*60*24*365*60)  
                
affect.add_collect(apply.MAX_HP,3000,60*60*24*365*60)  
                
say("Du hast soeben150 Leute getoetet")  
                
say("Dafuer kriegst du 10% Halbmenschen")  
                
say("Und 2000 TP")                  
                
set_state(player_kill_end)  
            
end  
        end  
    end 
    state player_kill_end begin 
    end 
end 
10/14/2013 19:32 ihrnervt#9162
Guten Abend,

ich nutze die Instant-Serverfiles von Raven.
Da dort die original 60er-Bio-Quest nicht funktioniert, habe ich hier bereits mal herumgeschaut und auch einige Howtos etc. gelesen, mir fertige (angeblich 100% entbuggte) Quests genommen und es ausprobiert, mit dem Ergebnis: Sie funktionieren nicht.

Also dachte ich mir: ich nehme mir mal die 50er Bio-Quest als Beispiel (denn die funktioniert ja) und schreib damit eine neue, 60er-Bio-Quest.

So bin ich vorgegangen: Quest in /usr/rain/channel/share_data/locale/english/quest hochgeladen.
Name der Quest lautet collect_quest_lv60.quest
In der hongkong.list ist diese auch mit aufgeführt (es ist auch der Name der original-Questdatei)
Über VPC habe ich dann das getan:

cd /usr/rain/channel/share_data/locale/english/quest
chmod u+x make
sh ./make
reboot

Eingeloggt, die Quest ging nicht.
Als Chatbefehl /reload q und auch /reload eingegeben, neu eingeloggt, wieder nichts.
Server nochmal rebooted, geht trotzdem nicht.

Die Questdatei ist hier:

Code:
----------------------------------------------------
--COLLECT QUEST_lv60
--METIN2 Collect Quest  
----------------------------------------------------
quest collect_quest_lv60  begin
	state start begin
		when login or levelup with pc.level >= 60 and pc.level <= 99 begin
			set_state(information)
		end	
	end

	state information begin
		when letter begin
			local v = find_npc_by_vnum(20084)
			if v != 0 then
				target.vid("__TARGET__", v, "Biologenquest")
			end
			send_letter("Die Forschungen des Biologen 4")
		end

		when button or info begin
			say_title("Die Forschungen des Biologen 4")
			say("")
			say("Der Biologe sucht nach Dir!")
			say("Begib Dich zu ihm.")
			say("Er sagt er braucht Deine Hilfe.")
			say("")
		end
		
		when __TARGET__.target.click or
			20084.chat."Eiskugeln" begin
			target.delete("__TARGET__")
			say("Biologe:")
			---                                                   l
			say("Hallo, schön dass Du gekommen bist.")
			say("Ich habe die Fluchbücher untersucht.")
			say("Mun habe ich neue Objekte gefunden,")
			say("die ich gerne untersuchen würde...")
			say("Ich würde es ja selber machen, aber")
			say("ich habe zu viel zu tun.")
			say("Kannst Du mir helfen?")
			wait()
			say("Biologe:")
			say("Es handelt sich um Eiskugeln.")
			say("Du findest sie im Eistal.")
			say("Für meine Untersuchungen benötige")
			say("ich 20 Eiskugeln.")
			say("Aber Du musst Dich beeilen,")
			say("die Eiskugeln schmelzen schnell.")
			say("Dann kann ich sie nicht verwenden.")
			say("")																																				  
			set_state(go_to_disciple)
			pc.setqf("duration",0)  -- Dauer der Quest
			pc.setqf("collect_count",0) -- Fortschritt der Quest
		end
		when button or info begin
			say_title("Die Forschungen des Biologen 4")
			---                                                   l
			say("")
			say("Der Biologe benötigt 20 Eiskugeln.")
			say("Du bekommst sie von den Eisgolems")
			say("im Eistal")
			say("Bringe sie dem Biologen.")
			say("Pass auf, dass sie nicht schmelzen!")
			say("")
			say_item_vnum(30047) 
			say_reward("Du hast".." "..pc.getqf("collect_count").."abgegeben.")
			say("")
		end
		
		when 71035.use begin --°g´bÃĤô
			if get_time() < pc.getqf("duration") then
				say("")
				say("Ich bin noch nicht fertig!")
				say("")
				return
			end
			if pc.getqf("drink_drug")==1 then
				say("")
				say("¤w¸g¨Ï¥Î¤F1¦¸")
				say("")

				return
			end
			if pc.count_item(30047)==0 then
				say("Du hast keine Eiskugeln")
				say("Bitte komm wieder,")
				say("Du Eiskugeln hast.")
				say("")
				return
			end
			item.remove()	
			pc.setqf("drink_drug",1)
		end



		
    	when 20084.chat."Eiskugeln" with pc.count_item(30006) >0   begin
			if get_time() > pc.getqf("duration") then
				say("Kleinen Moment...")
				---                                                   l
				say("Vielen Dank,")
				say("ich prüfe ob Eiskugel")
				say("in Ordnung ist.")
				say("")
				pc.remove_item("30047", 1)
				pc.setqf("duration",get_time()+60*60*0) -----------------------------------0??
				wait()
				
				local pass_percent
				if pc.getqf("drink_drug")==0 then
					pass_percent=60
				else		
					pass_percent=90
				end
				
				local s= number(1,100)
				if s<= pass_percent  then
				   if pc.getqf("collect_count")< 19 then     --20 Eiskugeln
						local index =pc.getqf("collect_count")+1 
						pc.setqf("collect_count",index)     --¨ú±o¤@* +1 
						say(pass_percent)
						say("Biologe:")
						say("Sehr schön, diese Eiskugel ist in Ordnung.")
						say("Ich benötige noch".." "..20-pc.getqf("collect_count").. " weitere")
						say("Bitte bring sie mir.")
						say("")
						pc.setqf("drink_drug",0)	 --ÃĤôªì©l¤Æ
						return
					end
					say("Biologe:")
					say("Du hast mir alle 20 gebracht")
					say("Nun habe ich noch eine Bitte")
					say("an Dich:")
					say("Ich benötige noch Aurtumryus Seelenstein")	
					say("Du findest ihn im Eistal")
					say("")
					pc.setqf("collect_count",0)
					pc.setqf("drink_drug",0)	
					pc.setqf("duration",0) 
					set_state(key_item)
					return
				else								
				say("Biologe:")
				say("Tut mir leid,")
				say("aber diese Eiskugel ist")
				say("leider geschmolzen")
				pc.setqf("drink_drug",0)	 --ÃĤôªì©l¤Æ
				return
				end
	    else
		  say("Biologe:")
		  say("Tut mir leid,")
		  say("aber meine Forschung ist noch ")
		  say("nicht beendet.")
		  say("")
		  return
		end

	end
end


	state key_item begin
		when letter begin
			send_letter("Aurtumryus Seelenstein")
			
			if pc.count_item(30223)>0 then	
				local v = find_npc_by_vnum(20084)
				if v != 0 then
					target.vid("__TARGET__", v, "Bioquest")
				end
			end

		end
		when button or info begin
			if pc.count_item(30220) >0 then
				say_title("Aurtumryus Seelenstein")
				say("")
				---                                                   l
				say("Der Biologe braucht Deine")
				say("Hilfe! Gehe zu ihm.")
				say("")
				return
			end
			say_title("Aurtumryus Seelenstein")
			say("")
			---                                                   l
			say("Du hast es fast geschafft.")
			say("20 Eiskugeln. Nun nur noch")
			say("Aurtumryus Seelenstein!")
			say_item_vnum(30223)----------- ¯u°*±ÚÆF»î¥Û
			say("Der legendäre Stein, der die Seele")
			say("eines Aurtumryus Adligen enthält.")
			say("")
		end
		

	
		when 1102.kill or
			 1103.kill or 
			 1104.kill  begin
			local s = number(1, 500)
			if s == 1 and pc.count_item(30223)==0 then
				pc.give_item2(30223, 1)
				send_letter("Aurtumryus Seelenstein")		
			end	
		end
	
		when __TARGET__.target.click  or
			20084.chat."Aurtumryus Seelenstein" with pc.count_item(30223) > 0  begin
		    target.delete("__TARGET__")
			say("Biologe:")
			say("Du hast hart gekämpft...")
			say("Dafür sollst Du eine besondere")
			say("Belohnung erhalten!")
			say("Ich gebe Dir eine Info mit.")
			say("Gehe zu Baek-Go, er")
			say("wird Dir die Belohnung geben.")
			say("Wir werden uns wiedersehen...")
			say("")
			pc.remove_item(30223,1)
			set_state(__reward)
		end
		
	end
	
	state __reward begin
		when letter begin
			send_letter("Infos des Biologen")
			
			local v = find_npc_by_vnum(20018)
			if v != 0 then
				target.vid("__TARGET__", v, "Doktor")
			end

		end
		when button or info begin
			say_title("Infos des Biologen")
			---                                                   l
			say("Du hast es fast geschafft.")
			say("Nun gehe zu Baek-Go,")
			say("er wird Dir die Belohnung geben.")
			say("Du findest ihn bestimmt")
			say("auf Map1")
			say("")
		end
		
		when __TARGET__.target.click  or
			20018.chat."Belohnung des Biologen"  begin
		    target.delete("__TARGET__")
			say("Baek-Go:")
			say("Ich sehe")
			say("der Biologe hat Dich zu mir geschickt.")
			say("Hier ist Deine Belohnung:")
			say("Dauerhafter Angriffswert +50")
			say("")
			say_reward("Du hast dem Biologen geholfen")
			say_reward("Deine Belohnung ist +50")
			say_reward("Angriffswert")
			
			affect.add_collect(apply.ATT_GRADE_BONUS, 50, 60*60*24*365*60) --60¦~	
			
			clear_letter()
			set_quest_state("collect_quest_lv60", "run")
			set_state(__complete)
		end
			
	end

	state __complete begin
	end
end
Wie man sieht, es ist keine rießen Errungenschaft (wie gesagt, ich wollte sie nur zum funktionieren kriegen, deswegen reichte mir die 50er als Vorlage) aber es sollte doch funktionieren?
Ich sehe keine Fehler, mir werden auch keine ausgegeben, aber die Quest wird trotzdem nicht gestartet.

Ich habe wirklich Stundenlang versucht es alleine hinzubekommen. Ich schaffe es einfach nicht. Ich würde mich freuen, wenn mir jemand helfen kann.
10/14/2013 19:34 OrkVomBerg#9163
erledigt, hab den fehler selbst gefunden
10/14/2013 20:17 eimer92#9164
PHP Code:
quest weihnachten begin
    state start begin
        when 71144.
use begin
            local items 
= {4114541146411474114841149411504115141152}
            
local no number(15)
            if 
no == 3 then return end
            pc
.give_item2(items[number(1table.getn(items))], 1)
            
pc.remove_item(711441)
        
end
    end
end 

Kann die truhe nicht öffnen
10/14/2013 20:22 Noa_#9165
Quote:
Originally Posted by eimer92 View Post
PHP Code:
quest weihnachten begin
    state start begin
        when 71144.
use begin
            local items 
= {4114541146411474114841149411504115141152}
            
local no number(15)
            if 
no == 3 then return end
            pc
.give_item2(items[number(1table.getn(items))], 1)
            
pc.remove_item(711441)
        
end
    end
end 

Kann die truhe nicht öffnen
71144 muss auf typ 18 sein