|
You last visited: Today at 04:14
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
03/12/2012, 21:00
|
#5071
|
elite*gold: 0
Join Date: Feb 2012
Posts: 425
Received Thanks: 108
|
Bevor ich die neue Pvpkill quest teste, wollte ich kurz noch nen kleines problem lösen, also ich will der starterquest befehle einfügen, so dass wenn man sich einloggt automatisch alle drachengottitems besitzt und kritischer und durchbohrender treffer, aber habe wiedermal keine ahnung wo ich das einfügen muss und wie der befehl selbst heißt. tut mir echt leid
PHP Code:
quest willkommen begin
state start begin
when login begin
if pc.getqf("start") == 0 then
pc.setqf("start", 1)
say_title("DeineMudda")
say("Herzlich Willkommen auf DeineMudda!")
say("Hier kannst du deinen eigenen")
say("Style designen!")
say("Wir wünschen dir noch Viel Spaß!")
pc.give_item2 ("27003", 200)
pc.give_item2 ("27003", 200)
pc.give_item2 ("27003", 200)
pc.give_item2 ("27003", 200)
pc.give_item2 ("27003", 200)
pc.give_item2 ("27006", 200)
pc.give_item2 ("27006", 200)
pc.give_item2 ("71050", 200)
pc.give_item2 ("72702", 1)
pc.give_item2 ("50053", 1)
pc.give_item2 ("70044", 1)
pc.give_item2 ("70045", 1)
pc.change_money ( 1000000 )
horse.set_level(21)
say_reward("1000 Rote Potts erhalten.")
say_reward("400 Blaue Potts erhalten")
say_reward("200 Violette Potts erhalten.")
say_reward("Windschuhe+ erhalten.")
say_reward("Reittieritem erhalten.")
say_reward("Reittieritem2 erhalten.")
clear_letter()
end
end
end
end
Ich weiß es müsste bei pc.give_item2 sein da zwischen glaube ich bin mir aber nicht sicher. pls help, also alle drachengottitems und die 2 trefferpotts da
|
|
|
03/12/2012, 21:01
|
#5072
|
elite*gold: 0
Join Date: Dec 2009
Posts: 105
Received Thanks: 30
|
Quote:
Originally Posted by RealMadrid94rk
Was heißt login or enter?
Enter habe ich noch nie gehört, habs also mal rausgelassen.
Du hattest pc.get_map_index falsch gesetzt und das gleichheitszeichen vergessen. Jetzt sehe ich aber keine Fehler mehr
PHP Code:
quest anfang begin
state start begin
when login with pc.get_map_index() == 205 begin
say_title("Willkommen bei lwmt2")
say("Stuerze dich auf die Spannenden")
say("Abenteuer in dieser")
say("unerforschten Welt")
say("")
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt")
say_reward("zurueck zu teleportieren")
say_reward("Teleportieren kannst du dich beim alten Mann")
end
end
end
|
Enter hab ich in einer anderen quest gesehen, es geht aber immernoch nicht selber Fehler...
|
|
|
03/12/2012, 22:13
|
#5073
|
elite*gold: 26
Join Date: Aug 2009
Posts: 107
Received Thanks: 62
|
PHP Code:
quest willkommen begin state start begin when login begin if pc.getqf("start") == 0 then pc.setqf("start", 1) say_title("DeineMudda") say("Herzlich Willkommen auf DeineMudda!") say("Hier kannst du deinen eigenen") say("Style designen!") say("Wir wünschen dir noch Viel Spaß!") pc.give_item2 (27003, 200) pc.give_item2 (27003, 200) pc.give_item2 (27003, 200) pc.give_item2 (27003, 200) pc.give_item2 (27003, 200) pc.give_item2 (27006, 200) pc.give_item2 (27006, 200) pc.give_item2 (71050, 200) pc.give_item2 (72702, 1) pc.give_item2 (50053, 1) pc.give_item2 (70044, 1) pc.give_item2 (70045, 1) pc.give_item2 (xxxx, x) pc.give_item2 (xxxx, x) pc.change_money ( 1000000 ) horse.set_level(21) say_reward("1000 Rote Potts erhalten.") say_reward("400 Blaue Potts erhalten") say_reward("200 Violette Potts erhalten.") say_reward("you have xx item") say_reward("Windschuhe+ erhalten.") say_reward("Reittieritem erhalten.") say_reward("Reittieritem2 erhalten.") clear_letter() end end end end
just add
PHP Code:
pc.give_item2 (item_vnum, amount)
|
|
|
03/12/2012, 22:40
|
#5074
|
elite*gold: 0
Join Date: Mar 2012
Posts: 130
Received Thanks: 42
|
Quote:
Originally Posted by warrockplayer4
@Shiraka™
Ich glaube Kampfgaul Quest ist falsch, da er nur den Button klciken muss und er hat es
Ich glaube, da wird nicht geprüft ob er überhaupt so viel Yang hat...
|
wie würde ich das lösen? also wo müsst die abfrage rein & wie stell ich so ne abfrage?
hier nochmal die quest für die die nich zurück blättern wollen:
PHP Code:
quest kampfgaul begin
state start begin
when 70004.use begin
say_title("Kampfpferd")
say("Du möchtest also ein Kampfpferd?")
say("Ich kann dir eins geben, aber")
say("das wird dich was kosten...")
say("")
say("Es kostet dich 25kk")
say("Möchtest du ein Kampfpferd kaufen?")
local s=select("Ja!, Nein!")
if s==1 then
horse_set_level("11")
pc.give_item2(50052, 1)
pc.change_money(-25000000)
say("Herzlichen Glückwunsch!")
say("Du hast ein Waffenpferdebuch,")
say("und dein Kampfpferd erhalten!")
pc.remove_item("70004, 1")
elseif s==2 then
say("Ok, dann nicht")
end
end
end
end
|
|
|
03/12/2012, 23:06
|
#5075
|
elite*gold: 26
Join Date: Aug 2009
Posts: 107
Received Thanks: 62
|
PHP Code:
local s=select("Ja!", "Nein!")
PHP Code:
local s=select("Ja!, Nein!")
here its the error xD
if you can, test it:
PHP Code:
quest kampfgaul begin state start begin when 70004.use begin if pc.get_gold() < 25000000 then say("You Need 25kk!") end if pc.get_gold() > 25000000 then say_title("Kampfpferd") say("Du möchtest also ein Kampfpferd?") say("Ich kann dir eins geben, aber") say("das wird dich was kosten...") say("") say("Es kostet dich 25kk") say("Möchtest du ein Kampfpferd kaufen?") local s=select("Ja!", "Nein!") if s==1 then horse_set_level("11") pc.give_item2(50052, 1) pc.change_money(-25000000) say("Herzlichen Glückwunsch!") say("Du hast ein Waffenpferdebuch,") say("und dein Kampfpferd erhalten!") pc.remove_item("70004, 1") elseif s==2 then say("Ok, dann nicht") end end end end end
|
|
|
03/13/2012, 08:02
|
#5076
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
write >=25*10^6, not only > 25*10^6
only for the case..
|
|
|
03/13/2012, 14:40
|
#5077
|
elite*gold: 0
Join Date: Mar 2012
Posts: 130
Received Thanks: 42
|
Quote:
Originally Posted by collado
PHP Code:
local s=select("Ja!", "Nein!")
PHP Code:
local s=select("Ja!, Nein!")
here its the error xD
if you can, test it:
PHP Code:
quest kampfgaul begin
state start begin
when 70004.use begin
if pc.get_gold() < 25000000 then
say("You Need 25kk!")
end
if pc.get_gold() > 25000000 then
say_title("Kampfpferd")
say("Du möchtest also ein Kampfpferd?")
say("Ich kann dir eins geben, aber")
say("das wird dich was kosten...")
say("")
say("Es kostet dich 25kk")
say("Möchtest du ein Kampfpferd kaufen?")
local s=select("Ja!", "Nein!")
if s==1 then
horse_set_level("11")
pc.give_item2(50052, 1)
pc.change_money(-25000000)
say("Herzlichen Glückwunsch!")
say("Du hast ein Waffenpferdebuch,")
say("und dein Kampfpferd erhalten!")
pc.remove_item("70004, 1")
elseif s==2 then
say("Ok, dann nicht")
end
end
end
end
end
|
thanks, i cant test it now. but i think it's good, but 1 mistake. i would, that when you click on the item and select "Ja/Yes", the item say's "You need 25kk". so i have do this:
PHP Code:
quest kampfgaul begin
state start begin
when 70004.use begin
say_title("Kampfpferd")
say("Du möchtest also ein Kampfpferd?")
say("Ich kann dir eins geben, aber")
say("das wird dich was kosten...")
say("")
say("Es kostet dich 25kk")
say("Möchtest du ein Kampfpferd kaufen?")
local s=select("Ja!, Nein!")
if s==1 then
horse_set_level("11")
pc.give_item2(50052, 1)
pc.change_money(-25000000)
say("Herzlichen Glückwunsch!")
say("Du hast ein Waffenpferdebuch,")
say("und dein Kampfpferd erhalten!")
pc.remove_item("70004, 1")
elseif pc.get_gold() < 25000000 then
say("Du brauchst 25kk!")
end
elseif s==2 then
say("Ok, dann nicht")
end
end
end
end
end
thats right?
|
|
|
03/13/2012, 14:51
|
#5078
|
elite*gold: 0
Join Date: Feb 2012
Posts: 425
Received Thanks: 108
|
Quote:
Originally Posted by RealMadrid94rk
Hier auch noch, dass wenn man gekillt wurde, der counter wieder von vorne anfängt. Schau mal obs es so klappt, bin mir nicht sicher.
PHP Code:
quest pvpkill begin
state start begin
when login with pc.level >= 200 begin
set_state(player_kill1)
end
end
state player_kill1 begin
when letter begin
send_letter("Töte Gegner.")
end
when button or info begin
say("Es wird Zeit dass du zeigst")
say("was in dir steckt!")
say("Zeige es uns indem du 100")
say("Spieler tötest!")
say_reward("Töte 100 andere Spieler aus anderen Reichen!")
say("")
pc.setqf("state", 100)
q.set_counter("kills", 100)
set_state (kill)
end
end
state kill begin
when letter begin
send_letter("Töte Spieler")
end
when button or info begin
say_title("Spieler:")
say_reward( "Du musst noch ".." "..pc.getqf("state").." von 100 töten.")
say("")
end
when pc.is_dead() begin
pc.setqf("state", 100)
q.set_counter("kills", 100)
end
when kill begin
if npc.is_pc() then
local count = pc.getqf("state") - 1
if count <= 100 then
pc.setqf("state", count)
q.set_counter("kills", -count)
end
if count == 90 then
mob.spawn(vnum, x, y, 10, 10, anzahl)
end
if count == 0 then
say_title("Du hast es geschafft!")
say("100 Spieler zu töten!")
say("Du erhälst für deine Mühen:")
say_reward("1x Notiz des Weisen")
say_reward("Herzlichen Glückwunsch!")
pc.give_item2(70028, 1)
notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!")
notice_all("Er/Sie hat 100 Spieler getötet, Glückwunsch!")
clear_letter()
set_state(__COMPLETE__)
end
end
end
end
state __COMPLETE__ begin
end
end
|
Habe es gerade getestet, und nein es kommt eine fehlermeldung in vbox:
WHEN : pc.is_dead
when does´t have begin-end clause. (()
pvpkill.quest:31:Error occured on compile pvpkill.quest
was muss ich jetz machen?!
|
|
|
03/13/2012, 15:09
|
#5079
|
elite*gold: 10
Join Date: Feb 2012
Posts: 1,097
Received Thanks: 574
|
hey hab ne frage wegen halbmondring bzw lolli quest,
würde das so funktionieren
PHP Code:
quest buffs begin
state start begin
when 71135.use begin
cmdchat("buff1")
affect.add(EXP_DOUBLE_BONUS,50)
affect.add(ATT_SPEED,20)
affect.add(CAST_SPEED,20)
affect.add(ATT_BONUS_TO_MONSTER,30)
affect.add(MAX_HP,1500)
affect.add(MAX_SP,500)
end
when 71135.use end
affect.remove(EXP_DOUBLE_BONUS,50)
affect.remove(ATT_SPEED,20)
affect.remove(CAST_SPEED,20)
affect.remove(ATT_BONUS_TO_MONSTER,30)
affect.remove(MAX_HP,1500)
affect.revmove(MAX_SP,500)
end
end
end
|
|
|
03/13/2012, 16:10
|
#5080
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
PHP Code:
when pc.is_dead() begin
pc.setqf("state", 100)
q.set_counter("kills", 100)
end
Rofl
ich lach mich innerlich immer iweder Schlapp
Wo habt ihr das aufgeschnappt? xD
es gibt nur folgendes, was nach when stehen kann:
login leave logout letter button kill timer info click chat (und noch ein paar^^)
die Abfrage, is_dead, kannst du höchstens im WITH bereich machen..
when bla with pc.is_dead() begin
Zumindest wär mir alles andres neu
|
|
|
03/13/2012, 16:14
|
#5081
|
elite*gold: 0
Join Date: Feb 2012
Posts: 425
Received Thanks: 108
|
Quote:
Originally Posted by Mijago
PHP Code:
when pc.is_dead() begin
pc.setqf("state", 100)
q.set_counter("kills", 100)
end
Rofl
ich lach mich innerlich immer iweder Schlapp
Wo habt ihr das aufgeschnappt? xD
es gibt nur folgendes, was nach when stehen kann:
login leave logout letter button kill timer info click chat (und noch ein paar^^)
die Abfrage, is_dead, kannst du höchstens im WITH bereich machen..
when bla with pc.is_dead() begin
Zumindest wär mir alles andres neu 
|
Also wie würde sie jetzt richtig aussehen?!
|
|
|
03/13/2012, 16:20
|
#5082
|
elite*gold: 0
Join Date: May 2010
Posts: 64
Received Thanks: 1
|
Code:
quest questname begin
state start begin
when pc.get_item 40015 begin
set_state( killmonster )
end
end
state killmonster begin
when letter begin
send_letter("Töte Baumfroch General!")
pc.setqf("state", 0)
q.set_counter("Verbleibend",50)
end
when info or button begin
say_title("Töte 50 Baumfroch General!")
say_reward( "Es fehlen noch ".." "..50 - pc.getqf("state").." Baumfroch General .")
say("")
end
when 1335.kill begin
local count = pc.getqf("state") + 1
if count <= 50 then
pc.setqf("state", count)
q.set_counter("Verbleibend", 50 - count)
if count == 50 then
say_title("Aufgabe abgeschlossen")
say("Alle 50 Baumfroch General wurden vernichtet.")
say("Du bist nun ein Lehrling")
say("Gehe zu Uriel um die nächste Ausbildung zu beginnen")
say("Jedoch erhalte erst deine Belohnung :")
say_reward("1x Holz-Spitzhacke +1")
pc.remove_item(40015,1)
pc.give_item2(40016,1)
set_state( __COMPLETE__ )
end
end
end
end
state __COMPLETE__ begin
end
end
Der Fehler liegt denke ich an dem Ereignis wann die Quest anfängt ^^
Sie soll beginnen wenn man ein bestimmtes Item hat.
Danke
|
|
|
03/13/2012, 16:25
|
#5083
|
elite*gold: 0
Join Date: Jul 2011
Posts: 501
Received Thanks: 110
|
@miogo oder wie auch immer: wenn du kA. vom questen hast dann lass es lieber. die quest funktioniert so wie ich es geschrieben habe punkt aus ende....
|
|
|
03/13/2012, 16:41
|
#5084
|
elite*gold: 0
Join Date: Oct 2010
Posts: 107
Received Thanks: 11
|
Hallo,
Ich habe ein Problem wenn ich bei den daroo 1678 files den befehl "m2 qc" eingebe kommt am ende diese fehlermeldung :
PHP Code:
QUEST : blutstein STATE : start WHEN: 20095.chat ("Blutsteine") must start with 'quest' in_die_grotte.quest:35:Error occured on compile in_die_grotte.quest
EDIT: hier die quest:
PHP Code:
quest quest_in_die_grotte begin state start begin when 20095.chat."blutsteine" begin local delay = 86400 say_title("Seon-Hae") if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then local zeit = delay - (get_global_time() - pc.getqf("time")) say("Du kannst dir noch keinen neuen Blutstein holen!") say("Du musst noch "..zeit.." Sekunden warten!") return end if pc.get_level() < 75 then say("Du bist zu schwach um dir einen Blutstein zu verdienen!") say_reward("Komm wieder wenn du Level 75 erreicht hast!") return end say("Hallo!") say("Möchtest du dir einen Blutstein verdienen?") say("Ich warne dich!") say("Es ist keine leichte Aufgabe!") say("Willst du beginnen?") local s= select("Auf gehts!","Nein danke") if s==1 then say_title("Seon-Hae") say("Nungut!") say("Hier du bekommst jetzt eine Träne") else say_title("Seon-Hae") say("Eine gute Entscheidung!") say("Auf Wiedersehn") end end end end when 20095.chat."Ich habe alles besorgt!" begin say_title("Seon-Hae") say("So du kriegst jetzt die Träne") pc.give_item2(30189,1) say_title("Seon-Hae") say("So") say("Hier hast du Tränen von Baljit-Elvedi") say("Gehe nun in den roten Wald") say("Und suche die geheimnisvolle Stimme!") say("Sie wird dir die Tränen zu einem Blutstropfen machen!") setstate(blut) else say_title("Seon-Hae") say("Du hast nicht alle benötigten Items!") end end end state blut begin when letter begin send_letter("Suche die Stimme") träne = { { 195, 211}, { 326, 302}, { 527, 90}, { 616, 257}, { 702, 262}, { 674, 38}, } local r2 = number(1,6) target.pos("trane", träne[r2][1], träne[r2][2], 68, "") end when info or button begin say_title("Suche die Stimme") say("Suche die geheimnisvolle Stimme im roten Wald!") end when trane.target.arrive begin target.delete("träne") say("Sei gegrüßt!") say("Ich bin die geheimnisvolle Stimme...") wait() if pc.count_item(30189) >0 then pc.remove_item(30189,1) pc.give_item2(30187,1) say_title("Geheimnissvolle Stimme") say("Ich mache die Tränen von Baljit-Elvedi") say("zu einem Blutstropfen") say("...") say("Hier bitte ein Blutstropfen!") say_reward("Blutstropfen erhalten!") setstate(stein) else say_title("Geheimnissvolle Stimme") say("Du hast die Träne nicht bei dir!") say("Komm wieder wenn du sie gefunden hast...") träne = { { 195, 211}, { 326, 302}, { 527, 90}, { 616, 257}, { 702, 262}, { 674, 38}, } local r2 = number(1,6) target.pos("träne", träne[r2][1], träne[r2][2], 68, "") end end end state stein begin when letter begin send_letter("Zurück zu Seon Hae") end when button or info begin say_title("Zurück zu Seon Hae") say("Gehe zu Seon Hae zurück und gib") say("ihm den Blutstropfen!") say() end when 20095.chat."Ich habe den Blutstropfen!" begin if pc.count_item(30187) <= 0 then say_title("Seon-Hae") say("Du besitzt keinen Blutstropfen") else pc.remove_item(30187,1) pc.give_item2(30190,1) say_title("Seon-Hae") say("Gut gemacht!") say("Hier hast du den Blutstein!") say("Du hast ihn dir verdient!") say_reward("Blutstein erhalten") clear_letter() pc.setqf("time",get_global_time()) setstate(start) end end end end
|
|
|
03/13/2012, 16:50
|
#5085
|
elite*gold: 0
Join Date: Mar 2012
Posts: 130
Received Thanks: 42
|
@sonic: soweit ich jetzt sehe heißt deine datei "in_die_grotte.quest". muss der dateityp nicht lua sein ? oO also zb in_die_grotte.lua & dann in der quest_list bzw hongkong_list auch eingetragen sein
|
|
|
All times are GMT +1. The time now is 04:16.
|
|