Quest-problem [Hilfe]

06/05/2011 11:40 xFearlessx#1
Hey,

ich hätte eine kleine Frage.
Ich hätte gerne eine kleine Quest,das wenn jemand den Kaiserfelsen killt und ein bestimmtes Item droppt im Chat kommt " Du hast xxx gefunden"



Das sollte denke ich nicht kompliziert sein,könnte mir das jemand schnell hier schreiben ;)? gibt Thanks.


MfG
xFear
06/05/2011 11:43 .Delta#2
Quote:
Originally Posted by xFearlessx View Post
Hey,

ich hätte eine kleine Frage.
Ich hätte gerne eine kleine Quest,das wenn jemand den Kaiserfelsen killt und ein bestimmtes Item droppt im Chat kommt " Du hast xxx gefunden"



Das sollte denke ich nicht kompliziert sein,könnte mir das jemand schnell hier schreiben ;)? gibt Thanks.


MfG
xFear
Dann musst du den Drop aber auch per Quest regeln, also von dem Item

vllt so
PHP Code:
quest metindrop begin
    state start begin
        when METINVNUM
.kill begin
            local ch 
number(1100)
            if 
ch <= 25 then
                game
.drop_item(ITEMVNUM1)
                
chat("Du hast ITEM gedroppt")
            
end
        end
    end
end 
06/05/2011 11:46 xFearlessx#3
Die sache ist eig. die, ich entbugge bei mir gerade das " Tal von Ascaria"

aber leider werden bei mir am anfang aus dem kaiserfelsen diese dummen teile eine karte nicht gedroppt....auch kommt nicht die nachricht die kommen sollte "In diesem metin ist anscheinend keine karte"...nichts davon funktioniert,wenn ich die Karte per gm-befehl mache kann ich sie abgeben das klappt alles, aber die kaiserfelsen droppen sie einfach nicht-.-


Könntest du mir helfen?
map index is 220 stimmt alles 100%,der rest der quest geht ja zu 90%

Quest:
PHP Code:
quest devildown begin
    state start begin
        when 30122.chat
."Das Geheimnis Ascarias" begin
            
if pc get_level ( ) < 85 then 
                say 
("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 85 bist!"
            else 
                
say_title("Kriegergeist")
                
say("")
                
say("Ich war einst Krieger der Kaiserlichen Armee.")
                
say("Vor vielen Jahren gab es einen Ort, der von einem")
                
say("Drache bewacht wurde. Heute kennt man ihn unter dem")
                
say("Name - Tal von Ascaria. Eigentlich wurde es mir")
                
say("verboten Informationen über die Lage dieses Ortes zu")
                
say("geben aber ich könnte dich trotzdem")
                
say("dort hin teleportieren.")
                
say("")
                
say_reward("Soll ich dich ins Tal von Ascaria teleportieren?")
                
                
local s select("Teleportieren""Hier bleiben")
                    if 
== 1 then
                        pc
.warp(3917001293100)
                    else
                        return
                    
end
            end
        end
        
        when 8023.kill with pc
.get_map_index()==220 begin
            local jump1 
number(120)
            if 
jump1<=10 then
                chat
("Das muss der Teil einer Karte sein.")
                
chat("Bringe ihn dem Surageist.")
                
game.drop_item(301261)
            else
                
chat("An diesem Metin war anscheinend keine Karte..")
            
end
        end
        
        when 30121.chat
."Teil einer Karte" begin
        
            
if pc.count_item(30126)>=1 then
                say
("Du hast eine Karte gefunden?!")
                
say("Lass mal sehen!")
                
pc.removeitem("30126"1)
                
wait()
                
say("Okay, ich denke als nächstes..")
                
say("Ja das ist okay.. Bis später!")
                
wait()                
                
d.new_jump_all(220318212142)
                
d.setf("devillevel"1)
                -- 
Removed Schlüsselsteine aus deinem Inventar falls vorhandenum Bugusing vorzubeugen. --
                
local boxto7pc.count_item(30300)  
                
pc.remove_item(30300,boxto7)
            --------------------------------------------------------------------------------------------

                
local vid d.spawn_mob(11510268311)
                
d.regen_file("data/dungeon/dd_regen2.txt")
                
d.set_unique("real"vid)
                
d.notice("Zerstört das legendäre Feuer der Macht.");
            else
                
say("Ich habe gehört, dass man an den Metinsteine,")
                
say("hier in der Umgebung Teile von Karten finden kann,")
                
say("wenn man sie zerstört. Wenn du mir ein solches")
                
say("Teil bringen könntest, könnte ich dich in das")
                
say("nächste Gebiet teleportieren, da ich dann das")
                
say("Gebiet genauer untersuchen könnte.")
            
end
        end
        
        when 11510.kill with pc
.in_dungeon() begin
            
if d.is_unique_dead("real"then
                d
.setf("devillevel"2)
                
d.clear_regen()
                
d.jump_all(354212825)
                
d.regen_file("data/dungeon/dd_warps.txt")
            
end
        end
        
        when 20083.chat
."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
            say_title
("Poeng-Hong")
            
say("")
            
say("Diese Gänge.. Sie bringen mich um")
            
say("meinen Verstand.. Ich laufe nun schon")
            
say("den ganzen Tag in ihnen herum, aber ich habe")
            
say("keine Ahnung, wo ich noch lang gehen soll.")
            
say("Ich suche doch nur meinen Bruder..")
            
say("")
            
say("Wenn ich ihn doch nur finden würde..")
            
wait()
            
d.setf("devillevel"3)
            
d.jump_all(334712810)            
        
end        
        

        when 20080.chat
."Poeng-Hong" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
            say_title
("Sao-Hae")
            
say("")
            
say("Mein Bruder Poeng-Hong?")
            
say("Du hast ihn getroffen?")
            
say("Ja ich bin sein Bruder.. Es wäre")
            
say("sehr nett von ihm, ihm zu sagen wo ich")
            
say("bin, wenn du ihn noch einmal sehen solltest.")
            
say("")
            
wait()
            
            
d.setf("devillevel"4)
            
timer("devildown_jump1"1)
        
end        
        
        when devildown_jump1
.timer begin
            d
.clear_regen()
            
d.regen_file("data/dungeon/dd_regen3.txt")
            
local vid d.spawn_mob(1191803290)
            
d.set_unique("real"vid)
            
d.jump_all(361912075)
            
d.notice("Sucht die Eishexe und tötet sie, damit der Wächter");
            
d.notice("des Untergrundes sich nicht länger verstecken muss.");
        
end
        
        when 1191.kill with pc
.in_dungeon() and d.getf("devillevel") == 4 begin
            
if d.is_unique_dead("real"then
                d
.spawn_mob(20351 740 207)
                
d.setf("devillevel"5)
            
end
        end
        
        when 20351.chat
."Wächter des Untergrundes" with pc.in_dungeon() and d.getf("devillevel") == 5 begin    
            say_title
("Wächter des Untergrundes")
            
say("Man nennt mich den Wächter des Untergundes.")
            
say("Ich bin schon eine weile hier und kenne das Gebiet")
            
say("ein wenig besser wie du, wenn ich das so sagen darf.")
            
say("")
            
say("Ich könnte euch alle zu den alten Siegeln teleportieren.")
            
say("Ich selbst traue mich dort nicht hin.")
            
say("Mir ist der Ort irgendwie unheimlich.")
            
say("")
            
wait()
            
d.setf("devillevel"6)
            
timer("devildown_jump2"2)            
        
end
        
        when devildown_jump2
.timer begin
            d
.clear_regen()
            
d.jump_all(443812282)
                
d.regen_file("data/dungeon/dd_regen4.txt")
                
d.spawn_mob(301011241250)
                
d.spawn_mob(301011246242)
                
d.spawn_mob(301011255243)
                
d.spawn_mob(301011259250)
                
d.spawn_mob(301011254258)
                
d.spawn_mob(301011246258)
                
d.setf("devildownstone_count"6)
                
timer('devildownstone1'300)
                
d.notice("Um das Portal zum Roten Drache zu aktivieren, müssen");
                
d.notice("die alten Siegel zerstört werden. Ihr habt nur 20 Minuten,");
                
d.notice("um alle 6 Siegel zu öffnen.");    
        
end
        
        when devildownstone1
.timer begin
            d
.notice("Verbleibende Zeit: 15 Minuten")
            
timer('devildownstone2'300)
        
end

        when devildownstone2
.timer begin
            d
.notice("Verbleibende Zeit: 10 Minuten")
            
timer('devildownstone3'300)
        
end

        when devildownstone3
.timer begin
            d
.notice("Verbleibende Zeit: 5 Minuten")
            
timer('devildownstone4'300)
        
end

        when devildownstone4
.timer begin
            d
.clear_regen()
            
d.notice("Die Zeit ist abgelaufen")
            
d.notice("Ihr werdet nun nach draußen teleportiert")
            
pc.warp(3917001293100)
        
end
        
        when 2510.kill with pc
.in_dungeon() and d.getf("devillevel") == 6 begin
            local KILL_COUNT_FOR_DROP_DEVIL_KEY 
15
            local n 
=d.getf("count") + 1
            d
.setf("count"n
            
            if 
== KILL_COUNT_FOR_DROP_DEVIL_KEY then
                game
.drop_item(500841)
                
d.setf("count"0)
            
end
        end
    
        when 30101.take with item
.vnum == 50084 and d.getf("devillevel") == 6 begin
            npc
.purge()
            
item.remove()
            
d.setf("devildownstone_count"d.getf("devildownstone_count") - 1)
            if 
d.getf("devildownstone_count") <= 0 then
                d
.setf("devillevel"7)
                    -- 
Setzt die Timer von der Vorletzen EBENE auf 800000 Sec.
                    -- 
Um das nachträgliche herausfliegen zu vermeiden.
                    
timer('devildownstone1'800000)
                    
timer('devildownstone2'800000)
                    
timer('devildownstone3'800000)
                    
timer('devildownstone4'800000)
                    --------------------------------------------------------
                
d.clear_regen()
                
d.notice("Ihr habt alle alten Siegel geöffnet.")
                
d.notice("Das Portal zum Roten Drache hat sich geöffnet.")
                
timer("devildown_nexttimer"3)
            else
                
d.notice("Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln")
            
end
        end
        
        when devildown_nexttimer
.timer begin
            d
.jump_all(437412740)
            -- 
Firstspawn !!!
            
d.regen_file("data/dungeon/dd_boss1.txt")
            ------------------
            
timer("devildown_bosstimer1"60)
        
end
        
        when devildown_bosstimer1
.timer begin
            
-- 2. Spawn !!!
            
d.regen_file("data/dungeon/dd_boss2.txt")
            ------------------
            
timer("devildown_bosstimer2"60)
        
end
    
        when devildown_bosstimer2
.timer begin
            
-- 3. Spawn !!!
            
d.regen_file("data/dungeon/dd_boss3.txt")
            ------------------
            
timer("devildown_bosstimer3"60)
        
end
        
        when devildown_bosstimer3
.timer begin
            
-- 4. Spawn !!!
            
d.regen_file("data/dungeon/dd_boss4.txt")
            ------------------
            
timer("devildown_bosstimer4"60)
        
end
        
        when devildown_bosstimer4
.timer begin
            
-- 5. Spawn !!!
            
d.regen_file("data/dungeon/dd_boss5.txt")
            ------------------
            
timer("devildown_bosstimer5"60)
        
end
        
        when devildown_bosstimer5
.timer begin
            
-- 6. Spawn !!!
            
d.regen_file("data/dungeon/dd_boss6.txt")
            ------------------
            
timer("devildown_bosstimer_last"60)
        
end
        
        when devildown_bosstimer_last
.timer begin
            
-- Endspawn mit Drache !!!
            
d.regen_file("data/dungeon/dd_boss7.txt")
            
local vid d.spawn_mob(22911302708)
            
d.set_unique("real"vid)
            ------------------
        
end
        
        when 2291.kill with pc
.in_dungeon() begin
            
if d.is_unique_dead("real"then
                d
.notice("Ihr habt den Roten Drache, den Wächter des Tals von Ascaria besiegt.");
                
d.notice("Ihr werdet in 20 Sekunden zurück zum Anfang teleportiert..");
                
timer("devildown_escapetimer"20)
            
end
        end
        
        when devildown_escapetimer
.timer begin
            d
.clear_regen()
            
d.setf("devillevel"0)
            
pc.warp(3917001293100)
        
end
    
    end
end 
06/05/2011 11:54 .Delta#4
naja stimmt doch eig alles^^
Hast du vllt schon ne Kill Quest für 8023?, bzw den Befehl 8023.kill in irgendeineer anderen quest stehen?
06/05/2011 11:56 xFearlessx#5
nein...und wenn ich nen anderen metin nehme gehts auch nicht, ich verzweifle noch -.-


Ich wollt es jetzt als alternative so machen,das der kaiserfelsen die Karte einfach als normalen dropp droppt,aber was muss dann in die quest rein?

Also ich hab jetz in der mob_drop beim kaierfelsen eingestellt,das er die karte als itemdropp hat,mit namen drüber..
06/05/2011 12:00 .Delta#6
hm bist du dir sicher, dass dein map index 220 ist?
geh mal bitte auf die map und sag mir GENAU was bei mapindex steht, wenn du ingame
Code:
/state
eingibst
06/05/2011 12:08 xFearlessx#7
coordinate 391700x1293100 (3917x12931)Mapindex 220 Attribute 00000000


das steht da,rest ist denk ich unwichtig...und rest der quest geht ja,labyrinth,feuer der macht usw..
07/18/2011 18:13 .Scratchy.#8
Ich push das Thema mal um keinen neuen Thread eröffnen zu müssen, hab das gleiche Problem!