Drachenraum Quest [NPC nicht anklickbar]

06/16/2012 00:24 Vinh™#1
Ich wollte eine Quest einfügen, wo man zum Drachenraum kommt.

Quest:
PHP Code:
----------------------------------------------------
--
Tempel des Drachen
----------------------------------------------------
quest drachenraum begin
    state start begin
        when logout with pc
.get_map_index() >= (82*10000begin
            pc
.setqf("punishment"1)
        
end
        
        when login with pc
.get_map_index() >= (82*10000) and pc.getqf("punishment") == 1 begin
            pc
.setqf("punishment"0)
            
warp_to_village()
        
end
        
        when 30121.chat
."Ich will den Drachen töten" with pc.get_map_index() == 73 and game.get_event_flag("dragontemple_open") == 1 begin
            pc
.setqf("punishment"0)
            if 
game.get_event_flag("dragontemple_used") == 1 then
                
if game.get_event_flag("dragontemple_block") == 1 then
                    say_title
(mob_name(30121))
                    
say("")
                    
say("Der Raum ist gesperrt, versuch es später noch ein mal.")
                    return;
                
end
                
                say_title
(mob_name(30121))
                
say("")
                
say("Tut mir Leid, der Raum ist reseviert.")
                
say("Wenn du ein Passwort hast für den Zugang")
                
say("gebe es jetzt bitte ein.")
                
local password input()
                if 
game.get_event_flag("dragontemple_password") == tonumber(passwordthen
                    say_title
(mob_name(30121))
                    
say("")
                    
say("Das Passwort stimmt überein.")
                    
say("Ich bringe dich in die Kammer")
                    
wait()
                    
say_title(mob_name(30121))
                    
say("")
                    
say("Wenn du willst kann ich dich sofort,")
                    
say("in den Drachnraum bringen.")
                    
say("Gib mir einfach 3 "..item_name(30179))
                    
say("")
                    
say_item_vnum(30179)
                    
                    
local s select("Hier, nimm sie und bring mich rein""Abbrechen")
                    if 
== 1 then
                        
if pc.count_item(30179) >= 3 then
                            pc
.remove_item(301793)
                            
pc.warp(8436001066900, (82*10000))
                        else
                            
say("Du hast nur "..pc.count_item(30179).." von 3 benötigten")
                            
sammeln pc.count_item(30179)
                            
say("Sammle bitte noch "..sammeln.." "..item_name(30179))
                            
say("")
                            
say_item_vnum(30179)
                        
end
                    
else
                        return
                    
end
                
else
                    
say_title(mob_name(30121))
                    
say("")
                    
say("Das Passwort stimmt nicht überein.")
                    return
                
end
            
elseif pc.has_guild() and game.get_event_flag("dragontemple_used") == 0 then
                say_title
(mob_name(30121))
                
say("")
                
say("Du willst also den Drachen bekämpfen?")
                
say("Dann gib bitte erst ein Passwort(nur Zahlen) ein")
                
say("um den Raum zu schützen. Geb das Passwort")
                
say("einfach deinen Gruppenmitgliedern und sie")
                
say("können mit in den Raum")
                
say("Gib es bitte jetzt ein.")
                
local password tonumber(input())
                
say_title(mob_name(30121))
                
say("")
                
say("Um jetzt in den Drachenraum zu kommen")
                
say("brauche ich 3 "..item_name(30179))
                
say("")
                
say_item_vnum(30179)
                
say("")
                
                
local s select("Hier, nimm sie und bring mich rein""Abbrechen")
                if 
== 1 then
                    
if pc.count_item(30179) >= 3 then
                        pc
.remove_item(301793)
                        if 
game.get_event_flag("dragontemple_notfinished") == 0 then
                            local ret 
DragonLair.startRaid(82)
                        else
                            
pc.warp(8436001066900, (82*10000))
                        
end
                        game
.set_event_flag("dragontemple_used"1)
                        
game.set_event_flag("dragontemple_notfinished"1)
                        
game.set_event_flag("dragontemple_password"password)
                        
timer("blockentry"5*60)
                        
timer("not_finished",  7200)
                    else
                        
say("Du hast nur "..pc.count_item(30179).." von 3 benötigten")
                        
sammeln pc.count_item(30179)
                        
say("Sammle bitte noch "..sammeln.." "..item_name(30179))
                        
say("")
                        
say_item_vnum(30179)
                        
say("")
                        return
                    
end
                
elseif == 2 then
                    
return                                
                
end
            
elseif not pc.has_guild() then
                say_title
(mob_name(30121))
                
say("")
                
say("Du benötigst eine starke Gilde")
                
say("um gegen den Drachen zu kämpfen.")
            
end
        end
        
        when 2493.kill with pc
.get_map_index() >= (82*10000begin
            timer
("set_unused"30)
        
end
        
        when not_finished
.timer begin
            game
.set_event_flag("dragontemple_used"0)
            
game.set_event_flag("dragontemple_block"0)
            
warp_to_village()
        
end
        
        when set_unused
.timer begin
            game
.set_event_flag("dragontemple_used"0)
            
game.set_event_flag("dragontemple_block"0)
            
game.set_event_flag("dragontemple_notfinished"0)
            
notice_all("Der Drache wurde von "..pc.get_name().." getötet!")
            
notice_all("Herzlichen Glückwunsch!")
            
DragonLair.endRaid(82*10000)
        
end
        
        when blockentry
.timer begin
            game
.set_event_flag("dragontemple_block"1)
        
end
    end
end 
Danach habe ich mein Server rebootet und der Geist eines Sura, wo ich die Quest eingefügt habe, ist nicht anklickbar. Habe auch schon in der mob_proto und habe auch bei one_klick auf 1 eingestellt. Geht aber auch nicht. Freue mich über eine Antwort.
06/16/2012 00:59 KliKli1998#2
Veruch mal diese quest habe sie 1 mal ausprobiert die ging eigentlich
PHP Code:
quest drachenraum begin
    state start begin
        when login 
or levelup with pc.level >0 begin
            set_state
(zone_enter)
        
end
    end
        
    state zone_enter begin
        when 20092.chat
."Ich will den Drachen töten!" begin
            say
("")
            
say(""..mob_name(20092).."")
                        
say("Du benötigst einen Passierschein")
            
say("um in den Drachenraum zu gelangen!")
                        
say("Diesen bekommt ihr von dem Setou Hauptmann")
            
say("Im Drachenraum haust der berüchtigte")
            
say("Zin-Drache! Er ist der Gefährlichste")
            
say("Mob in ganz Metin2! Willst du immernoch")
            
say("in den Drachenraum?")
                        
say("")
                        
say_reward("Hast du einen Passierschein?")
            
wait()
            
say("")
            
say("")

            if 
pc.get_level() <= 89 then
                say_title
("Geist eines Suras:")
                
say("Haha dich Wicht werde ich nicht in den")
                
say("Drachenraum lassen!! Lvl erstmal auf Lv 90")
                
say("dann reden wir weiter.")
                                
say("")
                                
say_reward("Du benötigst mindestens Lv 90 um in den")
                                
say_reward("Drachenraum zu gelangen!")
                return
                        
end
    
            
if pc.count_item(71095)>0 then
                say
("")
                
say(""..mob_name(20092).."")
                
say("Ich bringe dich nun in den Drachenraum")
                
say("")
                
pc.remove_item(71095)

            elseif 
pc.count_item(71095) >0 then
                say
("")
                
say(""..mob_name(20092).."")
                
say("Du besitzt einen Passierschein! !")
                
say("")
                
            else
                
say("")
                
say(""..mob_name(20092).."")
                
say("Du bist nicht im Besitz eines Passierscheins!")
                
say("Ohne einen kannst du den Drachenraum nicht erreichen.")
                return
            
end
                
            say
("Du wirst nun teleportiert!")    
            
say("Aber sei vorsichtig!")    
            
wait()
                        
notice_all("Der Spieler ".. pc.get_name() .." versucht den Blauen");
                        
notice_all("Drachen zu töten!");
                        
pc.remove_item(710951)
                    
pc.warp(177900,1220400)            
        
end
    end
end 
und stellt On_click auf 2 dann müsste es hinhauen.
06/16/2012 01:06 Vinh™#3
Du, ist ja sehr kurz geschrieben :D