Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 08:35

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

Advertisement



[SERVICE] Die Questerstellung

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

Reply
 
Old 02/03/2015, 13:53   #2101
 
.Crystal's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 749
Received Thanks: 284
Hey Leute, gibt es ne Möglichkeit bestimmte Quests über nen Befehl nur für ein Reich zu machen?
z.B Ein Roter erreicht Level 2 und muss 10 wildhunde töten
ein Blauer erreicht ebenfalls Level 2 muss aber 5 Wölfe töten..
War jetzt nur ein Beispiel
.Crystal is offline  
Old 02/03/2015, 14:11   #2102

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by .Crystal View Post
Hey Leute, gibt es ne Möglichkeit bestimmte Quests über nen Befehl nur für ein Reich zu machen?
z.B Ein Roter erreicht Level 2 und muss 10 wildhunde töten
ein Blauer erreicht ebenfalls Level 2 muss aber 5 Wölfe töten..
War jetzt nur ein Beispiel
PHP Code:
quest example begin
    state start begin
        when levelup with pc
.get_level() == 2 begin
            set_state
("example_do")
        
end
    end
    state example_do begin
        when enter begin
            
if pc.get_empire() == 1 then
                pc
.setqf("count"10)
                
pc.setqf("mob"101)
            elseif 
pc.get_empire() == 2 then
                pc
.setqf("count"5)
                
pc.setqf("mob"102)
            elseif 
pc.get_empire() == 3 then
                pc
.setqf("count"5)
                
pc.setqf("mob"103)
            
end
            say
("Du musst "..pc.getqf("count").."x "..npc.get_name(pc.getqf("mob")).." töten.")
        
end
        when kill with npc
.get_race() == pc.getqf("mob"begin
            
if pc.getqf("count") >= 2 then
                pc
.setqf("count"pc.getqf("count")-1)
            elseif 
pc.getqf("count") == 1 then
                say
("Quest abgeschlossen")
                
set_state("_COMPLETE_")
            
end
        end
    end
    state _COMPLETE_ begin
    end
end 
rollback is offline  
Thanks
1 User
Old 02/03/2015, 14:35   #2103
 
.Crystal's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 749
Received Thanks: 284
Quote:
Originally Posted by [Sensenmann] View Post
PHP Code:
quest example begin
    state start begin
        when levelup with pc
.get_level() == 2 begin
            set_state
("example_do")
        
end
    end
    state example_do begin
        when enter begin
            
if pc.get_empire() == 1 then
                pc
.setqf("count"10)
                
pc.setqf("mob"101)
            elseif 
pc.get_empire() == 2 then
                pc
.setqf("count"5)
                
pc.setqf("mob"102)
            elseif 
pc.get_empire() == 3 then
                pc
.setqf("count"5)
                
pc.setqf("mob"103)
            
end
            say
("Du musst "..pc.getqf("count").."x "..npc.get_name(pc.getqf("mob")).." töten.")
        
end
        when kill with npc
.get_race() == pc.getqf("mob"begin
            
if pc.getqf("count") >= 2 then
                pc
.setqf("count"pc.getqf("count")-1)
            elseif 
pc.getqf("count") == 1 then
                say
("Quest abgeschlossen")
                
set_state("_COMPLETE_")
            
end
        end
    end
    state _COMPLETE_ begin
    end
end 
Na das ging ja schnell, ich danke dir!
.Crystal is offline  
Old 02/03/2015, 14:49   #2104
 
elite*gold: 0
Join Date: Apr 2010
Posts: 111
Received Thanks: 13
Ich habe mir den Schmied seon .. im mob proto angeschaut aber finde irgentwie nichts dazu was die anders haben wisst ihr vllt wo man das einstellt?
-=[Moon]=- is offline  
Old 02/03/2015, 14:51   #2105

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by -=[Moon]=- View Post
Ich habe mir den Schmied seon .. im mob proto angeschaut aber finde irgentwie nichts dazu was die anders haben wisst ihr vllt wo man das einstellt?
Die Funktion, dass man auf denen Schmieden kann, stellt man nicht in der Datenbank oder so ein. Das ist in der Game festgelegt.
rollback is offline  
Old 02/03/2015, 15:30   #2106
 
elite*gold: 0
Join Date: Sep 2014
Posts: 173
Received Thanks: 20


Morgen Leute,
wenn ich die Quest so einbaue, funktioniert sie nicht..
Was muss ich daran umstellen das ich aus dem Metin (Vnum:8041) zu 100% 3 perlen droppt, und zu 50% das man weiter bis zu max. weiteren 3 Perlen droppen kann?

#Wie schreibe ich die Quest im php Code?..
VeyZ is offline  
Old 02/03/2015, 15:41   #2107

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by VeyZ View Post


Morgen Leute,
wenn ich die Quest so einbaue, funktioniert sie nicht..
Was muss ich daran umstellen das ich aus dem Metin (Vnum:8041) zu 100% 3 perlen droppt, und zu 50% das man weiter bis zu max. weiteren 3 Perlen droppen kann?

#Wie schreibe ich die Quest im php Code?..
mit eckigen klammern: (php)hier quest rein(/php)




EDIT:

Die Quest aus dem Screen den du gepostet hast hab ich mal angepasst.
PHP Code:
quest 8041drop begin
    state start begin
        when kill with npc
.get_race() == 8041 begin
            local drop 
= { --vnumanzahlchance
            
{828361100},
            {
828371100},
            {
828381100},
            {
82836150},
            {
82837150},
            {
82838150}
            }
            
table.foreach(drop,
            function(
idrop)
                
local drop_or_not number(1100)
                if 
drop_or_not <= drop[3then
                    game
.drop_item_with_ownership(drop[1], drop[2])
                
end
            end
)
        
end
    end
end 
Macht das gleiche wie die Quest dadrüber, ist aber schöner geschrieben und verbraucht weniger Ressourcen.
rollback is offline  
Old 02/03/2015, 16:07   #2108
 
elite*gold: 0
Join Date: Apr 2010
Posts: 111
Received Thanks: 13
Sensenmann kannst du mir sagen wo ich das ingame einstelle?
-=[Moon]=- is offline  
Old 02/03/2015, 18:11   #2109

 
G.I Duke's Avatar
 
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
Quote:
Originally Posted by VeyZ View Post


Morgen Leute,
wenn ich die Quest so einbaue, funktioniert sie nicht..
Was muss ich daran umstellen das ich aus dem Metin (Vnum:8041) zu 100% 3 perlen droppt, und zu 50% das man weiter bis zu max. weiteren 3 Perlen droppen kann?

#Wie schreibe ich die Quest im php Code?..
oder per mob_drop_item.txt
G.I Duke is offline  
Old 02/03/2015, 18:23   #2110
 
DarkCry96's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 111
Received Thanks: 20
Quote:
Originally Posted by DarkCry96 View Post
Ich bräuchte eine Quest nach folgendem Muster

Wenn ein bestimmter Mob gespawnt ist, wird eine Ankündigung geschrieben "Mob XY ist erschienen"
Wenn ein Spieler diesen Mob tötet soll eine Ankündigung geschrieben werden "Mob XY wurde getötet"
Vielleicht - aber nur vielleicht - wenn der Mob länger als 2 Stunden lebt "Mob XY lebt immernoch"

Der Mapindex für den Mob, den ich ankündigen möchte ist 73
Ich suche immernoch..
Wenn das überhaupt nicht möglich ist könnt ihr mir das auch sagen
DarkCry96 is offline  
Old 02/03/2015, 22:44   #2111
 
Dyshaxo's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
Quote:
Originally Posted by DarkCry96 View Post
Ich suche immernoch..
Wenn das überhaupt nicht möglich ist könnt ihr mir das auch sagen
Es ist insofern möglich - wenn du das Mob mit der Quest spawnst.

Das ganze mit einem per regen.txt bereits gespawntes mob zu machen - nö.

Wenn dir das auf die Art passt - kann ich's dir schreiben =)
Dyshaxo is offline  
Old 02/03/2015, 23:24   #2112
 
DarkCry96's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 111
Received Thanks: 20
Quote:
Originally Posted by Dyshaxo View Post
Es ist insofern möglich - wenn du das Mob mit der Quest spawnst.

Das ganze mit einem per regen.txt bereits gespawntes mob zu machen - nö.

Wenn dir das auf die Art passt - kann ich's dir schreiben =)
Oh vielen Dank, eine Antwort - Wenn du mir dazu vielleicht noch eine Quest erstellen könntest, die - so wie die regen.txt einen Mob spawnt und das so alle 60 Minuten? Mapindex 73.

Wäre richtig gut!

#edit - Den Mob natürlich erst nach 60 Minuten nachspawnt, wenn der erste, bzw vorherige getötet wurde
DarkCry96 is offline  
Old 02/04/2015, 06:07   #2113

 
G.I Duke's Avatar
 
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
Quote:
Originally Posted by DarkCry96 View Post
Oh vielen Dank, eine Antwort - Wenn du mir dazu vielleicht noch eine Quest erstellen könntest, die - so wie die regen.txt einen Mob spawnt und das so alle 60 Minuten? Mapindex 73.

Wäre richtig gut!

#edit - Den Mob natürlich erst nach 60 Minuten nachspawnt, wenn der erste, bzw vorherige getötet wurde
#untested, mit dem Handy geschrieben kleine Rückmeldung
wenn's nicht gehn oder gehen sollte ^^

PHP Code:
quest event_spawn begin
    state start begin
        when NPC_VALUE
.chat."Spawnevent" or ITEM_VALUE.use with pc.is_gm() begin
            
--Variablen
            local mob_vnum 
591 -- Bsp Monster
            local filename 
"" --derexakte name im mapordner zbeventspawn ohne .txt
            local map_index 
63 --ist jetzt z.B Wüste
            local announcement 
"Mob xy ist erschienen!" --Ankündigunstext
            
            say_title
("Spawnevent")
            
say("Spawnen lassen?")
            
local sselect("Ja, mit Ankündigung""Ja, ohne Ankündigen""Nein")
            if 
s==1 then
                notice_all
(announcement)
                
regen_in_map(map_index"data/dungeon/"..filename..".txt")
                
game.set_event_flag("mob_spawn"1)
                
server_timer("mob_spawn"3600)
            elseif 
== 2 then
                regen_in_map
(map_index"data/dungeon/"..filename..".txt")
                
game.set_event_flag("mob_spawn"1)
            elseif 
== 3 then
            end
        end
        
        when mob_spawn
.server_timer begin
            
if game.get_event_flag("mob_spawn") == 1 then
                notice_all
("Mob xy zieht immernoch durch die Wüste")
            
end
            
if game.get_event_flag("mob_spawn") == 0 then
                regen_in_map
(map_index"data/dungeon/"..filename..".txt")
                
game.set_event_flag("mob_spawn"1)
                
server_timer("mob_spawn"3600)
            
end
        end
        
        when kill with npc
.get_race() == mob_vnum and game.get_event_flag("mob_spawn") == 1 begin
            notice_all
("Mob xy wurde von "..pc.get_name().." getötet!")
            
game.set_event_flag("mob_spawn"0)
            
server_timer("mob_spawn"3600)
        
end
    end
end 
Greetings.
G.I Duke is offline  
Thanks
1 User
Old 02/04/2015, 06:33   #2114

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by G.I Duke View Post
#untested, mit dem Handy geschrieben kleine Rückmeldung
wenn's nicht gehn oder gehen sollte ^^

PHP Code:
quest event_spawn begin
    state start begin
        when NPC_VALUE
.chat."Spawnevent" or ITEM_VALUE.use with pc.is_gm() begin
            
--Variablen
            local mob_vnum 
591 -- Bsp Monster
            local filename 
"" --derexakte name im mapordner zbeventspawn ohne .txt
            local map_index 
63 --ist jetzt z.B Wüste
            local announcement 
"Mob xy ist erschienen!" --Ankündigunstext
            
            say_title
("Spawnevent")
            
say("Spawnen lassen?")
            
local sselect("Ja, mit Ankündigung""Ja, ohne Ankündigen""Nein")
            if 
s==1 then
                notice_all
(announcement)
                
regen_in_map(map_index"data/dungeon/"..filename..".txt")
                
game.set_event_flag("mob_spawn"1)
                
timer("mob_spawn"3600)
            elseif 
== 2 then
                regen_in_map
(map_index"data/dungeon/"..filename..".txt")
                
game.set_event_flag("mob_spawn"1)
            elseif 
== 3 then
            end
        end
        
        when mob_spawn
.timer begin
            
if game.get_event_flag("mob_spawn") == 1 then
                notice_all
("Mob xy zieht immernoch durch die Wüste")
            
end
            
if game.get_event_flag("mob_spawn") == 0 then
                regen_in_map
(map_index"data/dungeon/"..filename..".txt")
                
game.set_event_flag("mob_spawn"1)
                
timer("mob_spawn"3600)
            
end
        end
        
        when kill with npc
.get_race() == mob_vnum and game.get_event_flag("mob_spawn") == 1 begin
            notice_all
("Mob xy wurde von "..pc.get_name().." getötet!")
            
game.set_event_flag("mob_spawn"0)
            
timer("mob_spawn"3600)
        
end
    end
end 
Greetings.
Server_timer anstatt timer. Ein timer läuft auf einem Spieler und das sollte ja nicht so sein ... ^^
rollback is offline  
Old 02/04/2015, 08:52   #2115
 
elite*gold: 0
Join Date: Dec 2011
Posts: 19
Received Thanks: 0
Code:
quest story_shadow  begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
set_state(info)
end
end
state info begin
when letter begin
send_letter(" test ")
local v = find_npc_by_vnum(20091)
if v != 0 then
target.vid("__TARGET__", v, " here any name ? or name in mysql ")
end
end
when info or info begin
say_title(" test ")
set_text_color("dark orange")
say(mob_name(101) .. "   ")
say("test")
say("test")
say("")
end
when __TARGET__.target.click or 20091.chat."test" begin
target.delete("__TARGET__")
say_title(" test: ")
set_text_color("dark orange")
say(" test ")
say(" test ")
say_reward(" test ")
say("")
say("")
wait()
say_title(" test: ")
set_text_color("dark orange")
say(" test ")
say(" test ")
say_reward(" test ")
say(" test ")
wait()
say_title(" test: ")
say("")
say_reward(" test ")
say_reward("test")
say_reward("test")
say_reward("test")
say("")
set_state(__MISION__)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end
state __MISION__ begin
when letter begin
send_letter(" test ")
end
when button or info begin
say_title("test")
set_text_color("dark orange")
say(" test")
say(" test ")
say("")
say_item_vnum(50300)
say_reward(" test "..pc.getqf("collect_count").." test ")
say("")
end
when 71035.use begin 
if get_time() < pc.getqf("duration") then
syschat(" test ")
return
end
if pc.getqf("drink_drug")==1 then
syschat(" test ")
return
end
if pc.count_item(50300)==0 then
syschat(" test ")
return
end
pc.remove_item(71035 , 1)
pc.setqf("drink_drug",1)
end
when 76020.use with pc.count_item(50300)>=1 and get_time() <= pc.getqf("duration") begin
pc.remove_item(76020 , 1)
pc.setqf("drink_drug",1)
pc.setqf("duration", get_time()-1)
end
when 20091.chat." test " with pc.count_item(50300) >0 begin
if get_time() > pc.getqf("duration") then
if  pc.count_item(50300) >0 then
say_title(" test: ")
set_text_color("dark orange")
say("test")
say("")
pc.remove_item("50300",1)
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=70
else
pass_percent=100
end
local s= number(1,100)
if s<= pass_percent  then
if pc.getqf("collect_count")< 9 then
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say_title(" test: ")
set_text_color("dark orange")
say(" test ")
say(" test  "..10-pc.getqf("collect_count").. " test ")
say_reward(" test ")
say("")
pc.setqf("drink_drug",0)
return
end
say_title(" test: ")
set_text_color("dark orange")
say(" test ")
say("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
set_state(__REWARD__)
return
else
say_title(" test: ")
say("test")
say("")
pc.setqf("drink_drug",0)
return
end
else
say_title(" test: ")
set_text_color("dark orange")
say(" test  "..item_name(50300).." ")
return
end
else
say_title(" test: ")
set_text_color("dark orange")
local hoursleft = math.floor((pc.getqf("duration")-get_time())/60)
say(" test  ")
say(" test "..hoursleft.."  test ")
say("")
return
end
end
end
state __REWARD__ begin
when letter begin
send_letter(" ~ test ")
if pc.count_item(50300)>0 then
local v = find_npc_by_vnum(20091)
if v != 0 then
target.vid("__TARGET__", v, "here anyname or name in navicat?")
end
end
end
when button or info begin
if pc.count_item(50300) >0 then
say_title(" test ")
say("")
say_reward(" test ")
say("")
return
end
say_title(" test ")
set_text_color("dark orange")
say(" test ")
say("")
say_item_vnum(50300)
say(" test ")
say(" test  "..mob_name(101)..", ")
say(" "..mob_name(101).." و "..mob_name(101).." ")
say("")
end
when 101.kill or 101.kill or 101.kill  begin
local s = number(1, 100)
if s == 1 and pc.count_item(50300)==0 then
pc.give_item2(50300, 1)
send_letter(" test ")
end
end
when 20091.chat." test " with pc.count_item(50300) > 0  begin
if pc.count_item(50300) > 0 then 
say_title(" test: ")
set_text_color("dark orange")
say("test")
say("")
say("")
pc.remove_item(50300,1)
set_state(__reward)
else
say_title(" test: ")
set_text_color("dark orange")
say(" test "..item_name(50300).." ")
say("")
return
end
end
end
state __reward begin
when letter begin
send_letter(" test ")
local v = find_npc_by_vnum(20091)
if v != 0 then
target.vid("__TARGET__", v, " here anyname or name in navicat ?? ")
end
end
when info or button begin
say_title(" test")
say("test")
say("")
end
say_reward(" test " .. mob_name(20091))
local v = find_npc_by_vnum(20091)
if v != 0 then
target.vid("__TARGET__", k, "here anyname or name in navicat ?? ")
end
end
when __TARGET__.target.click or 20091.chat." test " begin
target.delete("__TARGET__")
say_title(mob_name(20091) .. ":")
say("")
say(" test")
say(" test:")
say_reward(" test ")
say_reward(" test")
say_reward("test")
affect.add_collect(apply.MAX_HP, 2500, 60*60*24*365*60) -- 60Years
pc.give_item2(53022)
pc.give_gold(10000000)
pc.give_gold(10000000)
clear_letter()
set_state(__COMPLETE__)
end
end
state __COMPLETE__ begin
when enter begin
q.done()
end
end
end
:*( section ?

UP
MissHitMan is offline  
Reply

Tags
community, projekt, questerstellung, questkontrolle, service


Similar Threads Similar Threads
[Community]Questerstellung
09/06/2015 - Metin2 Private Server - 5 Replies
Hallo liebe Community, ich möchte meine Questkenntnisse ein wenig erweitern, deshalb möchte ich euch hier die Möglichkeit geben, Ideen, Wünsche und alles was mit Quests zu tun hat an mich weiterzuleiten. Ich werde, sobald ich Zeit und Lust habe, die Ideen größtenteils umsetzen und das Ergebnis hier veröffentlichen. Wie oben schon erwähnt bin ich Quasi noch am 'lernen' (ja ich weis, man lernt nie aus), deshalb bitte ich euch, mich zu informieren wenn ich irgendwo gefailed hab, man es...
Hilfe bei Questerstellung
02/25/2012 - Metin2 Private Server - 0 Replies
€dit: Kan gelöscht werden habe jemanden gefunden!!!!
Hilfe bei Questerstellung
02/15/2012 - Metin2 Private Server - 8 Replies
Heyy Ich hätte eine bitte an euch. Und zwar einer von euch mir einige quests erstellst. Ich habe voll kp von quests. Als blohnung würde ich dir auf meinem server 5k coins (Wert 50€) geben. also hier die quests: 30 Quest Belohnung: 100kk 42 rüssi+7 je nach der klasse.
Hilfe bei Questerstellung
08/16/2011 - Metin2 Private Server - 0 Replies
Mahlzeit also ich suche jemanden der mir ein grundgerüst einer quest erstellen kann so das ich diese weiter ausbauen kann, So nun zur quest idee Also ich möchte einen NPC hinstellen nennen wir den mal Questnpc wenn man den anklickt soll man dem levelabhängig quest angeboten bekommen,zum beispiel ab lvl10 töte 50 weisse Tiger,aber lvl40 töte 30 Oberork und so weiter,was mit levelanstieg natürlich komplexer werden sollte.Manche Quest sollten nur einmal zumachen gehen und manche im höheren lvl...
[SERVICE]Questerstellung
05/24/2011 - Metin2 Private Server - 4 Replies
Abend e*pvp, nach langem Überlegen hab ich mich doch dazu entschlossen, meine Arbeit gegen e*gold zur Verfügung zu stellen. Ich werde euch mal die wichtigsten Fragen beantworten ;) Woraus besteht dein Service? Zum einen erstelle ich einzelne, sowie ganze Questreihen. Die von mir verschickten Dateien werden Unikate bleiben, und sofort nach erfolgreichem Transfer gelöscht. Außerdem biete ich nochmal seperat eine Questverbesserung zum Sammelthread an. Diese wird dann natürlich...



All times are GMT +1. The time now is 08:37.


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.