Register for your free account! | Forgot your password?

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

  • 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/27/2015, 20:36   #12001
 
IzeBreakzz's Avatar
 
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
Quote:
Originally Posted by .Leykas View Post
PHP Code:
quest daily_login begin
    state start begin
        when login begin
            
if pc.get_level() >= 80 then
                set_state
(information)
                
end
            end
        end
        
--[[ Information ]]
        
state information begin
        when letter begin
            send_letter
("Tägliche Login Belohnung")
            
set_state(vllt_so)
        
end
end
state vllt_so begin
        when info 
or button begin
            say_title
("Tägliche Login Belohnung")
            
local TODAY tonumber(os.date("%d"))
            
local MONTH tonumber(os.date("%m"))
            
local MY_PACK pc.getqf("saved_day")
            
local SAFTY pc.getqf("saved_login")
            
local SAFTY_MONTH pc.getqf("saved_month")
            
local REST TODAY MY_PACK
            local STAGEONE 
= {146147148149186188189}
            
local STAGETWO = {50035500365003150025500245003150032}
            
local STAGETHREE = {50035500365003150025500245003150032}
            
local STAGEFOUR = {50035500365003150025500245003150032}
            
local STAGEFIVE = {50035500365003150025500245003150032}
            
local STAGESIX = {50035500365003150025500245003150032}
            
local ITEMS
            
if REST == 1 then
                pc
.setqf("saved_day"TODAY)
                
pc.setqf("saved_month"MONTH)
                
pc.setqf("saved_login"pc.getqf("saved_login")+1)
            
say("Du loggst dich zum "..pc.getqf("saved_login").." mal hinter einander ein.")
            if 
SAFTY 11 then
                    ITEMS 
STAGEONE[number(1table.getn(STAGEONE))]
                elseif 
SAFTY 10 and SAFTY 21 then
                    ITEMS 
STAGETWO[number(1table.getn(STAGETWO))]
                elseif 
SAFTY 20 and SAFTY 31 then
                    ITEMS 
STAGETHREE[number(1table.getn(STAGETHREE))]
                elseif 
SAFTY 30 and SAFTY 41 then
                    ITEMS 
STAGEFOUR[number(1table.getn(STAGEFOUR))]
                elseif 
SAFTY 40 and SAFTY 51 then
                    ITEMS 
STAGEFIVE[number(1table.getn(STAGEFIVE))]
                elseif 
SAFTY 50 then
                    ITEMS 
STAGESIX[number(1table.getn(STAGESIX))]    
                    
pc.give_item2(ITEMS1)
                
end
            say
("Dein tägliches Present ist heute: " ..item_name(ITEMS).."!")
            
say("pro. Tag einmal auzuführen!")
            
end
        end
    end
end 
Ist mit Handy geschrieben. Bin auf Arbeit, musste evtl vernünftig einrücken.
Leider auch nicht -.- Ich denke mal er hat ein Problem damit dass nach say_title("Tägliche Login Belohnung") die Abfrage kommt. Gibt es eine Möglichkeit die Abfrage schon vor dem eigentlichen Text bzw. der Questscroll einzufügen ? Wäre für jeden Tipp dankbar.
IzeBreakzz is offline  
Old 11/28/2015, 14:36   #12002
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Morgen, ja, ich frage viel, aber Fragen kostet nichts;

Bei meiner Blocksetzung stimmt was nicht; Entweder wird eine Anfrage nicht genommen oder ignoriert...

Beispiel von einen dieser Blöcke;


Wäre toll, wenn jemand mir da helfen könnte und die Blocks richtig setzt.
Lerne gerne neues dazu und nehme gerne Tipps entgegen.

Mfg
Chaosnightx3 is offline  
Old 11/29/2015, 16:44   #12003
 
elite*gold: 0
Join Date: Jan 2010
Posts: 57
Received Thanks: 1
Hey, hier mal ein etwas schwieriger Fehler.
Immer wenn in der Quest eine Funktion aufgerufen wird taucht dieser Fehler auf, ganz egal um welche Funktion es sich handelt.



- quest entfernt.

bei dem Fehler einfach wie von .Delta beschrieben, bei den selbst erstellen Funktionen, beim aufrufen ein " QUESTNAME. " schreiben. also so das es so aussieht: "QUESTNAME.FUNCTIONNAME"
youtube9 is offline  
Old 11/29/2015, 17:35   #12004
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
setz mal deinen questnamen vor den aufruf der function.
also:
vanitas.spielstand_laden()

usw
.Delta is offline  
Old 11/29/2015, 20:25   #12005
 
elite*gold: 0
Join Date: Jan 2010
Posts: 57
Received Thanks: 1
Quote:
Originally Posted by .Delta View Post
setz mal deinen questnamen vor den aufruf der function.
also:
vanitas.spielstand_laden()

usw
vielen dank :3
youtube9 is offline  
Old 11/29/2015, 21:25   #12006
 
IzeBreakzz's Avatar
 
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
PHP Code:
quest daily_login begin
    state start begin
        when login begin
            
if pc.get_level() >= 80 then
                set_state
(information)
                
end
            end
        end
        
--[[ Information ]]
        
state information begin
        when letter begin
            send_letter
("Tägliche Login Belohnung")
            
set_state(vllt_so)
        
end
end
state vllt_so begin
        when info 
or button begin
            say_title
("Tägliche Login Belohnung")
            
local TODAY tonumber(os.date("%d"))
            
local MONTH tonumber(os.date("%m"))
            
local MY_PACK pc.getqf("saved_day")
            
local SAFTY pc.getqf("saved_login")
            
local SAFTY_MONTH pc.getqf("saved_month")
            
local REST TODAY MY_PACK
            local STAGEONE 
= {146147148149186188189}
            
local STAGETWO = {50035500365003150025500245003150032}
            
local STAGETHREE = {50035500365003150025500245003150032}
            
local STAGEFOUR = {50035500365003150025500245003150032}
            
local STAGEFIVE = {50035500365003150025500245003150032}
            
local STAGESIX = {50035500365003150025500245003150032}
            
local ITEMS
            
if REST == 1 then
                pc
.setqf("saved_day"TODAY)
                
pc.setqf("saved_month"MONTH)
                
pc.setqf("saved_login"pc.getqf("saved_login")+1)
            
say("Du loggst dich zum "..pc.getqf("saved_login").." mal hinter einander ein.")
            if 
SAFTY 11 then
                    ITEMS 
STAGEONE[number(1table.getn(STAGEONE))]
                elseif 
SAFTY 10 and SAFTY 21 then
                    ITEMS 
STAGETWO[number(1table.getn(STAGETWO))]
                elseif 
SAFTY 20 and SAFTY 31 then
                    ITEMS 
STAGETHREE[number(1table.getn(STAGETHREE))]
                elseif 
SAFTY 30 and SAFTY 41 then
                    ITEMS 
STAGEFOUR[number(1table.getn(STAGEFOUR))]
                elseif 
SAFTY 40 and SAFTY 51 then
                    ITEMS 
STAGEFIVE[number(1table.getn(STAGEFIVE))]
                elseif 
SAFTY 50 then
                    ITEMS 
STAGESIX[number(1table.getn(STAGESIX))]    
                    
pc.give_item2(ITEMS1)
                
end
            say
("Dein tägliches Present ist heute: " ..item_name(ITEMS).."!")
            
say("pro. Tag einmal auzuführen!")
            
end
        end
    end
end 
Quote:
Originally Posted by IzeBreakzz View Post
Leider auch nicht -.- Ich denke mal er hat ein Problem damit dass nach say_title("Tägliche Login Belohnung") die Abfrage kommt. Gibt es eine Möglichkeit die Abfrage schon vor dem eigentlichen Text bzw. der Questscroll einzufügen ? Wäre für jeden Tipp dankbar.
Bräuchte wirklich Hilfe... Gibts niemanden der eine Idee hätte ?
IzeBreakzz is offline  
Old 11/29/2015, 22:28   #12007
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
leichteste Vermutung:
Dein REST ist nicht gleich 1, schon mal ohne probiert?
Bzw wenn du deinen REST davor explizit auf 1 setzt?

€: und mach diesen extra state zwischen deinem letter und info raus
.Delta is offline  
Old 11/30/2015, 11:32   #12008
 
stenlykkk's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 42
Received Thanks: 7
Empire war

Hello people,
I have a little problem.
When I give the administration and the show scores.
Score appears and makes it into this error sysseru.

Code:
quest list_pro_gm begin
	state start begin
		when 50116.use begin
			say_reward("Administrace") 
			local sel = select("Spawnout Teleportery ","Zobrazit skóre války říší  ",  "Zrušit")
			if sel == 3 then 
				return
				elseif sel == 1  then 
			mob.spawn( 9004 , 178 , 249 , 1, 1, 1)
			mob.spawn( 9004 , 186 , 190 , 1, 1, 1)
			mob.spawn( 9004 , 247 , 186 , 1, 1, 1)
			mob.spawn( 9004 , 336 , 185 , 1, 1, 1)
			mob.spawn( 9004 , 348 , 147 , 1, 1, 1)
			mob.spawn( 9004 , 338 , 210 , 1, 1, 1)
		return 
			elseif sel == 2  then
				pp = mysql_query("select rise,kills from player.valka ORDER BY kills desc,empire asc LIMIT 10") 
			else 
				pp = mysql_query("select rise,kills from player.valka where (SELECT empire from player.valka where valka.rise =empire) = "..(sel-1).." ORDER BY kills desc,rise asc LIMIT 10") 
			end 
			if pp == nil or (pp[1] or {})[1] == nil then 
				return 
			end
				table.foreachi(pp,function(i,l)
				notice_all(i.." - "..l[1].. " - "..l[2].. " bodů ") 
            end)
		end
	end
end
Code:
quest valka_risi begin
	state start begin
	when kill with npc.is_pc() and pc.get_map_index() == 62 and npc.empire != pc.empire begin
	local kill_now = mysql_query("SELECT kills from player.valka WHERE empire='"..pc.get_empire().."' LIMIT 1")
	 local kill_up = mysql_query("UPDATE player.valka SET kills ='"..(kill_now.kills[1]+1).."' WHERE empire ='"..pc.get_empire().."' LIMIT 1") 
		end
	end
end
This error syserr CH1
" attempt to call global `mysql_query' (a nil value) "
stenlykkk is offline  
Old 11/30/2015, 19:56   #12009
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Quote:
Originally Posted by stenlykkk View Post
Hello people,
I have a little problem.
When I give the administration and the show scores.
Score appears and makes it into this error sysseru.

Code:
quest list_pro_gm begin
	state start begin
		when 50116.use begin
			say_reward("Administrace") 
			local sel = select("Spawnout Teleportery ","Zobrazit skóre války říší  ",  "Zrušit")
			if sel == 3 then 
				return
				elseif sel == 1  then 
			mob.spawn( 9004 , 178 , 249 , 1, 1, 1)
			mob.spawn( 9004 , 186 , 190 , 1, 1, 1)
			mob.spawn( 9004 , 247 , 186 , 1, 1, 1)
			mob.spawn( 9004 , 336 , 185 , 1, 1, 1)
			mob.spawn( 9004 , 348 , 147 , 1, 1, 1)
			mob.spawn( 9004 , 338 , 210 , 1, 1, 1)
		return 
			elseif sel == 2  then
				pp = mysql_query("select rise,kills from player.valka ORDER BY kills desc,empire asc LIMIT 10") 
			else 
				pp = mysql_query("select rise,kills from player.valka where (SELECT empire from player.valka where valka.rise =empire) = "..(sel-1).." ORDER BY kills desc,rise asc LIMIT 10") 
			end 
			if pp == nil or (pp[1] or {})[1] == nil then 
				return 
			end
				table.foreachi(pp,function(i,l)
				notice_all(i.." - "..l[1].. " - "..l[2].. " bodů ") 
            end)
		end
	end
end
Code:
quest valka_risi begin
	state start begin
	when kill with npc.is_pc() and pc.get_map_index() == 62 and npc.empire != pc.empire begin
	local kill_now = mysql_query("SELECT kills from player.valka WHERE empire='"..pc.get_empire().."' LIMIT 1")
	 local kill_up = mysql_query("UPDATE player.valka SET kills ='"..(kill_now.kills[1]+1).."' WHERE empire ='"..pc.get_empire().."' LIMIT 1") 
		end
	end
end
This error syserr CH1
" attempt to call global `mysql_query' (a nil value) "
Did you have the questlib with the Mysql_query function?
Chaosnightx3 is offline  
Old 11/30/2015, 20:36   #12010
 
stenlykkk's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 42
Received Thanks: 7
Quote:
Originally Posted by Chaosnightx3 View Post
Did you have the questlib with the Mysql_query function?
Ou thanks and new error (funkcion on quest is not work)

putty
Warning: Using a password on the command line interface can be insecure.

syserr
SYSERR: Nov 30 21:01:20 :: RunState: LUA_ERROR: [string "valka_risi"]:2: attempt to index field `kills' (a nil value)
SYSERR: Nov 30 21:01:20 :: WriteRunningStateToSyserr: LUA_ERROR: quest valka_risi.start click

(in putty)
stenlykkk is offline  
Old 11/30/2015, 21:59   #12011
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Quote:
Originally Posted by Chaosnightx3 View Post
Morgen, ja, ich frage viel, aber Fragen kostet nichts;

Bei meiner Blocksetzung stimmt was nicht; Entweder wird eine Anfrage nicht genommen oder ignoriert...

Beispiel von einen dieser Blöcke;


Wäre toll, wenn jemand mir da helfen könnte und die Blocks richtig setzt.
Lerne gerne neues dazu und nehme gerne Tipps entgegen.

Mfg
Problem besteht weiter hin.^^
Chaosnightx3 is offline  
Old 11/30/2015, 22:06   #12012
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Du hast für den when block ein end zu viel, vllt auch nur zuviel aus der kompletten quest kopiert, kann ich dir nicht sagen nur anhand des abschnitts.

Sonst verstehe ich nicht, was du willst o.O
.Delta is offline  
Old 11/30/2015, 23:43   #12013
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Quote:
Originally Posted by .Delta View Post
Du hast für den when block ein end zu viel, vllt auch nur zuviel aus der kompletten quest kopiert, kann ich dir nicht sagen nur anhand des abschnitts.

Sonst verstehe ich nicht, was du willst o.O


Ich versuche es mal zu erklären;

Du siehst ja anhand des ersten Ifs; Hat er den violetten Stoff,
wird er in die nächste Schleife gebracht (Rüstung).

Jedoch kriege ich es nicht hin, dass beide Bedingungen
erfolgreich laden. Entweder wird eine Übersprungen, oder die Abfrage wird
obwohl man beide hat, nicht richtig überprüft.

Hat man z.b. beides dabei, sagt der Npc trotzdem " Du hast nicht die Rüstung" etc.

Hoffe, das konnte dir helfen. :x
Chaosnightx3 is offline  
Old 11/30/2015, 23:55   #12014
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Also die Quest verlangt das Item 104009 UNTER 499 mal, dann kommst du in die Abfrage ob du eines der Items 20009, 20259, 20759 oder 20509 besitzt.
Wenn ja kommst du in den nächsten state

hast du dich vllt einfach verschrieben? bei pc.count_item(104009), soll das da vllt < 500 heißen? (Ich nehme an, dass man 500 von den Tüchern braucht)

Wenn das alles nicht stimmt kannste mich gerne mal in skype adden und mir alles haarklein schildern, weil ich dann ja anscheinend zu blöd bin ;D
.Delta is offline  
Old 12/01/2015, 00:18   #12015
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Quote:
Originally Posted by .Delta View Post
Also die Quest verlangt das Item 104009 UNTER 499 mal, dann kommst du in die Abfrage ob du eines der Items 20009, 20259, 20759 oder 20509 besitzt.
Wenn ja kommst du in den nächsten state

hast du dich vllt einfach verschrieben? bei pc.count_item(104009), soll das da vllt < 500 heißen? (Ich nehme an, dass man 500 von den Tüchern braucht)

Wenn das alles nicht stimmt kannste mich gerne mal in skype adden und mir alles haarklein schildern, weil ich dann ja anscheinend zu blöd bin ;D
Weißte, was das lustige ist? Einzeln funktioniert alles, nur wenn ich die Blöcke zusammenfüge, gehts nicht. :x
Chaosnightx3 is offline  
Reply




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


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.