Register for your free account! | Forgot your password?

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

  • 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 09/04/2013, 18:42   #8941
 
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88
Quote:
Originally Posted by .LuckyStrike View Post
PHP Code:
quest blutstein_grotte begin
    state start begin
        when 20091.chat
"In die Grotte" begin
            say_title
("Seon-Pyeong")
            
say("")
            
say("Hallo "..pc.get_name().."")
            
say("Du möchtest in die Grotte?")
            
say("Ich kann dich gerne hinein")
            
say("lassen, jedoch musst du mir ein")
            
say("Blutstein besorgen, damit ich sehen")
            
say("kann das du auch würdig genug bist,"
            
say("um die Grotte zu überstehen!")
            
say("")
            
say("Hast du einen dabei?")
            
local x select("Ja""Nein")
            if 
== and pc.get_level >= 75 then
                
if pc.countitem(30190) != 0 then
                    pc
.remove_item(301901)
                        
pc.warp(100001208000)
                else
                    
say_title("Seon-Pyeong")
                    
say("")
                    
say("Du hast kein Blutstein dabei")
                    
say("Ich kann dich daher nicht")
                    
say("in die Grotte Lassen")
                    
say("")
                
end
            
else
                
say_title("Sean-Pyeong")
                
say("")
                
say("Dein Level ist zu Niedrig!")
                
say("Du musst Level 75 erreicht haben")
                
say("um in die Grotte zu kommen.")
            
end
        end
    end 
end 
Es kommt weder ein Fenster wenn ich unter Lv75 bin vonwegen ich sei zu Niedrig, noch ein Fenster wenn ich kein Blutstein dabei habe...

MFG
Fitchi
©Fitchi is offline  
Old 09/04/2013, 20:37   #8942
 
Noa_'s Avatar
 
elite*gold: 0
Join Date: May 2013
Posts: 605
Received Thanks: 580
PHP Code:
quest blutstein_grotte begin 
    state start begin 
        when 20091.chat
."In die Grotte" begin 
            say_title
(mob_name(20091)) 
            
say(""
            
say("Hallo "..pc.get_name()) 
            
say("Du möchtest in die Grotte?"
            
say("Ich kann dich gerne hinein"
            
say("lassen, jedoch musst du mir ein"
            
say("Blutstein besorgen, damit ich sehen"
            
say("kann das du auch würdig genug bist,")  
            
say("um die Grotte zu überstehen!"
            
say(""
            
say("Hast du einen dabei?"
            if 
select("Ja""Nein") == 2 then return end
            
if pc.get_level() >= 75 then 
                
if pc.count_item(30190) > 0 then 
                    pc
.remove_item(301901
                    
pc.warp(100001208000
                else 
                    
say_title("Seon-Pyeong"
                    
say(""
                    
say("Du hast kein Blutstein dabei"
                    
say("Ich kann dich daher nicht"
                    
say("in die Grotte Lassen"
                    
say(""
                
end 
            
else 
                
say_title("Sean-Pyeong"
                
say(""
                
say("Dein Level ist zu Niedrig!"
                
say("Du musst Level 75 erreicht haben"
                
say("um in die Grotte zu kommen."
            
end 
        end 
    end  
end 
Noa_ is offline  
Old 09/04/2013, 20:46   #8943

 
elite*gold: 10
Join Date: Aug 2011
Posts: 240
Received Thanks: 101
Halli Hallo,

ich versuche mich mal wieder im questen im kombination mit neuer Functionen in der questlib. Nur irgendwie will der Spaß nicht gehen.

Funktion in der Lib:
Code:
function horse_summon(vnum)
	pc.mount(vnum, 36000000)
	chat("Dein Pferd wurde gerufen.")

	return 0
end
Befehl in der Quest:
Code:
horse_summon(20102)
Die Funktion ist in der quest_functions eingetragen

Syserr:
Code:
SYSERR: Sep  4 19:36:34 :: RunState: LUA_ERROR: [string "horse_summon"]:8: attempt to call global `horse_summon' (a table value)
SYSERR: Sep  4 19:36:34 :: WriteRunningStateToSyserr: LUA_ERROR: quest horse_summon.start click
Wer könnte mir mal erklären, was ich vergessen habe?

Lg. Nighti
NightCrash is offline  
Old 09/04/2013, 21:17   #8944
 
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88
PHP Code:
quest dr_gutschein begin
    state start begin   
        when 80014.
use begin
        give_dm
(1000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 1.000 Coins gutgeschrieben")
        
item.remove()
        
end
        when 80015.
use begin
        give_dm
(10000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 10.000 Coins gutgeschrieben")
        
item.remove()
        
end
        when 80016.
use begin
        give_dm
(20000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 20.000 Coins gutgeschrieben")
        
item.remove()
        
end
        when 80017.
use begin
        give_dm
(40000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 40.000 Coins gutgeschrieben")
        
item.remove()
        
end
    end
end 
sorry das ich wieder spamen muss, aber er bucht keine Coins zu ;(

MFG
Fitchi

P.s: bedanke mich immer und so :*
©Fitchi is offline  
Old 09/04/2013, 21:42   #8945
 
elite*gold: 0
Join Date: Nov 2011
Posts: 151
Received Thanks: 38
Habe ein Problem mit meiner Quest, will das man Ingame ein Item anklicken kann und 200 Coins ausgezahlt bekommt.
Aber Putty sagt:

Calls undeclared function! :
mysql_query

PHP Code:
## QUEST BY XEVOS FOR XEVONIA&PARANORMAL2 - COIN_ITEM QUEST
quest coin_item begin
    state start begin
            when 30013.
use begin
                say_title
("Coins Item")
                
say("Sollen dir 200 Coins gutgeschrieben werden?")
                
say("Die Coins lassen sich später nichtmehr in ein Coins Item umwandeln")
                
local b select("Ja","Nein")
                if 
== 2 then
                    
return
                
end
                
if pc.count_item(30013) == 0 then
                    syschat
("Du hast keine Coins erhalten, da du einen Bug benutzen wolltest.")
                
end
                local Coins_Def 
200
                local get_id 
pc.get_account_id()
                
pc.remove_item(300131)
                
mysql_query("UPDATE account.account SET coins = coins + "..Coins_Def.." WHERE id = "..get_id.."")
                
syschat("Du hast 200 Coins erhalten.")
        
end
    end
end 
Tiger121282 is offline  
Old 09/04/2013, 21:56   #8946
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Quote:
Originally Posted by ©Fitchi View Post
PHP Code:
quest dr_gutschein begin
    state start begin   
        when 80014.
use begin
        give_dm
(1000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 1.000 Coins gutgeschrieben")
        
item.remove()
        
end
        when 80015.
use begin
        give_dm
(10000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 10.000 Coins gutgeschrieben")
        
item.remove()
        
end
        when 80016.
use begin
        give_dm
(20000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 20.000 Coins gutgeschrieben")
        
item.remove()
        
end
        when 80017.
use begin
        give_dm
(40000)
        
say_size(300100)
        
say_green("Dir wurden erfolgreich 40.000 Coins gutgeschrieben")
        
item.remove()
        
end
    end
end 
sorry das ich wieder spamen muss, aber er bucht keine Coins zu ;(

MFG
Fitchi

P.s: bedanke mich immer und so :*

Schau mal in deiner questlib.lua nach den Funktion:

give_dm

Danach schaust du welche MYSQL version du hast.
fuer MySQL55 ersetzt du die Funktion give_dm mit dieser:
PHP Code:
function give_dm(z)
    
os.execute("mysql -u root account -execute='UPDATE account SET coins = coins + ".. .." WHERE id = ".. pc.get_account_id() ..";'")
    
os.execute("mysql -u root log -execute='INSERT INTO voucher_log (account_id, pocet, cas) VALUES (".. pc.get_account_id() ..", ".. ..", NOW());'")
end 
Bei MySQL51 mit dieser:
PHP Code:
function give_dm(z)
    
os.execute("mysql -u root account --execute='UPDATE account SET coins = coins + ".. .." WHERE id = ".. pc.get_account_id() ..";'")
    
os.execute("mysql -u root log --execute='INSERT INTO voucher_log (account_id, pocet, cas) VALUES (".. pc.get_account_id() ..", ".. ..", NOW());'")
end 
Und ueberpruefe bitte ob du give_dm in der quest_functions eingetragen hast.

---------------------------

Quote:
Originally Posted by Tiger121282 View Post
Habe ein Problem mit meiner Quest, will das man Ingame ein Item anklicken kann und 200 Coins ausgezahlt bekommt.
Aber Putty sagt:

Calls undeclared function! :
mysql_query

PHP Code:
## QUEST BY XEVOS FOR XEVONIA&PARANORMAL2 - COIN_ITEM QUEST
quest coin_item begin
    state start begin
            when 30013.
use begin
                say_title
("Coins Item")
                
say("Sollen dir 200 Coins gutgeschrieben werden?")
                
say("Die Coins lassen sich später nichtmehr in ein Coins Item umwandeln")
                
local b select("Ja","Nein")
                if 
== 2 then
                    
return
                
end
                
if pc.count_item(30013) == 0 then
                    syschat
("Du hast keine Coins erhalten, da du einen Bug benutzen wolltest.")
                
end
                local Coins_Def 
200
                local get_id 
pc.get_account_id()
                
pc.remove_item(300131)
                
mysql_query("UPDATE account.account SET coins = coins + "..Coins_Def.." WHERE id = "..get_id.."")
                
syschat("Du hast 200 Coins erhalten.")
        
end
    end
end 
Du musst die Funktion von mijago in die questlib.lua eintragen.
Dann noch in die quest_functions den Befehl mysql_query am ende eintragen.



PHP Code:
mysql_query = function(query)
    if 
not pre then
        local rt 
io.open('CONFIG','r'):read('*all')
        
pre,_string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
    
end
    math
.randomseed(os.time())
    
local fi,t,out 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
    
os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi) -- für MySQL51
    
-- os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- für MySQL55
    
for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) endos.remove(fi);
    for 
2table.getn(t) do table.foreach(t[i],function(a,b)
        
out[i-1]               = out[i-1] or {}
        
out[i-1][a]            = tonumber(b) or or 'NULL'
        
out[t[1][a]]           = out[t[1][a]] or {}
        
out[t[1][a]][i-1]      = tonumber(b) or or 'NULL'
    
endend
    
return out
end 
Du musst auch darauf achten welche MYSQL version du besitzt.
MySQL55 oder MySQL51. Je nachdem auskommentieren in der Funktion.
ProfessorEnte is offline  
Thanks
1 User
Old 09/04/2013, 23:02   #8947
 
Noa_'s Avatar
 
elite*gold: 0
Join Date: May 2013
Posts: 605
Received Thanks: 580
Quote:
Originally Posted by NightCrash View Post
Halli Hallo,

ich versuche mich mal wieder im questen im kombination mit neuer Functionen in der questlib. Nur irgendwie will der Spaß nicht gehen.

Funktion in der Lib:
Code:
function horse_summon(vnum)
	pc.mount(vnum, 36000000)
	chat("Dein Pferd wurde gerufen.")

	return 0
end
Befehl in der Quest:
Code:
horse_summon(20102)
Die Funktion ist in der quest_functions eingetragen

Syserr:
Code:
SYSERR: Sep  4 19:36:34 :: RunState: LUA_ERROR: [string "horse_summon"]:8: attempt to call global `horse_summon' (a table value)
SYSERR: Sep  4 19:36:34 :: WriteRunningStateToSyserr: LUA_ERROR: quest horse_summon.start click
Wer könnte mir mal erklären, was ich vergessen habe?

Lg. Nighti
steht doch da 'attempt to call global `horse_summon' (a table value)'
du versuchst eine Tabelle aufzurufen horse_summon ist eine tabelle, gib der Funktion einen anderen Namen dann sollte es klappen.
Noa_ is offline  
Old 09/05/2013, 17:34   #8948
 
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88
Quote:
Originally Posted by ProfessorEnte View Post
Schau mal in deiner questlib.lua nach den Funktion:

give_dm

Danach schaust du welche MYSQL version du hast.
fuer MySQL55 ersetzt du die Funktion give_dm mit dieser:
PHP Code:
function give_dm(z)
    
os.execute("mysql -u root account -execute='UPDATE account SET coins = coins + ".. .." WHERE id = ".. pc.get_account_id() ..";'")
    
os.execute("mysql -u root log -execute='INSERT INTO voucher_log (account_id, pocet, cas) VALUES (".. pc.get_account_id() ..", ".. ..", NOW());'")
end 
Bei MySQL51 mit dieser:
PHP Code:
function give_dm(z)
    
os.execute("mysql -u root account --execute='UPDATE account SET coins = coins + ".. .." WHERE id = ".. pc.get_account_id() ..";'")
    
os.execute("mysql -u root log --execute='INSERT INTO voucher_log (account_id, pocet, cas) VALUES (".. pc.get_account_id() ..", ".. ..", NOW());'")
end 
Und ueberpruefe bitte ob du give_dm in der quest_functions eingetragen hast.
Ich habe alles beide Querys für die Questlib ausprobiert. Es war vorher eine in der Questlib drinne, und er schreibt die nicht gut, aber von der Quest her gibt es keine Fehler(-meldungen). Es ist auch give_dm in der quest_funktion eingetragen.

MFG
Fitchi
©Fitchi is offline  
Old 09/05/2013, 18:32   #8949
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Quote:
Originally Posted by ©Fitchi View Post
Ich habe alles beide Querys für die Questlib ausprobiert. Es war vorher eine in der Questlib drinne, und er schreibt die nicht gut, aber von der Quest her gibt es keine Fehler(-meldungen). Es ist auch give_dm in der quest_funktion eingetragen.

MFG
Fitchi
Ein Coins Eintrag in der Account Table ist aber schon vorhanden oder ?
ProfessorEnte is offline  
Old 09/05/2013, 20:39   #8950
 
elite*gold: 0
Join Date: Aug 2013
Posts: 301
Received Thanks: 88


das kommt direkt nach dem ich das Item angeklickt hab und mir laut Item die Coins gutgeschrieben wurden
©Fitchi is offline  
Old 09/05/2013, 23:22   #8951
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Dann hat dein root-User in MySQL der auf den Host 'localhost' zugelassen ist wohl ein Passwort. Entweder entfernst du dieses, oder passt die Query an.

MfG
Yiv is offline  
Old 09/05/2013, 23:59   #8952
 
-Tuni's Avatar
 
elite*gold: 20
Join Date: Jun 2010
Posts: 2,237
Received Thanks: 956
Code:
quest itemwear begin
    state start begin
        when 28760.use begin
		notice("Ich habe das Item angezogen")
        end
    end
end
Hii
wenn ich das Item anziehe (geht in den Slot wo auch z.B der Windschuh rein geht)
kommt keine Notiz!!

Also ich will dass es über den Kopf erscheint, als ob man Chatten würde!!

PS: Es tauchen keine Fehler beim reloaden auf!

Bitte um hilfe!

LG
-Tuni is offline  
Old 09/06/2013, 00:16   #8953
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Quote:
Originally Posted by Tunii View Post
Code:
quest itemwear begin
    state start begin
        when 28760.use begin
		notice("Ich habe das Item angezogen")
        end
    end
end
Hii
wenn ich das Item anziehe (geht in den Slot wo auch z.B der Windschuh rein geht)
kommt keine Notiz!!

Also ich will dass es über den Kopf erscheint, als ob man Chatten würde!!

PS: Es tauchen keine Fehler beim reloaden auf!

Bitte um hilfe!

LG
1. Das Item muss dafür den Type 18 haben
2. Du kannst das meines Wissens nicht so machen, dass eine Notiz über dem Kopf erscheint
3. Wenn der Type 18 ist, geht es aber auch nicht mehr in den Slot hinein

MfG
Yiv is offline  
Old 09/06/2013, 10:54   #8954
 
.Soυzα's Avatar
 
elite*gold: 0
Join Date: Dec 2011
Posts: 1,891
Received Thanks: 1,244
HMMMM woran kann es liegen "
Error occured on compile info.quest
"

PHP Code:
quest info begin 
    state start begin
        when 70004.
use begin 
            local a 
select ("Itemshop Info","Drops","Devils Catacomb","Bruthöhle","Teamerliste","Abrechen"
            if 
== 1 then 
            say
("Itemshop Info"
            
say("Spenden:"
            
say("10€ = xxx"
            
say("25€ = xxx"
            
say("50€ = xxx"
            
say("100€ = xxx"
            
say(""
            
say("Vote 4 Coins:"
            
say("Pro Voten bekommt ihr xxx coins gutgeschrieben."
            
say("Man kann nur alle 24 Stunden voten."
        
end 
        
if == 2 then 
            say
("Drops"
            
say("Die aktuellen Drops findet ihr im Forum."
            
say("Das Forum ist unter: xxxxx erreichbar."
        
end 
        
if == 3 then 
            say
("Devils Catacomb"
            
say("Das Devils Catacomb befindet sich unterhalb des"
            
say("Dämonenturms, um eintreten"
            
say("zu dürfen musst du Level 80 sein."
            
say("In diesem Gebiet treiben sich viele Untote herum.")
        
end 
        
if == 4 then 
            say
("Bruthöhle"
            
say("Die Bruthöhle könnt ihr über den Grabstein am Ende"
            
say("vom Sd3 betreten."
            
say("Um in die Bruthöhle zu kommen braucht ihr einen"
            
say("Schlüssel, diesen droppt ihr von der"
            
say("Königsspinne aus dem SD1."
        
end 
        
if == 5 then 
            say
("Teamerliste"
            
say("SA Schmerz) 
            say("
SL Nettel ") 
            say("
NA Happy") 
            say("
GM cRYME") 
        end 
        if a == 6 then 
        return 
        end 
    end 
end
end 
.Soυzα is offline  
Old 09/06/2013, 10:57   #8955
 
.LuckyStrike's Avatar
 
elite*gold: 210
Join Date: Jun 2013
Posts: 1,203
Received Thanks: 390
Quote:
Originally Posted by HappyMiss View Post
HMMMM woran kann es liegen "
Error occured on compile info.quest
"

PHP Code:
quest info begin 
    state start begin
        when 70004.
use begin 
            local a 
select ("Itemshop Info","Drops","Devils Catacomb","Bruthöhle","Teamerliste","Abrechen"
            if 
== 1 then 
            say
("Itemshop Info"
            
say("Spenden:"
            
say("10€ = xxx"
            
say("25€ = xxx"
            
say("50€ = xxx"
            
say("100€ = xxx"
            
say(""
            
say("Vote 4 Coins:"
            
say("Pro Voten bekommt ihr xxx coins gutgeschrieben."
            
say("Man kann nur alle 24 Stunden voten."
        
end 
        
if == 2 then 
            say
("Drops"
            
say("Die aktuellen Drops findet ihr im Forum."
            
say("Das Forum ist unter: xxxxx erreichbar."
        
end 
        
if == 3 then 
            say
("Devils Catacomb"
            
say("Das Devils Catacomb befindet sich unterhalb des"
            
say("Dämonenturms, um eintreten"
            
say("zu dürfen musst du Level 80 sein."
            
say("In diesem Gebiet treiben sich viele Untote herum.")
        
end 
        
if == 4 then 
            say
("Bruthöhle"
            
say("Die Bruthöhle könnt ihr über den Grabstein am Ende"
            
say("vom Sd3 betreten."
            
say("Um in die Bruthöhle zu kommen braucht ihr einen"
            
say("Schlüssel, diesen droppt ihr von der"
            
say("Königsspinne aus dem SD1."
        
end 
        
if == 5 then 
            say
("Teamerliste"
            
say("SA Schmerz) 
            say("
SL Nettel ") 
            say("
NA Happy") 
            say("
GM cRYME") 
        end 
        if a == 6 then 
        return 
        end 
    end 
end
end 

Du hast bei der Teamliste ein " vergessen.
Und du kannst statt if elseif benutzen


PHP Code:
quest info begin 
    state start begin
        when 70004.
use begin 
            local a 
select ("Itemshop Info","Drops","Devils Catacomb","Bruthöhle","Teamerliste","Abrechen"
            if 
== 1 then 
                say
("Itemshop Info"
                
say("Spenden:"
                
say("10€ = xxx"
                
say("25€ = xxx"
                
say("50€ = xxx"
                
say("100€ = xxx"
                
say(""
                
say("Vote 4 Coins:"
                
say("Pro Voten bekommt ihr xxx coins gutgeschrieben."
                
say("Man kann nur alle 24 Stunden voten."
            elseif 
== 2 then 
                say
("Drops"
                
say("Die aktuellen Drops findet ihr im Forum."
                
say("Das Forum ist unter: xxxxx erreichbar."
            elseif 
== 3 then 
                say
("Devils Catacomb"
                
say("Das Devils Catacomb befindet sich unterhalb des"
                
say("Dämonenturms, um eintreten"
                
say("zu dürfen musst du Level 80 sein."
                
say("In diesem Gebiet treiben sich viele Untote herum.")
            elseif 
== 4 then 
                say
("Bruthöhle"
                
say("Die Bruthöhle könnt ihr über den Grabstein am Ende"
                
say("vom Sd3 betreten."
                
say("Um in die Bruthöhle zu kommen braucht ihr einen"
                
say("Schlüssel, diesen droppt ihr von der"
                
say("Königsspinne aus dem SD1."
            elseif 
== 5 then 
                say
("Teamerliste"
                
say("SA Schmerz"
                
say("SL Nettel "
                
say("NA Happy"
                
say("GM cRYME"
            elseif 
== 6 then 
                
return 
            
end 
        end 
    end
end 
.LuckyStrike is offline  
Thanks
1 User
Reply




All times are GMT +1. The time now is 01:54.


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.