|
You last visited: Today at 03:30
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
05/10/2015, 17:32
|
#11506
|
elite*gold: 0
Join Date: Feb 2015
Posts: 5
Received Thanks: 0
|
Danke für deine Hilfe. Ich werde jetzt die Quest nachschreiben, sodass ich meinen Fehler "verbessern" kann. Schönen Tag und danke nochmals für die Hilfe!
|
|
|
05/10/2015, 20:03
|
#11507
|
elite*gold: 0
Join Date: Oct 2011
Posts: 66
Received Thanks: 8
|
Keiner eine Lösung :/
|
|
|
05/10/2015, 22:28
|
#11508
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by 99nos1234
Keiner eine Lösung :/
|
Welches Problem?
|
|
|
05/11/2015, 11:12
|
#11509
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by DYSKaito
Welches Problem?
|
Dieses Problem:
Quote:
Originally Posted by 99nos1234
Hallo Liebe Com
Hätte einer Evtl eine lösung für mich wie ich diesen fehler beheben könnte ??
Error occured on compile quest
arena_manager.quest
Aber wenn ich diese quest lösche kommt der fehler bei der nächsten quest da ich nichts brauchbares gefunden habe in der SuFu oder bei google Frage ich Einfach mal euch Währe nett wenn ihr mir da Weiter helfen könntet
Mfg 99nos1234
|
|
|
|
05/11/2015, 11:29
|
#11510
|
elite*gold: 26
Join Date: May 2010
Posts: 865
Received Thanks: 767
|
Hey,
habe ein Problem bei meiner Antiexp Quest. Und zwar tut sie genau das was sie nicht tun soll. Wenn man exp hat und diesen aktiviert , kriegt man komischer Weise 2 Million Exp dazu. Also sie gibt Exp und verhindert nicht das geben.
Hier die Quest:
PHP Code:
if pc.getqf("safe_exp") == 0 and pc.getqf("anti_exp") == 0 then
pc.setqf("safe_exp", pc.get_exp())
else
pc.give_exp2(pc.getqf("safe_exp"))
pc.setqf("safe_exp", 0)
end
pc.setqf("anti_exp", (pc.getqf("anti_exp") > 0 and pc.getqf("anti_exp")-pc.getqf("anti_exp") or 1))
chat("Erhalten von Erfahrung "..({"aktiviert","deaktiviert"})[pc.getqf("anti_exp")+1]..".")
end
when kill with not npc.is_pc() and pc.getqf("anti_exp") > 0 begin
pc.give_exp2(-pc.get_exp())
|
|
|
05/11/2015, 13:16
|
#11511
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by Dr.Sonii#
Hey,
habe ein Problem bei meiner Antiexp Quest. Und zwar tut sie genau das was sie nicht tun soll. Wenn man exp hat und diesen aktiviert , kriegt man komischer Weise 2 Million Exp dazu. Also sie gibt Exp und verhindert nicht das geben.
Hier die Quest:
PHP Code:
if pc.getqf("safe_exp") == 0 and pc.getqf("anti_exp") == 0 then
pc.setqf("safe_exp", pc.get_exp())
else
pc.give_exp2(pc.getqf("safe_exp"))
pc.setqf("safe_exp", 0)
end
pc.setqf("anti_exp", (pc.getqf("anti_exp") > 0 and pc.getqf("anti_exp")-pc.getqf("anti_exp") or 1))
chat("Erhalten von Erfahrung "..({"aktiviert","deaktiviert"})[pc.getqf("anti_exp")+1]..".")
end
when kill with not npc.is_pc() and pc.getqf("anti_exp") > 0 begin
pc.give_exp2(-pc.get_exp())
|
Im Vanilla Core gibt es die schöne Funktion
PHP Code:
pc.block_exp()
pc.unblock_exp()
|
|
|
05/11/2015, 13:36
|
#11512
|
elite*gold: 26
Join Date: May 2010
Posts: 865
Received Thanks: 767
|
Quote:
Originally Posted by DYSKaito
Im Vanilla Core gibt es die schöne Funktion
PHP Code:
pc.block_exp()
pc.unblock_exp()
|
Hab es so gefixxt bekommen:
PHP Code:
if pc.getqf("antiexp") == 0 then
pc.setqf("antiexp", 1)
pc.block_exp()
elseif pc.getqf("antiexp") == 1 then
pc.setqf("antiexp", 0)
pc.unblock_exp()
end
Allerdings fehlt nur der Part hier:
PHP Code:
chat("Erhalten von Erfahrung "..({"aktiviert","deaktiviert"})[pc.getqf("anti_exp")+1]..".")
end
Weiß noch nicht wie ich es machen kann, dass im Chat aktiviert oder deaktiviert erscheint.
|
|
|
05/11/2015, 13:41
|
#11513
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by Dr.Sonii#
Hab es so gefixxt bekommen:
PHP Code:
if pc.getqf("antiexp") == 0 then pc.setqf("antiexp", 1) pc.block_exp() elseif pc.getqf("antiexp") == 1 then pc.setqf("antiexp", 0) pc.unblock_exp() end
Allerdings fehlt nur der Part hier:
PHP Code:
chat("Erhalten von Erfahrung "..({"aktiviert","deaktiviert"})[pc.getqf("anti_exp")+1]..".") end
Weiß noch nicht wie ich es machen kann, dass im Chat aktiviert oder deaktiviert erscheint.
|
Funktioniert es so nicht?
Falls nicht kannst du es auch optional in dem If Block reinpacken. -->
PHP Code:
if pc.getqf("antiexp") == 0 then pc.setqf("antiexp", 1) chat("blabla on") pc.block_exp() elseif pc.getqf("antiexp") == 1 then pc.setqf("antiexp", 0) pc.unblock_exp() chat("blabla off") end end
|
|
|
05/11/2015, 13:47
|
#11514
|
elite*gold: 26
Join Date: May 2010
Posts: 865
Received Thanks: 767
|
Quote:
Originally Posted by DYSKaito
Funktioniert es so nicht?
Falls nicht kannst du es auch optional in dem If Block reinpacken. -->
PHP Code:
if pc.getqf("antiexp") == 0 then
pc.setqf("antiexp", 1)
chat("blabla on")
pc.block_exp()
elseif pc.getqf("antiexp") == 1 then
pc.setqf("antiexp", 0)
pc.unblock_exp()
chat("blabla off")
end
end
|
Funktioniert nun so wie es funktionieren soll !
Danke.
|
|
|
05/12/2015, 13:16
|
#11515
|
elite*gold: 0
Join Date: May 2015
Posts: 32
Received Thanks: 1
|
Ich habe ein Problem diese Quest ->
PHP Code:
quest guild_building_melt begin
state start begin
function GetOreRefineCost(cost)
if pc.empire != npc.empire then
return 5 * cost
end
if pc.get_guild() == npc.get_guild() then
return cost * 0.8
end
return cost
end
function GetMyRefineNum(race)
return race - 20060 + 50601 or
race - 20061 + 50602 or
race - 20062 + 50603 or
race - 20063 + 50604 or
race - 20064 + 50605 or
race - 20065 + 50606 or
race - 20066 + 50607 or
race - 20067 + 50608 or
race - 20068 + 50609 or
race - 20069 + 50610 or
race - 20070 + 50611 or
race - 20071 + 50612 or
race - 20072 + 50613 or
race - 25410 + 50614 or
race - 25411 + 50615 or
race - 25412 + 50616 or
race - 25413 + 50617 or
race - 25414 + 50618
end
function GetOreRefineGoodPct()
return 75
end
function GetOreRefineBadPct()
return 25
end
--function GetOreRefineJuwelesPct()
-- return 65
--end
function IsRefinableRawOre(vnum)
return vnum >= 50601 and vnum <= 50618
end
-- all another Ores
function DoRefine(pct)
local from_postfix
local from_name = item_name(item.vnum)
local to_vnum = item.vnum + 20
local to_name = item_name(to_vnum)
local to_postfix
local price = guild_building_melt.GetOreRefineCost(3000)
if under_han(from_name) then
from_postfix = ""
else
from_postfix = ""
end
if under_han(to_name) then
to_postfix = ""
else
to_postfix = ""
end
say_title(""..mob_name(20001)..".:")
say("")
say("Ich bin ein Meister im veredeln von")
say("verschiedensten Erzen.")
say("Bringe mir 100 Stk. ".. from_name .." und ich")
say("versuche es in ".. to_name .." zu veredeln.")
say("Außerdem benötigen wir noch einen Geiststein")
say("von der Stufe +0 , +1 oder +2 zum veredeln.")
say("")
if item.count >= 100 then
say("Die Wahrscheinlichkeit beträgt "..pct.."%.")
say("Eine veredelung kostet "..price.." ¥ang")
say("")
say_reward("Wollen wir es versuchen?")
local s = select("Versuchen", "Nein,danke")
if s == 1 then
if pc.get_gold() < price then
say_title(""..mob_name(20001)..".:")
say("")
say("Du hast nicht genug ¥ang.")
say("komm wieder wenn du genug ¥ang")
say("bei dir hast.Schönen Tag noch!")
return
end
local selected_item_cell = select_item()
if selected_item_cell == 0 then
say_title(""..mob_name(20001)..".:")
say("")
say("Ohne Geiststein kann ich es nicht herstellen.")
say("Bringe bitte ein Geiststein mit.")
say("")
return
end
local old_item = item.get_id()
if not item.select_cell(selected_item_cell) then
say("³o*Óª««~¨Ã¤£¥¿½T.")
return
end
if item.vnum < 28000 or item.vnum >= 28300 then
say_title(""..mob_name(20001)..".:")
say("")
say("Was ist den das,dass ist doch garkein")
say("Geiststein auf +0,+1 od. +2, nein so")
say("kann ich nicht arbeiten,bitte gib mir")
say("einen richtigen Geiststein.")
return
end
local stone_item = item.vnum
item.select(old_item)
local chance = number(1, 100)
local chance_max = pct
if chance <= chance_max then
say_title(""..mob_name(20001)..".:")
say("")
say("Die Herstellung war erfolgreich. Du erhälst")
say_item(to_name, to_vnum, "")
say("Saubere Arbeit nicht?Komm gerne wieder.")
say("")
pc.give_item2(to_vnum,1)
pc.changemoney(-price)
pc.removeitem(""..from_name.."",100)
pc.removeitem(""..stone_item.."",1)
else
say_title(""..mob_name(20001)..".:")
say("")
say("Die Herstellung ist fehlgeschlagen.")
say("Tut mir Leid für dich da waren wohl")
say("zuviele Verunreinigungen im Erz.")
pc.changemoney(-price)
pc.removeitem(""..from_name.."",100)
pc.removeitem(""..stone_item.."",1)
end
end
else
say("")
say("Zur veredelung brauche ich mindestens")
say("100 Stk. " .. from_name .. " um es in")
say("" .. to_name .. " zuverdeln.Komm wieder")
say("wenn du soviele bei dir hast!")
say("")
end
end
--Only Diamond
function DoRefineDiamond(pct)
local from_postfix
local from_name = item_name(item.vnum)
local to_vnum = item.vnum + 30574
local to_name = item_name(to_vnum)
local to_postfix
local price = guild_building_melt.GetOreRefineCost(10000)
if under_han(from_name) then
from_postfix = ""
else
from_postfix = ""
end
if under_han(to_name) then
to_postfix = ""
else
to_postfix = ""
end
say_title(""..mob_name(20001)..".:")
say("")
say("Ich bin ein Meister im veredeln von")
say("verschiedensten Erzen.")
say("Bringe mir 100 ".. from_name .." Stk. dieses")
say("Erzes und ich versuche in ".. to_name .." zu veredeln.")
if item.count >= 100 then
say("Die Wahrscheinlichkeit beträgt "..pct.."%.")
say("Eine veredelung kostet "..price.." ¥ang")
say("")
say_reward("Wollen wir es versuchen?")
local s = select("Versuchen", "Nein,danke")
if s == 1 then
if pc.get_gold() < price then
say_title(""..mob_name(20001)..".:")
say("")
say("Du hast nicht genug ¥ang.")
say("komm wieder wenn du genug ¥ang")
say("bei dir hast.Schönen Tag noch!")
return
end
local chance = number(1, 100)
local chance_max = pct
if chance <= chance_max then
say_title(""..mob_name(20001)..".:")
say("")
say("Die Herstellung war erfolgreich. Du erhälst")
say_item(to_name, to_vnum, "")
say("Saubere Arbeit nicht?Komm gerne wieder.")
say("")
pc.give_item2(to_vnum,1)
pc.changemoney(-price)
pc.removeitem(""..from_name.."",100)
else
say_title(""..mob_name(20001)..".:")
say("")
say("Die Herstellung ist fehlgeschlagen.")
say("Tut mir Leid für dich da waren wohl")
say("zuviele Verunreinigungen im Erz.")
pc.changemoney(-price)
pc.removeitem(""..from_name.."",100)
end
end
else
say("")
say("Zur veredelung brauche ich mindestens")
say("100 Stk. " .. from_name .. " um es in")
say("" .. to_name .. " zuverdeln.Komm wieder")
say("wenn du soviele bei dir hast!")
say("")
end
end
--New Mines
function DoRefineNew(pct)
local from_postfix
local from_name = item_name(item.vnum)
local to_vnum = item.vnum + 41621
local to_name = item_name(to_vnum)
local to_postfix
local price = guild_building_melt.GetOreRefineCost(15000)
if under_han(from_name) then
from_postfix = ""
else
from_postfix = ""
end
if under_han(to_name) then
to_postfix = ""
else
to_postfix = ""
end
say_title(""..mob_name(20001)..".:")
say("")
say("Ich bin ein Meister im veredeln von")
say("verschiedensten Erzen.")
say("Bringe mir 100 Stk. ".. from_name .." und ich")
say("versuche es in ".. to_name .." zu veredeln.")
say("Außerdem benötigen wir noch einen Geiststein")
say("von der Stufe +0 , +1 oder +2 zum veredeln.")
say("")
if item.count >= 100 then
say("Die Wahrscheinlichkeit beträgt "..pct.."%.")
say("Eine veredelung kostet "..price.." ¥ang")
say("")
say_reward("Wollen wir es versuchen?")
local s = select("Versuchen", "Nein,danke")
if s == 1 then
if pc.get_gold() < price then
say_title(""..mob_name(20001)..".:")
say("")
say("Du hast nicht genug ¥ang.")
say("komm wieder wenn du genug ¥ang")
say("bei dir hast.Schönen Tag noch!")
return
end
local selected_item_cell = select_item()
if selected_item_cell == 0 then
say_title(""..mob_name(20001)..".:")
say("")
say("Ohne Geiststein kann ich es nicht herstellen.")
say("Bringe bitte ein Geiststein mit.")
say("")
return
end
local old_item = item.get_id()
if not item.select_cell(selected_item_cell) then
say("³o*Óª««~¨Ã¤£¥¿½T.")
return
end
if item.vnum < 28000 or item.vnum >= 28300 then
say_title(""..mob_name(20001)..".:")
say("")
say("Was ist den das,dass ist doch garkein")
say("Geiststein auf +0,+1 od. +2, nein so")
say("kann ich nicht arbeiten,bitte gib mir")
say("einen richtigen Geiststein.")
return
end
local stone_item = item.vnum
item.select(old_item)
local chance = number(1, 100)
local chance_max = pct
if chance <= chance_max then
say_title(""..mob_name(20001)..".:")
say("")
say("Die Herstellung war erfolgreich. Du erhälst")
say_item(to_name, to_vnum, "")
say("Saubere Arbeit nicht?Komm gerne wieder.")
say("")
pc.give_item2(to_vnum,1)
pc.changemoney(-price)
pc.removeitem(""..from_name.."",100)
pc.removeitem(""..stone_item.."",1)
else
say_title(""..mob_name(20001)..".:")
say("")
say("Die Herstellung ist fehlgeschlagen.")
say("Tut mir Leid für dich da waren wohl")
say("zuviele Verunreinigungen im Erz.")
pc.changemoney(-price)
pc.removeitem(""..from_name.."",100)
pc.removeitem(""..stone_item.."",1)
end
end
else
say("")
say("Zur veredelung brauche ich mindestens")
say("100 Stk. " .. from_name .. " um es in")
say("" .. to_name .. " zuverdeln.Komm wieder")
say("wenn du soviele bei dir hast!")
say("")
end
end
--Make Juweles
--function DoRefineNewtojuwels(pct)
-- local from_postfix
-- local from_name = item_name(item.vnum)
-- local to_vnum = item.vnum + 41621--hiernoch zahländern
-- local to_name = item_name(to_vnum)
-- local to_postfix
-- local price = guild_building_melt.GetOreRefineCost(55000)
-- if under_han(from_name) then
-- from_postfix = ""
-- else
-- from_postfix = ""
-- end
-- if under_han(to_name) then
-- to_postfix = ""
-- else
-- to_postfix = ""
-- end
-- say_title(""..mob_name(20001)..".:")
-- say("")
-- say("Hallo "..pc.get_name..",")
-- say("lange nicht gesehen was!?Ich habe mich")
-- say("in letzter Zeit weitergebildet und kann jetzt")
-- say("aus einem Goldbarren und 1x "..from_name..",")
-- say("Juwelen herstellen,jedenfalls klappt es meistens.")
-- say("")
-- say("Wollen wir die Herstellung von 1x "..to_name.."")
-- say("versuchen?Wird sicherlich sohn klappen...")
-- say("")
-- if item.count >= 1 then
-- say("Die Wahrscheinlichkeit beträgt "..pct.."%.")
-- say("Eine veredelung kostet "..price.." ¥ang")
-- say("")
-- say_reward("Soll ich fortfahren?")
-- local s = select("Versuchen", "Nein,danke")
-- if s == 1 then
-- if pc.get_gold() < price then
-- say_title(""..mob_name(20001)..".:")
-- say("")
-- say("Du hast nicht genug ¥ang.")
-- say("komm wieder wenn du genug ¥ang")
-- say("bei dir hast.Schönen Tag noch!")
-- return
-- end
-- if pc.countitem("50626")>=1 then
-- local chance = number(1, 100)
-- local chance_max = pct
-- if chance <= chance_max then
-- pc.removeitem("50626",1)
-- pc.changemoney(-price)
-- pc.removeitem(""..from_name.."",100)
-- say_title(""..mob_name(20001)..".:")
-- say("")
-- say("Die Herstellung war erfolgreich. Du erhälst")
-- say_item(to_name, to_vnum, "")
-- say("Saubere Arbeit nicht?Komm gerne wieder.")
-- say("")
-- pc.give_item2(to_vnum,1)
-- else
-- pc.removeitem("50626",1)
-- pc.changemoney(-price)
-- pc.removeitem(""..from_name.."",100)
-- say_title(""..mob_name(20001)..".:")
-- say("")
-- say("Die Herstellung ist fehlgeschlagen.")
-- say("Tut mir Leid für dich da waren wohl")
-- say("zuviele Verunreinigungen im Erz.")
-- end
-- else
-- say_title(""..mob_name(20001)..".:")
-- say("")
-- say("Was ist den das,du hast doch garkein")
-- say("Goldbaaren,nein so kann ich nicht")
-- say("arbeiten,bitte gib mir einen richtigen")
-- say("Goldbaaren!Du benötigst min. 1 Stk.")
-- say_item_vnum(50626)
-- end
-- end
-- else
-- say("")
-- say("Zur veredelung brauche ich mindestens")
-- say("1x " .. from_name .. " um es in")
-- say("" .. to_name .. " zuverdeln.Komm wieder")
-- say("wenn du soviele bei dir hast!")
-- say("")
-- end
--end
--GOOD
when 20060.take or 20061.take or 20062.take or 20063.take or 20064.take or 20065.take or 20066.take or
20067.take or 20068.take or 20069.take or 20070.take or 20071.take or 20072.take or 25410.take or 25411.take or 25412.take or 25413.take or 25414.take with guild_building_melt.GetMyRefineNum(npc.race) == item.vnum begin
if item.vnum == 50601 then
guild_building_melt.DoRefineDiamond(guild_building_melt.GetOreRefineGoodPct())
else
guild_building_melt.DoRefine(guild_building_melt.GetOreRefineGoodPct())
end
end
--BAD
when 20060.take or 20061.take or 20062.take or 20063.take or 20064.take or 20065.take or 20066.take or
20067.take or 20068.take or 20069.take or 20070.take or 20071.take or
20072.take or 25410.take or 25411.take or 25412.take or 25413.take or 25414.take with guild_building_melt.IsRefinableRawOre(item.vnum) and guild_building_melt.GetMyRefineNum(npc.race) != item.vnum begin
if item.vnum == 50601 then
guild_building_melt.DoRefineDiamond(guild_building_melt.GetOreRefineBadPct())
else
guild_building_melt.DoRefine(guild_building_melt.GetOreRefineBadPct())
end
end
--New Mines Take
when 9017.take with item.vnum == 9013 or item.vnum == 9014 or item.vnum == 9015 or item.vnum == 9016 begin
if game.get_event_flag("nacht") < 1 then
guild_building_melt.DoRefineNew(guild_building_melt.GetOreRefineGoodPct())
else
guild_building_melt.DoRefineNew(guild_building_melt.GetOreRefineBadPct())
end
end
--Making Juweles
--when 9017.take with item.vnum == 50634 or item.vnum == 50635 or item.vnum ==50636 or item.vnum ==50637 or item.vnum ==50638 or item.vnum ==50639 begin
-- guild_building_melt.DoRefineNewtojuwels(guild_building_melt.GetOreRefineJuwelesPct())
--end
--Change Spezial
when 20060.click or 20061.click or 20062.click or 20063.click or 20064.click or
20065.click or 20066.click or 20067.click or 20068.click or 20069.click or
20070.click or 20071.click or 20072.click or 25410.click or 25411.click or 25412.click or 25413.click or 25414.click with npc.get_guild() == pc.get_guild() and pc.isguildmaster() begin
say_title(""..mob_name(20001)..".:")
say("")
say("Für 3.000.000 ¥ang können Sie mich zu einer")
say("Fortbildung schicken,damit kann ich mich auf")
say("die Veredelung eines anderen Erzes")
say("spezialisieren.")
say("")
wait()
if pc.get_gold() < 3000000 then
say_title(""..mob_name(20001)..".:")
say("")
say_reward("Du brauchst 3.000.000 ¥ang damit ich")
say_reward("auf die Fortbildung kann.")
else
say_yellow("Welche Spezialisierung wollen sie?")
local sel = 0
local timetable_01 = {'Diamanten', 'Bernstein', 'Fossilholz', 'Kupfer', 'Silber', 'Gold', 'Jade', 'Weiter'}
local valuetable_01 = {14043, 14044, 14045, 14046, 14047, 14048, 14049, 1, 3}
local timetable_02 = {'Ebenholz', 'Perle', 'Weissgold', 'Kristall', 'Amethyst', 'Himmelsträne', 'Zurück', 'Weiter'}
local valuetable_02 = {19397, 14051, 14052, 14053, 14054, 14055, 0, 2, 3}
local timetable_03 = {'Seelenkristall', 'Rubin', 'Granat', 'Smaragd', 'Saphir', 'Zurück', 'Keine Änderung'}
local valuetable_03 = {19393, 19394, 19395, 19396, 19397, 1, 3}
repeat
if sel == 0 then
local s = select_table(timetable_01)
sel = valuetable_01[s]
elseif sel == 1 then
local s = select_table(timetable_02)
sel = valuetable_02[s]
elseif sel == 2 then
local s = select_table(timetable_03)
sel = valuetable_03[s]
end
until sel > 2
if sel != 3 then
npc_num = sel + 20060 - 14043
if npc_num == npc.get_race() then
say_title(""..mob_name(20001)..".:")
say("")
say("Das bin ich doch bereits.")
else
pc.changegold(-3000000)
building.reconstruct(sel)
end
else
say_title(""..mob_name(20001)..".:")
say("")
say("Okay dann mache ich meinen Job so weiter,")
say("Bedenken Sie aber das die Seminarkosten")
say("in naher Zukunft auch steigen könnten.")
say("")
end
end
end
end
end
geht nicht habe sie dringend ``
|
|
|
05/12/2015, 16:57
|
#11516
|
elite*gold: 0
Join Date: Feb 2015
Posts: 400
Received Thanks: 46
|
Tinktur des Namens?!
Hey ich würde gerne mal eine Quest zur Kontrolle hier freigeben. Und zwar handelt es sich um die Tinktur des Namens Quest (InGame Nameswechsel). Ich habe die Befürchtung, dass die Quest beim Kontrollieren der Namen nur die Namen der Spieler checked, die online sind. Sollte aber beides überprüft werden!
Hier die Quest:
Code:
quest changename begin
state start begin
when 71055.use begin
say_title("Namensänderung:")
say("")
say("Mithilfe dieses Items kannst du deinen Namen")
say("einmalig ändern, also überlege es dir gut, ob")
say("du deinen Namen wirklich ändern möchtest!")
say("")
say_reward("Möchtest du deinen wirklich Namen ändern?")
say("")
local change = select("Ja", "Nein")
if change == 1 then
say_title("Namensänderung:")
say("")
say("Also du möchtest wirklich deinen Namen ändern!")
say("Bevor du deinen Namen ändern kannst, müssen wir")
say("erst prüfen ob dieser Name eigentlich noch frei")
say("ist.")
say("")
say_reward("Gib deinen neuen Namen hier ein:")
say("")
local c_name = input()
local c_search = find_pc_by_name(c_name)
if c_search==0 then
say_title("Namensänderung:")
say("")
say("Dieser Name ist noch frei. Bist du dir sicher, dass")
say("du dich "..c_name.." nennen möchtest?")
say("")
local secure = select("Ja", "Nein")
if secure == 1 then
say_title("Namensänderung:")
say("")
say("Herzlichen Glückwunsch!")
say("")
say("Deine Name wurde in "..c_name.." geändert!")
say("")
say_reward("Bitte einmal relog machen, damit die Änderung")
say_reward("gültig wird!")
say("")
pc.change_name(c_name)
pc.remove_item(71055, 1)
else
say_title("Namensänderung:")
say("")
say("Schade, dass du dich doch anders entschieden hast,")
say("aber vielleicht möchtest du deinen Namen ja ein")
say("andermal ändern!")
say("")
end
else
say_title("Namensänderung:")
say("")
say("Dieser Name ist leider schon vergeben, bitte suche")
say("dir einen anderen Namen, den du verwenden kannst!")
say("")
end
else
return
end
end
end
end
|
|
|
05/12/2015, 17:25
|
#11517
|
elite*gold: 0
Join Date: May 2015
Posts: 32
Received Thanks: 1
|
2# Problem
Diese Quest klappt auch nicht...
Sorry for Spamm...
PHP Code:
quest bio begin
state start begin
when login or levelup with pc.level>34 begin
set_state(talk_to_disciple_lv35)
end
end
state talk_to_disciple_lv35 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Forschung des Biologen")
end
say("Bio Tante:")
say("Unglaublich! Du du bist Level 35")
say("Hast du auch das Item für mich?")
say("Dann bekommst du eine Belohnung.")
say("")
pc.remove_item(9999,1)
wait()
say("Welche Belohnung möchtest du?")
local s = select ("1100 TP", "140 Verteidigung", "60 Angriffswert")
if s == 3 then
say_reward("Du erhälst 300 Angriffswert.")
affect.add_collect(apply.ATT_GRADE_BONUS,300,60*60*24*365*60)
set_state(collect_end)
end
if s == 2 then
say_reward("Du erhälst 100 Verteidigung.")
affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60*24*365*60)
set_state(collect_end)
end
if s == 1 then
say_reward("Du erhälst 1000 TP.")
affect.add_collect(apply.TP_GRADE_BONUS,1000,60*60*24*365*60)
set_state(collect_end)
end
end
end
end
state collect_end begin
end
end
|
|
|
05/12/2015, 17:56
|
#11518
|
elite*gold: 0
Join Date: Feb 2015
Posts: 400
Received Thanks: 46
|
Quote:
Originally Posted by [Medium]
2# Problem
Diese Quest klappt auch nicht...
Sorry for Spamm...
PHP Code:
quest bio begin state start begin when login or levelup with pc.level>34 begin set_state(talk_to_disciple_lv35) end end state talk_to_disciple_lv35 begin when letter begin local v = find_npc_by_vnum(20084) if v != 0 then target.vid("__TARGET__", v, "Biologe") end send_letter("Die Forschung des Biologen") end say("Bio Tante:") say("Unglaublich! Du du bist Level 35") say("Hast du auch das Item für mich?") say("Dann bekommst du eine Belohnung.") say("") pc.remove_item(9999,1) wait() say("Welche Belohnung möchtest du?") local s = select ("1100 TP", "140 Verteidigung", "60 Angriffswert") if s == 3 then say_reward("Du erhälst 300 Angriffswert.") affect.add_collect(apply.ATT_GRADE_BONUS,300,60*60*24*365*60) set_state(collect_end) end if s == 2 then say_reward("Du erhälst 100 Verteidigung.") affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60*24*365*60) set_state(collect_end) end if s == 1 then say_reward("Du erhälst 1000 TP.") affect.add_collect(apply.TP_GRADE_BONUS,1000,60*60*24*365*60) set_state(collect_end) end end end end
state collect_end begin end end
|
nehm die Bio kannst se ja anpassen
Code:
----------------------------------------------------
--COLLECT QUEST_lv92
--METIN2 ¼öÁý Äù½ºÆ®
----------------------------------------------------
quest collect_quest_lv92 begin
state start begin
end
state run begin
when login or levelup with pc.level >= 92 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20091)
if v != 0 then
target.vid("__TARGET__", v, "Seon-Pyeong ")
end
send_letter("Seon-Pyeongs Forschung ")
end
when button or info begin
say_title("Seon-Pyeongs Forschung ")
say("Seon-Pyeong im Tal von Seungryong braucht deine[ENTER]Hilfe. Geh zu ihm und sieh nach, was los ist. ")
end
when __TARGET__.target.click or 20091.chat."Hilfe bei der Forschung " begin
target.delete("__TARGET__")
--- l
say_title("Seon-Pyeong: ")
say("Heda, tapferer Krieger! Du kommst mir gerade[ENTER]recht. Ich bin auf der Suche nach einer[ENTER]bestimmten Art von Edelsteinen für meine[ENTER]Waffenforschungen. Könntest du mir damit helfen?[ENTER]Einige Kreaturen in der Grotte der Verbannung[ENTER]besitzen solche Edelsteine. Aber ich bin zu[ENTER]wichtig, um mein Leben an solch einem[ENTER]gefährlichen Ort aufs Spiel zu setzen. ")
wait()
say_title("Seon-Pyeong: ")
say("Im Moment brauche ich die makellosen Juwelen der[ENTER]Missgunst - strahlende Schönheiten, die nur[ENTER]in den Tiefen dieses Berges wachsen. Es sind[ENTER]besondere Diamanten, die lange der mächtigen[ENTER]Ausstrahlung des bösen Gottes Beran-Setaou[ENTER]ausgesetzt waren und einen winzigen Bruchteil[ENTER]seiner Energien in sich aufgenommen haben.[ENTER]Ich benötige 10 perfekte Exemplare.[ENTER]Viel Glück und bis bald! ")
set_state(go_to_disciple)
pc.setqf("duration", 0)
pc.setqf("collect_count", 0)
pc.setqf("drink_drug", 0)
end
end
state go_to_disciple begin
when letter begin
send_letter("Seon-Pyeongs Forschung ")
end
when button or info begin
say_title("Juwelen für Seon-Pyeong ")
--- l
say("Der Waffenschmied und Forscher Seon-Pyeong[ENTER]benötigt 10 Juwelen der Missgunst für seine[ENTER]Waffenforschung. Bringe sie ihm einzeln, damit er[ENTER]jedes genau untersuchen kann.[ENTER]Du erhältst sie von den Unterwelt-Eismännern und[ENTER]Unterwelt-Eisgolems. ")
say_item_vnum(30251)
say_reward(string.format("Bis jetzt hast du %s Juwelen abgeliefert. ", pc.getqf("collect_count")))
end
when 71035.use begin --ÇöȤÀÇ ¹°¾à
if get_time() < pc.getqf("duration") then
say("Du kannst das Elixier des Forschers noch nicht[ENTER]benutzen. ")
return
end
if pc.getqf("drink_drug") == 1 then
say("Du hast bereits ein Elixier benutzt! ")
return
end
if pc.count_item(30251) == 0 then
say("Du kannst das Elixier benutzen, sobald du ein[ENTER]Juwel gefunden hast. ")
return
end
pc.remove_item(71035, 1)
pc.setqf("drink_drug",1)
end
when 1135.kill or 1137.kill begin
local s = number(1, 25)
if s <= 1 then
pc.give_item2(30251, 1)
send_letter("Juwel gefunden ")
end
end
when 20091.chat."Juwelen für die Waffenforschung " with pc.count_item(30251) > 0 begin
if get_time() < pc.getqf("duration") then
say_title("Seon-Pyeong: ")
say("Du hier? Es tut mir leid, aber ich habe das[ENTER]Studium des letzten Exemplars noch nicht[ENTER]abgeschlossen. Komm später wieder! ")
return
end
if pc.count_item(30251) <= 0 then
say_title("Seon-Pyeong: ")
say("Du hast noch nichts gefunden? Das tut mir leid.[ENTER]Aber warum bist du dann hier? Auf, auf! Komm[ENTER]wieder her, wenn du mir Juwelen bringen kannst! ")
return
end
say_title("Seon-Pyeong: ")
say("Du hast ein Juwel gefunden? Fantastisch! Warte[ENTER]einen Moment, ich muss mich vergewissern... ")
pc.remove_item(30251, 1)
if is_test_server() then
pc.setqf("duration", get_time()+10) -- Å×½ºÆ®¼*¹ö 10ÃÊ
else
pc.setqf("duration", get_time()+1) -- ÀÏ¹Ý 6½Ã°£
end
wait()
local pass_percent
if pc.getqf("drink_drug") == 0 then
pass_percent = 10
else
pass_percent = 60
end
local s = number(1, 25)
if s <= pass_percent then
local collect_count = pc.getqf("collect_count")
pc.setqf("collect_count", collect_count + 1) -- Çϳª ±¸ÇßÀ¸´Ï +1 ÇØÁØ´Ù
pc.setqf("drink_drug", 0) -- ¹°¾à ÃʱâÈ*
if collect_count < 9 then
say_title("Seon-Pyeong: ")
say("Oh ja, das ist gut. Ohne jeden Zweifel einer der[ENTER]schönsten Edelsteine, die ich jemals gesehen[ENTER]habe. Vielen Dank! ")
say(string.format("Aber wie du weißt, benötige ich noch %s weitere[ENTER]Exemplare dieser Qualität. Gib mir einen Tag[ENTER]Zeit, diesen hier genau zu untersuchen. Dann[ENTER]kannst du mir den nächsten bringen. ", 10-pc.getqf("collect_count")))
say("Viel Erfolg dabei! ")
else
pc.setqf("duration", 0)
say_title("Seon-Pyeong: ")
say("Das war das letzte Juwel, du hast alle 10[ENTER]gesammelt. Ich bin dir zu Dank verpflichtet...[ENTER]und werde bei der Belohnung nicht geizen.[ENTER]Wähle! ")
local s = select("Trefferpunkte +1500 ", "Verteidigung +150 ", "Angriff +75 ")
if 1 == s then
affect.add_collect(1,1500,60*60*24*365*60) -- hp index == 1, hp +1000
pc.setqf("reward", 1)
elseif 2 == s then
affect.add_collect(apply.DEF_GRADE_BONUS, 150, 60*60*24*365*60)
pc.setqf("reward", 2)
elseif 3 == s then
affect.add_collect(apply.ATT_GRADE_BONUS, 75, 60*60*24*365*60)
pc.setqf("reward", 3)
end
clear_letter()
set_quest_state("collect_quest_lv94", "run")
set_state(__complete)
end
return
else
pc.setqf("drink_drug", 0) --¹°¾à ÃʱâÈ*
say_title("Seon-Pyeong: ")
say("Hmm... und dieser Edelstein stammt wirklich aus[ENTER]der Grotte der Verbannung? Er ist schön, aber ihm[ENTER]fehlt das innere Feuer. Ich fürchte er ist für[ENTER]mich unbrauchbar. Ich werde ihn genau untersuchen[ENTER]und du besorgst mir inzwischen einen anderen, ja? ")
return
end
end -- end of when 20091.chat."ȫõÀÇ º¸¼®À» °¡Á®¿Â°Ç°¡? " with pc.count_item(30251) > 0 begin
end -- end of state 'go_to_disciple'
state __complete begin
end
end
|
|
|
05/12/2015, 18:13
|
#11519
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
vorher
PHP Code:
quest bio begin
state start begin
when login or levelup with pc.level>34 begin
set_state(talk_to_disciple_lv35)
end
end
state talk_to_disciple_lv35 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Forschung des Biologen")
end
say("Bio Tante:")
say("Unglaublich! Du du bist Level 35")
say("Hast du auch das Item für mich?")
say("Dann bekommst du eine Belohnung.")
say("")
pc.remove_item(9999,1)
wait()
say("Welche Belohnung möchtest du?")
local s = select ("1100 TP", "140 Verteidigung", "60 Angriffswert")
if s == 3 then
say_reward("Du erhälst 300 Angriffswert.")
affect.add_collect(apply.ATT_GRADE_BONUS,300,60*60*24*365*60)
set_state(collect_end)
end
if s == 2 then
say_reward("Du erhälst 100 Verteidigung.")
affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60*24*365*60)
set_state(collect_end)
end
if s == 1 then
say_reward("Du erhälst 1000 TP.")
affect.add_collect(apply.TP_GRADE_BONUS,1000,60*60*24*365*60)
set_state(collect_end)
end
end
end
end
state collect_end begin
end
end
nachher
PHP Code:
quest bio begin
state start begin
when login or levelup with pc.level>34 begin
set_state(talk_to_disciple_lv35)
end
end
state talk_to_disciple_lv35 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Forschung des Biologen")
end
when button or info begin
say("Bio Tante:")
say("Unglaublich! Du du bist Level 35")
say("Hast du auch das Item für mich?")
say("Dann bekommst du eine Belohnung.")
say("")
if pc.count_item(9999) == 0 then
return
end
pc.remove_item(9999,1)
wait()
say("Welche Belohnung möchtest du?")
local s = select ("1100 TP", "140 Verteidigung", "60 Angriffswert")
if s == 3 then
say_reward("Du erhälst 300 Angriffswert.")
affect.add_collect(apply.ATT_GRADE_BONUS,300,60*60*24*365*60)
set_state(collect_end)
end
if s == 2 then
say_reward("Du erhälst 100 Verteidigung.")
affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60*24*365*60)
set_state(collect_end)
end
if s == 1 then
say_reward("Du erhälst 1000 TP.")
affect.add_collect(apply.TP_GRADE_BONUS,1000,60*60*24*365*60)
set_state(collect_end)
end
end
end
state collect_end begin
end
end
|
|
|
05/12/2015, 21:50
|
#11520
|
elite*gold: 0
Join Date: Feb 2015
Posts: 400
Received Thanks: 46
|
Quote:
Originally Posted by Backxtar
Hey ich würde gerne mal eine Quest zur Kontrolle hier freigeben. Und zwar handelt es sich um die Tinktur des Namens Quest (InGame Nameswechsel). Ich habe die Befürchtung, dass die Quest beim Kontrollieren der Namen nur die Namen der Spieler checked, die online sind. Sollte aber beides überprüft werden!
Hier die Quest:
Code:
quest changename begin
state start begin
when 71055.use begin
say_title("Namensänderung:")
say("")
say("Mithilfe dieses Items kannst du deinen Namen")
say("einmalig ändern, also überlege es dir gut, ob")
say("du deinen Namen wirklich ändern möchtest!")
say("")
say_reward("Möchtest du deinen wirklich Namen ändern?")
say("")
local change = select("Ja", "Nein")
if change == 1 then
say_title("Namensänderung:")
say("")
say("Also du möchtest wirklich deinen Namen ändern!")
say("Bevor du deinen Namen ändern kannst, müssen wir")
say("erst prüfen ob dieser Name eigentlich noch frei")
say("ist.")
say("")
say_reward("Gib deinen neuen Namen hier ein:")
say("")
local c_name = input()
local c_search = find_pc_by_name(c_name)
if c_search==0 then
say_title("Namensänderung:")
say("")
say("Dieser Name ist noch frei. Bist du dir sicher, dass")
say("du dich "..c_name.." nennen möchtest?")
say("")
local secure = select("Ja", "Nein")
if secure == 1 then
say_title("Namensänderung:")
say("")
say("Herzlichen Glückwunsch!")
say("")
say("Deine Name wurde in "..c_name.." geändert!")
say("")
say_reward("Bitte einmal relog machen, damit die Änderung")
say_reward("gültig wird!")
say("")
pc.change_name(c_name)
pc.remove_item(71055, 1)
else
say_title("Namensänderung:")
say("")
say("Schade, dass du dich doch anders entschieden hast,")
say("aber vielleicht möchtest du deinen Namen ja ein")
say("andermal ändern!")
say("")
end
else
say_title("Namensänderung:")
say("")
say("Dieser Name ist leider schon vergeben, bitte suche")
say("dir einen anderen Namen, den du verwenden kannst!")
say("")
end
else
return
end
end
end
end
|
.
|
|
|
All times are GMT +1. The time now is 03:31.
|
|