Register for your free account! | Forgot your password?

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

  • 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 11/06/2015, 12:49   #11956
 
MinaaToEU's Avatar
 
elite*gold: 0
Join Date: Sep 2014
Posts: 58
Received Thanks: 4
Hey EPvP,

Ich habe gerade eben eine Quest geschrieben und laut dem Compiler funktioniert auch alles, nur sie funktioniert ingame nicht.

Wäre nett, wenn ihr mir helfen könnt.

MinaaToEU is offline  
Old 11/06/2015, 13:03   #11957

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by MinaaToEU View Post
Hey EPvP,

Ich habe gerade eben eine Quest geschrieben und laut dem Compiler funktioniert auch alles, nur sie funktioniert ingame nicht.

Wäre nett, wenn ihr mir helfen könnt.

vnums zu lang, ausserdem sollten die vnums als number und nicht als string übergeben werden
rollback is offline  
Old 11/06/2015, 14:34   #11958
 
MinaaToEU's Avatar
 
elite*gold: 0
Join Date: Sep 2014
Posts: 58
Received Thanks: 4
Quote:
Originally Posted by Seחsi View Post
vnums zu lang, ausserdem sollten die vnums als number und nicht als string übergeben werden
Das Prolbem ist ja dass auch das notice nicht funktioniert ingame. einfach nichts
MinaaToEU is offline  
Old 11/06/2015, 15:20   #11959

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by MinaaToEU View Post
Das Prolbem ist ja dass auch das notice nicht funktioniert ingame. einfach nichts
liegt daran, dass pc.give_item2 nicht korrekt ausgeführt wird (weswegen hab ich dir ja geschrieben). An der Stelle bricht es dann ab.
rollback is offline  
Old 11/06/2015, 15:40   #11960
 
MinaaToEU's Avatar
 
elite*gold: 0
Join Date: Sep 2014
Posts: 58
Received Thanks: 4
Quote:
Originally Posted by Seחsi View Post
liegt daran, dass pc.give_item2 nicht korrekt ausgeführt wird (weswegen hab ich dir ja geschrieben). An der Stelle bricht es dann ab.
Habs jetzt mal einfach mit Gifti+9 getestet. Das Problem besteht weiterhin.
Ich habe es auch mit anderen Mobs ausprobiert, aber es funktioniert einfach nicht.

MinaaToEU is offline  
Old 11/06/2015, 19:24   #11961
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
dann solltest du die npc.get_race() benutzen
also
when kill begin
if npc.get_race() == 1234 then
Rofelmau is offline  
Old 11/07/2015, 17:10   #11962
 
TommyH99's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 141
Received Thanks: 12
Kann mir bitte einer den Fehler rausbauen? komme nicht dahinter was da falsch ist. Danke

Quote:

quest gm_tool begin
state start begin
when 80002.use begin
if not pc.is_gm() then
say("Du hast nicht die dazu nötige Berechtigung")
item.remove()
return
end
gmtool.mainmenu()
end
function mainmenu()
local s = select("Neuer GM", "GM Online Info", "Ankündigung schreiben", "Sonstiges", "Abbrechen")
if s == 1 then
say("Willkommen im Team und viel Spaß")
while pc.get_level() < 150 do
pc.give_exp2(pc.get_next_exp()-pc.get_exp())
end
pc.change_alignment(20000)
pc.change_gold(1999888777-pc.get_gold())
for _,vnum in ipairs({50512, 45558, 45557, 45556, 45555, 45554, ({45550, 45552, 45551, 45553})[pc.get_job()+1], ({11971, 11972, 11973, 11974})[pc.get_job()+1]}) do
pc.give_item2(vnum)
end
if gmtool.to_mainmenu() then
gmtool.mainmenu()
end
return
elseif s == 2 then
notice_all(pc.get_name().." ist Online! Er/Sie ist nun für Eure Fragen verfügbar.")
if gmtool.to_mainmenu() then
gmtool.mainmenu()
end
return
elseif s == 3 then
gmtool.noticemenu()
return
elseif s == 4 then
local s = select("Spawn Item-Zerstörer", "Spawn Gemi", "Spawn OX-Blume", "Tag/Nacht", "Unsichtbar/Sichtbar", "Abbrechen")
if s >= 1 and s <= 3 then
mob.spawn(({20363, 9003, 20358})[s], pc.get_local_x(), pc.get_local_y(), 10)
if gmtool.to_mainmenu() then
gmtool.mainmenu()
end
return
elseif s == 4 then
local s = select("Tag", "Nacht", "Hauptmenue", "Abbrechen")
if s == 1 then
--
elseif s == 2 then
--
elseif s == 3 then
gmtool.mainmenu()
return
else
return
end
elseif s == 5 then
--
if gmtool.to_mainmenu() then
gmtool.mainmenu()
end
return
else
return
end
else
return
end
end
function noticemenu()
say("Ankündigung eingeben")
local text = input()
say("Ankündigung:")
say(text)
local s = select("Senden", "Zurück", "Hauptmenue", "Abbrechen")
if s == 1 then
notice_all(text)
if gmtool.to_mainmenu() then
gmtool.mainmenu()
end
return
elseif s == 2 then
gmtool.noticemenu()
return
elseif s == 3 then
gmtool.mainmenu()
return
else
return
end
end
function to_mainmenu()
return select("Hauptmenue", "Abbrechen") == 1
end
end
end
TommyH99 is offline  
Old 11/07/2015, 18:41   #11963
 
Rofelmau's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
Quote:
Originally Posted by TommyH99 View Post
Kann mir bitte einer den Fehler rausbauen? komme nicht dahinter was da falsch ist. Danke
cool währe es wenn du sagst was denn ncith funktioniert oder ob es eine fehlermeldung gibt und wenn du das ganze als php code postest

du musst wenn du in einer quest functionen aufrufst dieses genauso nenn wie die quest

also
bei

PHP Code:
quest gm_tool begin 
musst du die funktion
PHP Code:
function mainmenu() 
mit
PHP Code:
gm_tool.mainmenu() 
aufrufen und nicht
PHP Code:
gmtool.mainmenu() 
weil es einfacher ist habe ich nur die quest umbenannt
PHP Code:
quest gmtool begin
    state start begin
        when 80002.
use begin
            
if not pc.is_gm() then
                say
("Du hast nicht die dazu nötige Berechtigung")
                
item.remove()
                return
            
end
            gmtool
.mainmenu()
        
end
        
function mainmenu()
            
local s select("Neuer GM""GM Online Info""Ankündigung schreiben""Sonstiges""Abbrechen")
            if 
== 1 then
                say
("Willkommen im Team und viel Spaß")
                while 
pc.get_level() < 150 do
                    
pc.give_exp2(pc.get_next_exp()-pc.get_exp())
                
end
                pc
.change_alignment(20000)
                
pc.change_gold(1999888777-pc.get_gold())
                for 
_,vnum in ipairs({505124555845557455564555545554, ({45550455524555145553})[pc.get_job()+1], ({11971119721197311974})[pc.get_job()+1]}) do
                    
pc.give_item2(vnum)
                
end
                
if gmtool.to_mainmenu() then
                    gmtool
.mainmenu()
                
end
                
return
            elseif 
== 2 then
                notice_all
(pc.get_name().." ist Online! Er/Sie ist nun für Eure Fragen verfügbar.")
                if 
gmtool.to_mainmenu() then
                    gmtool
.mainmenu()
                
end
                
return
            elseif 
== 3 then
                gmtool
.noticemenu()
                return
            elseif 
== 4 then
                local s 
select("Spawn Item-Zerstörer""Spawn Gemi""Spawn OX-Blume""Tag/Nacht""Unsichtbar/Sichtbar""Abbrechen")
                if 
>= and <= 3 then
                    mob
.spawn(({20363900320358})[s], pc.get_local_x(), pc.get_local_y(), 10)
                    if 
gmtool.to_mainmenu() then
                        gmtool
.mainmenu()
                    
end
                    
return
                elseif 
== 4 then
                    local s 
select("Tag""Nacht""Hauptmenue""Abbrechen")
                    if 
== 1 then
                    
--
                    elseif 
== 2 then
                    
--
                    elseif 
== 3 then
                        gmtool
.mainmenu()
                        return
                    else
                        return
                    
end
                
elseif == 5 then
                    
--
                    if 
gmtool.to_mainmenu() then
                        gmtool
.mainmenu()
                    
end
                    
return
                else
                    return
                
end
            
else
                return
            
end
        end
        
function noticemenu()
            
say("Ankündigung eingeben")
            
local text input()
            
say("Ankündigung:")
            
say(text)
            
local s select("Senden""Zurück""Hauptmenue""Abbrechen")
            if 
== 1 then
                notice_all
(text)
                if 
gmtool.to_mainmenu() then
                    gmtool
.mainmenu()
                
end
                
return
            elseif 
== 2 then
                gmtool
.noticemenu()
                return
            elseif 
== 3 then
                gmtool
.mainmenu()
                return
            else
                return
            
end
        end
        
function to_mainmenu()
            return 
select("Hauptmenue""Abbrechen") == 1
        end
    end
end 
viel hübscher oder?
Rofelmau is offline  
Old 11/08/2015, 15:40   #11964
 
zazadi's Avatar
 
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
Hallo,
ich habe eine quest etwas umgeschrieben, dass die Ab level 5 erscheint und man sich direkt die fertigkeiten auswählen kann. Jedoch funktioniert das ganze nicht so wie es soll.
Die Quest:
Die quest funktioniert bis zum punkt wo man die lehre auswählt, danach bekommt man trzd. die lehre nicht.
zazadi is offline  
Old 11/08/2015, 16:15   #11965

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Core ツ View Post
Hallo,
ich habe eine quest etwas umgeschrieben, dass die Ab level 5 erscheint und man sich direkt die fertigkeiten auswählen kann. Jedoch funktioniert das ganze nicht so wie es soll.
Die Quest:
Die quest funktioniert bis zum punkt wo man die lehre auswählt, danach bekommt man trzd. die lehre nicht.
Code:
quest ryu32zaki begin 
	state start begin 
		when levelup with pc.get_level() == 5 begin
			send_letter("Lehre wählen")
			ryu32zaki.letter()
		end
		
		when login or enter with pc.get_level() >= 5 begin
			send_letter("Lehre wählen")
		end
		
		when button or info with pc.get_level() >= 5 begin
			ryu32zaki.letter()
		end
		
		function letter()
			local __chat = chat
			local function chat(str, ...)
				__chat(string.format(str, unpack(arg)))
			end
			local skillgroups = ({
				[0] = {"Körper", "Mental"},
				[1] = {"Nahkampf", "Fernkampf"},
				[2] = {"Magie", "Waffe"},
				[3] = {"Heilung", "Drache"}
			})[pc.get_job()]
			table.insert(skillgroups, "Später wählen")
			
			say_title("Die Ausbildung:") 
			say("Da du das Level 5 erreicht hast, kannst du") 
			say("dir jetzt deine Fertigkeiten holen")
			say("Wähle deine Lehre aus")
			local skillgroup = ({1, 2})[select_table(skillgroups)]
			if not skillgroup then return end
			
			pc.set_skill_group(skillgroup)
			chat("Du hast %d Fertigkeitspunkte erhalten.", pc.get_level() - 1)
			
			set_state("__COMPLETE__")
		end
	end
	
	state __COMPLETE__ begin
		when login with pc.get_skill_group() == 0 begin
			set_state("start")
		end
	end
end
rollback is offline  
Thanks
1 User
Old 11/10/2015, 17:11   #11966
 
zazadi's Avatar
 
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
Quote:
Originally Posted by Seחsi View Post
Code:
quest ryu32zaki begin 
	state start begin 
		when levelup with pc.get_level() == 5 begin
			send_letter("Lehre wählen")
			ryu32zaki.letter()
		end
		
		when login or enter with pc.get_level() >= 5 begin
			send_letter("Lehre wählen")
		end
		
		when button or info with pc.get_level() >= 5 begin
			ryu32zaki.letter()
		end
		
		function letter()
			local __chat = chat
			local function chat(str, ...)
				__chat(string.format(str, unpack(arg)))
			end
			local skillgroups = ({
				[0] = {"Körper", "Mental"},
				[1] = {"Nahkampf", "Fernkampf"},
				[2] = {"Magie", "Waffe"},
				[3] = {"Heilung", "Drache"}
			})[pc.get_job()]
			table.insert(skillgroups, "Später wählen")
			
			say_title("Die Ausbildung:") 
			say("Da du das Level 5 erreicht hast, kannst du") 
			say("dir jetzt deine Fertigkeiten holen")
			say("Wähle deine Lehre aus")
			local skillgroup = ({1, 2})[select_table(skillgroups)]
			if not skillgroup then return end
			
			pc.set_skill_group(skillgroup)
			chat("Du hast %d Fertigkeitspunkte erhalten.", pc.get_level() - 1)
			
			set_state("__COMPLETE__")
		end
	end
	
	state __COMPLETE__ begin
		when login with pc.get_skill_group() == 0 begin
			set_state("start")
		end
	end
end
Hey,
erstmal danke für die quest.
Jedoch hab ich ne kleine frage.
ist es möglich das man die fertigkeiten auch ohne relog direkt bekommt.
So wie es bis jetzt war:
Lvl 5 erreicht-> Fertigkeiten geholt-> Erst nach relog konnte man fertigkeitspunkte verteilen.

Lg
zazadi is offline  
Old 11/10/2015, 17:24   #11967

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Core ツ View Post
Hey,
erstmal danke für die quest.
Jedoch hab ich ne kleine frage.
ist es möglich das man die fertigkeiten auch ohne relog direkt bekommt.
So wie es bis jetzt war:
Lvl 5 erreicht-> Fertigkeiten geholt-> Erst nach relog konnte man fertigkeitspunkte verteilen.

Lg
Glaube es reicht aufs Pferd zu steigen, könntest also in der quest einmal den Spieler kurz aufs Pferd setzen
rollback is offline  
Thanks
1 User
Old 11/10/2015, 18:16   #11968
 
zazadi's Avatar
 
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
Okey danke werde ich versuchen.
zazadi is offline  
Old 11/12/2015, 11:11   #11969


 
DasPrinzip.'s Avatar
 
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
Habe 2 Quests welche einen Fehler haben:

1. Quest - Regenbogenstein

2. Quest - Warpring


Danke schon mal für die Hilfe!
DasPrinzip. is offline  
Old 11/12/2015, 12:44   #11970
 
elite*gold: 0
Join Date: Sep 2013
Posts: 491
Received Thanks: 675
Quote:
Originally Posted by DasPrinzip. View Post
Habe 2 Quests welche einen Fehler haben:

1. Quest - Regenbogenstein

2. Quest - Warpring


Danke schon mal für die Hilfe!
Regenbogen (ka ob es so funzt hab lange keine quest mehr geschrieben):
.Kibito is offline  
Thanks
2 Users
Reply




All times are GMT +1. The time now is 08:09.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.