|
You last visited: Today at 09:51
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
01/29/2011, 17:23
|
#1366
|
elite*gold: 0
Join Date: Dec 2010
Posts: 1,237
Received Thanks: 351
|
Quote:
Originally Posted by Legend2007
Ja du musst das code stück so oft wiederholen wie du es brauchst.
Beispiel:
PHP Code:
quest siegel begin
state start begin
when 71113.use begin
if horse.is_riding() then
chat("Du hast dein Reittier weggeschickt!")
pc.unmount()
else
chat("Du hast dein Reittier gerufen!")
horse.summon()
horse.ride()
pc.mount(20113)
end
end
when 71114.use begin
if horse.is_riding() then
chat("Du hast dein Reittier weggeschickt!")
pc.unmount()
else
chat("Du hast dein Reittier gerufen!")
horse.summon()
horse.ride()
pc.mount(20114)
end
end
when 71115.use begin
if horse.is_riding() then
chat("Du hast dein Reittier weggeschickt!")
pc.unmount()
else
chat("Du hast dein Reittier gerufen!")
horse.summon()
horse.ride()
pc.mount(20115)
end
end
end
end
Vergiss nicht die IDs richtig anzupassen..
|
Thx an dich. ich werde es probieren-
|
|
|
01/29/2011, 17:48
|
#1367
|
elite*gold: 15
Join Date: Sep 2010
Posts: 1,358
Received Thanks: 134
|
PHP Code:
quest shops begin state start begin when 9002.chat."Krieger Rüssi" begin npc.open_shop( 4 ) end end end
when 9002.chat."Sura Rüssi" begin npc.open_shop( 16 ) end end end
when 9002.chat."Schami Rüssi" begin npc.open_shop( 17 ) end end end when 9002.chat."Ninja Rüssi" begin npc.open_shop( 18 ) end end end
when 9002.chat."Schmuck" begin npc.open_shop( 19 ) end end end
Das ist die Quest für den Rüssi Händler der sollte mehrere Shops auf einmal haben.(Like Profizocker94)
Könnte mir jemand eine Richtige Quest Scripten, die für sowas hilft
|
|
|
01/29/2011, 18:24
|
#1368
|
elite*gold: 121
Join Date: Feb 2008
Posts: 654
Received Thanks: 411
|
Die Quest ist in ordnung. Würde jedoch folgendes noch nach jedem "npc.open_shop()" einfügen:
setskin(NOWINDOW)
Ohne dies wird sich das bildschirm nicht mehr auf's standard setzen und bleibt sozusagen "verbuggt" (schwarze rahmen am oberen und unteren bildschirm.. quest stuff halt)
Damit die Shops auch auf gehn musst du in deiner shop tabelle (player -> shop) die NPC vnum bei den einzeln shops eintragen sonst wird sich nichts tun.
Hoffe ich hab mich klar genug ausgedruckt
Falls nicht, sag bescheid
|
|
|
01/29/2011, 18:54
|
#1369
|
elite*gold: 15
Join Date: Sep 2010
Posts: 1,358
Received Thanks: 134
|
Jetzt kommt Core Dumped... 
Könnte mir eventuel eine Richtige Quest dafür scripten die 100% funkt?
|
|
|
01/29/2011, 19:55
|
#1370
|
elite*gold: 121
Join Date: Feb 2008
Posts: 654
Received Thanks: 411
|
Quote:
Originally Posted by Glµehbi®ne
Jetzt kommt Core Dumped... 
Könnte mir eventuel eine Richtige Quest dafür scripten die 100% funkt?
|
PHP Code:
quest armorvendor begin
state start begin
when 9002.click begin
say_title("Armor Vendor")
local s = select("Krieger", "Sura", "Schamane", "Ninja", "Schmuck", "Abbrechen")
if s == 6 then
return
elseif s == 1 then
npc.open_shop(4)
setskin(NOWINDOW)
elseif s == 2 then
npc.open_shop(16)
setskin(NOWINDOW)
elseif s == 3 then
npc.open_shop(17)
setskin(NOWINDOW)
elseif s == 4 then
npc.open_shop(18)
setskin(NOWINDOW)
elseif s == 5 then
npc.open_shop(19)
setskin(NOWINDOW)
end
end
end
end
Nicht getestet aber habs anhand meiner eigenen quest gescriptet. Sollte daher funzeln.
FALLS sich ingame nichts tut, ändere folgendes:
when 9002.click begin ---> when 9002.chat."Armors" begin
Gruß
Legend
|
|
|
01/29/2011, 20:11
|
#1371
|
elite*gold: 15
Join Date: Sep 2010
Posts: 1,358
Received Thanks: 134
|
Danke ich werde es testen
|
|
|
01/29/2011, 20:22
|
#1372
|
elite*gold: 17
Join Date: Mar 2008
Posts: 164
Received Thanks: 34
|
huhu,
hat mal jemand eine pvp quest die ich als vorlage nutzen kann?
|
|
|
01/29/2011, 20:27
|
#1373
|
elite*gold: 0
Join Date: Jun 2010
Posts: 87
Received Thanks: 4
|
Quote:
Originally Posted by cihad2010
habe ein problem mit dieser quest der stallbursche ruft mich nicht zu dieser quest wenn ich lvl 75 oder höher bin was :
PHP Code:
quest horse_lv11 begin
state start begin
when 30128.use with pc.get_level() >= 75 begin
if horse.get_level()>=1 then
set_state( gotostable )
pc.remove_item(30128, 1)
end
end
end
state gotostable begin
when letter begin
local v=find_npc_by_vnum(20349)
if 0==v then
else
target.vid("__TARGET__", v, "Gehe zum Stallbursche")
end
end
when letter begin
send_letter("Gehe zum Stallbursche!")
end
when button or info begin
say_title("Gehe zum Stallbursche")
say("Du hast ein Hufeisen gefunden. Der Stallbursche")
say("kann diese immer gebrauchen. Bringe es ihm und")
say("frage ihn ob dein Pferd mittlererweile gut")
say("genug ist um zusammen mit dir gegen Gegner")
say("zu kämpfen.")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title("Stallbursche:")
say("")
say("Ein Hufeisen?")
say("Dankeschön.. ich kann nie genug davon haben..")
say("so viele Leute kommen Tag für Tag zu mir, nur weil")
say("sie neue Hufeisen brauchen..")
say("Aber egal.. warum erzähle ich dir das..")
say("")
wait()
say("Dein Pferd? Du willst wissen ob es stark genug")
say("geworden ist? Mhh nunja eigentlich..")
wait()
say("Ja ich denke es kann es mittlererweile mit")
say("einigen Gegnern aufnehmen. Ich gebe dir nun")
say("eine Rüstung und bringe deinem Pferd bei,")
say("wie es sich verhalten muss, wenn du mit")
say("ihm kämpfst.")
wait()
horse.set_level("11")
pc.remove_item(50051, 1)
pc.give_item2("50052")
horse.unride()
horse.summon()
horse.ride()
say_reward("Kampfpferd erhalten.")
say_reward("Waffenpferdebuch erhalten.")
setstate( __COMPLETE__ )
q.done()
end
end
state __COMPLETE__ begin
end
end
__________________________________________________ ________
kann mir jemand helfen 
|
Brauche immer noch hilfe
|
|
|
01/29/2011, 20:30
|
#1374
|
elite*gold: 0
Join Date: Jun 2010
Posts: 87
Received Thanks: 4
|
Quote:
Originally Posted by ~shaylan~
@ cihad2010
die quest läuft bei mir eigentlich.
hab aber mal paar schönheitsfehler (meiner meinung nach ^^) ausgebessert.
haste den Typ des items auch auf 18 gesetzt und /reload p eingegeben?
hier mal die quest
PHP Code:
quest horse_lv11 begin
state start begin
when 30128.use with pc.get_level() >= 75 begin
if horse.get_level() < 11 then
set_state( gotostable )
pc.remove_item(30128, 1)
end
end
end
state gotostable begin
when letter begin
local v=find_npc_by_vnum(20349)
if 0==v then
else
target.vid("__TARGET__", v, "Gehe zum Stallbursche")
end
end
when letter begin
send_letter("Gehe zum Stallbursche!")
end
when button or info begin
say_title("Gehe zum Stallbursche")
say("Du hast ein Hufeisen gefunden. Der Stallbursche")
say("kann diese immer gebrauchen. Bringe es ihm und")
say("frage ihn ob dein Pferd mittlererweile gut")
say("genug ist um zusammen mit dir gegen Gegner")
say("zu kämpfen.")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title("Stallbursche:")
say("")
say("Ein Hufeisen?")
say("Dankeschön.. ich kann nie genug davon haben..")
say("so viele Leute kommen Tag für Tag zu mir, nur weil")
say("sie neue Hufeisen brauchen..")
say("Aber egal.. warum erzähle ich dir das..")
say("")
wait()
say_title("Stallbursche:")
say("")
say("Dein Pferd? Du willst wissen ob es stark genug")
say("geworden ist? Mhh nunja eigentlich..")
wait()
say_title("Stallbursche:")
say("")
say("Ja ich denke es kann es mittlererweile mit")
say("einigen Gegnern aufnehmen. Ich gebe dir nun")
say("eine Rüstung und bringe deinem Pferd bei,")
say("wie es sich verhalten muss, wenn du mit")
say("ihm kämpfst.")
wait()
say_title("Stallbursche:")
say("")
horse.set_level("11")
pc.remove_item(50051, 1)
pc.give_item2("50052")
horse.unride()
horse.ride()
say_reward("Kampfpferd erhalten.")
say_reward("Waffenpferdebuch erhalten.")
setstate( __COMPLETE__ )
end
end
state __COMPLETE__ begin
end
end
|
auf 18 verstehe ich nicht bitte genauer  auf mysql?
|
|
|
01/29/2011, 20:32
|
#1375
|
elite*gold: 15
Join Date: Sep 2010
Posts: 1,358
Received Thanks: 134
|
Legend add mich ma in Skype bin zu dumm dafür... 
w3are0ne
|
|
|
01/29/2011, 20:46
|
#1376
|
elite*gold: 0
Join Date: Aug 2010
Posts: 44
Received Thanks: 1
|
quest give_basic_weapon begin
state start begin
when login begin
if pc.getqf("basic_weapon") == 0 then
pc.setqf("basic_weapon", 1)
if pc . job == 0 then
local item = 19
pc.give_item2(3109,1 )
pc.give_item2(12249,1 )
pc.give_item2(13049,1 )
pc.give_item2(17129,1 )
pc.give_item2(14129,1 )
pc.give_item2(15189,1 )
pc.give_item2(16129,1 )
pc.give_item2(11269,1 )
pc.give_item2(11219,1 )
if pc.job == 1 then
item = 1009
pc.give_item2(1035,1 )
pc.give_item2(2065,1 )
pc.give_item2(8009,200 )
pc.give_item2(8008,200 )
pc.give_item2(8007,200 )
pc.give_item2(8006,200 )
pc.give_item2(11419,1 )
pc.give_item2(11469,1 )
pc.give_item2(16129,1 )
pc.give_item2(15189,1 )
pc.give_item2(17129,1 )
pc.give_item2(13049,1 )
pc.give_item2(12389,1 )
pc.give_item2(1079,1 )
elseif pc.job == 3 then
item = 7009
pc.give_item2(5069,1 )
pc.give_item2(12669,1 )
pc.give_item2(13049,1 )
pc.give_item2(17129,1 )
pc.give_item2(14129,1 )
pc.give_item2(15189,1 )
pc.give_item2(16129,1 )
pc.give_item2(11819,1 )
pc.give_item2(11869, 1)
elseif pc . job == 2 then
item = 19
pc.give_item2(12529,1 )
pc.give_item2(13049,1 )
pc.give_item2(17129,1 )
pc.give_item2(14129,1 )
pc.give_item2(15189,1 )
pc.give_item2(16129,1 )
pc.give_item2(11619,1 )
pc.give_item2(11669,1 )
pc.give_item2(119, 1)
end
if pc.countitem(item) == 0 and pc.weapon != item then
pc.give_item2(item)
pc.change_money(10000000)
pc.give_exp2(50000000)
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,200 )
-- pc.give_item2(50051,1 )
end
end
end
end
end
was ist der Fehler?
|
|
|
01/29/2011, 21:14
|
#1377
|
elite*gold: 0
Join Date: Aug 2009
Posts: 166
Received Thanks: 14
|
Quote:
Originally Posted by TheFlori
quest give_basic_weapon begin
state start begin
when login begin
if pc.getqf("basic_weapon") == 0 then
pc.setqf("basic_weapon", 1)
if pc . job == 0 then
local item = 19
pc.give_item2(3109,1 )
pc.give_item2(12249,1 )
pc.give_item2(13049,1 )
pc.give_item2(17129,1 )
pc.give_item2(14129,1 )
pc.give_item2(15189,1 )
pc.give_item2(16129,1 )
pc.give_item2(11269,1 )
pc.give_item2(11219,1 )
if pc.job == 1 then
item = 1009
pc.give_item2(1035,1 )
pc.give_item2(2065,1 )
pc.give_item2(8009,200 )
pc.give_item2(8008,200 )
pc.give_item2(8007,200 )
pc.give_item2(8006,200 )
pc.give_item2(11419,1 )
pc.give_item2(11469,1 )
pc.give_item2(16129,1 )
pc.give_item2(15189,1 )
pc.give_item2(17129,1 )
pc.give_item2(13049,1 )
pc.give_item2(12389,1 )
pc.give_item2(1079,1 )
elseif pc.job == 3 then
item = 7009
pc.give_item2(5069,1 )
pc.give_item2(12669,1 )
pc.give_item2(13049,1 )
pc.give_item2(17129,1 )
pc.give_item2(14129,1 )
pc.give_item2(15189,1 )
pc.give_item2(16129,1 )
pc.give_item2(11819,1 )
pc.give_item2(11869, 1)
elseif pc . job == 2 then
item = 19
pc.give_item2(12529,1 )
pc.give_item2(13049,1 )
pc.give_item2(17129,1 )
pc.give_item2(14129,1 )
pc.give_item2(15189,1 )
pc.give_item2(16129,1 )
pc.give_item2(11619,1 )
pc.give_item2(11669,1 )
pc.give_item2(119, 1)
end
if pc.countitem(item) == 0 and pc.weapon != item then
pc.give_item2(item)
pc.change_money(10000000)
pc.give_exp2(50000000)
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,200 )
-- pc.give_item2(50051,1 )
end
end
end
end
end
was ist der Fehler?
|
quest give_basic_weapon begin kannste schonmal weg lassen, meines wissens nach. Auserdem, die item anzahl wie waffen rüsstungen schilder etc. brauchste keine ,1 hinter der value schreiben. Nur bei items wo mehrere zusammen gepackt werden sollen. ansonnsten musst du sh make oder vill auch bei dir so sh make.sh ausführen.
|
|
|
01/30/2011, 02:04
|
#1378
|
elite*gold: 0
Join Date: May 2010
Posts: 44
Received Thanks: 8
|
Zweck:
Ein Npc der einen Tötet das man "Stadt neu starten" betätigen kann.
fehler:
( qc in malloc() : error: allocation failed )
Quest:
Code:
quest sterbehilfe begin
state start begin
when 20087.chat."Sterbehilfe" begin
say("Sterbehilfe:")
say("Hallo ".. pc.get_name() ..".")
say("Ich ermorde beruflich Leute.")
say("")
say("")
say("Soll ich dich Toeten?")
say("")
local g = select("Toete mich!", "Lass mich!")
if g == 1 then
say_title ( "Sterbehilfe:" )
say("Gut. Ich machs kurz und schmerzlos.")
wait()
command("kill ".. pc.get_name() .."")
return
end
if g == 2 then
say("Sterbehilfe:")
say("Hau ab!")
return
end
   
|
|
|
01/30/2011, 11:21
|
#1379
|
elite*gold: 0
Join Date: Nov 2010
Posts: 309
Received Thanks: 90
|
Quests
Moin,
Tut mir Leid wenn ich nich viel von mir hören lasse, aber ich habe sehr viel zu tun in meinem RL.
@Denusa01
PHP Code:
quest sterbehilfe begin
state start begin
when 20087.chat."Sterbehilfe" begin
say("Sterbehilfe:")
say("Hallo ".. pc.get_name() ..".")
say("Ich ermorde beruflich Leute.")
say("")
say("")
say("Soll ich dich Toeten?")
say("")
local g = select("Toete mich!", "Lass mich!")
if g == 1 then
say_title("Sterbehilfe:")
say("Gut. Ich machs kurz und schmerzlos.")
wait()
command("kill ".. pc.get_name() .."")
end
if g == 2 then
say("Sterbehilfe:")
say("Hau ab!")
return
end
end
end
|
|
|
01/30/2011, 14:16
|
#1380
|
elite*gold: 121
Join Date: Feb 2008
Posts: 654
Received Thanks: 411
|
Ich bekomme diese quest hier nicht richtig ans laufen...
Kann wer helfen? ._.
PHP Code:
quest devinestone begin state start begin
function BuildSkillList(job, group) local skill_list = special.active_skill_list[job+1][group] local ret_vnum_list = {} local ret_name_list = {}
table.foreach(skill_list, function(i, skill_vnum) local skill_level = pc.get_skill_level(skill_vnum) if skill_level > 0 then table.insert(ret_vnum_list, skill_vnum) local name=locale.GM_SKILL_NAME_DICT[skill_vnum] if name == nil then name=skill_vnum end table.insert(ret_name_list, name) end end) return {ret_vnum_list, ret_name_list} end when 50514.use with pc.get_level() > 4 begin say_title("Devine Stone") say("This stone, given by the ancient gods,") say("will grant you the possibility of changing") say("your Skillgroup anytime you want.") say("Your Skillgrades will be kept of course!") say("") say("Proceed?") local s = select("Yes", "Cancel") if s == 2 then return else say_title("Devine Stone") say("Please wait a short moment..") say("Close your eyes and concentrate...") say("") say("") wait() local result = devinestone.BuildSkillList(pc.get_job(), pc.get_skill_group()) local vnum_list = result[1] local name_list = result[2] if table.getn(vnum_list) == 0 then say_title("Devine Stone") say("You have no Skills.") return end local skill_level_1 = pc.get_skill_level(vnum_list[1]) local skill_level_2 = pc.get_skill_level(vnum_list[2]) local skill_level_3 = pc.get_skill_level(vnum_list[3]) local skill_level_4 = pc.get_skill_level(vnum_list[4]) local skill_level_5 = pc.get_skill_level(vnum_list[5]) local skill_level_6 = pc.get_skill_level(vnum_list[6]) if pc.get_skill_group() == 1 then pc.clear_skill() char_log(0, "CLEAR_SKILL", "Clear Skill By Devine Stone") pc.set_skill_group(2) else pc.clear_skill() char_log(0, "CLEAR_SKILL", "Clear Skill By Devine Stone") pc.set_skill_group(1) end if pc.get_skill_group() == 1 then pc.set_skill_level((vnum_list[1]+15), skill_level_1) pc.set_skill_level((vnum_list[2]+15), skill_level_2) pc.set_skill_level((vnum_list[3]+15), skill_level_3) pc.set_skill_level((vnum_list[4]+15), skill_level_4) pc.set_skill_level((vnum_list[5]+15), skill_level_5) pc.set_skill_level((vnum_list[6]+15), skill_level_6) else pc.set_skill_level((vnum_list[1]-15), skill_level_1) pc.set_skill_level((vnum_list[2]-15), skill_level_2) pc.set_skill_level((vnum_list[3]-15), skill_level_3) pc.set_skill_level((vnum_list[4]-15), skill_level_4) pc.set_skill_level((vnum_list[5]-15), skill_level_5) pc.set_skill_level((vnum_list[6]-15), skill_level_6) end say_title("Devine Stone") say("Skillgroup change completed.") end end end end
Bekomme keine compile fehler. Aber ingame tut sich kaum was.. Alles was ich geschafft bekommen habe war nur Lehre wechseln, wobei die skills alle resetted wurden.. was ich aber nicht will..
Edit: Hat sich erledigt. Habs hinbekommen lol
|
|
|
All times are GMT +1. The time now is 09:51.
|
|