Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 17:17

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[SERVICE] Die Questkontrolle

Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 04/14/2016, 20:57   #12286
 
elite*gold: 0
Join Date: Apr 2013
Posts: 35
Received Thanks: 0
Könnte mir wer sagen wo es hierbei hapert?
JoJoey1998 is offline  
Old 04/15/2016, 12:24   #12287
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
Quote:
Originally Posted by JoJoey1998 View Post
Könnte mir wer sagen wo es hierbei hapert?

Hab dir das mal zu lernzwecken nur eingerück, wenn du dir das anschaust, dann siehst du ziemlich schnell dass deine Ends nicht passen


@

Falls du es noch brauchst, dein Fehler liegt in der abfrage
PHP Code:
 if count1 <= 5 then
                pc
.setqf("state1"count1)
                
q.set_counter("Metin der Gier"count1)
            
end
            
if count1 == 5 then
            pc
.setqf("metinquest1"1)
            
end 
weil du
PHP Code:
 if count1 <= 5 then 
hast wird es niemals zu
PHP Code:
 if count1 == 5 then 
kommen, denn "<=" schließt "==" mit ein.
und das hast du bei allen kills
Du kansnt die auch übrigens zusammen fassen.
einfach
PHP Code:
when kill begin
if npc.get_race() == 101 then
elseif npc.get_race() == 102 then
end
--hier kansnt du noch die counts abfragen
end 
ist auch ebsser weil bei zu vielen .kills werden die rigendwann nicht mehr aktiviert.
Rofelmau is offline  
Thanks
1 User
Old 04/16/2016, 18:34   #12288
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by Rofelmau View Post
Hab dir das mal zu lernzwecken nur eingerück, wenn du dir das anschaust, dann siehst du ziemlich schnell dass deine Ends nicht passen


@

Falls du es noch brauchst, dein Fehler liegt in der abfrage
PHP Code:
 if count1 <= 5 then
                pc
.setqf("state1"count1)
                
q.set_counter("Metin der Gier"count1)
            
end
            
if count1 == 5 then
            pc
.setqf("metinquest1"1)
            
end 
weil du
PHP Code:
 if count1 <= 5 then 
hast wird es niemals zu
PHP Code:
 if count1 == 5 then 
kommen, denn "<=" schließt "==" mit ein.
und das hast du bei allen kills
Du kansnt die auch übrigens zusammen fassen.
einfach
PHP Code:
when kill begin
if npc.get_race() == 101 then
elseif npc.get_race() == 102 then
end
--hier kansnt du noch die counts abfragen
end 
ist auch ebsser weil bei zu vielen .kills werden die rigendwann nicht mehr aktiviert.
oder man machts gleich gscheit und sagt
Code:
when kill begin
	local mob_vnums = {{8008,"state5","Metin der Seele","metinquests5"},{8007,"state5","Metin der Seele","metinquests5"}}
	local mob_ = mob_vnums[npc.get_race()]
	local count = pc.getqf(mob_[2])+1
	if (mob_[1] ~= nil and count < 5) then
		pc.setqf(mob_[2],count)
		q.set_counter(mob_[3],count)
	end
	if count >= 5 then
		pc.setqf(mob_[4],1)
	end
end
somit hat man eine lässige tabelle die man ganz einfach erweitern kann
gerald500 is offline  
Old 04/17/2016, 17:51   #12289
 
-Exploit's Avatar
 
elite*gold: 320
The Black Market: 154/1/0
Join Date: May 2015
Posts: 3,441
Received Thanks: 383
PHP Code:
quest horse_lv35 begin 
    state start begin 
        when login 
or levelup with pc.get_level() >= 35 and not pc.is_gm() begin 
            send_letter
("Hole dein Kampfgaul!"
        
end 
        when button 
or info begin 
            say
("Es wird viel Zeit und Arbeit benötigt")
            
say("bis man das Können und Geschickt besizt")
            
say("um das Millitärpferd zu beherrschen.")
            
say("")
            
say("Wenn du möchtest das ich dir diese Arbeit")
            
say("erspare, bringe mir bitte 10 Pferdemedaille")
            
say("dafür werde ich dir beibringen das Millitär-")
            
say("pferd zu kontrollieren und zu beherrschen")
            
say("")
            
wait()
            if 
pc.count_item("50050") >= 10 then
                pc
.remove_item(5005010)
                
say_title("Stallbursche:")
                
say("Wie ich sehe hast du 10 Pferdemedaille gesammelt.")
                
say("Dafür werde ich dir beibringen ")
                
say("wie man das Millitärpferd beherrscht")
                
say("")
                
wait()
                
say_reward("Du hast die Kunst des Millitärpferdes erlernt.")
                
say_reward("Du hast das Millitärpferde Buch erhalten.")
                
pc.give_item2 "50053" 1)
                
horse.set_level("21")
                
setstate(__COMPLETE__)
            else
                
say("Wie gesagt.. wenn du 10 Pferdemedaille")
                
say("bringst, Werde ich dir dafür ")
                
say("beibringen das Millitärpferd")
                
say("zubeherrschen. Bis Bald.")
        
end
        end
        state __COMPLETE__ begin 
    end 
end 
Quest/millitar_pferd.quest:37:expecting 'when' or 'function'
Error occured on compile Quest/millitar_pferd.quest
-Exploit is offline  
Old 04/17/2016, 20:10   #12290
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by [Splash] View Post
PHP Code:
quest horse_lv35 begin 
    state start begin 
        when login 
or levelup with pc.get_level() >= 35 and not pc.is_gm() begin 
            send_letter
("Hole dein Kampfgaul!"
        
end 
        when button 
or info begin 
            say
("Es wird viel Zeit und Arbeit benötigt")
            
say("bis man das Können und Geschickt besizt")
            
say("um das Millitärpferd zu beherrschen.")
            
say("")
            
say("Wenn du möchtest das ich dir diese Arbeit")
            
say("erspare, bringe mir bitte 10 Pferdemedaille")
            
say("dafür werde ich dir beibringen das Millitär-")
            
say("pferd zu kontrollieren und zu beherrschen")
            
say("")
            
wait()
            if 
pc.count_item("50050") >= 10 then
                pc
.remove_item(5005010)
                
say_title("Stallbursche:")
                
say("Wie ich sehe hast du 10 Pferdemedaille gesammelt.")
                
say("Dafür werde ich dir beibringen ")
                
say("wie man das Millitärpferd beherrscht")
                
say("")
                
wait()
                
say_reward("Du hast die Kunst des Millitärpferdes erlernt.")
                
say_reward("Du hast das Millitärpferde Buch erhalten.")
                
pc.give_item2 "50053" 1)
                
horse.set_level("21")
                
setstate(__COMPLETE__)
            else
                
say("Wie gesagt.. wenn du 10 Pferdemedaille")
                
say("bringst, Werde ich dir dafür ")
                
say("beibringen das Millitärpferd")
                
say("zubeherrschen. Bis Bald.")
        
end
        end
        state __COMPLETE__ begin 
    end 
end 
Quest/millitar_pferd.quest:37:expecting 'when' or 'function'
Error occured on compile Quest/millitar_pferd.quest

ein end zu wenig nach state __COMPLETE__
gerald500 is offline  
Old 04/17/2016, 20:35   #12291
 
-Exploit's Avatar
 
elite*gold: 320
The Black Market: 154/1/0
Join Date: May 2015
Posts: 3,441
Received Thanks: 383
Quote:
Originally Posted by gerald500 View Post
ein end zu wenig nach state __COMPLETE__
PHP Code:
quest horse_lv35 begin  
    state start begin  
        when login 
or levelup with pc.get_level() >= 35 begin  
            send_letter
("Hole dein Millitärpferd!")  
        
end  
        when button 
or info begin  
            say
("Es wird viel Zeit und Arbeit benötigt"
            
say("bis man das Können und Geschickt besizt"
            
say("um das Millitärpferd zu beherrschen."
            
say(""
            
say("Wenn du möchtest das ich dir diese Arbeit"
            
say("erspare, bringe mir bitte 10 Pferdemedaille"
            
say("dafür werde ich dir beibringen das Millitär-"
            
say("pferd zu kontrollieren und zu beherrschen"
            
say(""
            
wait() 
            if 
pc.count_item("50050") >= 10 then 
                pc
.remove_item(5005010
                
say_title("Stallbursche:"
                
say("Wie ich sehe hast du 10 Pferdemedaille gesammelt."
                
say("Dafür werde ich dir beibringen "
                
say("wie man das Millitärpferd beherrscht"
                
say(""
                
wait() 
                
say_reward("Du hast die Kunst des Millitärpferdes erlernt."
                
say_reward("Du hast das Millitärpferde Buch erhalten."
                
pc.remove_item(500521)
                
pc.give_item2 "50053" 1
                
horse.set_level("21"
                
setstate(__COMPLETE__
            else 
                
say("Wie gesagt.. wenn du 10 Pferdemedaille"
                
say("bringst, Werde ich dir dafür "
                
say("beibringen das Millitärpferd"
                
say("zubeherrschen. Bis Bald."
            
end
        end
        state __COMPLETE__ begin 
        end
    end  
end 
Danke, jedoch kommt der selbe Fehler.

PHP Code:
pferd.quest:38:expecting 'when' or 'function' 
-Exploit is offline  
Old 04/17/2016, 22:13   #12292
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by [Splash] View Post
PHP Code:
quest horse_lv35 begin  
    state start begin  
        when login 
or levelup with pc.get_level() >= 35 begin  
            send_letter
("Hole dein Millitärpferd!")  
        
end  
        when button 
or info begin  
            say
("Es wird viel Zeit und Arbeit benötigt"
            
say("bis man das Können und Geschickt besizt"
            
say("um das Millitärpferd zu beherrschen."
            
say(""
            
say("Wenn du möchtest das ich dir diese Arbeit"
            
say("erspare, bringe mir bitte 10 Pferdemedaille"
            
say("dafür werde ich dir beibringen das Millitär-"
            
say("pferd zu kontrollieren und zu beherrschen"
            
say(""
            
wait() 
            if 
pc.count_item("50050") >= 10 then 
                pc
.remove_item(5005010
                
say_title("Stallbursche:"
                
say("Wie ich sehe hast du 10 Pferdemedaille gesammelt."
                
say("Dafür werde ich dir beibringen "
                
say("wie man das Millitärpferd beherrscht"
                
say(""
                
wait() 
                
say_reward("Du hast die Kunst des Millitärpferdes erlernt."
                
say_reward("Du hast das Millitärpferde Buch erhalten."
                
pc.remove_item(500521)
                
pc.give_item2 "50053" 1
                
horse.set_level("21"
                
setstate(__COMPLETE__
            else 
                
say("Wie gesagt.. wenn du 10 Pferdemedaille"
                
say("bringst, Werde ich dir dafür "
                
say("beibringen das Millitärpferd"
                
say("zubeherrschen. Bis Bald."
            
end
        end
        state __COMPLETE__ begin 
        end
    end  
end 
Danke, jedoch kommt der selbe Fehler.

PHP Code:
pferd.quest:38:expecting 'when' or 'function' 
versuchs mal so

Quote:
Originally Posted by [Splash] View Post
PHP Code:
quest horse_lv35 begin  
    state start begin  
        when login 
or levelup with pc.get_level() >= 35 begin  
            send_letter
("Hole dein Millitärpferd!")  
        
end  
        when button 
or info begin  
            say
("Es wird viel Zeit und Arbeit benötigt"
            
say("bis man das Können und Geschickt besizt"
            
say("um das Millitärpferd zu beherrschen."
            
say(""
            
say("Wenn du möchtest das ich dir diese Arbeit"
            
say("erspare, bringe mir bitte 10 Pferdemedaille"
            
say("dafür werde ich dir beibringen das Millitär-"
            
say("pferd zu kontrollieren und zu beherrschen"
            
say(""
            
wait() 
            if 
pc.count_item("50050") >= 10 then 
                pc
.remove_item(5005010
                
say_title("Stallbursche:"
                
say("Wie ich sehe hast du 10 Pferdemedaille gesammelt."
                
say("Dafür werde ich dir beibringen "
                
say("wie man das Millitärpferd beherrscht"
                
say(""
                
wait() 
                
say_reward("Du hast die Kunst des Millitärpferdes erlernt."
                
say_reward("Du hast das Millitärpferde Buch erhalten."
                
pc.remove_item(500521)
                
pc.give_item2 "50053" 1
                
horse.set_level("21"
                
setstate(__COMPLETE__
            else 
                
say("Wie gesagt.. wenn du 10 Pferdemedaille"
                
say("bringst, Werde ich dir dafür "
                
say("beibringen das Millitärpferd"
                
say("zubeherrschen. Bis Bald."
            
end
        end
    end
    state __COMPLETE__ begin 
    end  
end 
Danke, jedoch kommt der selbe Fehler.

PHP Code:
pferd.quest:38:expecting 'when' or 'function' 
und die übergabeparameter von pc.give_item2 und pc.count_item in einen string zu schreiben ist auch falsch du solltest es so machen pc.count_item(50050)
gerald500 is offline  
Old 04/18/2016, 10:24   #12293
wild wild son




 
Nick's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 5,830
Received Thanks: 3,369
Quote:
Originally Posted by gerald500 View Post
versuchs mal so



und die übergabeparameter von pc.give_item2 und pc.count_item in einen string zu schreiben ist auch falsch du solltest es so machen pc.count_item(50050)
Ich würde eher anmerken, dass man die Quest bereits mit Level 1 abschließen könnte, sofern man im Besitz der Pferdemedaillen ist. Auch beim Button Trigger müsste das Level abgefragt werden.
Nick is offline  
Old 04/18/2016, 17:30   #12294
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by Naverwy View Post
Ich würde eher anmerken, dass man die Quest bereits mit Level 1 abschließen könnte, sofern man im Besitz der Pferdemedaillen ist. Auch beim Button Trigger müsste das Level abgefragt werden.
das auch zudem sollte es noch einen when letter begin trigger geben der den brief wd schickt sollte man abgebrochen haben
gerald500 is offline  
Old 04/21/2016, 14:14   #12295
 
elite*gold: 0
Join Date: Jul 2009
Posts: 125
Received Thanks: 2
quest give_basic_weapon begin
state start begin
when login begin
local item_vnum = 299
local item_vnum2 = 11239
local item_vnum3 = 12229
if pc.get_job() == 1 then
item_vnum = 1179
item_vnum2 = 11439
item_vnum3 = 12369
elseif pc.get_job() == 2 then
item_vnum = 299
item_vnum2 = 11639
item_vnum3 = 12509
elseif pc.get_job() == 3 then
item_vnum = 5119
item_vnum2 = 11839
item_vnum3 = 12649
end
pc.give_item2(item_vnum)
pc.give_item2(item_vnum2)
pc.give_item2(item_vnum3)
pc.give_item2(27003, 200)
pc.give_item2(27006, 200)
pc.give_item2(72702)
pc.give_item2(71050, 200)
pc.give_item2(70038, 200)
pc.give_item2(13009)
pc.give_item2(14009)
pc.give_item2(15009)
pc.give_item2(16009)
pc.give_item2(17009)
pc.give_item2(80008)
pv.give_item2(71084, 200)
pv.give_item2(71085, 200)
pc.give_exp(5048600)
pc.get_alignment(5000)
horse.set_level(21)
horse.summon
set_state(weiter)
end
end
end
end
state weiter begin
when letter begin
send_letter("Willkommen auf AcloriMt2!")
end
when button or info begin
say_title("Willkommen "..pc.get_name())
say("Das Team von AcloriMt2 heisst dich herzlich Willkommen und wuenscht dir viel Spass!")
say("Wenn du Fragen hast, melde dich bitte beim Team")
say("[GA]Ch4oS")
say("[GM]xNight")
say("Du erhälst ein paar Kleinigkeiten als Willkommensgeschenk.")
say("Viel Erfolg beim spielen!")
set_state(ende)
end
end
state ende begin
end
end



syntax error : [string "start"]:36: '=' expected near 'set_state'
Getreidekuchen66 is offline  
Old 04/21/2016, 15:33   #12296
 
elite*gold: 34
Join Date: May 2013
Posts: 75
Received Thanks: 86
@

PeloQ is offline  
Old 04/21/2016, 18:19   #12297
 
elite*gold: 0
Join Date: Jul 2009
Posts: 125
Received Thanks: 2
quest yangspeicher begin
state start begin
when 80008.use begin
say_title("Yangspeicher")
say("Hallo "..pc.get_name().."! ")
say("Möchtest du deinen Yangspeicher öffnen?")
say("Er enthält 500kk")
local s=select ("Ja", "Nein")
if s == 2
return
end
if s == 1 with PC.get_gold() >= 1500000000
say("Du hast zuviel Yang")
say("Vereuch es erneut wenn du weniger als 1,5kkk hast")
return
else
pc.changemoney(500000000)
pc.remove_item(80008, 1)
end
end
state ende begin
end


syntax error : [string "start"]:7:
Getreidekuchen66 is offline  
Old 04/21/2016, 19:41   #12298
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
Quote:
Originally Posted by Getreidekuchen66 View Post
quest yangspeicher begin
state start begin
when 80008.use begin
say_title("Yangspeicher")
say("Hallo "..pc.get_name().."! ")
say("Möchtest du deinen Yangspeicher öffnen?")
say("Er enthält 500kk")
local s=select ("Ja", "Nein")
if s == 2
return
end
if s == 1 with PC.get_gold() >= 1500000000
say("Du hast zuviel Yang")
say("Vereuch es erneut wenn du weniger als 1,5kkk hast")
return
else
pc.changemoney(500000000)
pc.remove_item(80008, 1)
end
end
state ende begin
end


syntax error : [string "start"]:7:
Ein end fehlte am Ende und then nach if
außerdem haben ifs kein with sondern and
PHP Code:
quest yangspeicher begin 
    state start begin 
    when 80008.
use begin 
        say_title
("Yangspeicher"
        
say("Hallo "..pc.get_name().."! "
        
say("Möchtest du deinen Yangspeicher öffnen?"
        
say("Er enthält 500kk"
        
local s=select ("Ja""Nein"
        if 
== 2 then
            
return 
        
end 
        
if == 1 with PC.get_gold() >= 1500000000 then
            say
("Du hast zuviel Yang"
            
say("Vereuch es erneut wenn du weniger als 1,5kkk hast"
            return 
        else 
            
pc.changemoney(500000000
            
pc.remove_item(800081
        
end 
    end 
    state ende begin
    end 
end 
Das state ende kannst auch raus nehmen wenn du den nicht aufrufst
Rofelmau is offline  
Thanks
1 User
Old 04/21/2016, 19:44   #12299
 
elite*gold: 0
Join Date: Jul 2009
Posts: 125
Received Thanks: 2
Quote:
Originally Posted by Rofelmau View Post
Ein end fehlte am Ende und then nach if
außerdem haben ifs kein with sondern and
PHP Code:
quest yangspeicher begin 
    state start begin 
    when 80008.
use begin 
        say_title
("Yangspeicher"
        
say("Hallo "..pc.get_name().."! "
        
say("Möchtest du deinen Yangspeicher öffnen?"
        
say("Er enthält 500kk"
        
local s=select ("Ja""Nein"
        if 
== 2 then
            
return 
        
end 
        
if == 1 with PC.get_gold() >= 1500000000 then
            say
("Du hast zuviel Yang"
            
say("Vereuch es erneut wenn du weniger als 1,5kkk hast"
            return 
        else 
            
pc.changemoney(500000000
            
pc.remove_item(800081
        
end 
    end 
    state ende begin
    end 
end 
Das state ende kannst auch raus nehmen wenn du den nicht aufrufst
Das klappt leider auch nicht.. Nach wie vor ein Fehler in line 7 :/
Getreidekuchen66 is offline  
Old 04/21/2016, 20:31   #12300
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
Quote:
Originally Posted by Getreidekuchen66 View Post
Das klappt leider auch nicht.. Nach wie vor ein Fehler in line 7 :/
Jo sry fehlte noch ein end
PHP Code:
quest yangspeicher begin  
    state start begin  
        when 80008.
use begin  
            say_title
("Yangspeicher")  
            
say("Hallo "..pc.get_name().."! ")  
            
say("Möchtest du deinen Yangspeicher öffnen?")  
            
say("Er enthält 500kk")  
            
local s=select ("Ja""Nein")  
            if 
== 2 then 
                
return  
            
end  
            
if == and PC.get_gold() >= 1500000000 then 
                say
("Du hast zuviel Yang")  
                
say("Vereuch es erneut wenn du weniger als 1,5kkk hast")  
                return  
            else  
                
pc.changemoney(500000000)  
                
pc.remove_item(800081)  
            
end  
        end  
    end  
end 
Rofelmau is offline  
Thanks
1 User
Reply




All times are GMT +2. The time now is 17:17.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.