|
You last visited: Today at 17:36
Advertisement
[SERVICE] Die Questerstellung
Discussion on [SERVICE] Die Questerstellung within the Metin2 Private Server forum part of the Metin2 category.
03/14/2015, 21:46
|
#2341
|
elite*gold: 0
Join Date: Jan 2010
Posts: 230
Received Thanks: 32
|
Hallo zsm 
Ich habe direkt 2 Anfragen:
d.new_jump_all(70, 8192, 7168) -- MapIndex + Warpcodes zu Map
ich möchte aber nicht nur auf die map geportet werden... sondern an eine bestimme stelle auf der map^^ und es sollten alle gruppenmitglieder mitgeportet werden...
E: 1. Anfrage hat sich erledigt
und 2.
PHP Code:
quest wellen_run begin state start begin when 20377.chat."Der Überlebenskampf"begin say_title("Überlebenskampf") say("") say("Hast du den Mut diesen Kampf zu starten?") if select("Ja","Nein")==2 then return end if party.is_party() then if party.is_leader() then if pc.get_level()>=75 then d.new_jump_all(206, 9300, 9300) -- MapIndex + Warpcodes zu Map else say_title("Mindestlevel!") say("") say("Alle Gruppenmitglieder müssen ein") say("Mindestlevel von 75 haben.") end else say_title("Gruppenleiter") say("") say("Nur der Gruppenleiter kann den Run") say("starten!") end else say_title("Gruppe") say("") say("Du musst in einer Gruppe sein, damit") say("du in den Run kannst!") end end when login with pc.get_map_index() >= 700000 and pc.get_map_index() < 710000 begin if pc.get_level()<75 then d.notice("Eins eurer Mitglieder ist unter Level 75! Ihr werdet wieder rausgeportet!") d.exit_all() end wellen_run.set_empire_locaction() if d.getf("isspawn")==1 then return end d.setf("isspawn", 1) d.spawn_mob(20019, 250, 283) -- NPC der denn Dungeon im Run startet! if d.getf("Welle")==0 then d.notice("Spricht mit dem "..mob_name(20019)..". Er wird euch den Run eröffnen.") end end when 20019.click with pc.get_map_index() >= 700000 and pc.get_map_index() < 710000 begin -- NPC der denn Dungeon im Run startet! if d.getf("Welle")==0 then npc.purge() d.notice("Okay, und los gehts! Versucht euer Glück und kommt soweit wie möglich!") loop_timer("Welle", 1) end end when Welle.timer begin local MAX_WELLE = 2 if d.count_monster()==0 then d.setf("IsWelle", 0) d.setf("Welle", d.getf("Welle")+1) end if d.getf("IsWelle")==1 then return end d.notice("Welle "..d.getf("Welle").." ist im Anmarsch.") d.setf("IsWelle", 1) if d.getf("Welle")>=MAX_WELLE then d.regen_file("data/dungeon/wellen_run/Welle"..MAX_WELLE..".txt") --txt else d.regen_file("data/dungeon/wellen_run/Welle"..d.getf("Welle")..".txt") end end function set_empire_locaction() if pc.get_empire()==1 then pc.set_warp_location(1, 4693, 9642) elseif pc.get_empire()==2 then pc.set_warp_location(21, 557, 1579) elseif pc.get_empire()==3 then pc.set_warp_location(41, 9696, 2784) end end end end
kann mir jemand einbauen, dass man nach einer bestimmen Anzahl von Wellen ein bestimmtes Item bekommt?  und kann man noch einbauen, dass wenn ein gruppenmitglied stirbt, es rausgeportet wird und dann halt ein wellenabhängiges item bekommt?
Liebe Grüsse
|
|
|
03/15/2015, 17:59
|
#2342
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by mkiiing
[B]Hallo zsm
und 2.
kann mir jemand einbauen, dass man nach einer bestimmen Anzahl von Wellen ein bestimmtes Item bekommt?  und kann man noch einbauen, dass wenn ein gruppenmitglied stirbt, es rausgeportet wird und dann halt ein wellenabhängiges item bekommt?
Liebe Grüsse
|
In der Quest hat sich einiges geändert. Um den Dungeon nicht über einen Servertimer laufen zu lassen sondern über einen loop_timer, wird am Anfang ein sogenannter "DungeonManager" ausgewählt, über ihn laufen die Wellen. Wenn er sich ausloggt/stirbt, wird auto ein neuer Manager gewählt, damit der Dungeon weiter läuft (Davon merken die Spieler aber nichts).
So in der Quest finden sich 2x "data" Tabellen, die eine im Welle.timer dort werden Items für Wellenfortschritte eingetragen und beim erreichen der Welle ausgegeben. Die Andere ist in dem when login with pc.getqf("WellenRUN")!=0 ... begin dort werden die Items vergeben für die jeweilige Welle in der man war wenn man gestorben ist. VORSICHT, war der jenige in Welle 8 bekam das Item dafür und stirbt und in der Tabelle für die die sterben ist noch ein Item Welle 8 bekommt er dieses auch noch!
Code:
quest wellen_run begin
state start begin
when 20377.chat."Der Überlebenskampf"begin
say_title("Überlebenskampf")
say("")
say("Hast du den Mut diesen Kampf zu starten?")
if select("Ja","Nein")==2 then return end
if party.is_party() then
if party.is_leader() then
if pc.get_level()>=75 then
d.new_jump_all(206, 9300, 9300) -- MapIndex + Warpcodes zu Map
else
say_title("Mindestlevel!")
say("")
say("Alle Gruppenmitglieder müssen ein")
say("Mindestlevel von 75 haben.")
end
else
say_title("Gruppenleiter")
say("")
say("Nur der Gruppenleiter kann den Run")
say("starten!")
end
else
say_title("Gruppe")
say("")
say("Du musst in einer Gruppe sein, damit")
say("du in den Run kannst!")
end
end
when login with pc.get_map_index() >= 700000 and pc.get_map_index() < 710000 begin
pc.setqf("WellenRUN", 0)
if pc.get_level()<75 then
d.notice("Eins eurer Mitglieder ist unter Level 75! Ihr werdet wieder rausgeportet!")
d.exit_all()
end
wellen_run.set_empire_locaction()
loop_timer("Welle", 1)
if d.getf("isspawn")==1 then return end
d.setf("isspawn", 1)
d.spawn_mob(20019, 250, 283) -- NPC der denn Dungeon im Run startet!
if d.getf("Welle")==0 then
d.setf("Welle", -1)
d.setf("Run_Manager", pc.get_player_id())
d.notice("Spricht mit dem "..mob_name(20019)..". Er wird euch den Run eröffnen.")
end
end
when 20019.click with pc.get_map_index() >= 700000 and pc.get_map_index() < 710000 begin -- NPC der denn Dungeon im Run startet!
if d.getf("Welle")==-1 then
d.setf("Welle", 0)
npc.purge()
d.notice("Okay, und los gehts! Versucht euer Glück und kommt soweit wie möglich!")
end
end
when Welle.timer begin
if d.getf("Welle")==-1 then return end
-- is Dead
if pc.is_dead() then
pc.setqf("WellenRUN", d.getf("Welle"))
d.exit()
end
-- Wellenbelohnungen
currentWave = d.getf("Welle")
local data = { -- Aufbau: [Welle] = {Item, Anzahl},
[1] = {19, 1},
[5] = {29, 1},
[10] = {39, 1},
}
if pc.getqf("WellenRUN")!= d.getf("Welle") then
if data[currentWave] then pc.setqf("WellenRUN", d.getf("Welle")) pc.give_item2(data[currentWave][1], data[currentWave][2]) end
end
-- Run Management
local MAX_WELLE = 2
if d.count_monster()==0 then
d.setf("IsWelle", 0)
d.setf("Welle", d.getf("Welle")+1)
end
if d.getf("IsWelle")==1 then return end
d.notice("Welle "..d.getf("Welle").." ist im Anmarsch.")
d.setf("IsWelle", 1)
if d.getf("Welle")>=MAX_WELLE then
d.regen_file("data/dungeon/wellen_run/Welle"..MAX_WELLE..".txt") --txt
else
d.regen_file("data/dungeon/wellen_run/Welle"..d.getf("Welle")..".txt")
end
if d.getf("Run_Manager")==0 then
d.setf("Run_Manager", pc.get_player_id())
end
end
when login with pc.getqf("WellenRUN")!=0 and not pc.in_dungeon() begin
local data = { -- Aufbau: [Welle] = {Item, Anzahl},
[1] = {19, 1},
[5] = {29, 1},
[10] = {39, 1},
}
if data[pc.getf("WellenRUN")] then pc.setqf("WellenRUN", 0) pc.give_item2(data[pc.getf("WellenRUN")][1], data[pc.getf("WellenRUN")][2]) end
end
when logout begin
if d.getf("Run_Manager")==pc.get_player_id() then
cleartimer("Welle")
d.setf("Run_Manager", 0)
end
end
function set_empire_locaction()
if pc.get_empire()==1 then
pc.set_warp_location(1, 4693, 9642)
elseif pc.get_empire()==2 then
pc.set_warp_location(21, 557, 1579)
elseif pc.get_empire()==3 then
pc.set_warp_location(41, 9696, 2784)
end
end
end
end
|
|
|
03/15/2015, 18:24
|
#2343
|
elite*gold: 1
Join Date: Dec 2013
Posts: 3,467
Received Thanks: 720
|
Ich habe ein Problem gehabt beim Erstellen einer Multi quest, und zwar wollte ich Mehrer quest in ein Item verbinden habe sie auch abgeändert aber als ich das Item benutzt habe ist immer nur die Erste quest gekommen die anderen haben nicht funktioniert wurden auch nicht angezeigt. Deswegen wäre ich sehr froh, wenn sie mir jemand zu einer zusammenbauen kann, man soll dort beim Benutzen des Items die Auswahl zwischen den verschiedenen Quests haben.
1.Quest
Code:
quest sw2panel1 begin
state start begin
when 85018.use begin
say_title("4000 Rangpunkte +")
say("")
say("Möchtest du 4000 Rangpunkte erhalten?")
if select("Ja", "Nein")==2 then return end
pc.change_alignment(4000)
end
end
end
2.Quest
Code:
quest sw2panel2 begin
state start begin
when 85018.use begin
say_title("4000 Rangpunkte -")
say("")
say("Möchtest du dir 4000 Rangpunkte abziehen?")
if select("Ja", "Nein")==2 then return end
pc.change_alignment(-4000)
end
end
end
3.Quest
Code:
quest sw2panel3 begin
state start begin
when 85018.use begin
say_title("Geschlechtsumwandlung")
say("")
if pc.is_engaged() then
say_title("Geschlechtsumwandlung fehlgeschlagen!")
say("")
say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
say("")
say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht")
say("wieder ändern!")
say("")
return
elseif pc.is_married() then
say_title("Geschlechtsumwandlung fehlgeschlagen!")
say("")
say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
say("")
say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht")
say("wieder ändern!")
say("")
return
elseif pc.is_polymorphed() then
say_title("Geschlechtsumwandlung fehlgeschlagen!")
say("")
say_reward("Sie sind derzeit verwandelt!")
say("")
say("Beenden Sie ihre Verwandlung.")
say("")
return
end
say("Sie sind dabei, ihr Geschlecht")
say("zu ändern. Diese Änderung hat weitgehende")
say("Folgen!")
wait()
say_title("Geschlechtsumwandlung")
say("")
say("Verheiratete können ihr Geschlecht nicht ändern.")
say("Verwandelte Personen müssen die Verwandlung beenden.")
say("Sind Sie sich sicher, dass Sie ihr Geschlecht ändern wollen?")
say("")
if select("Geschlecht Ändern!","Geschlecht nicht Ändern!")==2 then return end
say_title("Geschlechtsumwandlung")
say("Alle ihre Fertigkeiten und Statuspunkte")
say("bleiben erhalten.")
say("")
say("Ein Relog ist nötig, um die Wirkungen sichtbar zu machen!")
say("")
pc.change_sex()
local m_sex = pc.get_sex()
if m_sex == 0 then
char_log(0, "CHANGE_SEX", "F -> M")
else
char_log(0, "CHANGE_SEX", "M -> F")
end
end
end
end
4.Quest
Code:
quest sw2panel4 begin
state start begin
when 85018.use begin
say_title("Fertigkeiten Reset")
say("")
say("Hier kannst du deine Fertigkeiten komplett")
say("zurücksetzen lassen.")
say("")
say("Möchtest du?")
if select("Ja","Nein")==2 then return end
pc.clear_skill()
pc.set_skill_group(0)
end
end
end
5.Quest
Code:
quest sw2panel5 begin
state start begin
when 85018.use begin
say_title("Status Reset")
say("")
say("Hier kannst du deine Status-Punkte komplett")
say("zurücksetzen lassen.")
say("")
say("Möchtest du?")
if select("Ja","Nein")==2 then return end
pc.reset_point()
end
end
end
6.Quest
Code:
quest sw2panel6 begin
state start begin
when 85018.use begin
say_title("Reich Wechseln")
say("")
if pc.is_engaged() then
say("Sie sind in einer Gilde.")
say("Sie können das Reich nicht wechseln.")
say("")
return
elseif pc.is_married() then
say("Sie sind verheiratet.")
say("Sie können das Reich nicht wechseln.")
say("")
return
elseif pc.is_polymorphed() then
say("Sie sind Verwandelt.")
say("Sie können das Reich nicht wechseln.")
say("")
return
elseif pc.has_guild() then
say("Sie sind in einer Gilde.")
say("Sie können das Reich nicht wechseln.")
say("")
return
end
say("Wählen Sie eines der 3 Reiche")
local s = select("Shinsoo (rotes Reich)", "Chunjo (gelbes Reich)", "Jinno (blaues Reich)", "Abbrechen")
if 4==s then return end
say_title("Reich wechseln")
say("")
say_reward("Wollen Sie wirklich das Reich wechseln?")
say_reward("Für Folksverrat gibt es keine Entschuldigung!")
say("")
if select("Wechseln", "Nicht wechseln")==2 then return end
local ret = pc.change_empire(s)
local oldempire = pc.get_empire()
if ret == 999 then
say("Sie haben das Reich erfolgreich gewechselt.")
say("Bitte loggen Sie sich neu ein.")
say("")
char_log(0, "CHANGE_EMPIRE",string.format("%d -> %d", oldempire, s))
else
if ret == 1 then
say("Sie sind bereits in diesem Reich.")
say("Bitte wählen Sie ein anderes.")
say("")
say("")
elseif ret == 2 then
say("Reichswechsel noch nicht möglich.")
say("Sie können das Reich noch nicht wechseln, da Sie vor kurzem noch in einer Gilde waren.")
say("")
say("")
elseif ret == 3 then
say("Reichswechsel noch nicht möglich.")
say("Sie können das Reich noch nicht wechseln, da Sie vor kurzem noch verheiratet waren.")
say("")
end
end
end
end
end
7.Quest
Code:
quest sw2panel7 begin
state start begin
when 85018.use begin
say_title("Regenbogenstein")
say("Du möchtest also deine Skills auf")
say("Perfekter-Meister setzen?")
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental","Abbrechen")
if s==1 then
--Körper
pc.set_skill_group(1)
pc.set_skill_level(1 ,59)
pc.set_skill_level(2 ,59)
pc.set_skill_level(3 ,59)
pc.set_skill_level(4 ,59)
pc.set_skill_level(5 ,59)
pc.set_skill_level(6 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Mentalo
pc.set_skill_group(2)
pc.set_skill_level(16 ,59)
pc.set_skill_level(17 ,59)
pc.set_skill_level(18 ,59)
pc.set_skill_level(19 ,59)
pc.set_skill_level(20 ,59)
pc.set_skill_level(21 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Fernkampf","Abbrechen")
if s==1 then
--Nahkampf
pc.set_skill_group(3)
pc.set_skill_level(31 ,59)
pc.set_skill_level(32 ,59)
pc.set_skill_level(33 ,59)
pc.set_skill_level(34 ,59)
pc.set_skill_level(35 ,59)
pc.set_skill_level(36 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Fernkampf
pc.set_skill_group(4)
pc.set_skill_level(46 ,59)
pc.set_skill_level(47 ,59)
pc.set_skill_level(48 ,59)
pc.set_skill_level(49 ,59)
pc.set_skill_level(50 ,59)
pc.set_skill_level(51 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe","Abbrechen")
if s==1 then
--Magie
pc.set_skill_group(5)
pc.set_skill_level(76 ,59)
pc.set_skill_level(77 ,59)
pc.set_skill_level(78 ,59)
pc.set_skill_level(79 ,59)
pc.set_skill_level(80 ,59)
pc.set_skill_level(81, 59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Waffe
pc.set_skill_group(6)
pc.set_skill_level(61 ,59)
pc.set_skill_level(62 ,59)
pc.set_skill_level(63 ,59)
pc.set_skill_level(64 ,59)
pc.set_skill_level(65 ,59)
pc.set_skill_level(66 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heil","Drachen","Abbrechen")
if s==1 then
--Heil
pc.set_skill_group(7)
pc.set_skill_level(106 ,59)
pc.set_skill_level(107 ,59)
pc.set_skill_level(108 ,59)
pc.set_skill_level(109 ,59)
pc.set_skill_level(110 ,59)
pc.set_skill_level(111 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Drachen
pc.set_skill_group(8)
pc.set_skill_level(91 ,59)
pc.set_skill_level(92 ,59)
pc.set_skill_level(93 ,59)
pc.set_skill_level(94 ,59)
pc.set_skill_level(95 ,59)
pc.set_skill_level(96 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
end
end
end
end
Ich würde mich sehr freuen, wenn sie jemand in eine zusammenbauen könnte, damit sie alle mit einem Item zu Auswahl stehen.
|
|
|
03/15/2015, 18:33
|
#2344
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by Pr0Tube
Ich würde mich sehr freuen, wenn sie jemand in eine zusammenbauen könnte, damit sie alle mit einem Item zu Auswahl stehen.
|
Code:
quest sw2panel1 begin
state start begin
when 85018.use begin
s = select("4000 Rangpunkte +", "4000 Rangpunkte -", "Geschlechtsumwandlung", "Fertigkeiten Reset", "Status Reset", "Reich wechseln", "Regenbogenstein", "Schließen")
if s==1 then
say_title("4000 Rangpunkte +")
say("")
say("Möchtest du 4000 Rangpunkte erhalten?")
if select("Ja", "Nein")==2 then return end
pc.change_alignment(4000)
elseif s==2 then
say_title("4000 Rangpunkte -")
say("")
say("Möchtest du dir 4000 Rangpunkte abziehen?")
if select("Ja", "Nein")==2 then return end
pc.change_alignment(-4000)
elseif s==3 then
say_title("Geschlechtsumwandlung")
say("")
if pc.is_engaged() then
say_title("Geschlechtsumwandlung fehlgeschlagen!")
say("")
say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
say("")
say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht")
say("wieder ändern!")
say("")
return
elseif pc.is_married() then
say_title("Geschlechtsumwandlung fehlgeschlagen!")
say("")
say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
say("")
say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht")
say("wieder ändern!")
say("")
return
elseif pc.is_polymorphed() then
say_title("Geschlechtsumwandlung fehlgeschlagen!")
say("")
say_reward("Sie sind derzeit verwandelt!")
say("")
say("Beenden Sie ihre Verwandlung.")
say("")
return
end
say("Sie sind dabei, ihr Geschlecht")
say("zu ändern. Diese Änderung hat weitgehende")
say("Folgen!")
wait()
say_title("Geschlechtsumwandlung")
say("")
say("Verheiratete können ihr Geschlecht nicht ändern.")
say("Verwandelte Personen müssen die Verwandlung beenden.")
say("Sind Sie sich sicher, dass Sie ihr Geschlecht ändern wollen?")
say("")
if select("Geschlecht Ändern!","Geschlecht nicht Ändern!")==2 then return end
say_title("Geschlechtsumwandlung")
say("Alle ihre Fertigkeiten und Statuspunkte")
say("bleiben erhalten.")
say("")
say("Ein Relog ist nötig, um die Wirkungen sichtbar zu machen!")
say("")
pc.change_sex()
local m_sex = pc.get_sex()
if m_sex == 0 then
char_log(0, "CHANGE_SEX", "F -> M")
else
char_log(0, "CHANGE_SEX", "M -> F")
end
elseif s==4 then
say_title("Fertigkeiten Reset")
say("")
say("Hier kannst du deine Fertigkeiten komplett")
say("zurücksetzen lassen.")
say("")
say("Möchtest du?")
if select("Ja","Nein")==2 then return end
pc.clear_skill()
pc.set_skill_group(0)
elseif s==5 then
say_title("Status Reset")
say("")
say("Hier kannst du deine Status-Punkte komplett")
say("zurücksetzen lassen.")
say("")
say("Möchtest du?")
if select("Ja","Nein")==2 then return end
pc.reset_point()
elseif s==6 then
say_title("Reich Wechseln")
say("")
if pc.is_engaged() then
say("Sie sind in einer Gilde.")
say("Sie können das Reich nicht wechseln.")
say("")
return
elseif pc.is_married() then
say("Sie sind verheiratet.")
say("Sie können das Reich nicht wechseln.")
say("")
return
elseif pc.is_polymorphed() then
say("Sie sind Verwandelt.")
say("Sie können das Reich nicht wechseln.")
say("")
return
elseif pc.has_guild() then
say("Sie sind in einer Gilde.")
say("Sie können das Reich nicht wechseln.")
say("")
return
end
say("Wählen Sie eines der 3 Reiche")
local s = select("Shinsoo (rotes Reich)", "Chunjo (gelbes Reich)", "Jinno (blaues Reich)", "Abbrechen")
if 4==s then return end
say_title("Reich wechseln")
say("")
say_reward("Wollen Sie wirklich das Reich wechseln?")
say_reward("Für Folksverrat gibt es keine Entschuldigung!")
say("")
if select("Wechseln", "Nicht wechseln")==2 then return end
local ret = pc.change_empire(s)
local oldempire = pc.get_empire()
if ret == 999 then
say("Sie haben das Reich erfolgreich gewechselt.")
say("Bitte loggen Sie sich neu ein.")
say("")
char_log(0, "CHANGE_EMPIRE",string.format("%d -> %d", oldempire, s))
else
if ret == 1 then
say("Sie sind bereits in diesem Reich.")
say("Bitte wählen Sie ein anderes.")
say("")
say("")
elseif ret == 2 then
say("Reichswechsel noch nicht möglich.")
say("Sie können das Reich noch nicht wechseln, da Sie vor kurzem noch in einer Gilde waren.")
say("")
say("")
elseif ret == 3 then
say("Reichswechsel noch nicht möglich.")
say("Sie können das Reich noch nicht wechseln, da Sie vor kurzem noch verheiratet waren.")
say("")
end
end
elseif s==7 then
say_title("Regenbogenstein")
say("Du möchtest also deine Skills auf")
say("Perfekter-Meister setzen?")
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental","Abbrechen")
if s==1 then
--Körper
pc.set_skill_group(1)
pc.set_skill_level(1 ,59)
pc.set_skill_level(2 ,59)
pc.set_skill_level(3 ,59)
pc.set_skill_level(4 ,59)
pc.set_skill_level(5 ,59)
pc.set_skill_level(6 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Mentalo
pc.set_skill_group(2)
pc.set_skill_level(16 ,59)
pc.set_skill_level(17 ,59)
pc.set_skill_level(18 ,59)
pc.set_skill_level(19 ,59)
pc.set_skill_level(20 ,59)
pc.set_skill_level(21 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Fernkampf","Abbrechen")
if s==1 then
--Nahkampf
pc.set_skill_group(3)
pc.set_skill_level(31 ,59)
pc.set_skill_level(32 ,59)
pc.set_skill_level(33 ,59)
pc.set_skill_level(34 ,59)
pc.set_skill_level(35 ,59)
pc.set_skill_level(36 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Fernkampf
pc.set_skill_group(4)
pc.set_skill_level(46 ,59)
pc.set_skill_level(47 ,59)
pc.set_skill_level(48 ,59)
pc.set_skill_level(49 ,59)
pc.set_skill_level(50 ,59)
pc.set_skill_level(51 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe","Abbrechen")
if s==1 then
--Magie
pc.set_skill_group(5)
pc.set_skill_level(76 ,59)
pc.set_skill_level(77 ,59)
pc.set_skill_level(78 ,59)
pc.set_skill_level(79 ,59)
pc.set_skill_level(80 ,59)
pc.set_skill_level(81, 59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Waffe
pc.set_skill_group(6)
pc.set_skill_level(61 ,59)
pc.set_skill_level(62 ,59)
pc.set_skill_level(63 ,59)
pc.set_skill_level(64 ,59)
pc.set_skill_level(65 ,59)
pc.set_skill_level(66 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heil","Drachen","Abbrechen")
if s==1 then
--Heil
pc.set_skill_group(7)
pc.set_skill_level(106 ,59)
pc.set_skill_level(107 ,59)
pc.set_skill_level(108 ,59)
pc.set_skill_level(109 ,59)
pc.set_skill_level(110 ,59)
pc.set_skill_level(111 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Drachen
pc.set_skill_group(8)
pc.set_skill_level(91 ,59)
pc.set_skill_level(92 ,59)
pc.set_skill_level(93 ,59)
pc.set_skill_level(94 ,59)
pc.set_skill_level(95 ,59)
pc.set_skill_level(96 ,59)
set_state( start )
say("Deine Skills sind auf Perfekter Meister")
end
if s==3 then
return
end
end
elseif s==8 then
return
end
end
end
end
|
|
|
03/16/2015, 11:08
|
#2345
|
elite*gold: 1
Join Date: Dec 2013
Posts: 3,467
Received Thanks: 720
|
Ich habe versucht diese 3 quest zusammenzubinden doch es funktioniert nicht es wird immer nur Gm Online angezeigt.
1. Quest
Code:
quest gamemaster begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM-Online")
end
when info or button with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist Online! Er/Sie ist nun für eure Fragen verfügbar")
send_letter("GM-Online")
end
end
end
2. Quest
Code:
quest gamemaster begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM-Offline")
end
when info or button with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist Offline! Er/Sie wünscht euch noch viel spass beim Spielen")
send_letter("GM-Offline")
end
end
end
3. Quest
Code:
quest gamemaster begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM-Afk")
end
when info or button with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist Abwesend! Er/Sie ist nun nicht mehr für eure Fragen verfügbar")
send_letter("GM-Afk")
end
end
end
Wäre nett, wenn sie jemand in eine quest, zusammenbinden könnte, damit sie auch funktioniert.
|
|
|
03/16/2015, 11:56
|
#2346
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Pr0Tube
Ich habe versucht diese 3 quest zusammenzubinden doch es funktioniert nicht es wird immer nur Gm Online angezeigt.
1. Quest
Code:
quest gamemaster begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM-Online")
end
when info or button with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist Online! Er/Sie ist nun für eure Fragen verfügbar")
send_letter("GM-Online")
end
end
end
2. Quest
Code:
quest gamemaster begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM-Offline")
end
when info or button with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist Offline! Er/Sie wünscht euch noch viel spass beim Spielen")
send_letter("GM-Offline")
end
end
end
3. Quest
Code:
quest gamemaster begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM-Afk")
end
when info or button with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist Abwesend! Er/Sie ist nun nicht mehr für eure Fragen verfügbar")
send_letter("GM-Afk")
end
end
end
Wäre nett, wenn sie jemand in eine quest, zusammenbinden könnte, damit sie auch funktioniert.
|
Code:
quest gamemaster begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM Benachrichtigungen")
end
when button or info with pc.get_gm() begin
local s = select("Online", "Offline", "Afk", "Abbrechen")
if s == 1 then
notice_all(pc.get_name().." ist Online! "..({"Er", "Sie"})[pc.get_sex()+1].." ist nun für Eure Fragen verfügbar.")
elseif s == 2 then
notice_all(pc.get_name().." ist Offline! "..({"Er", "Sie"})[pc.get_sex()+1].." ist nun für Eure Fragen verfügbar.")
elseif s == 3 then
notice_all(pc.get_name().." ist Abwesend! "..({"Er", "Sie"})[pc.get_sex()+1].." ist nun für Eure Fragen verfügbar.")
end
send_letter("GM Benachrichtigungen")
end
end
end
|
|
|
03/16/2015, 19:03
|
#2347
|
elite*gold: 15
Join Date: Nov 2010
Posts: 83
Received Thanks: 40
|
Hallo,
ich bin auf der suche nach einem Questschreiber der mir folgende Quest schnell schreiben kann.
Man muss ein Item zu einem NPC bringen. Diese Items werden gezählt und abgenommen , es gibt eine kleine IG Rangliste wer die meisten abgegeben hat .
Irgendwie soll die Rangliste auch gelöscht werden können. (vom gm oder DB)
Das war es auch schon .
Folgeaufträge möglich ,muss nicht umsonst sein.
am besten per Skype melden (add: fino54321)
Danke
|
|
|
03/16/2015, 19:10
|
#2348
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by fino123
Hallo,
ich bin auf der suche nach einem Questschreiber der mir folgende Quest schnell schreiben kann.
Man muss ein Item zu einem NPC bringen. Diese Items werden gezählt und abgenommen , es gibt eine kleine IG Rangliste wer die meisten abgegeben hat .
Irgendwie soll die Rangliste auch gelöscht werden können. (vom gm oder DB)
Das war es auch schon .
Folgeaufträge möglich ,muss nicht umsonst sein.
am besten per Skype melden (add: fino54321)
Danke
|
Code:
quest abgeber begin
state start begin
when 10.take begin
if item.get_vnum() == 1000 then
say("Du hast "..pc.count_item(1000).."x ...")
say("Wie viele möchtest du abgeben?")
local count = tonumber(input())
if count then
if count >= 1 then
say("Möchtest du wirklich "..count.."x ... abgeben?")
if select("Ja", "Nein") == 2 then return end
if pc.count_item(1000) >= count then
pc.remove_item(1000, count)
mysql_query("UPDATE player.player SET item_count = item_count+"..count.." WHERE account_id = "..pc.get_account_id().." LIMIT 1;")
say(count.."x abgegeben!")
else
say("Versuch nicht zu verarschen!")
end
else
say("Keine Minuus-Zahlen eingeben!")
end
else
say("Du kannst nur Zahlen eingeben!")
else
say("Du kannst nur das Item ... abgeben!")
end
end
end
end
Code:
alter table player.player add column (item_count int(5) default = 0);
|
|
|
03/16/2015, 22:59
|
#2349
|
elite*gold: 0
Join Date: Oct 2010
Posts: 118
Received Thanks: 20
|
Halli hallo
könnte jemand mir die quest so anpassen das sie auf der neuen 67k game laufen... habs selbst schon versucht aber ich bekomms i-wie nicht hin
Quest
PHP Code:
quest z_run begin state start begin when login with pc.get_map_index() >= 2210000 and pc.get_map_index() < 2260000 begin pc.set_warp_location(65, 5376+532, 512+596+4) end when 20351.chat."Der Z-Run" begin --NPC zum Starten if not pc.can_warp() then return Say "Du kannst noch nicht warpen!" end say_title(mob_name(20351)) --NPC zum Starten say("Hallo Abenteurer,") say("ich habe längst verlassene Gänge und") say("Schluchten entdeckt, wo Ungeheuer ihr") say("unwesen treiben. Nur die stärksten") say("Krieger halten denen Stand!") if pc.count_item(30179) == 0 then say("Du benötigst einen Z-Key um passieren zu können.") say_item_vnum(30179) return end say("Soll ich dich dahin bringen?") local s=select("Ja", "Nein") if s==2 then return end if pc.count_item(30179) > 0 then pc.remove_item(30179, 1) pc.warp(900300, 902700) end end when login with pc.get_map_index() == 221 begin say("Die Brücke ist kaputt gegangen.") say("Jetzt gibt es kein zurück mehr!") say("") say("Zerstöre den Metin!") end when 8021.kill with pc.get_map_index() == 221 begin timer("z_run_warp1", 5) end when z_run_warp1.timer begin d.new_jump_all(222, 11166, 11448) d.setf("floor", 1) local posis = { {164, 286}, {282, 284}, {424, 284}, {577, 278}, {723, 352}, {741, 548}, {771, 546} } for i=1, 7 do d.spawn_mob(8022, posis[i][1], posis[i][2]) end d.setf("metins", 7) end when 8022.kill with pc.in_dungeon() begin d.setf("metins", d.getf("metins") - 1) if d.getf("metins") == 0 then d.setf("floor", 2) d.notice("Ihr habt alle Metine zerstört!") d.notice("Macht euch für Angriffswellen der Monster bereit") timer("z_run_warp2", 5) else d.notice("Es verbleiben "..d.getf("metins").." Metine") if d.getf("metins") >= 2 then timer("next_metin", 3) end end end when next_metin.timer begin local posis = { {11857, 11583}, {11659, 11378}, {11808, 11449}, {11514, 11381}, {11373, 11387} } local t = d.getf("metins") -1 d.jump_all(posis[t][1], posis[t][2]) end when z_run_warp2.timer begin d.jump_all(11289, 12058) d.setf("wave", 1) say("Töte alle Monster!") say("Achtung es sind 10 Wellen!") say("") say("Hier wird es schon sehr schwer.") say("Alleine wirst du es kaum schaffen.") say("") say("Viel Erfolg!") timer("z_run_wait", 10) end when kill with d.getf("floor") == 2 and not npc.is_pc() begin d.setf("mobs", d.getf("mobs") + 1) if d.getf("mobs") >= 150 then --Anzahl der Mobs pro Welle 5 if d.getf("wave") < 10 then d.setf("wave", d.getf("wave") + 1) d.setf("mobs", 0) timer("z_run_wait", 2) d.notice("Bereitet euch auf Welle "..d.getf("wave").." vor!") else d.notice("Ihr habt alle zehn Angriffswellen erfolgreich abgewehrt!") timer("z_run_warp3", 5) end end end when z_run_wait.timer begin d.regen_file("data/dungeon/z_run/wave"..d.getf("wave")..".txt") end when z_run_warp3.timer begin say("Töte 50 Monster für einen Siegel.") say("Du benötigst 3 Siegel...") say("Benutz den Siegel um einen Schalter zu aktivieren") d.new_jump_all(225, 16800, 17076) d.setf("floor", 3) d.regen_file("data/dungeon/z_run/regen.txt") end when kill with d.getf("floor") == 3 and not npc.is_pc() begin d.setf("schalter_kills", d.getf("schalter_kills") + 1) if d.getf("schalter_kills") >= 150 then --Ein drittel der Anzahl der Mobs aus regen.txt game.drop_item_with_ownership(70045, 1) d.setf("schalter_kills", 0) end end when 70045.use begin d.setf("schalter", d.getf("schalter") + 1) if d.getf("schalter") == 3 then d.notice("Ihr habt alle drei Schalter aktiviert!") d.notice("Als nächstes müsst ihr alle vier Elementare bezwingen") timer("z_run_warp4", 5) else d.notice("Der "..d.getf("schalter")..". Schalter wurde aktiviert!") end item.remove() end when z_run_warp4.timer begin d.new_jump_all(223, 12440, 12485) say("Jetzt wird es richtig schwierig!") say("Hast du einen Buff-Schamane dabei?") say("Nein? Dann wird es problematisch.") say("Das Monster ist unsichtbar?!") say("Benutz einfach einen Tapferkeitsumhang!")
d.setf("floor", 4) d.spawn_mob(1901, 256, 256) --d.regen_file("data/dungeon/z_run/feuer.txt") end when kill with npc.get_race() == 1901 begin game.drop_item_with_ownership(50077, 1) timer("jump1", 15) end when jump1.timer begin d.jump_all(12497, 13027) d.spawn_mob(1307, 256, 775) --d.regen_file("data/dungeon/z_run/eis.txt") end when kill with pc.in_dungeon() and npc.get_race() == 1307 begin game.drop_item_with_ownership(50078, 3) timer("jump2", 15) end when jump2.timer begin d.new_jump_all(224, 14662, 14700)
d.spawn_mob(2092, 256, 256) --d.regen_file("data/dungeon/z_run/erde.txt") end when kill with pc.in_dungeon() and npc.get_race() == 2092 begin game.drop_item_with_ownership(50073, 1) timer("jump3", 15) end when jump3.timer begin d.jump_all(14719, 15249) d.spawn_mob(8000, 256, 775) --d.regen_file("data/dungeon/z_run/wuste.txt") end when kill with pc.in_dungeon() and npc.get_race() == 8000 begin game.drop_item_with_ownership(50071, 1) d.notice("Alle vier Elementarmonster wurden bezwungen!") d.notice("Drücke nun die drei Siegel ein, um Monster zu beschwören.") timer("z_run_warp5", 15) end when z_run_warp5.timer begin d.new_jump_all(225, 16747, 17943) d.setf("warpen", 1) d.setf("floor", 5) local posis = { {385, 1272}, {396, 1279}, {383, 1286} } for i=1, 3 do d.spawn_mob(20073, posis[i][1], posis[i][2]) end end when 20073.click with d.getf("online") == 0 begin d.setf("kills", 0) npc.purge() d.setf("click", d.getf("click") + 1) d.regen_file("data/dungeon/z_run/regen"..d.getf("click")..".txt") if d.getf("click") == 3 then d.setf("online", 1) d.spawn_mob(2291, 335, 1275) --Bossmob, letzter raum d.notice("Achtung der Rote Drache wurde gespawnt!") end end when kill with not npc.is_pc() and d.getf("floor") == 80 begin d.setf("kills", d.getf("kills") + 1) if d.getf("kills") == 80 then -- Monsteranzahl d.setf("online", 0) end end when 2291.kill with pc.in_dungeon() begin --Bossmob, letzter raum game.drop_item_with_ownership(50080, 1) game.drop_item_with_ownership(50080, 1) d.notice("Ihr habt den Roten Drachen besiegt und somit den Z-Run gerettet!") notice_all(" "..pc.get_name().." hatt den Z-Run gemeistert, gratulation!") warp_all_to_village(pc.get_map_index(), 30) end end end
|
|
|
03/16/2015, 23:48
|
#2350
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,994
Received Thanks: 3,389
|
Quote:
Originally Posted by infinty04
Halli hallo
könnte jemand mir die quest so anpassen das sie auf der neuen 67k game laufen... habs selbst schon versucht aber ich bekomms i-wie nicht hin
Quest
PHP Code:
quest z_run begin
state start begin
when login with pc.get_map_index() >= 2210000 and pc.get_map_index() < 2260000 begin
pc.set_warp_location(65, 5376+532, 512+596+4)
end
when 20351.chat."Der Z-Run" begin --NPC zum Starten
if not pc.can_warp() then
return Say "Du kannst noch nicht warpen!"
end
say_title(mob_name(20351)) --NPC zum Starten
say("Hallo Abenteurer,")
say("ich habe längst verlassene Gänge und")
say("Schluchten entdeckt, wo Ungeheuer ihr")
say("unwesen treiben. Nur die stärksten")
say("Krieger halten denen Stand!")
if pc.count_item(30179) == 0 then
say("Du benötigst einen Z-Key um passieren zu können.")
say_item_vnum(30179)
return
end
say("Soll ich dich dahin bringen?")
local s=select("Ja", "Nein")
if s==2 then return end
if pc.count_item(30179) > 0 then
pc.remove_item(30179, 1)
pc.warp(900300, 902700)
end
end
when login with pc.get_map_index() == 221 begin
say("Die Brücke ist kaputt gegangen.")
say("Jetzt gibt es kein zurück mehr!")
say("")
say("Zerstöre den Metin!")
end
when 8021.kill with pc.get_map_index() == 221 begin
timer("z_run_warp1", 5)
end
when z_run_warp1.timer begin
d.new_jump_all(222, 11166, 11448)
d.setf("floor", 1)
local posis = {
{164, 286},
{282, 284},
{424, 284},
{577, 278},
{723, 352},
{741, 548},
{771, 546}
}
for i=1, 7 do
d.spawn_mob(8022, posis[i][1], posis[i][2])
end
d.setf("metins", 7)
end
when 8022.kill with pc.in_dungeon() begin
d.setf("metins", d.getf("metins") - 1)
if d.getf("metins") == 0 then
d.setf("floor", 2)
d.notice("Ihr habt alle Metine zerstört!")
d.notice("Macht euch für Angriffswellen der Monster bereit")
timer("z_run_warp2", 5)
else
d.notice("Es verbleiben "..d.getf("metins").." Metine")
if d.getf("metins") >= 2 then
timer("next_metin", 3)
end
end
end
when next_metin.timer begin
local posis = {
{11857, 11583},
{11659, 11378},
{11808, 11449},
{11514, 11381},
{11373, 11387}
}
local t = d.getf("metins") -1
d.jump_all(posis[t][1], posis[t][2])
end
when z_run_warp2.timer begin
d.jump_all(11289, 12058)
d.setf("wave", 1)
say("Töte alle Monster!")
say("Achtung es sind 10 Wellen!")
say("")
say("Hier wird es schon sehr schwer.")
say("Alleine wirst du es kaum schaffen.")
say("")
say("Viel Erfolg!")
timer("z_run_wait", 10)
end
when kill with d.getf("floor") == 2 and not npc.is_pc() begin
d.setf("mobs", d.getf("mobs") + 1)
if d.getf("mobs") >= 150 then --Anzahl der Mobs pro Welle 5
if d.getf("wave") < 10 then
d.setf("wave", d.getf("wave") + 1)
d.setf("mobs", 0)
timer("z_run_wait", 2)
d.notice("Bereitet euch auf Welle "..d.getf("wave").." vor!")
else
d.notice("Ihr habt alle zehn Angriffswellen erfolgreich abgewehrt!")
timer("z_run_warp3", 5)
end
end
end
when z_run_wait.timer begin
d.regen_file("data/dungeon/z_run/wave"..d.getf("wave")..".txt")
end
when z_run_warp3.timer begin
say("Töte 50 Monster für einen Siegel.")
say("Du benötigst 3 Siegel...")
say("Benutz den Siegel um einen Schalter zu aktivieren")
d.new_jump_all(225, 16800, 17076)
d.setf("floor", 3)
d.regen_file("data/dungeon/z_run/regen.txt")
end
when kill with d.getf("floor") == 3 and not npc.is_pc() begin
d.setf("schalter_kills", d.getf("schalter_kills") + 1)
if d.getf("schalter_kills") >= 150 then --Ein drittel der Anzahl der Mobs aus regen.txt
game.drop_item_with_ownership(70045, 1)
d.setf("schalter_kills", 0)
end
end
when 70045.use begin
d.setf("schalter", d.getf("schalter") + 1)
if d.getf("schalter") == 3 then
d.notice("Ihr habt alle drei Schalter aktiviert!")
d.notice("Als nächstes müsst ihr alle vier Elementare bezwingen")
timer("z_run_warp4", 5)
else
d.notice("Der "..d.getf("schalter")..". Schalter wurde aktiviert!")
end
item.remove()
end
when z_run_warp4.timer begin
d.new_jump_all(223, 12440, 12485)
say("Jetzt wird es richtig schwierig!")
say("Hast du einen Buff-Schamane dabei?")
say("Nein? Dann wird es problematisch.")
say("Das Monster ist unsichtbar?!")
say("Benutz einfach einen Tapferkeitsumhang!")
d.setf("floor", 4)
d.spawn_mob(1901, 256, 256)
--d.regen_file("data/dungeon/z_run/feuer.txt")
end
when kill with npc.get_race() == 1901 begin
game.drop_item_with_ownership(50077, 1)
timer("jump1", 15)
end
when jump1.timer begin
d.jump_all(12497, 13027)
d.spawn_mob(1307, 256, 775)
--d.regen_file("data/dungeon/z_run/eis.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 1307 begin
game.drop_item_with_ownership(50078, 3)
timer("jump2", 15)
end
when jump2.timer begin
d.new_jump_all(224, 14662, 14700)
d.spawn_mob(2092, 256, 256)
--d.regen_file("data/dungeon/z_run/erde.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 2092 begin
game.drop_item_with_ownership(50073, 1)
timer("jump3", 15)
end
when jump3.timer begin
d.jump_all(14719, 15249)
d.spawn_mob(8000, 256, 775)
--d.regen_file("data/dungeon/z_run/wuste.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 8000 begin
game.drop_item_with_ownership(50071, 1)
d.notice("Alle vier Elementarmonster wurden bezwungen!")
d.notice("Drücke nun die drei Siegel ein, um Monster zu beschwören.")
timer("z_run_warp5", 15)
end
when z_run_warp5.timer begin
d.new_jump_all(225, 16747, 17943)
d.setf("warpen", 1)
d.setf("floor", 5)
local posis = {
{385, 1272},
{396, 1279},
{383, 1286}
}
for i=1, 3 do
d.spawn_mob(20073, posis[i][1], posis[i][2])
end
end
when 20073.click with d.getf("online") == 0 begin
d.setf("kills", 0)
npc.purge()
d.setf("click", d.getf("click") + 1)
d.regen_file("data/dungeon/z_run/regen"..d.getf("click")..".txt")
if d.getf("click") == 3 then
d.setf("online", 1)
d.spawn_mob(2291, 335, 1275) --Bossmob, letzter raum
d.notice("Achtung der Rote Drache wurde gespawnt!")
end
end
when kill with not npc.is_pc() and d.getf("floor") == 80 begin
d.setf("kills", d.getf("kills") + 1)
if d.getf("kills") == 80 then -- Monsteranzahl
d.setf("online", 0)
end
end
when 2291.kill with pc.in_dungeon() begin --Bossmob, letzter raum
game.drop_item_with_ownership(50080, 1)
game.drop_item_with_ownership(50080, 1)
d.notice("Ihr habt den Roten Drachen besiegt und somit den Z-Run gerettet!")
notice_all(" "..pc.get_name().." hatt den Z-Run gemeistert, gratulation!")
warp_all_to_village(pc.get_map_index(), 30)
end
end
end
|
PHP Code:
quest z_run begin
state start begin
when login with pc.get_map_index() >= 2210000 and pc.get_map_index() < 2260000 begin
pc.set_warp_location(65, 5376+532, 512+596+4)
end
when 20351.chat."Der Z-Run" begin --NPC zum Starten
if not pc.can_warp() then
return say("Du kannst noch nicht warpen!")
end
say_title(mob_name(20351)) --NPC zum Starten
say("Hallo Abenteurer,")
say("ich habe längst verlassene Gänge und")
say("Schluchten entdeckt, wo Ungeheuer ihr")
say("unwesen treiben. Nur die stärksten")
say("Krieger halten denen Stand!")
if pc.count_item(30179) == 0 then
say("Du benötigst einen Z-Key um passieren zu können.")
say_item_vnum(30179)
return
end
say("Soll ich dich dahin bringen?")
local s=select("Ja", "Nein")
if s==2 then return end
if pc.count_item(30179) > 0 then
pc.remove_item(30179, 1)
pc.warp(900300, 902700)
end
end
when login with pc.get_map_index() == 221 begin
say("Die Brücke ist kaputt gegangen.")
say("Jetzt gibt es kein zurück mehr!")
say("")
say("Zerstöre den Metin!")
end
when kill with npc.get_race() == 8021 begin
if pc.get_map_index() == 221 then
timer("z_run_warp1", 5)
end
end
when z_run_warp1.timer begin
d.new_jump_all(222, 11166, 11448)
d.setf("floor", 1)
local posis = {
{164, 286},
{282, 284},
{424, 284},
{577, 278},
{723, 352},
{741, 548},
{771, 546}
}
for i=1, 7 do
d.spawn_mob(8022, posis[i][1], posis[i][2])
end
d.setf("metins", 7)
end
when kill with npc.get_race() == 8022 begin
if pc.in_dungeon() then
d.setf("metins", d.getf("metins") - 1)
if d.getf("metins") == 0 then
d.setf("floor", 2)
d.notice("Ihr habt alle Metine zerstört!")
d.notice("Macht euch für Angriffswellen der Monster bereit")
timer("z_run_warp2", 5)
else
d.notice("Es verbleiben "..d.getf("metins").." Metine")
if d.getf("metins") >= 2 then
timer("next_metin", 3)
end
end
end
end
when next_metin.timer begin
local posis = {
{11857, 11583},
{11659, 11378},
{11808, 11449},
{11514, 11381},
{11373, 11387}
}
local t = d.getf("metins") -1
d.jump_all(posis[t][1], posis[t][2])
end
when z_run_warp2.timer begin
d.jump_all(11289, 12058)
d.setf("wave", 1)
say("Töte alle Monster!")
say("Achtung es sind 10 Wellen!")
say("")
say("Hier wird es schon sehr schwer.")
say("Alleine wirst du es kaum schaffen.")
say("")
say("Viel Erfolg!")
timer("z_run_wait", 10)
end
when kill with d.getf("floor") == 2 and not npc.is_pc() begin
d.setf("mobs", d.getf("mobs") + 1)
if d.getf("mobs") >= 150 then --Anzahl der Mobs pro Welle 5
if d.getf("wave") < 10 then
d.setf("wave", d.getf("wave") + 1)
d.setf("mobs", 0)
timer("z_run_wait", 2)
d.notice("Bereitet euch auf Welle "..d.getf("wave").." vor!")
else
d.notice("Ihr habt alle zehn Angriffswellen erfolgreich abgewehrt!")
timer("z_run_warp3", 5)
end
end
end
when z_run_wait.timer begin
d.regen_file("data/dungeon/z_run/wave"..d.getf("wave")..".txt")
end
when z_run_warp3.timer begin
say("Töte 50 Monster für einen Siegel.")
say("Du benötigst 3 Siegel...")
say("Benutz den Siegel um einen Schalter zu aktivieren")
d.new_jump_all(225, 16800, 17076)
d.setf("floor", 3)
d.regen_file("data/dungeon/z_run/regen.txt")
end
when kill with d.getf("floor") == 3 and not npc.is_pc() begin
d.setf("schalter_kills", d.getf("schalter_kills") + 1)
if d.getf("schalter_kills") >= 150 then --Ein drittel der Anzahl der Mobs aus regen.txt
game.drop_item_with_ownership(70045, 1)
d.setf("schalter_kills", 0)
end
end
when 70045.use begin
d.setf("schalter", d.getf("schalter") + 1)
if d.getf("schalter") == 3 then
d.notice("Ihr habt alle drei Schalter aktiviert!")
d.notice("Als nächstes müsst ihr alle vier Elementare bezwingen")
timer("z_run_warp4", 5)
else
d.notice("Der "..d.getf("schalter")..". Schalter wurde aktiviert!")
end
item.remove()
end
when z_run_warp4.timer begin
d.new_jump_all(223, 12440, 12485)
say("Jetzt wird es richtig schwierig!")
say("Hast du einen Buff-Schamane dabei?")
say("Nein? Dann wird es problematisch.")
say("Das Monster ist unsichtbar?!")
say("Benutz einfach einen Tapferkeitsumhang!")
d.setf("floor", 4)
d.spawn_mob(1901, 256, 256)
--d.regen_file("data/dungeon/z_run/feuer.txt")
end
when kill with npc.get_race() == 1901 begin
game.drop_item_with_ownership(50077, 1)
timer("jump1", 15)
end
when jump1.timer begin
d.jump_all(12497, 13027)
d.spawn_mob(1307, 256, 775)
--d.regen_file("data/dungeon/z_run/eis.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 1307 begin
game.drop_item_with_ownership(50078, 3)
timer("jump2", 15)
end
when jump2.timer begin
d.new_jump_all(224, 14662, 14700)
d.spawn_mob(2092, 256, 256)
--d.regen_file("data/dungeon/z_run/erde.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 2092 begin
game.drop_item_with_ownership(50073, 1)
timer("jump3", 15)
end
when jump3.timer begin
d.jump_all(14719, 15249)
d.spawn_mob(8000, 256, 775)
--d.regen_file("data/dungeon/z_run/wuste.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 8000 begin
game.drop_item_with_ownership(50071, 1)
d.notice("Alle vier Elementarmonster wurden bezwungen!")
d.notice("Drücke nun die drei Siegel ein, um Monster zu beschwören.")
timer("z_run_warp5", 15)
end
when z_run_warp5.timer begin
d.new_jump_all(225, 16747, 17943)
d.setf("warpen", 1)
d.setf("floor", 5)
local posis = {
{385, 1272},
{396, 1279},
{383, 1286}
}
for i=1, 3 do
d.spawn_mob(20073, posis[i][1], posis[i][2])
end
end
when 20073.click with d.getf("online") == 0 begin
d.setf("kills", 0)
npc.purge()
d.setf("click", d.getf("click") + 1)
d.regen_file("data/dungeon/z_run/regen"..d.getf("click")..".txt")
if d.getf("click") == 3 then
d.setf("online", 1)
d.spawn_mob(2291, 335, 1275) --Bossmob, letzter raum
d.notice("Achtung der Rote Drache wurde gespawnt!")
end
end
when kill with not npc.is_pc() and d.getf("floor") == 80 begin
d.setf("kills", d.getf("kills") + 1)
if d.getf("kills") == 80 then -- Monsteranzahl
d.setf("online", 0)
end
end
when kill with npc.get_race() == 2291 begin
if pc.in_dungeon() then --Bossmob, letzter raum
game.drop_item_with_ownership(50080, 1)
game.drop_item_with_ownership(50080, 1)
d.notice("Ihr habt den Roten Drachen besiegt und somit den Z-Run gerettet!")
notice_all(" "..pc.get_name().." hatt den Z-Run gemeistert, gratulation!")
warp_all_to_village(pc.get_map_index(), 30)
end
end
end
end
Bitte angeben, wo das Ganze hakt, sollte es damit noch immer nicht funktionieren.
lg
|
|
|
03/17/2015, 14:16
|
#2351
|
elite*gold: 0
Join Date: Oct 2010
Posts: 118
Received Thanks: 20
|
Hallo JayZon
also leider hat das mit der Quest nicht funkitioniert
ich kann mich per Quest auf die map porten.
Doch dann passiert nichts mehr normalweise müsste dort
nen metin stehen mit venum 8021 den man zerstören mus um auf die nechste ebene zu kommen auch wenn ich per befehl /m 8021 den metin ruf erscheint er zwar, aber wenn ich ihn zerstören werd ich denoch nicht hoch geportet.
Hab mal nen video gemacht davon
Video
http://youtu.be/NzIRUdsGor8
|
|
|
03/17/2015, 14:40
|
#2352
|
elite*gold: 0
Join Date: Jun 2014
Posts: 211
Received Thanks: 5
|
Hey Com^^,
Suche eine Quest wo Maps aufgelistet sind ca 4-5 stk und wo am Anfang ein Text steht wenn man auf dem NPC klickt. Es sollte noch so sein das für jede Map die man betretet ein bestimmtes Levellimit vorhanden sein muss. Danke dafür
|
|
|
03/17/2015, 14:57
|
#2353
|
elite*gold: 0
Join Date: Feb 2015
Posts: 156
Received Thanks: 73
|
Quote:
Originally Posted by #AnymRolex*
Hey Com^^,
Suche eine Quest wo Maps aufgelistet sind ca 4-5 stk und wo am Anfang ein Text steht wenn man auf dem NPC klickt. Es sollte noch so sein das für jede Map die man betretet ein bestimmtes Levellimit vorhanden sein muss. Danke dafür
|
Sag mir mal die Level und die Namen der Maps, dann pass ich das schnell an.
|
|
|
03/17/2015, 16:23
|
#2354
|
elite*gold: 0
Join Date: Jan 2014
Posts: 89
Received Thanks: 48
|
Moin , ich möchte das Energiesplitter-System umändern so das er statt eine Waffe/Rüstung Level 35+ Zehn Teufelssplitter nimmt (vnum 70042) , hier der Teil der Quest der ersetzt werden soll^^ :
PHP Code:
when 20001.take with (item.get_vnum() > 2069 and item.get_vnum() < 2251) or (item.get_vnum() > 79 and item.get_vnum() < 390) or (item.get_vnum() > 1039 and item.get_vnum() < 1190) or (item.get_vnum() > 3069 and item.get_vnum() < 3250) or (item.get_vnum() > 5399 and item.get_vnum() < 5360) or (item.get_vnum() > 4029 and item.get_vnum() < 4070) or (item.get_vnum() > 7069 and item.get_vnum() < 7220) or (item.get_vnum() > 11249 and item.get_vnum() < 11300) or (item.get_vnum() > 11449 and item.get_vnum() < 11500) or (item.get_vnum() > 11649 and item.get_vnum() < 11700) or (item.get_vnum() > 11849 and item.get_vnum() < 11900) or (item.get_vnum() > 12239 and item.get_vnum() < 12270) begin
if pc.get_level() < 35 then
say_title("Alchemist")
say("Du bist noch nicht stark genug, um die Kraft, die")
say("den Energiesplittern innewohnt, zu beherrschen.")
say("Komm wieder wenn du mindestens Level 35")
say("erreicht hast.")
return
end
if item.get_type() == 1 or item.get_type() == 2 then
-- 2070 - 2239
-- 80 - 369
-- 1040 - 1189
--
-- 5040 - 5359
-- 4030 - 4069
-- 7070 - 7219
-- 11250 - 11299
-- 11450 - 11499
-- 11650 - 11699
-- 11850 - 11899
-- 12240 - 12699
say_title("Alchemist")
say(string.trim(item.get_name()))
say("Soll ich diesen Gegenstand zerstören?")
if select("Ja!","Nein, noch nicht!") == 2 then
return
else
local anzahl = number(0,15)
if anzahl > 0 then
say_title("Alchemist")
say("Sagenhaft! Ich konnte "..anzahl.." Energiesplitter finden.")
say("Bitte sehr.")
pc.give_item2(51001, anzahl)
else
say_title("Alchemist")
say("Ich habe versagt - leider konnte ich keinen")
say("Energiesplitter extrahieren. Vielleicht klappt es")
say("beim nächsten Versuch.")
return
end
item.remove()
end
else -- NICHT DE
say_title("Alchemist")
say("Dieses Item ist nicht geeignet!")
end
end
when 20001.take with item.get_vnum() < 2069 or item.get_vnum() > 2251 or item.get_vnum() < 79 or item.get_vnum() > 390 or item.get_vnum() < 1039 or item.get_vnum() > 1190 or item.get_vnum() < 3069 or item.get_vnum() > 3250 or item.get_vnum() < 5399 or item.get_vnum() > 5360 or item.get_vnum() < 4029 or item.get_vnum() > 4070 or item.get_vnum() < 7069 or item.get_vnum() > 7220 or item.get_vnum() < 11249 or item.get_vnum() > 11300 or item.get_vnum() < 11449 or item.get_vnum() > 11500 or item.get_vnum() < 11649 or item.get_vnum() > 11700 or item.get_vnum() > 11849 or item.get_vnum() < 11900 or item.get_vnum() > 12239 or item.get_vnum() < 12270 begin
say_title("Alchemist")
say("Dieses Item ist nicht geeignet!")
end
Ich hoffe es wird einer der Zeit , oder Lust auf einen Thanks hat machen  !
|
|
|
03/17/2015, 16:27
|
#2355
|
elite*gold: 1
Join Date: Dec 2013
Posts: 3,467
Received Thanks: 720
|
Ich brauche zwei Quest's wäre nett, wenn sie jemand erstellen könnte.
1. Quest
Eine quest die, wenn man ein Mob gekillt hat, im Rufchat (GM Rufchat) ansagt blablabla hat blablabla getötet. Und diese quest soll auch immer wieder bei jedem erneuten kill des Mobs angesagt werden.
2. Quest
Eine PvM quest die immer wieder nach dem Killen von 50 Mobs ein Item an den User gibt. Also sobald er 50x das Mob/Metin gekillt hat soll es von 0 wieder los gehen und wieder bis 50 und danach soll er wieder die Belohnung bekommen und die Belohnung sollte ich selber eintragen können in der quest und es soll auch angezeigt werden wie viele Mob/Metin ihm noch fehlt bis er 50 hat und die quest sollte immer erscheinen nach dem Login/Teleportieren etc ...
|
|
|
 |
|
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 17:37.
|
|