Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 13:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[SERVICE] Die Questkontrolle

Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 03/02/2015, 22:18   #11131
 
elite*gold: 0
Join Date: Jan 2013
Posts: 1,818
Received Thanks: 336
Quote:
Originally Posted by °Ace° View Post
Hey, kann mir einer die Quest so umschreiben, dass man fast genau 20 Minuten für die Schlüsseln braucht. Denn wenn man früher alle Schlüssel abgibt und den Dämonenkönig killt, wird man wieder eine Ebene nach unten gestuft.

PHP Code:
quest deviltower_zone begin
    state start begin
        when login begin
            
if pc.get_map_index() == 66 then            
                
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
                    pc
.warp((5376+532)*100, (512+596+4)*10065)
                
end
                pc
.set_warp_location(655376+532512+596+4)
            elseif 
pc.get_map_index() >  660000 and pc.get_map_index() < 670000 then
                pc
.set_warp_location(655376+532512+596+4)
            
end
        end
    when 20348.click begin
        
if pc.get_level() < 30 then 
            say_title
("Wächter des Dämonenturmes")
            
say("")
            
say("Du hast noch nicht genügend Kampferfahrung")
            
say("gesammelt!")
            
say("")
            
say_reward("Komme wieder wenn du Level 30 erreicht hast.")
            return
        
end
        
if pc.get_level() > 29 then
            say_title
("Wächter des Dämonenturmes")
            
say("")
            
say("Der Dämonenturm ist die Heimat von schrecklichen")
            
say("Kreaturen, die nichts lieber tun, als dich zu töten.")
            
say("Die Boni 'Stark gegen Untote' und 'Pfeilwiderstand'")
            
say("könnten dir sehr hilfreich sein!")
            
say("")
            
say_reward("Ab Level 75 hast du die Möglichkeit den Dämonenturm")
            
say_reward("mit einer Gruppe zu betreten.")
            
local betreten select("Dämonenturm normal betreten""Dämonenturm als Gruppe betreten""Abbrechen"
            if 
betreten == 1 then 
                pc
.warp(216500727000)                 
            
end
            
if betreten == and pc.get_level() > 74 then
                
if party.is_party() then
                    say_title
("Wächter des Dämonenturmes")
                    
say("")
                    
say("Bitte achte darauf, dass sich alle Gruppenmitglieder")
                    
say("im Tempel befinden!")
                    
say("")
                    
say_reward("Möchtest du den Dungeon wirklich mit deiner Gruppe")
                    
say_reward("betreten?")
                    
local gruppe_betreten select("Dämonenturm als Gruppe betreten""Abbrechen")
                    if 
gruppe_betreten == 1 then
                        d
.join(66special.devil_tower[1][1], special.devil_tower[1][2])
                        
d.spawn_mob(8015120615)
                    
end
                    
if gruppe_betreten == 2 then
                        
return
                    
end
                end
                
if not party.is_party() then
                    say_title
("Wächter des Dämonenturmes")
                    
say("")
                    
say("Du kannst diese Option nur ausführen wenn du dich")
                    
say("in einer Gruppe befindest.")
                    
say("")
                    
say_reward("Du befindest dich in keiner Gruppe.")
                    return
                
end
            end
            
if betreten == and pc.get_level() < 75 then
                say_title
("Wächter des Dämonenturmes")
                
say("")
                
say_reward("Du kannst diese Option erst mit Level 75 nutzen.")
                return
            
end
            
if betreten == 3 then
                
return
            
end
        end
    end
    when 8015.kill begin
        timer
("zeit_bis_port"10)
        
d.notice("Ihr habt den Metin der Härte zerstört!")
        
d.notice("In 10 Sekunden werdet ihr in die erste Ebene teleportiert.")
    
end
    when zeit_bis_port
.timer begin
        d
.new_jump_all(66special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_regen.txt")
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
    
end
    
--when devil_stone2.kill begin
    
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
    --
end
    when devil_stone3
.kill begin
        
--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
        --
d.set_exit_all_at_eliminate(6)
        --
d.set_warp_at_eliminate(6d.get_map_index(), 100100)
        --
d.set_warp_at_eliminate(4655376+532512+596+4)
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
        
d.check_eliminated()
        --
d.exit_all()
    
end
    
function get_4floor_stone_pos()
        
local positions = {
        {
368629},
        {
419630},
        {
428653},
        {
422679},
        {
395689},
        {
369679},
        {
361658},
        }
        for 
1do
        
local j number(i7)
        if 
!= j then
            local t 
positions[i];
            
positions[i] = positions[j];
            
positions[j] = t;
        
end
        end
        
--for 1do
    --    
positions[i][1] = positions[i][1] * 100
    
--    positions[i][2] = positions[i][2] * 100
     
--   end
        
return positions
    end
    when 8016.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.setf("level"4)
        -- 
¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
        
--d.regen_file("data/dungeon/deviltower4_regen.txt")
        
local positions deviltower_zone.get_4floor_stone_pos()
        for 
1do
        
chat(positions[i][1], positions[i][2])
        
d.set_unique("fake" .. d.spawn_mob(8017positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid d.spawn_mob(8017positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real"vid)
        
server_loop_timer('devil_stone4_update'10pc.get_map_index())
        
server_timer('devil_stone4_fail1'5*60pc.get_map_index())

        
d.notice("Findet den richtigen Metinstein und zerstört ihn.");
        
d.notice("Die falschen Metinsteine werden verschwinden!");
        
d.notice("Ihr habt 15 Minuten zeit!");
    
end

    when devil_stone4_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 10 Minuten")
        
server_timer('devil_stone4_fail2'5*60get_server_timer_arg())
        
end
    end

    when devil_stone4_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 5 Minuten")
        
server_timer('devil_stone4_fail'5*60get_server_timer_arg())
        
end
    end

    when devil_stone4_fail
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Die Zeit ist abgelaufen")
        
d.notice("Ihr werdet nun nach draußen teleportiert")
        
d.exit_all()
        
clear_server_timer('devil_stone4_update'get_server_timer_arg())
        
end
    end

    when devil_stone4_update
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        
if not d.is_unique_dead("real"then
            
for 1do
            if 
d.getf("fakedead" .. i) == 0 then
                
if d.unique_get_hp_perc("fake" .. i) < 50 then
                d
.purge_unique("fake" .. i)
                
d.setf("fakedead" .. i1)
                
d.notice("Der falsche Metinstein ist verschwunden..");
                
end
            end
            end
        
else
            --
d.clear_regen()
            --
d.regen_file("data/dungeon/deviltower5_regen.txt")
            
server_timer("devil_stone4_end"5get_server_timer_arg())
            
d.notice("Ihr habt den richtigen Metinstein zerstört.");
            
d.notice("Ihr werdet nun in die nächste Ebene teleportiert")
            
clear_server_timer('devil_stone4_fail1'get_server_timer_arg())
            
clear_server_timer('devil_stone4_fail2'get_server_timer_arg())
            
clear_server_timer('devil_stone4_fail'get_server_timer_arg())
        
end
        
else
        
server_timer('devil_stone4_stop_timer'1get_server_timer_arg())
        
end
    end

    when devil_stone4_stop_timer
.server_timer begin
        clear_server_timer
('devil_stone4_update'get_server_timer_arg())
    
end

    when devil_stone4_end
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.setf("level"5)
        
d.setf("stone_count"5)
        
d.notice("Du bist nun in der 5. Ebene")
        
d.notice("Öffne alle Alten Siegel um in die nächste Ebene zu gelangen.")
        
d.notice("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
        
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
        
server_timer('devil_stone5_fail1'5*60get_server_timer_arg())
        
clear_server_timer('devil_stone4_update'get_server_timer_arg())

        
d.set_regen_file("data/dungeon/deviltower5_regen.txt")

        
d.spawn_mob(20073421452)
        
d.spawn_mob(20073380460)
        
d.spawn_mob(20073428414)
        
d.spawn_mob(20073398392)
        
d.spawn_mob(20073359426)
        
end
    end
    when devil_stone5_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 15 Minuten")
        
server_timer('devil_stone5_fail2'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 10 Minuten")
        
server_timer('devil_stone5_fail3'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail3
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 5 Minuten")
        
server_timer('devil_stone5_fail'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Die Zeit ist abgelaufen")
        
d.notice("Ihr werdet nun nach draußen teleportiert")
        
d.exit_all()
        
end
    end

    
--when devil_stone4.kill begin
        
--d.setf("level"5)
        --
d.setf("stone_count"4)
        --
d.clear_regen()
        --
d.regen_file("data/dungeon/deviltower5_regen.txt")
        --
d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
    --
end

    when 1062.kill with pc
.in_dungeon() and d.getf("level") == 5 begin
        local KILL_COUNT_FOR_DROP_KEY 
45
        
--if is_test_server() then
        
--KILL_COUNT_FOR_DROP_KEY 1
        
--end
        local n 
=d.getf("count") + 1
        d
.setf("count"n
        if 
== KILL_COUNT_FOR_DROP_KEY then
        
-- bla bla 3
        game
.drop_item(500841)
        
d.setf("count"0)
        
end
    end
    when devil_stone5
.take with item.vnum == 50084 begin
        npc
.purge()
        
item.remove()
        
d.setf("stone_count"d.getf("stone_count") - 1)
        if 
d.getf("stone_count") <= 0 then
        d
.setf("level"6)
        
d.clear_regen()
        
d.regen_file("data/dungeon/deviltower6_regen.txt")

        
d.notice("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
        
d.notice("in die 6. Ebene teleportiert.")
        
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
        
clear_server_timer('devil_stone5_fail1'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail2'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail3'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail'get_server_timer_arg())
        else
        
d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
        
end
    end

    when devil_stone6
.kill begin
        
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
        
d.kill_all()
       -- 
d.set_warp_at_eliminate(3*60655376+532512+596+4)
        
d.check_eliminated()
        
timer("stolzerking_killed"5)
    
end
    when stolzerking_killed
.timer begin
        cmdchat
("CMD1")
        
d.spawn_mob(9012395200)
        
d.spawn_mob(20074392209)
        
d.spawn_mob(20075405209)
        
d.spawn_mob(20076399209)
        
d.spawn_mob(9003402200)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Stolzen Dämonenkönig getötet und damit den 1. Teil des Dungeons abgeschlossen.")
        
d.notice("Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern.")
        
d.notice("Falls du für den 2. Teil des Dungeons etwas benötigst kannst du es bei der Gemischtwarenhändlerin kaufen.")
        
d.notice("Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert.")
        
timer("zeit_zum_uppen"110)
    
end
    when zeit_zum_uppen
.timer begin
        d
.notice("In 10 Sekunden wirst du auf die nächste Ebene teleportiert.")
        
timer("zeit_bis_mordesebene"10)
    
end

    when zeit_bis_mordesebene
.timer begin
        d
.clear_regen()

        
d.spawn_mob(8018639658)
        
d.spawn_mob(8018611637)
        
d.spawn_mob(8018596674)
        
d.spawn_mob(8018629670)

        
d.setf("level"7)

        
d.jump_all(2048+5906656+638)
    
end
    
    when 8018.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        local cont 
d.getf("7_stone_kill") + 1
        d
.setf("7_stone_kill"cont)

        if 
cont >= 4 then
            d
.setf("7_stone_kill"0)
            
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
        
end    
    end

    when 8019.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        game
.drop_item(303001)
    
end

    when 30300.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        pc
.remove_item("30300"1)

        
local pct number(1,10)

        if 
pct == 1 then
            
-- bla bla 7
            game
.drop_item(303021)
            
d.clear_regen()
        else
            -- 
bla bla 8
            game
.drop_item(303011)
            
        
end
    end

    when 30302.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        
-- bla bla 9
        say_title
("Karte der Zin-Grotte")
        
say("")
        
say("Herzlichen Glückwunsch! Du hast die richtige Karte")
        
say("gefunden.")
        
say("")
        
say_reward("Du wirst jetzt in die nächste Ebene teleportiert.")
        
pc.remove_item("30302"1)
        
timer("devil_jump_8"6)
        
d.clear_regen()
    
end
    when devil_jump_8
.timer begin
        d
.setf("level"8)
        
d.jump_all(2048+5906656+403)
        
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
        
d.spawn_mob(20366640460)
        
local _countpc.count_item(30302)-- bla bla 11
        pc
.remove_item(30302,_count)
        
    
end

    when 1040.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        local pct1 
number(15)
        if 
pct1 == 1 then
            local pct2 
number(110)
            if 
pct2 == 1 then
                
-- bla bla 12
                game
.drop_item(303041)
            else
                -- 
bla bla 13
                game
.drop_item(303041)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- bla bla 14
        npc
.purge()
        
item.remove()
        
d.kill_all()
        
timer("devil_jump_9"6)
        
    
end
    when devil_jump_9
.timer begin
        d
.setf("level"9)
        
d.jump_all(2048+5906656+155)
        
d.regen_file("data/dungeon/deviltower9_regen.txt")
    
end
    when 1093.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.kill_all()
        
timer("sensi_killed"5)
    
end
    when sensi_killed
.timer begin
        cmdchat
("CMD1")
        
d.kill_all()
        
d.spawn_mob(9012618187)
        
d.spawn_mob(20074611179)
        
d.spawn_mob(20075620170)
        
d.spawn_mob(20076628179)
        
d.spawn_mob(9003621187)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Sensenmann getötet und damit den 2. Teil des Dungeons abgeschlossen.")
        
d.notice("Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern.")
        
d.notice("Falls du den Dungeon fortführen möchtest, kannst du dir bei der Gemischtwarenhändlerin")
        
d.notice("erneut Tränke kaufen. Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert.")
        
timer("zeit_nach_sensi"110)
    
end
    when zeit_nach_sensi
.timer begin
        d
.notice("In 10 Sekunden wirst du auf die nächste Ebene teleportiert.")
        
timer("zeit_bis_gemeinerking"10)
    
end
    when zeit_bis_gemeinerking
.timer begin
        d
.jump_all(2048+5906656+155)
        
d.kill_all()
        
d.spawn_mob(1094620170)
        
d.notice("Der Gemeine Dämonenkönig treibt hier sein Unwesen.")
        
d.notice("Töte ihn, um auf die nächste Ebene zu gelangen.")
    
end
    when 1094.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        timer
("zeit_bis_bt"10)
        
d.notice("Du hast den Gemeinen Dämonenkönig getötet.")
        
d.notice("In 10 Sekunden wirst du auf die letzte Ebene teleportiert.")
    
end
    when zeit_bis_bt
.timer begin
        d
.jump_all(2048+5906656+155)
        
d.kill_all()
        
d.spawn_mob(1095620170)
        
d.notice("Du befindest dich auf der letzten Ebene des Dämonenturmes.")
        
d.notice("Töte den Blauen Tod und du wirst reich belohnt!")
    
end
    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        cmdchat
("CMD1")
        
d.kill_all()
        
d.spawn_mob(9012618187)
        
d.spawn_mob(20074611179)
        
d.spawn_mob(20075620170)
        
d.spawn_mob(20076628179)
        
d.spawn_mob(9003621187)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Blauen Tod getötet und damit den Dämonenturm abgeschlossen.")
        
d.notice("Herzlichen Glückwunsch!")
        
d.notice("Du darfst erneut einen Gegenstand bei den dämonischen Schmieden verbessern. Viel Glück!")
        
notice_all("".. pc.get_name() .." hat den Blauen Tod getötet und damit den Dämonenturm abgeschlossen.")
    
end
end
end 
#help
°Ace° is offline  
Old 03/02/2015, 22:22   #11132
 
elite*gold: 0
Join Date: Jun 2013
Posts: 70
Received Thanks: 12
Die Quest spuckt immer ein fehler aus

Erorror load thr page
Bullrihgter is offline  
Old 03/03/2015, 01:17   #11133
 
SolWayne's Avatar
 
elite*gold: 30
Join Date: Feb 2015
Posts: 362
Received Thanks: 58
PHP Code:
quest horse_guard begin
    state start begin 
        when 20349.chat
."Millitär-Pferd kaufen." with pc.get_level() >= 30 and horse.get_level() < 21 begin  
            say_title
("Stallbursche"
            
say("Hallo ".. pc.get_name() .."."
            
say(""
            
say_reward("Möchtest du für 1.000 Yang ein"
            
say_reward("neues Militärpferd kaufen?"
            
local b=select("Kaufen""Nicht Kaufen"
            if 
1==b then 
                
if pc.money>=1000en                   pc.changemoney(-1000
                    
horse.set_level("21"
                    
pc.give_item2("50053"1
                else 
                    
say("Du hast nicht genug Yang."
                
end             
            end 
        end 
        when 20349.chat
."Reitshop" begin
        npc
.open_shop(17)
                 
say("Hier findest du alle Items für ein Pferd.")
    
end
        when 20349.chat
."Information" begin
            local s
=number(17)
            if 
1>=s then -- 14.29% (1/7)
                
say("Füttere dein Pferd")
                
say("regelmässig sonst")
                
say("stirbt es.")
            elseif 
2>=s then -- 14.29% (1/7)
                
say("Das Anfängerpferd")
                
say("ist sehr schnell erschöpft.")
                
say("Bleibe nicht auf seinem Rücken stehen.")
            elseif 
3>=s then -- 14.29% (1/7)
                
say("Um dein Pferd zu verbessern")
                
say("benötigst du 1kk Yang.")
                
say("Bringe das Yang zu mir")
                
say("und ich werde dein Pferd steigern.")
            elseif 
4>=s then -- 14.29% (1/7)
                
say("Wenn dein Pferd gestorben")
                
say("ist gibt es mehrere")
                
say("Kräuter von den")
                
say("Affenkönigen um")
                
say("sie Wiederzubeleben.")
            elseif 
5>=s then -- 14.29% (1/7)
                
say("Es gibt 9 verschiedene")
                
say("Pferde Aussehen.")
                
say("Ohne Gilde, mit Gilde und als Leader.")
            elseif 
6>=s then -- 14.29% (1/7)
                
say("Das Anfängerpferd")
                
say("isst gerne Heu.")
                
say("Das Kampfpferd")
                
say("isst gerne Karotten.")
                
say("Das Militärpferd")
                
say("isst gerne Roten Ginseng.")
            elseif 
7>=s then -- 14.29% (1/7)
                
say("Lese Handbuch Pferde Zähmen")
                
say("um dein Pferd schneller zu rufen.")
            
end
        end
    end
    state __COMPLETE__ begin
        when enter begin
            q
.done()
        
end
    end
end 
Was daran fail kommt immer das


da bild von putty

Quote:
Originally Posted by °Ace° View Post
#help
Da gibt es zwar auf semtlichen seiten aber poste es dir noch mal gerne


damit sollte es gehen

[php] pet.unsummon()
chat("Dein Haustier verabschiedet sich nun von dir!")
affect.remove_collect(apply.ATT_GRADE_BONUS, 10, 60*60*8)
affect.remove_collect(apply.DEF_GRADE_BONUS, 10, 60*60*8)
affect.remove_collect(apply.MAX_HP, 1000, 60*60*8)
else
local old_level = horse.get_level()
local old_name = horse.get_name()
horse.set_level(22)
horse.set_name(haustiere.get_pet_name())
pet.summon()
horse.set_level(old_level)
horse.set_name(old_name)
affect.add_collect(apply.ATT_GRADE_BONUS, 10, 60*60*8)
affect.add_collect(apply.DEF_GRADE_BONUS, 10, 60*60*8)
affect.add_collect(apply.MAX_HP, 1000, 60*60*8)[php]

warum geht das nicht er removet den bonus nicht
SolWayne is offline  
Old 03/03/2015, 14:46   #11134
 
elite*gold: 0
Join Date: Feb 2015
Posts: 32
Received Thanks: 1
Das Problem hat sich von selbst gelöst!
.~Zeus~. is offline  
Old 03/03/2015, 14:59   #11135
 
TayzZ.?'s Avatar
 
elite*gold: 0
Join Date: Apr 2014
Posts: 168
Received Thanks: 8
Drachenraum quest

PHP Code:
quest drachenraum begin
    state start begin
        when 20500.chat
."Ich will den Drachen Tötten!" begin
            
if get_time() > game.get_event_flag("blockentry") and game.get_event_flag("blockentry") > 1 then
                game
.set_event_flag("dragontemple_block",1)
                
game.set_event_flag("blockentry"0)
            
end
            
            
if get_time() > game.get_event_flag("reopen") and game.get_event_flag("reopen") > 1 then
                game
.set_event_flag("dragontemple_used",0)
                
game.set_event_flag("dragontemple_block",0)
                
game.set_event_flag("reopen"0)
            
end
            
            
if game.get_event_flag("reopen")-get_time() < 0 then
                dragontime 
1
            
else
                
dragontime game.get_event_flag("reopen")-get_time()
            
end
            
            
if game.get_event_flag("dragontemple_used") == and game.get_event_flag("empire") == pc.get_empire() then
                
if game.get_event_flag("dragontemple_block") == 1 then
                    say_title
(mob_name(20500))
                    
say("")
                    
say("Der Drache wurde vor kurzem getötet!")
                    
say("Bitte warte, bis der Drache wiederbelebt")
                    
say("wird. Der Drache wird verfügbar sein in:")
                    
say_red(""..dragontime.." Sekunden.")
                    
say("")
                    return;
                
end
                
                say_title
(mob_name(20500))
                
say("")
                
say("Entschuldigung aber der Drachenraum ist")
                
say("besetzt.")
                
say("wenn du das Passwort zum betreten,")
                
say("Geb es jetzt ein...")
                
local password input()
                if 
game.get_event_flag("dragontemple_password") == tonumber(passwordthen
                    say_title
(""..mob_name(20500).."")
                    
say("")
                    
say("Das Passwort ist richtig!")
                    
say("")
                    
wait()
                    
say_title(""..mob_name(20500).."")
                    
say("")
                    
say("Wenn du wilslt bring ich dich ")
                    
say("in die Drachenkammer jetzt.")
                    
say("Aber ich brauche 3 mal:")
                    
say("")
                    
say_item_vnum(30179)
                   
                    
local s select("Nimm sie und bring mich rein!""Nein danke")
                    if 
== 1 then
                        
if pc.count_item(30179) >= 3 then
                            pc
.remove_item(30179,3)
                            
pc.warp(1717001220400)
                            
pc.setqf("payment"1)
                        else
                            
say("Du hast nur "..pc.count_item(30179).." von benötigten 3")
                            
say("")
                            
say_item_vnum(30179)
                        
end
                    
else
                        return
                    
end
                
else
                    
say_title(""..mob_name(20500).."")
                    
say("")
                    
say("Das Passwort ist nicht richtig!")
                    return
                
end
            
elseif pc.has_guild() and game.get_event_flag("dragontemple_used") == 0 then
                say_title
(""..mob_name(20500).."")
                
say("")
                
say("Du willst also gegen den Drachen kämpfen?")
                
say("Dann geb mir ein Passwort für den Raum.")
                
say("Du kannst das passwort dann deiner Gruppe geben")
                
say("Damit sie dir Helfen den Drachen zu Erlegen.")
                
say("Bitte geb mir das Passwort.")
                
local password tonumber(input(""))
                
game.set_event_flag("dragontemple_password",password)
                
say_title(""..mob_name(20500).."")
                
say("")
                
say("Wenn du willst, kann ich dich Reinbringen.")
                
say("Und das auf der Stelle.")
                
say("Du brauchst nur 3 mal:")
                
say_item_vnum(30179)
                
say("")
                
say_reward("Achtete darauf das jeder 3 Schlüssel hat.")
                
say_reward("Der zugang ist nur 5 Minuten offen!")
                
say("")
                
                
local s select("bring mich rein!""Bye")
                if 
== 1 then
                    
if pc.count_item(30179) >= 3 then
                        empire 
pc.get_empire()
                        
pc.remove_item(30179,3)
                        
DragonLair.startRaid(207)
                        
game.set_event_flag("dragontemple_used",1)
                        
game.set_event_flag("empire",empire)
                        
game.set_event_flag("metinkills"0)
                        
game.set_event_flag("reopen"get_time()+60*60)
                        
game.set_event_flag("blockentry"get_time()+5*60)
                        
pc.setqf("payment"1)
                        
pc.warp(1717001220400)
                    else
                        
say("du hast nur "..pc.count_item(30179).." und brauchst 3.")
                        
say("")
                        
say_item_vnum(30179)
                        
say("")
                        return
                    
end
                
elseif s==2 then
                    
return                                
                
end
            
elseif not pc.has_guild() then
                say_title
(""..mob_name(20500).."")
                
say("Du must in einer gilde sein um in dne Drachenraum zu kommen.")
                
say("Y")
                
say("")
            elseif 
game.get_event_flag("empire") > pc.get_empire() or game.get_event_flag("empire") < pc.get_empire() then
                say_title
(""..mob_name(20500).."")
                
say("")
                
say("Der Raum ist besetzt")
                
say("Von einem Anderen Reich.")
            
end
        end
        when login with pc
.get_map_index() == 73 begin
            
if pc.getqf("payment") < 1 then
                pc
.warp(10000,1214200)
            else
                
pc.setqf("payment"0)
            
end
        end      
        
        when 2493.kill with pc
.get_map_index() == 73 begin
            game
.set_event_flag("reopen"get_time()+30*60)
            
notice_all("Die Gruppe von "..pc.get_name().." Hat den")
            
notice_all("Blauen drachen getötet")
            
game.set_event_flag("metinkills"0)
            
game.set_event_flag("dragontemple_block",1)
        
end
        
        when pc
.get_map_index() == 73 begin
            
if get_time() == 1680 and pc.getqf("payment") < 1 then
                pc
.warp(10000,1214200)
            else
                
pc.setqf("payment"0)
            
end
        end

        when login begin
            
if get_time() < 1680 and pc.getqf("payment") < 1 then
                pc
.setqf("payment"0)
            else
                
pc.setqf("payment"0)
            
end
        end                    
    end
end 
Ich bekomme folgenden Fehler:

Quote:
when doesn't have begin-end clause.())
raum.quest::146:Error occured on comlipe run quest
Würe nett, wenn mir einer helfen könnte

PHP Code:
        when pc.get_map_index() == 73 begin
            
if get_time() == 1680 and pc.getqf("payment") < 1 then
                pc
.warp(10000,1214200)
            else
                
pc.setqf("payment"0)
            
end
        end 
Hiermit sollte man nach 2 Minuten in Grotte 1 Teleportiert weden, nachdem der Drache Getötet wurde.

PHP Code:
when login begin
            
if get_time() < 1680 and pc.getqf("payment") < 1 then
                pc
.setqf("payment"0)
            else
                
pc.setqf("payment"0)
            
end
        end 
Hiermit sollte man 2 minuten nachdem der Drache getötet wurde das payment auf 0 bekommen um normal in Grotte 2 zu gehen
TayzZ.? is offline  
Old 03/03/2015, 15:20   #11136

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by TayzZ.? View Post
PHP Code:
quest drachenraum begin
    state start begin
        when 20500.chat
."Ich will den Drachen Tötten!" begin
            
if get_time() > game.get_event_flag("blockentry") and game.get_event_flag("blockentry") > 1 then
                game
.set_event_flag("dragontemple_block",1)
                
game.set_event_flag("blockentry"0)
            
end
            
            
if get_time() > game.get_event_flag("reopen") and game.get_event_flag("reopen") > 1 then
                game
.set_event_flag("dragontemple_used",0)
                
game.set_event_flag("dragontemple_block",0)
                
game.set_event_flag("reopen"0)
            
end
            
            
if game.get_event_flag("reopen")-get_time() < 0 then
                dragontime 
1
            
else
                
dragontime game.get_event_flag("reopen")-get_time()
            
end
            
            
if game.get_event_flag("dragontemple_used") == and game.get_event_flag("empire") == pc.get_empire() then
                
if game.get_event_flag("dragontemple_block") == 1 then
                    say_title
(mob_name(20500))
                    
say("")
                    
say("Der Drache wurde vor kurzem getötet!")
                    
say("Bitte warte, bis der Drache wiederbelebt")
                    
say("wird. Der Drache wird verfügbar sein in:")
                    
say_red(""..dragontime.." Sekunden.")
                    
say("")
                    return;
                
end
                
                say_title
(mob_name(20500))
                
say("")
                
say("Entschuldigung aber der Drachenraum ist")
                
say("besetzt.")
                
say("wenn du das Passwort zum betreten,")
                
say("Geb es jetzt ein...")
                
local password input()
                if 
game.get_event_flag("dragontemple_password") == tonumber(passwordthen
                    say_title
(""..mob_name(20500).."")
                    
say("")
                    
say("Das Passwort ist richtig!")
                    
say("")
                    
wait()
                    
say_title(""..mob_name(20500).."")
                    
say("")
                    
say("Wenn du wilslt bring ich dich ")
                    
say("in die Drachenkammer jetzt.")
                    
say("Aber ich brauche 3 mal:")
                    
say("")
                    
say_item_vnum(30179)
                   
                    
local s select("Nimm sie und bring mich rein!""Nein danke")
                    if 
== 1 then
                        
if pc.count_item(30179) >= 3 then
                            pc
.remove_item(30179,3)
                            
pc.warp(1717001220400)
                            
pc.setqf("payment"1)
                        else
                            
say("Du hast nur "..pc.count_item(30179).." von benötigten 3")
                            
say("")
                            
say_item_vnum(30179)
                        
end
                    
else
                        return
                    
end
                
else
                    
say_title(""..mob_name(20500).."")
                    
say("")
                    
say("Das Passwort ist nicht richtig!")
                    return
                
end
            
elseif pc.has_guild() and game.get_event_flag("dragontemple_used") == 0 then
                say_title
(""..mob_name(20500).."")
                
say("")
                
say("Du willst also gegen den Drachen kämpfen?")
                
say("Dann geb mir ein Passwort für den Raum.")
                
say("Du kannst das passwort dann deiner Gruppe geben")
                
say("Damit sie dir Helfen den Drachen zu Erlegen.")
                
say("Bitte geb mir das Passwort.")
                
local password tonumber(input(""))
                
game.set_event_flag("dragontemple_password",password)
                
say_title(""..mob_name(20500).."")
                
say("")
                
say("Wenn du willst, kann ich dich Reinbringen.")
                
say("Und das auf der Stelle.")
                
say("Du brauchst nur 3 mal:")
                
say_item_vnum(30179)
                
say("")
                
say_reward("Achtete darauf das jeder 3 Schlüssel hat.")
                
say_reward("Der zugang ist nur 5 Minuten offen!")
                
say("")
                
                
local s select("bring mich rein!""Bye")
                if 
== 1 then
                    
if pc.count_item(30179) >= 3 then
                        empire 
pc.get_empire()
                        
pc.remove_item(30179,3)
                        
DragonLair.startRaid(207)
                        
game.set_event_flag("dragontemple_used",1)
                        
game.set_event_flag("empire",empire)
                        
game.set_event_flag("metinkills"0)
                        
game.set_event_flag("reopen"get_time()+60*60)
                        
game.set_event_flag("blockentry"get_time()+5*60)
                        
pc.setqf("payment"1)
                        
pc.warp(1717001220400)
                    else
                        
say("du hast nur "..pc.count_item(30179).." und brauchst 3.")
                        
say("")
                        
say_item_vnum(30179)
                        
say("")
                        return
                    
end
                
elseif s==2 then
                    
return                                
                
end
            
elseif not pc.has_guild() then
                say_title
(""..mob_name(20500).."")
                
say("Du must in einer gilde sein um in dne Drachenraum zu kommen.")
                
say("Y")
                
say("")
            elseif 
game.get_event_flag("empire") > pc.get_empire() or game.get_event_flag("empire") < pc.get_empire() then
                say_title
(""..mob_name(20500).."")
                
say("")
                
say("Der Raum ist besetzt")
                
say("Von einem Anderen Reich.")
            
end
        end
        when login with pc
.get_map_index() == 73 begin
            
if pc.getqf("payment") < 1 then
                pc
.warp(10000,1214200)
            else
                
pc.setqf("payment"0)
            
end
        end      
        
        when 2493.kill with pc
.get_map_index() == 73 begin
            game
.set_event_flag("reopen"get_time()+30*60)
            
notice_all("Die Gruppe von "..pc.get_name().." Hat den")
            
notice_all("Blauen drachen getötet")
            
game.set_event_flag("metinkills"0)
            
game.set_event_flag("dragontemple_block",1)
        
end
        
        when pc
.get_map_index() == 73 begin
            
if get_time() == 1680 and pc.getqf("payment") < 1 then
                pc
.warp(10000,1214200)
            else
                
pc.setqf("payment"0)
            
end
        end

        when login begin
            
if get_time() < 1680 and pc.getqf("payment") < 1 then
                pc
.setqf("payment"0)
            else
                
pc.setqf("payment"0)
            
end
        end                    
    end
end 
Ich bekomme folgenden Fehler:



Würe nett, wenn mir einer helfen könnte

PHP Code:
        when pc.get_map_index() == 73 begin
            
if get_time() == 1680 and pc.getqf("payment") < 1 then
                pc
.warp(10000,1214200)
            else
                
pc.setqf("payment"0)
            
end
        end 
Hiermit sollte man nach 2 Minuten in Grotte 1 Teleportiert weden, nachdem der Drache Getötet wurde.

PHP Code:
when login begin
            
if get_time() < 1680 and pc.getqf("payment") < 1 then
                pc
.setqf("payment"0)
            else
                
pc.setqf("payment"0)
            
end
        end 
Hiermit sollte man 2 minuten nachdem der Drache getötet wurde das payment auf 0 bekommen um normal in Grotte 2 zu gehen
get_time() gibt die aktuelle Serverzeit zurück. Das hat nichts mit einem timer zu tun
rollback is offline  
Thanks
1 User
Old 03/03/2015, 15:57   #11137
 
TayzZ.?'s Avatar
 
elite*gold: 0
Join Date: Apr 2014
Posts: 168
Received Thanks: 8
wie mache ich den den timer in die quest, sodass alle, die im run beteidigt waren und noch in Grotte 2 sind in Grotte 1 in 2 minuten nach dem bosskill Teleportiert weden und die, die sich schon davor geportet haben das "payment" auf 0 bekommen?
TayzZ.? is offline  
Old 03/03/2015, 17:35   #11138
 
elite*gold: 0
Join Date: Jan 2010
Posts: 230
Received Thanks: 32
Hallo zsm
also mir wurde diese PvP quest erstellt^^


die quest funktioniert fast perfekt... das einzige ist, dass man keinen punkt bekommt, wenn man ein duell gewinnt (bin mir nicht ganz sicher obs an der Quest liegt, oder daran, dass ich eingefügt habe, dass man die TP des Gegners im duell sieht)
einen Punkt erhält man nur beim Kill auf "FREI"

Liebe Grüsse
mkiiing is offline  
Old 03/03/2015, 22:30   #11139
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
mach nen standartmäßigen timer, kein server timer, mit ner map index abfrage, lass sie wenn der timer startet und die person auf der map ist vie pc.warp in die andere map porten, fertig.

mkiiing, amch es bitte einmal als php code, bei diesem code fehlen teile, das ist etwas unvorteilahft.
Rofelmau is offline  
Thanks
1 User
Old 03/03/2015, 22:50   #11140
 
elite*gold: 0
Join Date: Jan 2010
Posts: 230
Received Thanks: 32
Quote:
Originally Posted by Rofelmau View Post
mkiiing, amch es bitte einmal als php code, bei diesem code fehlen teile, das ist etwas unvorteilahft.
jo sorry hab ich voll verchillt

mkiiing is offline  
Old 03/03/2015, 22:59   #11141
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
würde nur
PHP Code:
pc.setqf("kill_punkte"pc.getqf("kill_punkte")+1
            
pc.setqf("kill_time"get_time() + 60*2
hoch unter das end, also über die chats setzen, damit in den chats schon direckt die richtige anzahl an punkten stehen
ansonsten kann ich keinen Fehler in der Quest sehen
Rofelmau is offline  
Old 03/04/2015, 21:24   #11142
 
elite*gold: 0
Join Date: Sep 2010
Posts: 50
Received Thanks: 0
Jagdquest [GELÖST]

Hallo liebe User,

Beim Questservice hat mir vor kurzem einer eine Jagdquest gescripted.
Nun habe ich sie endlich hinzu gefügt, jedoch gibt es ein problem bei make.sh

Vorab hier die quest


Also wenn ich sh make.sh eingebe erscheint ein Fehler

PHP Code:
state doesn't have begin-end clause.
Jagdquest50.quest:41:Error occured on compile Jagdquest50.quest 
Wie kann ich das beheben?

Danke @.Delta Habe ich total übersehen, und der Ersteller anscheinend auch
Hast ein Thanks

Mfg
MILCHSOCO is offline  
Old 03/04/2015, 21:26   #11143
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
bei state fertig begin hinschreibe
momentan steht beign da
.Delta is offline  
Thanks
1 User
Old 03/04/2015, 21:46   #11144
 
elite*gold: 0
Join Date: Sep 2010
Posts: 50
Received Thanks: 0
Quote:
Originally Posted by .Delta View Post
bei state fertig begin hinschreibe
momentan steht beign da
Also die Quest funktioniert schon einmal, dafür hast du auch ein Thanks von mir. Nun ist das problem wenn ich die 5 Metin Steine getötet habe kann ich die Quest nicht mehr anklicken und meine Belohnung abholen, also wenn ich auf die Klicke passiert nichts mehr. Die Anzahl zu tötender Metins liegt bei 0 also sollte es doch funktionieren.

MILCHSOCO is offline  
Old 03/04/2015, 22:18   #11145
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
Theoretisch solltest du die Belohnung nach dem 5. Kill automatisch ins Inventar bekommen ohne nochmal was anklicken zu müssen, so ist sie jedenfalls geschrieben, soll das geändert werden?
Rofelmau is offline  
Reply




All times are GMT +1. The time now is 13:02.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.