Register for your free account! | Forgot your password?

You last visited: Today at 14:27

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

Advertisement



[Release] Osterevent Quest + Regenfiles

Discussion on [Release] Osterevent Quest + Regenfiles within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2011
Posts: 478
Received Thanks: 790
[Release] Osterevent Quest + Regenfiles

Da ja nun Ostern laaange vorbei ist, habe ich mich heute entschlossen meine letzte quest hierfür zu veröffentlichen..

PHP Code:
quest easter begin
state start begin

    when 90100.chat
."Regen easter" begin
        regen_in_map
(63,"data/regen_event/easter_desert.txt") --Wüste 63
        regen_in_map
(64,"data/regen_event/easter_threeway.txt") --Orktal 64
        regen_in_map
(67,"data/regen_event/easter_trent.txt") --Geisterwald 67
        regen_in_map
(70,"data/regen_event/easter_nusluck.txt") --Land der Riesen 70
        regen_in_map
(68,"data/regen_event/easter_trent02.txt") --Roter Wald 68
        regen_in_map
(74,"data/regen_event/easter_naga02.txt") --Land der Verdammten 74
        
        regen_in_map
(1,"data/regen_event/easter_npc_red1.txt")
        
regen_in_map(21,"data/regen_event/easter_npc_yellow1.txt")
        
regen_in_map(41,"data/regen_event/easter_npc_blue1.txt")
        
say("Die Ostermetins wurde auf diesem Channel gespawnt")
        
say("und der Osterhase steht nun auf diesem Channel jeweilige Map1")
    
end
    
    when kill with game
.get_event_flag("easter_drop") == 1 begin
        
if pc.get_map_index() == 63 and npc.get_race() == 8045 then
            local rand 
number(1,3)
            
local m number(8045,8045)
            if 
rand == 1 then 
            mob
.spawn (m35410691011)
            elseif 
rand == 2 then
            mob
.spawn (m5025021011)
            else
            
mob.spawn (m12816671011)
            
end
        
elseif pc.get_map_index() == 64 and npc.get_race() == 8045 then
            local rand 
number(1,3)
            
local m number(8045,8045)
            if 
rand == 1 then 
            mob
.spawn (m8708111011)
            elseif 
rand == 2 then
            mob
.spawn (m6838031011)
            else
            
mob.spawn (m6196671011)
            
end
        
elseif pc.get_map_index() == 67 and npc.get_race() == 8046 or npc.get_race() == 8047 or npc.get_race() == 8048 then
            local rand 
number(1,3)
            
local m number(8046,8048)
            if 
rand == 1 then 
            mob
.spawn (m1798171011)
            elseif 
rand == 2 then
            mob
.spawn (m3662921011)
            else
            
mob.spawn (m3662921011)
            
end
        
elseif pc.get_map_index() == 70 and npc.get_race() == 8046 or npc.get_race() == 8047 or npc.get_race() == 8048 then
            local rand 
number(1,3)
            
local m number(8046,8048)
            if 
rand == 1 then 
            mob
.spawn (m1798171011)
            elseif 
rand == 2 then
            mob
.spawn (m3662921011)
            else
            
mob.spawn (m3662921011)
            
end
        
elseif pc.get_map_index() == 68 and npc.get_race() == 8049 or npc.get_race() == 8050 then
            local rand 
number(1,3)
            
local m number(8046,8048)
            if 
rand == 1 then 
            mob
.spawn (m2805901011)
            elseif 
rand == 2 then
            mob
.spawn (m1296841011)
            else
            
mob.spawn (m3391241011)
            
end
        
elseif pc.get_map_index() == 74 and npc.get_race() == 8050 or npc.get_race() == 8051 or npc.get_race() == 8052 or npc.get_race() == 8053 or npc.get_race() == 8054 then
            local rand 
number(1,9)
            
local m number(8050,8054)
            if 
rand == 1 then 
                mob
.spawn (m,286,2951011)
            elseif 
rand == 2 then
                mob
.spawn (m,490,10191011)
            elseif 
rand == 3 then
                mob
.spawn (m,675,7351011)
            elseif 
rand == 4 then
                mob
.spawn (m,519,10751011)
            elseif 
rand == 5 then
                mob
.spawn (m,300,7551011)
            elseif 
rand == 6 then
                mob
.spawn (m,795,7891011)
            elseif 
rand == 7 then
                mob
.spawn (m,841,6191011)
            elseif 
rand == 8 then
                mob
.spawn (m,996,3181011)
            else
                
mob.spawn (m,231,3161011)
            
end
        end
    end
    when 30129.chat
."Ich habe Ostereier gefunden!" begin
        say_title
(""..mob_name(30129).."")
        
say("")
        
local f select("Ein Zauberei eintauschen","Ein Vollen Osterkorb mit Eier eintauschen","Schließen")
        if 
== 1 then
            globa_var_add
("Osterei_counta",0)
            
globa_var_add("Osterei_while_a",50160)
            while 
tonumber(globa_var_get("Osterei_while_a")) <= 50179 do
            
globa_var_add("Osterei_counta",tonumber(globa_var_get("Osterei_counta")) + pc.count_item(tonumber(globa_var_get("Osterei_while_a"))))
            
globa_var_add("Osterei_while_a",tonumber(globa_var_get("Osterei_while_a")) + 1)
            
end
            
if tonumber(globa_var_get("Osterei_counta")) == 0 then
                say_title
(""..mob_name(30129).."")
                
say("")
                
say("Du hast kein Osterei bei dir. "..globa_var_get("Osterei_counta").."")
            elseif 
tonumber(globa_var_get("Osterei_counta")) < 100 then
                say_title
(""..mob_name(30129).."")
                
say("")
                
say("Du hast weniger wie 100 Eier bei dir,")
                
say("komme wieder wenn du 100x oder mehr hast")
                
say("von einer Sorte")
            else
                
globa_var_add("Osterei_while_b",50160)
            while 
tonumber(globa_var_get("Osterei_while_b")) <= 50179 do
                if 
pc.count_item(tonumber(globa_var_get("Osterei_while_b"))) >= 100 then
                pc
.remove_item(tonumber(globa_var_get("Osterei_while_b")),100)
                
pc.give_item2(71150,1)
                
say_title(""..mob_name(30129).."")
                
say("")
                
say_item_vnum(tonumber(globa_var_get("Osterei_while_b")))
                
say("Du hast mir 100x "..item_name(tonumber(globa_var_get("Osterei_while_b"))).." gebracht.")
                
say("Als dankeschön übergebe ich dir")
                
say("1x "..item_name(71150).."")
                
say_item_vnum(71150)
                
say("Frohe Ostern!!")
                break
                
end
                globa_var_add
("Osterei_while_b",tonumber(globa_var_get("Osterei_while_b")) + 1)
            
end
            end
        
elseif == 2 then
        globa_var_add
("Osterei_counta",0)
            
globa_var_add("Osterei_while_a",50160)
            while 
tonumber(globa_var_get("Osterei_while_a")) <= 50179 do
            
globa_var_add("Osterei_counta",tonumber(globa_var_get("Osterei_counta")) + pc.count_item(tonumber(globa_var_get("Osterei_while_a"))))
            
globa_var_add("Osterei_while_a",tonumber(globa_var_get("Osterei_while_a")) + 1)
            
end
            
if tonumber(globa_var_get("Osterei_counta")) == 0 then
                say_title
(""..mob_name(30129).."")
                
say("")
                
say("Du hast kein Osterei bei dir. "..globa_var_get("Osterei_counta").."")
            elseif 
tonumber(globa_var_get("Osterei_counta")) < 200 then
                say_title
(""..mob_name(30129).."")
                
say("")
                
say("Du hast weniger wie 200 Eier bei dir,")
                
say("komme wieder wenn du 200 oder mehr hast")
                
say("von einer Sorte.")
            else
                
globa_var_add("Osterei_while_b",50160)
            while 
tonumber(globa_var_get("Osterei_while_b")) <= 50179 do
                if 
pc.count_item(tonumber(globa_var_get("Osterei_while_b"))) >= 200 then
                pc
.remove_item(tonumber(globa_var_get("Osterei_while_b")),200)
                
pc.give_item2(50181,1)
                
say_title(""..mob_name(30129).."")
                
say("")
                
say_item_vnum(tonumber(globa_var_get("Osterei_while_b")))
                
say("Du hast mir 250x "..item_name(tonumber(globa_var_get("Osterei_while_b"))).." gebracht.")
                
say("Als dankeschön übergebe ich dir")
                
say("1x "..item_name(50181).."")
                
say_item_vnum(50181)
                
say("Frohe Ostern!!")
                break
                
end
                globa_var_add
("Osterei_while_b",tonumber(globa_var_get("Osterei_while_b")) + 1)
            
end
            end
        
else
            return
        
end
    end
    when 50180.
use begin
        
if pc.count_item(71150) == 0 then
        syschat
("Du brauchst Mindestens ein "..item_name(71150).." um den Korb zu füllen.")
        return
        
end
        local z 
number(1,2)
        
pc.removeitem(50180,1)
        
pc.removeitem(71150,1)
        if 
== 1 then
        chat
("Du hast das "..item_name(71150).." behutsam in Korb gelegt, die Magie des "..item_name(71150).." hat es mit Eier gefüllt.")
        
pc.give_item2(50181,1)
        
end
    end
    when 50181.
use begin
    chat
("Du öffnest den vollen Osterkorb")
    
local randi number(1,17)
    
local prem_item = {
        [
1] = { 25041,}, --Magischer Stein
        
[2] = { 27992,}, --Weiße Perle
        
[3] = { 27993,}, --Blaue Perle
        
[4] = { 27994,}, --Blutrote Perle
        
[5] = { 72726,}, --Elixier der Sonne (S)
        [
6] = { 72730,}, --Elixier des Mondes (S)
        [
7] = { 72001,}, --Erfahrungsring
        
[8] = { 71150,}, --Zauber-Ei
        
[9] = { 50180,}, --Leerer Korb
        
[10] = { 50512,}, --Regenbogenstein
        
[11] = { 71131,}, --Rappen-Siegel
        
[12] = { 71020,25 }, --Segen des Drachen
        
[13] = { 80013,}, --Blauer Diamant
        
[14] = { 80014,}, --Grüner Diamant
        
[15] = { 80015,}, --Roter Diamant
        
[16] = { 80016,}, --Oranger Diamant
        
[17] = { 80017,}, --Violetter Diamant
        
}
        
pc.give_item2(prem_item[randi][1],prem_item[randi][2])
        
pc.removeitem(50181,1)
    
end
    when 71150.
use begin
    
if pc.getqf("next_time") >= get_time() then
    syschat
("Du kannst das "..item_name(71150).." nur alle 30 Minuten öffnen.")
    return
    
end
    
--local randi number(1,30)
    --
local normal_item = {
    --    [
1] = { 25041,}, --Magischer Stein
    
--    [2] = { 27992,}, --Weiße Perle
    
--    [3] = { 27993,}, --Blaue Perle
    
--    [4] = { 27994,}, --Blutrote Perle
    
--    [5] = { 50180,}, --Leerer Korb
    
--    [6] = { 50512,}, --Regenbogenstein
    
--    [7] = { 71020,}, --Segen des Drachen
    
--    [8] = { 27987,}, --Muschel
    
--    [9] = { 80021,}, --Regenbogen Seelenstein
    
--    [10] = { 80015,}, --Roter Diamant
    
--    [11] = { 80016,}, --Oranger Diamant
    
--    [12] = { 80017,}, --Violetter Diamant
    
--    [13] = { 71044,}, --Kritischer Kampf
    
--    [14] = { 71045,}, --Durchbohrender Kampf
    
--    [15] = { 80003,}, --Silberbarre (10kk Yang)     
    --    [
16] = { 80004,}, --Silberbarre (50kk Yang)
    --    [
17] = { 80034,}, --Blauer Splitter    
    
--    [18] = { 80036,}, --Grüner Splitter            
    
--    [19] = { 80037,}, --Roter Splitter        
    
--    [20] = { 80035,}, --Goldener Splitter
    
--    [21] = { 30192,}, --Milchsaft
    
--    [22] = { 30193,}, --Fingerknochen
    
--    [23] = { 30194,}, --Ork-Keule
        
--[24] = { 30195,}, --Quarzsand 
        
--[25] = { 30196,}, --Dämonenasche
        
--[26] = { 30197,}, --Magische Samen
        
--[27] = { 30198,}, --Wasserkristall
        
--[28] = { 30199,}, --Blauer Kristall 
        
--[29] = { 71150,}, --Zauber-Ei
        
--[30] = { 50180,}, --Leerer Korb
        
--}
        --
pc.give_item2(normal_item[randi][1],normal_item[randi][2])
        if 
not pc.is_gm() then    pc.setqf("next_time",get_time() + 1800)    end
        pc
.setqf("open",pc.getqf("open") +1)
        
syschat("Du öffnest das Magische Zauberei. (Noch ".. 3-pc.getqf("open").." möglich)")
        
pc.give_item_from_special_item_group("71150")
        if 
pc.getqf("open") >= 3 then
        pc
.removeitem(71150,1)
        
pc.setqf("open",0)
        
end
    end
    
    
    end
end 
wurde am Ostern noch gecodet.. Voll der stress ey XD
Die regendateien befinden sich im Anhang.

Viel Spass..

mfg Zymos

Bekannte Fehler:
1.) Man kann das Ei 2 mal öffnen und dann erst in den Korb legen, lässt sich fixxen indem man einfach ne if abfrage einbaut beim reinlegen.
2.) Wenn man einen Oster-Metin zerstört spawnt sofort ein neuer nach per zufall festgelegte Kordinaten. (Ich da aktuell auch kein gescheiten fixx, eventuell geht server_timer; was anders fällt mir nicht ein...)
Attached Files
File Type: rar regen_event.rar (1.3 KB, 366 views)
Zymos is offline  
Thanks
22 Users
Old 04/12/2012, 10:12   #2
 
elite*gold: 0
Join Date: Oct 2008
Posts: 737
Received Thanks: 311
#deleted
Turundeth is offline  
Old 04/12/2012, 10:33   #3
 
plechito's Avatar
 
elite*gold: 105
Join Date: Aug 2010
Posts: 1,031
Received Thanks: 2,560
Very nice.. certainly fits :-)
Thanks!
plechito is offline  
Old 04/12/2012, 11:11   #4
 
Retrograd's Avatar
 
elite*gold: 142
Join Date: Jan 2009
Posts: 486
Received Thanks: 128
sehr schöne quest
ich wünschte ich könnte auch so gut quests schreiben
Retrograd is offline  
Old 04/12/2012, 12:50   #5
 
elite*gold: 0
Join Date: Mar 2010
Posts: 313
Received Thanks: 48
Bei mir fehlen die Funktionen:
globa_var_add
&
globa_var_get

Kann mir jemand sagen, wie ich diese einfügen kann?
fiftyx is offline  
Old 04/12/2012, 13:00   #6
 
.Junior's Avatar
 
elite*gold: 2
Join Date: Jun 2009
Posts: 2,731
Received Thanks: 728
Sind die Kordis nicht dann schon vorgegeben?
.Junior is offline  
Old 04/12/2012, 13:02   #7
 
un1que-slaax-dark™'s Avatar
 
elite*gold: 260
Join Date: Jun 2011
Posts: 3,503
Received Thanks: 1,777
Dankeschön!!!
Regen wird bestimmt gut aussehen...
un1que-slaax-dark™ is offline  
Old 04/12/2012, 15:01   #8
 
gkilah's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 68
Received Thanks: 104
thanks, but the functions fail.

// edit

change :

globa_var_add to pc.setqf
globa_var_get to pc.getqf
gkilah is offline  
Old 04/12/2012, 15:26   #9
 
elite*gold: 7
Join Date: Apr 2012
Posts: 1,935
Received Thanks: 621
Gab es schonmal ? Trotzdem Danke dir
.Avent is offline  
Reply


Similar Threads Similar Threads
[Release]Besserer OX-Manage quest mit OX-Verlassen quest usw.
05/08/2012 - Metin2 PServer Guides & Strategies - 27 Replies
Da mich es immer aufregt, dass mann beim OX immer erst die Blume rufen muss und dann drauf klicken, habe ich mal eine quest für eine oxerleicterung geschrieben. (© by BestKilla && Der quest darf nur unter genehmigung geändert werden.) (Sollte diese Quest fiels als eure ausgegeben werden, wird sofort der quest rausgenommen.) OX STARTEN: Ihr müsst euch mit '/go ox' erst nach ox porten, dann mit quest ox starten. Die Queste: +Diese Quest ermölichen eine OX-Wettbewerb ohne die Umständlige...
[Release] Osterevent
04/23/2011 - Metin2 PServer Guides & Strategies - 23 Replies
Entfernt..



All times are GMT +1. The time now is 14:32.


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.