|
You last visited: Today at 14:12
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
02/26/2011, 17:20
|
#1546
|
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
|
@Dazden
1. Du hast bei den states das begin vergessen.
2. das pc_givitem2 gibs nicht, sondern pc.give_item2
3. bei SONVNUM hab ich die nummer eingetragen.
Habs dir angepasst.
Code:
quest adateforgemi begin
state run begin
when login with pc.level>=55 begin
set_state(information)
end
end
state information begin --State Information
when letter begin -- Wenn alle Quest Briefe aufgerufen werden.
send_letter("Bitte hilf mir!") -- Sende neuen Quest Brief "Bitte helft mir!"
end
when button or info begin
say_title("Bitte hilf mir!") -- Den Titel des Briefes sagen
----"12345678901234567890123456789012345678901234567890"|
say("Ich habe mich in einen Jungen verliebt.")
say("Sein Name ist Soon, ich traue mich nicht")
say("ihn anzusprechen. Kommt bitte zu mir")
say("ich werde euch auch reich belohnen.")
set_state(gotogemi) -- Wechsele den State zu gotogemei
end
end
state gotogemi begin
when letter begin
local v=find_npc_by_vnum(9003) -- mache v zu Gemi
if 0==v then -- Wenn keine Gemi gefunden wurde dann mach nichts
else
target.vid("__TARGET__", v, "Geh zur Gemi") -- setze die Gemi als neues Ziel
end
end
when letter begin
send_letter("Komm zu mir!")
end
when button or info begin
say_title("Kom zu mir!")
say("Geh zur Gemi")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say("Gemi :")
----"12345678901234567890123456789012345678901234567890"|
say("Ich habe mich in einen Jungen verliebt.")
say("Sein Name ist Soon, ich traue mich nicht")
say("ihn anzusprechen. Könntet ihr bitte zu Soon")
say("gehen und ihn für mich nach eine Date fragen?")
say("Ich würde euch reichlich belohnen.")
say("Bitte helft mir!")
say("")
local s = select("Ich helfe doch gerne","Nein, keine Zeit")
if s ==1 then
set_state(gotosoon)
else
say("Schade...")
say("")
clear_letter()
q.done()
end
end
end
state gotosoon begin
when letter begin
local v=find_npc_by_vnum(20023)
if 0==v then
else
target.vid("__TARGET__", v, "Geh zu Soon")
end
end
when letter begin
send_letter("Komm zu mir!")
end
when button or info begin
say_title("Geh zu Soon!")
say("Beweg dich zz Soon")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say("Gemi :")
----"12345678901234567890123456789012345678901234567890"|
say("Die Gemi will ein Date von mir?")
say("So ein zufall ich wollt grad zu ihr gehen.")
say("und sie nach einem Date fragen")
say("")
-- set_state(backtogemi)
end
end
state backtogemi begin
when letter begin
local v=find_npc_by_vnum(20023)
if 0==v then
else
target.vid("__TARGET__", v, "Geh zur Gemi")
end
end
when letter begin
send_letter("Geh zur Gemi!")
end
when button or info begin
say_title("Geh zur Gemi!")
say("Berichte der Gemi")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say("Gemi :")
----"12345678901234567890123456789012345678901234567890"|
say("Was?!")
say("Er will!!, Ich danke dir .")
say("Als belohnung gebe ich dir das Perd meines Vaters.")
say("")
say_reward("Die Gemi gibt dir Stein der Hast+4")
say_reward("Die Gemi gibt dir Militär-Pferdebuch")
pc.give_item2(28443)
pc.give_item2(50053)
pc.get_horse_level(21)
clear_letter()
set_state(__COMPLETE__)
end
end
state __COMPLETE__ begin
end
end
@~АLeЖ~
Ja fast,
Code:
-- Spendeninfo (aktivert über /e spenden 1)
quest pep begin
state start begin
when login with game.get_event_flag("spenden")== 1 begin
set_state(lesen)
send_letter("Spendeninfo")
end
end
state lesen begin
when button or info begin
say_reward("Geplante Wartungarbeit:")
say_title("Spendeninfo")
say("")
say("Ihr könnt dem Server eine kleine")
say("Spende zukommen lassen und dafür")
say("erhaltet ihr Coins. Damit könnt ihr")
say("Euch im Itemshop etwas kaufen!")
say("")
say_title("Coins pro Spende:")
say("")
say_reward("Hier seht ihr eine Liste wie viele")
say_reward("Coins ihr pro Spende bekommt.")
say("10 €: 150 Coins")
say("25 €: 400 Coins")
say("50 €: 900 Coins")
local i = select("ja habe ich", "Ja, und Später nochmal daran erinnern")
if 1 == i then
set_state( __COMPLETE__ )
end
if 2 == i then
return
end
end
end
state __COMPLETE__ begin
end
end
Best Regards,
Woody
|
|
|
02/26/2011, 17:22
|
#1547
|
elite*gold: 0
Join Date: Apr 2009
Posts: 1,439
Received Thanks: 668
|
Quote:
Originally Posted by Delta619
probiers mal so, habs nicht getestet
PHP Code:
quest player_kill begin state start begin when login with pc.get_level() == 1 begin pc.setqf("state", 0) set_state(killen) end end state killen begin when kill with npc.is_pc() begin local count = pc.getqf("state") + 1 chat( "Du hast "..pc.getqf("state").." Spieler besiegt.") end end end
|
Klappt leider nicht
Woody du weißt doch alles über quests. Warum gehts nicht ? xD
Er schreibt leider nicht im chat wie viele pvp kills man hat :/
|
|
|
02/26/2011, 17:27
|
#1548
|
elite*gold: 0
Join Date: Feb 2011
Posts: 210
Received Thanks: 44
|
Sieht nice aus, wenn ich mehr Zeit habe werde ich mal meine Quests abloaden, dabei ist vll auch eine Pferdezucker Quest, mal sehen wie ich es zeitlich schaffe und ob ich das hinbekomme, denke aber ja
|
|
|
02/26/2011, 17:33
|
#1549
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
PHP Code:
quest player_kill begin state start begin when login with pc.get_level() == 1 begin pc.setqf("state", 0) set_state(killen) end end state killen begin when kill with npc.is_pc() begin local count = pc.getqf("state") + 1 pc.setqf("state", count) chat( "Du hast "..pc.getqf("state").." Spieler besiegt.") end end end
-.-
|
|
|
02/26/2011, 17:33
|
#1550
|
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
|
@Delta, deine Quest hat noch kleinen fehler.. <.<
@bl4ckd3v1l
Nimm meine ;D
Code:
quest player_kill begin
state start begin
when login with pc.get_level() >= 15 begin
pc.setqf("state", 0)
set_state(killen)
end
end
state killen begin
when kill begin
if npc.is_pc() then
local count = pc.getqf("state") + 1
pc.setqf("state",count)
chat( "Du hast "..pc.getqf("state").." Spieler besiegt.")
end
end
end
end
meine Funzt zu 100%
|
|
|
02/26/2011, 17:46
|
#1551
|
elite*gold: 0
Join Date: Apr 2009
Posts: 1,439
Received Thanks: 668
|
Quote:
Originally Posted by Woody°
@Delta, deine Quest hat noch kleinen fehler.. <.<
@bl4ckd3v1l
Nimm meine ;D
Code:
quest player_kill begin
state start begin
when login with pc.get_level() >= 15 begin
pc.setqf("state", 0)
set_state(killen)
end
end
state killen begin
when kill begin
if npc.is_pc() then
local count = pc.getqf("state") + 1
pc.setqf("state",count)
chat( "Du hast "..pc.getqf("state").." Spieler besiegt.")
end
end
end
end
meine Funzt zu 100%
|
leider nicht xD
Er zeigts nicht im Chat an :/
|
|
|
02/26/2011, 17:49
|
#1552
|
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
|
Dann hast du was Falsch, bei mir funktioniert es.
Du musst min lvl 15 sein.
|
|
|
02/26/2011, 18:06
|
#1553
|
elite*gold: 0
Join Date: Apr 2009
Posts: 1,439
Received Thanks: 668
|
Quote:
Originally Posted by Woody°
Dann hast du was Falsch, bei mir funktioniert es.
Du musst min lvl 15 sein.
|
€: Klappt jetzt.
Wenn du Zeit hast Woody, könntest du mir ne Quest schreiben die nach einem Spieler per Questfunktion sucht und dann anzeigt wie viele Kills der Spieler hat ?
Währe super.
|
|
|
02/26/2011, 20:27
|
#1554
|
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
|
Quote:
Originally Posted by bl4ckd3v1l
€: Klappt jetzt.
Wenn du Zeit hast Woody, könntest du mir ne Quest schreiben die nach einem Spieler per Questfunktion sucht und dann anzeigt wie viele Kills der Spieler hat ?
Währe super.
|
Nein.
Ich muss für mich selbr Quests schreiben und sitze gerade an den Bio quests ^.^
Versuch du erstmal selber, wenn echt nicht weiterkommst, kannst ja immer noch posten.
|
|
|
02/27/2011, 19:23
|
#1555
|
elite*gold: 0
Join Date: Apr 2009
Posts: 63
Received Thanks: 8
|
hi,
hab eine quest da verwandelt man sich in wilden ergebenen und bekommt + 3000 angriffswert.
PHP-Code:
Quote:
quest vwk3 begin
state start begin
when 71124.use begin
affect.remove_collect()
pc.polymorph(502, 600)
affect.add_collect(apply.ATT_GRADE_BONUS,3000,600)
end
when kill begin
if npc.is_pc() then
affect.remove_collect(apply.ATT_GRADE_BONUS,3000,6 00)
affect.remove_collect()
end
end
end
end
|
Mit dem unteren Teil wollte ich eignlich, falls man gekillt wird, dass der angriffswert weg ist. geht leider nicht. also lässt man sich killn und dann trotzdem imba Angriff...
Weiß einer wie ich des wegbekomm wenn man gekillt wird?
Habs auch mit einer extra quest probiert also den unteren Teil als eine eigene quest genommen ging abba alles nicht... mfG
|
|
|
02/27/2011, 22:30
|
#1556
|
elite*gold: 15
Join Date: Mar 2010
Posts: 4,269
Received Thanks: 2,499
|
Wir das funktionieren oder war ich wieder zu blöd ?
PHP Code:
-- Gewinnspiel (aktivert über /e gewinnspiel1 1) quest pep begin state start begin when login with game.get_event_flag("gewinnspiel1")== 1 begin set_state(gewinnspiel1) send_letter("Gewinnspiel") end end state gewinnspiel1 begin when button or info begin say_title("Gewinnspiel") say("Es naht der 1. Monat wo Future World3 online ist") say("damit es nicht gerade langweilig werden soll") say("hatt das Team eini Gewinnspiel auf der Homepage hinterlassen,") say("was dir tolle Items verschaft beim Gewinn.") say("") say_reward("Wähle eine Aufgabe!") local s = select("Wie funkioniert das?","Ich will mein Gewinn abholen","Ich habe noch keinen Code") if s == 3 then send_letter("Gewinnspiel") return end if s == 1 then say_title("Gewinnspiel") say("Soso..du möchest also Erfahren, wie das ") say("ganze Funktioniert! Also..zuerst musst du auf") say_reward("http://Gewinnspiel.FutureWorld3.eu") say("Und löse das Spiel.") say("Wen du mit den Spiel fertig bist bekommst du ein Code.") say("den kannt du in dieser Questrolle eingeben") say("und ein tolles Item bekommen") wait() send_letter("Gewinnspiel") return end if s == 2 then say_title("Gewinnspiel") say("Nungut, du hast also einen Code für den") say("aktuellen Monat..") say("") say_reward("Gebe den Code ein:") local string = input() if string <= 4 then say_title("Gewinnspiel") say_reward("Der Code ist zu kurz.") send_letter("Gewinnspiel") return end if string >= 10 then say_title("Gewinnspiel") say_reward("Der Code ist zu lang.") send_letter("Gewinnspiel") return end if string == "deine_mudda" then say_title("Gewinnspiel") say_reward("Du hast den Code erfolgreich eingegeben!") say("") say("F") say("") say("Für diesen Monat erhällst du:") say_item_vnum(142) pc.setqf("erstergewinn",1) wait() send_letter("Gewinnspiel") return end say_title("Gewinnspiel") say_reward("Dieser Code wurde von dir bereits") say_reward("eingegeben oder er war falsch!") end end end end
|
|
|
02/28/2011, 01:41
|
#1557
|
elite*gold: 0
Join Date: Apr 2009
Posts: 47
Received Thanks: 2
|
Halo
Warum ist diese Quest nicht funktioniert?
Warp funktioniert nicht.
PHP Code:
---------------------------------- -- Tutorial ---------------------------------- quest main_quest_lv1 begin state start begin when login or levelup with pc.get_level() == 1 begin local pohlavi = pc.get_sex() local rise = pc.getempire() set_state(teleport) end end state teleport begin when pc.getcurrentmapindex != 200 begin pc.warp(832,0) set_state(uvod) end end state uvod begin when pc.getcurrentmapindex == 200 begin say_title("Vítej na serveru MT2Supreme!") say("---------------------------") if pohlavi == 0 then say("Ještě než začneš hrát, by sis měla") else say("Ještě než začneš hrát, by sis měl") end say("přečíst pravidla hry a kdo pro tebe") say("tento server přichystal.") say(" ") wait() say("Máš zájem? Dostaneš za to odměnu!") local precist_pravidla = select("Tak dobře","Ne, díky") if precist_pravidla == 1 then say_title("Pravidla hry:") say("1. Chovej se tady slušně, nekaz hru jiným hráčům.") say("2. Neotravuj zbytečně Game Mastery.") say("3. Za používání hacků a botů jsou přísné tresty.") say("4. Jakékoliv zneužívání pravidel ohlas na webu.") say("5. Uzij si hru :)") say(" ") say("Web hry - http://mt2supreme.jecool.net") wait() say_title("Na serveru se podíleli:") say("ADMIN, TVŮRCE MT2SUPREME") say(" lekiller") say(" ") say("VÝPOMOC") say(" 93jakub93") wait() if pohlavi == 0 then say("Za to, že sis tohle vše přečetla,") else say("Za to, že sis tohle vše přečetl,") end say("dostaneš 20.000 Yang.") say(" ") pc.change_money(20000) if pohlavi == 0 then say_reward("Obdržela jsi 20.000 Yangů.") else say_reward("Obdržel jsi 20.000 Yangů.") end else say("Tak ne, no. Jak chceš.") say("Ale i tak budeš potřebovat trochu yang.") say("5.000 yang ti bude ze začátku stačit.") say(" ") if pohlavi == 0 then say_reward("Obdržela jsi 5.000 Yangů.") else say_reward("Obdržel jsi 5.000 Yangů.") end end wait() say("Yangy jsou zdejším platidlem.") say("Můžeš je získat z příšer nebo za plnění úkolů.") say("Pak je můžeš utratit za vybavení...") say(" ") say("Ale dost řečí!") if rise == 1 then say("Vůdce vojenských sil říše Shinsoo shání") elseif rise == 2 then say("Vůdce vojenských sil říše Chunjo shání") else say("Vůdce vojenských sil říše Jinno shání") end if pohlavi == 0 then say("do svých řad všechny bojeschopné muže a") say("hlavně vnadné ženy!") else say("do svých řad všechny bojeschopné lidi!") say("Hlavně silné muže!") end wait() say("Proto běž a promluv si s ním.") say("Najdeš ho, když půjdeš po schodech nahoru.") say("Všichni mu říkáme Velitel.") say(" ") say_reward("Hezkou zábavu při hraní ti přeje celý") say_reward("MT2Supreme tým.") set_state(velitel_1) end end state velitel_1 begin when letter begin local v = find_npc_by_vnum(20355) target.vid("__TARGET__", v, "Jdi za Velitelem") send_letter("Jdi za Velitelem") end when button or info begin say_title("Jdi za Velitelem") say(" ") if pohlavi == 0 then say("Aby ses stala bojovnicí za svou říši,") else say("Aby ses stal bojovníkem za svou říši") end say("Musíš navštívit Velitele.") say("Najdeš ho podle minimapy.") say("Je to ta blikající značka.") end when __TARGET__.target.click begin target.delete("__TARGET__") say_title("Velitel") say(" ") say("Ahoj!") say("Vítej ve výcvikovém středisku, kde") say("připravujeme všechny vojáky a bojovnice") say("na tvrdý válečný život a boj za svou říši.") wait() if pohlavi == 0 then say("Přišla jsi za mnou, protože chceš bojovat") else say("Přišel jsi za mnou, protože chceš bojovat") end if rise == 1 then say("za naši říší - SHINSOO!") elseif rise == 2 then say("za naši říši - CHUNJO!") else say("za naši říši - JINNO!") end say("A jako takový dík, ode mě teď dostaneš") say("základní kapitál - 50.000 Yang.") say(" ") pc.change_money(50000) if pohlavi == 0 then say_reward("Obdržela jsi 50.000 Yangů.") else say_reward("Obdržel jsi 50.000 Yangů.") end wait() say("Za tyto prostředky si nyní pořídíš") say("základní vybavení pro boj a pustíš se do") say("tvrdého tréninku.") say(" ") say("Nyní běž za obchodníky a řekni jim, že") say("tě za nimi posílám, dají ti slevněné sady") if pohlavi == 0 then say("pro nové bojovnice.") else say("pro nové bojovníky.") end wait() say("Najdeš je podle mini-mapy tak,") if pohlavi == 0 then say("jako jsi našla mě.") else say("jako jsi našel mě.") end say("Až budeš mít vybavení, vrať se") say("za mnou. Řeknu ti co dál.") say("Nyní běž za obchodnicí smíš. zboží.") clear_letter() set_state(obchodnik_1) end end state obchodnik_1 begin when letter begin local f = find_npc_by_vnum(9003) target.vid("__TARGET2__", f, "Jdi za Obchodnicí") send_letter("Jdi za Obchodnicí") end when button or info begin say_title("Jdi za Obchodnicí") say(" ") say("Jdi za obchodnicí smíš. zboží") say("a nakup si u ní základní vybavení") say("za peníze, které ti dal Velitel.") say(" ") say("Najdeš ji podle mini-mapy.") end when __TARGET2__.target.click begin target.delete("__TARGET2__") say_title("Obchodnice smíš. zboží") say(" ") say("Ahoj! Co potřebuješ?") say("Aha! Tebe posílá Velitel!") say("Tak to si určitě jdeš pro zlevněné") say("vybavení!") wait() say("Dodělat - i že pokud nemá yangy...") clear_letter() set_state(__COMPLETE__) end end end
|
|
|
02/28/2011, 12:04
|
#1558
|
elite*gold: 0
Join Date: Jan 2009
Posts: 90
Received Thanks: 6
|
Hallo Leute ich will eine Quest einbauen unzwar eine Teleporter den ich immer mit habe in einer Questrolle ?!
könnte jmd drüberschauen und gucken ob da was Falsch ist ?
weil sie nicht geht :/
mfg rbery11
PS : kriegt ein Dickes THX
PHP Code:
state start begin when login begin send_letter("Teleportieren") end if main_set == 2 then say("Du willst dich also Teleportieren?") say("") local j = select("Ja","Nein") if j == 2 then return end if j == 1 then say_reward("Wo möchtest du hin:") local k = select("Map1-Rot","Map1-Blau","Map1-Gelb","Nirgens") if k == 4 then return end if k == 1 then pc.warp(469300, 964200) end if k == 2 then pc.warp(969600, 278400) end if k == 3 then pc.warp (55700, 157900) end end end
|
|
|
02/28/2011, 12:15
|
#1559
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Hab dich nicht vergessen keine Angst
Hatte gestern nur nicht viel Zeit, sry dafür
|
|
|
02/28/2011, 17:37
|
#1560
|
elite*gold: 150
Join Date: Nov 2009
Posts: 164
Received Thanks: 14
|
Hey, wenn ich meine Quest einfüge dann kommt folgenenes im VPC :
giftplattenpanzer.quest wird umgewandelt
assertion failure : nested ==00
Abort trap (core dumped)
wird umgewandelt
wird umgewandelt
Mcncc#
Okay und hier die Quest:
PHP Code:
quest giftplattenpanzer begin state start begin when 30224.use begin say_title("Giftplattenpanzer") say("Um dir diese Waffe zuerstellen,") say("brauchst du folgende Items:") say("") say_reward("1x Schwarzstahlplattenpanzer+9, 2x Weiße Perle,") say_reward("2x Blaue Perle, 2x Rote Perle,") say_reward("3x Wassersteine") say("") say_reward("Möchtest du dieses Item erstellen?") local s = select("Ja","Nein") if s == 2 then return end if s == 1 then if pc.count_item(27992) < 2 then say_title("Giftplattenpanzer") say_reward("Du hast keine zwei weißen Perlen!") return end if pc.count_item(27993) < 2 then say_title("Giftplattenpanzer") say_reward("Du hast keine zwei blauen Perlen!") return end if pc.count_item(27994) < 2 then say_title("Giftplattenpanzer") say_reward("Du hast keine zwei roten Perlen!") return end if pc.count_item(90005) < 3 then say_title("Giftplattenpanzer") say_reward("Du hast keine drei Wassersteine!") return end if pc.count_item(11299) < 1 then say_title("Giftplattenpanzer") say_reward("Du hast kein Schwarzstahlplattenpanzer+9!") return end pc.remove_item(27992,2) pc.remove_item(27993,2) pc.remove_item(27994,2) pc.remove_item(90005,3) pc.remove_item(11299,1) item.remove() pc.give_item2(42020,1) say_title("Giftplattenpanzer") say_reward("Du hast erfolgreich hergestellt:") say_item_vnum(42020) end end
|
|
|
All times are GMT +2. The time now is 14:12.
|
|