Register for your free account! | Forgot your password?

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

  • 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 10/16/2015, 16:30   #11941
 
elite*gold: 0
Join Date: Oct 2015
Posts: 29
Received Thanks: 3
Warum funktioniert die Quest bei mir nicht ?
PHP Code:
quest hypno begin
    state start begin
        when levelup with pc
.get_level() == 25 begin
            send_letter
("Level 25")
        
end
        when letter with pc
.get_level() >= 25 begin
            send_letter
("Level 25")
        
end
        when button 
or info begin
            
if pc.count_item(70254) >= and pc.count_item(70253) >= and pc.count_item(70252) >= and pc.count_item(70252) >= 1 then
                say_title
("Hallo")
                
say_reward("Such dir einen Boni aus!")
                
local aw select("Boni1","Boni2""Boni3")
                if 
aw == 1 then
                    affect
.add_collect(apply.MAX_HP,1000,60*60*24*365*60)
                elseif 
aw == 2 then
                    affect
.add_collect(apply.ATT_GRADE_BONUS,25,60*60*24*365*60)
                elseif 
aw == 3 then
                    affect
.add_collect(apply.DEF_GRADE_BONUS,50,60*60*24*365*60)
                
end
                set_state
(__COMPLETE__)
            
end
        end
        state __COMPLETE__ begin
    end
end 
.HypnoToad is offline  
Old 10/17/2015, 15:21   #11942
 
.Various's Avatar
 
elite*gold: 35
Join Date: Aug 2014
Posts: 336
Received Thanks: 267
Quote:
Originally Posted by .HypnoToad View Post
Warum funktioniert die Quest bei mir nicht ?
PHP Code:
quest hypno begin
    state start begin
        when levelup with pc
.get_level() == 25 begin
            send_letter
("Level 25")
        
end
        when letter with pc
.get_level() >= 25 begin
            send_letter
("Level 25")
        
end
        when button 
or info begin
            
if pc.count_item(70254) >= and pc.count_item(70253) >= and pc.count_item(70252) >= and pc.count_item(70252) >= 1 then
                say_title
("Hallo")
                
say_reward("Such dir einen Boni aus!")
                
local aw select("Boni1","Boni2""Boni3")
                if 
aw == 1 then
                    affect
.add_collect(apply.MAX_HP,1000,60*60*24*365*60)
                elseif 
aw == 2 then
                    affect
.add_collect(apply.ATT_GRADE_BONUS,25,60*60*24*365*60)
                elseif 
aw == 3 then
                    affect
.add_collect(apply.DEF_GRADE_BONUS,50,60*60*24*365*60)
                
end
                set_state
(__COMPLETE__)
            
end
        end
        state __COMPLETE__ begin
    end
end 
Ein end zu wenig.
Code:
quest hypno begin 
	state start begin 
		when levelup with pc.get_level() == 25 begin 
			send_letter("Level 25") 
		end 
		when letter with pc.get_level() >= 25 begin 
			send_letter("Level 25") 
		end 
		when button or info begin 
			if pc.count_item(70254) >= 1 and pc.count_item(70253) >= 1 and pc.count_item(70252) >= 1 and pc.count_item(70252) >= 1 then 
				say_title("Hallo") 
				say_reward("Such dir einen Boni aus!") 
				local aw = select("Boni1","Boni2", "Boni3") 
				if aw == 1 then 
					affect.add_collect(apply.MAX_HP,1000,60*60*24*365*60) 
				elseif aw == 2 then 
					affect.add_collect(apply.ATT_GRADE_BONUS,25,60*60*24*365*60) 
				elseif aw == 3 then 
					affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60*24*365*60) 
				end 
				set_state(__COMPLETE__) 
			end 
		end 
	end
	state __COMPLETE__ begin 
	end 
end
.Various is offline  
Thanks
1 User
Old 10/19/2015, 16:52   #11943
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Kann jemand diesen Block richtig stellen?


Hab des mit mehreren if´s in einem block noch nicht so gut drauf ^^
Chaosnightx3 is offline  
Old 10/19/2015, 19:41   #11944
 
zazadi's Avatar
 
elite*gold: 21
Join Date: Mar 2015
Posts: 683
Received Thanks: 245
Quote:
Originally Posted by Chaosnightx3 View Post
Kann jemand diesen Block richtig stellen?


Hab des mit mehreren if´s in einem block noch nicht so gut drauf ^^
für den block hast du glaube ich ein
PHP Code:
end 
zu viel.
zazadi is offline  
Old 10/19/2015, 19:52   #11945
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Quote:
Originally Posted by Core ツ View Post
für den block hast du glaube ich ein
PHP Code:
end 
zu viel.
Hmm....
maybe, gut habe es mal anders geregelt, zwar nicht die beste Lösung, aber naja
, mag trotzdem jemand diesen Block richtig stellen, damit

ich es für die nächste Quest anwenden kann?
Chaosnightx3 is offline  
Old 10/19/2015, 21:57   #11946
wild wild son




 
Nick's Avatar
 
elite*gold: 220
Join Date: Feb 2011
Posts: 5,857
Received Thanks: 3,371
Quote:
Originally Posted by Chaosnightx3 View Post
Hmm....
maybe, gut habe es mal anders geregelt, zwar nicht die beste Lösung, aber naja
, mag trotzdem jemand diesen Block richtig stellen, damit

ich es für die nächste Quest anwenden kann?
Code:
		when 20011.chat."Die Gegenstände" begin
			if pc.get_level() >= 95 then
				say("Du bist leider zu hoch für diese Aufgabe.")
				say("Du bist Level "..pc.get_level().."")
				say("und darfst maximal Level 94 sein.")
				say("Versuch doch nicht zu betrügen!")
			else
				if pc.count_item(71051) >124 and pc.count_item(50513) >49 and pc.count_item(11032) >34 then
					say("Welch tolle Gegenstände, ich werde")
					say("diese sofort anwenden und daraus euren")
					say("lang ersehnten Regenbogenstein herstellen.")
					say("Jedoch müsst ihr eine Stunde warten, bis ich")
					say("mit der Herstellung fertig bin.")
					set_state(regenbogenstein)
					pc.remove_item(71051, 125)
					pc.remove_item(50513. 50)
					pc.remove_item(11032, 35)
					pc.setqf("__regenbogen",get_global_time())
				else
					say("Ihr habt die Items nicht!")
				end
			end
		end
Den Code an sich lasse ich jetzt mal unberührt. Es ist zwar Auslegungssache, dennoch würde ich dir Folgendes ans Herz legen:

Code:
>   94 	statt 	>=  95 
>= 125 	statt 	>  124 
>=  50 	statt 	>   49 
>=  35 	statt 	>   34
€:

Code:
					pc.remove_item(50513. 50)
Da hat sich wohl ein Tippfehler eingeschlichen.

lg
Nick is offline  
Old 10/19/2015, 22:45   #11947
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Quote:
Originally Posted by Naverwy View Post
Code:
		when 20011.chat."Die Gegenstände" begin
			if pc.get_level() >= 95 then
				say("Du bist leider zu hoch für diese Aufgabe.")
				say("Du bist Level "..pc.get_level().."")
				say("und darfst maximal Level 94 sein.")
				say("Versuch doch nicht zu betrügen!")
			else
				if pc.count_item(71051) >124 and pc.count_item(50513) >49 and pc.count_item(11032) >34 then
					say("Welch tolle Gegenstände, ich werde")
					say("diese sofort anwenden und daraus euren")
					say("lang ersehnten Regenbogenstein herstellen.")
					say("Jedoch müsst ihr eine Stunde warten, bis ich")
					say("mit der Herstellung fertig bin.")
					set_state(regenbogenstein)
					pc.remove_item(71051, 125)
					pc.remove_item(50513. 50)
					pc.remove_item(11032, 35)
					pc.setqf("__regenbogen",get_global_time())
				else
					say("Ihr habt die Items nicht!")
				end
			end
		end
Den Code an sich lasse ich jetzt mal unberührt. Es ist zwar Auslegungssache, dennoch würde ich dir Folgendes ans Herz legen:

Code:
>   94 	statt 	>=  95 
>= 125 	statt 	>  124 
>=  50 	statt 	>   49 
>=  35 	statt 	>   34
€:

Code:
					pc.remove_item(50513. 50)
Da hat sich wohl ein Tippfehler eingeschlichen.

lg

jetzt sehe ich ihn... gut, hätte Funktion ansich so funktioniert?
Danke für den tipp Habe das bisher immer so gemacht; Gab nie Probleme ^^
Chaosnightx3 is offline  
Old 10/20/2015, 10:09   #11948

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Chaosnightx3 View Post
jetzt sehe ich ihn... gut, hätte Funktion ansich so funktioniert?
Danke für den tipp Habe das bisher immer so gemacht; Gab nie Probleme ^^
Probleme gibt es bei den abfragen nicht, allerdings ist es immer sinnvoll sie so zu schreiben wie man es auch sagen würde.

Beispiel:

Wenn der Spieler über dem maxlvl ist, dann...

vs.

Wenn der Spieler über oder gleich dem maxlvl+1 ist, dann...


Und jetzt überleg dir, was mehr Sinn macht
rollback is offline  
Thanks
2 Users
Old 10/21/2015, 18:06   #11949
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Hab meine Code Varainte.. das passt scho erstmal.^^

Jetzt mal was anderes:


was ich jetzt net kapiere...

PHP Code:
SYSERROct 21 18:03:27 :: RunStateLUA_ERRORattempt to call a string value
SYSERR
Oct 21 18:03:27 :: WriteRunningStateToSyserrLUA_ERRORquest rainbowstonecreate.stonerainbow click 
hat bisher in jeder Quest funktioniert, außer bei der...
da closed sich das quest fenster einfach wieder...
Chaosnightx3 is offline  
Old 10/24/2015, 03:49   #11950
 
elite*gold: 0
Join Date: Oct 2015
Posts: 67
Received Thanks: 13
PHP Code:
                local prank 1
                local color_r 
1
                local color_b 
1
                local color_g 
1
                mysql_query
("UPDATE player.player SET prank = "..prank..", color_r = "..color_r..", color_b = "..color_b..", color_g = "..color_g.."  WHERE id = "..pc.get_player_id().." LIMIT 1;"
Kann mir jemand diesen Code ergänzen ?
Ich möchte prank nicht auf 1 setzen sonder die spalte des spieler leeren
[Flash] is offline  
Old 10/24/2015, 09:54   #11951

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Set prank = null
rollback is offline  
Thanks
1 User
Old 10/26/2015, 01:26   #11952
 
Resqu's Avatar
 
elite*gold: 110
Join Date: Jun 2015
Posts: 85
Received Thanks: 22
Problemme mit 2 Quest Bitte um Hilfe

Hallo Habe Ein problemm mit Eis Run Quest Wenn ich in gruppe bin Klick ich denn Npc an und drücke ja ich will beitretten und dann tut sich nicht er portet mich nicht rein wo liegt das Problemm

EIS RUN Quest


2te Quest GK-Manager

in Server Syserr Sagt er mir

PHP Code:
SYSERROct 26 00:12:57.905552 :: RunStateLUA_ERROR: [string "gkmanager"]:1attempt to concatenate field `get_player_id' (a function value)
SYSERR: Oct 26 00:12:57.905581 :: WriteRunningStateToSyserr: LUA_ERROR: quest gkmanager.start click 
Hab auch mit .lua und .quest gemacht und PC.get_player_id ist in Quest Funktion drine

GK-Manager Quest

Resqu is offline  
Old 10/26/2015, 14:43   #11953
 
elite*gold: 0
Join Date: Jan 2014
Posts: 268
Received Thanks: 373
@Resqu: GK-Manager-Quest: Du musst bei Funktionen ein () hinten dran setzen... also pc.get_player_id() und auch pc.get_guild(). Hast du bei Nemeres auch nen Ninja und Schami und so dabei und Level passen?

Kind Regards
Lefloyd is offline  
Old 10/26/2015, 17:13   #11954
 
Resqu's Avatar
 
elite*gold: 110
Join Date: Jun 2015
Posts: 85
Received Thanks: 22
@Lefloyd: ja Habe mit Passenden lv und Ninja schami etc alles dabei
und GK manager geht immer noch net -.-
Resqu is offline  
Old 10/27/2015, 12:06   #11955
 
elite*gold: 0
Join Date: Jul 2009
Posts: 44
Received Thanks: 5
PHP Code:
quest adventskalender begin
    state start begin
        when login begin
            
if os.date("%m")=="12" then
                
if not adventskalender.file_exists("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id()) then
                    adventskalender
.create_txt()
                
end
                MY_PACK 
adventskalender.get_txt() -- 1#2#3#4#5
                
cmdchat("Adventskalender index/"..q.getcurrentquestindex())
                
cmdchat("Adventskalender opened/"..MY_PACK)
            
end
            
if os.date("%m")!="12" and MY_PACK!="0" then
                adventskalender
.empty_txt()
                for 
i=124do
                    
pc.setqf(tostring(i), 0)
                
end
            end
        end
        when button begin
            local TODAY 
tonumber(os.date("%d"))
            
local INPUT tonumber(getinput("Adventskalender input/"))
            if 
INPUT == pc.getqf(tostring(INPUT)) then return end
            pc
.setqf(tostring(INPUT), INPUT)
            if 
INPUT TODAY then
                syschat
("Dieses Türchen kannst du noch nicht öffnen!")
                return
            
end
            local MY_PACK 
adventskalender.get_txt()
            
            
local PRESENTS 
                            {
                                [
1] = {50035500365003150025500245003150032},
                                [
2] = {50035500365003150025500245003150032},
                                [
3] = {50035500365003150025500245003150032},
                                [
4] = {50035500365003150025500245003150032},
                                [
5] = {50035500365003150025500245003150032},
                                [
6] = {50035500365003150025500245003150032},
                                [
7] = {50035500365003150025500245003150032},
                                [
8] = {50035500365003150025500245003150032},
                                [
9] = {50035500365003150025500245003150032},
                                [
10] = {50035500365003150025500245003150032},
                                [
11] = {50035500365003150025500245003150032},
                                [
12] = {50035500365003150025500245003150032},
                                [
13] = {50035500365003150025500245003150032},
                                [
14] = {50035500365003150025500245003150032},
                                [
15] = {50035500365003150025500245003150032},
                                [
16] = {50035500365003150025500245003150032},
                                [
17] = {50035500365003150025500245003150032},
                                [
18] = {50035500365003150025500245003150032},
                                [
19] = {50035500365003150025500245003150032},
                                [
20] = {50035500365003150025500245003150032},
                                [
21] = {50035500365003150025500245003150032},
                                [
22] = {50035500365003150025500245003150032},
                                [
23] = {50035500365003150025500245003150032},
                                [
24] = {50035500365003150025500245003150032},
                            }
            
local ITEMS PRESENTS[INPUT][number(1table.getn(PRESENTS[INPUT]))]
            
pc.give_item2(ITEMS1)
            
syschat("In deinem "..INPUT.." Türchen war ein(e) "..item_name(ITEMS).." drinne!")
            if 
MY_PACK=="0" then
                
new = INPUT
                adventskalender
.set_txt(new)
            else
                new = (
MY_PACK.."#"..INPUT)
                
adventskalender.set_txt(new)
            
end
            cmdchat
("Adventskalender opened/"..new)
        
end
        
function set_txt(v)
            
local advent io.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt""w+")
            
advent:write(v)
            
advent:flush()
            
advent:close()
        
end
        
function get_txt()
            
local adventio.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt""r")
            for 
line in advent:lines() do
                return 
line
            end
        end
        
function create_txt()
            if 
not adventskalender.file_exists("/usr/home/game/share/locale/germany/quest/Adventskalender"then
                os
.execute("mkdir /usr/home/game/share/locale/germany/quest/Adventskalender")
            
end
            os
.execute("mkdir /usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id())
            
local advent io.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt""w+")
            
advent:write("0")
            
advent:flush()
            
advent:close()
        
end
        
function empty_txt()
            
local advent io.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt""w+")
            
advent:write("0")
            
advent:flush()
            
advent:close()
        
end
        
function file_exists(ort)
            if 
type(ort)!="string" then return false end
            
return os.rename(ort,ort) and true or false
        end
    end
end 
Kann mir einer vielleicht dazu helfen? wo die Fehler in den 2 Quest ist ?


PHP Code:
 quest spongecreatic begin
    state start begin
        when 9006.chat
."Der Boss" begin
            spongecreatic
.menu()
        
end
        
function menu()
            
say('Bitte Wählen Sie eine Option aus')
            
local a select("Yang spenden""Vorhandenes Geld ansehen","Abbrechen")
            if 
== 2 then spongecreatic.ansehen() end
            
if == 3 then return end
            
if == 1 then
                say
('Gebe hier deinen Betrag an')
                
local inp tonumber(input())
                if 
inp or inp == "" then
                    say
('Eingabe ungültig!')
                    return
                
end
                
if inp pc.get_money() then return end
                
if (game.get_event_flag('geld') + inp) > 1000000000 then
                    game
.set_event_flag('mil',game.get_event_flag('mil')+1)
                    
game.set_event_flag('geld'game.get_event_flag('geld') + inp 1000000000)
                else    
                    
game.set_event_flag('geld',game.get_event_flag('geld')+inp)
                
end    
                pc
.change_money(-inp)
                
say('Geld wurde erfolgreich gespendet!')
                if 
game.get_event_flag('mil') >= 5 then
                    game
.set_event_flag('mil'0)
                    
spongecreatic.spawn()
                
end    
            end    
        end
        
function ansehen()
            
local text 'Derzeit sind '..game.get_event_flag('geld')..' Yang vorhanden'
            
if game.get_event_flag('mil') > 0 then
                text 
'Derzeit sind '..game.get_event_flag('mil')..' Milliarden & '..game.get_event_flag('geld')..' Yang vorhanden'
            
end    
            say
(text)
        
end
        
function spawn()
            
local t,= {1,2,3,4,5,6,7,8,9},{[1] = {x,y,index},[2] = {x,y,index},[3] = {x,y,index},}
            
local z,number(1,table.getn(t)),'m'
            
local o io.open('locale/germany/monster.txt','w')
            for 
1do
                
a..' '..u[i][1]..' '..u[i][2]..' 0 0 0 0 '..(z*100)..'s 100 1 '..t[z]
                
o:write(a)
                
o:close()
                
'm'
                
regen_in_map(u[i][3], 'locale/germany/monster.txt')
            
end
        end    
    end
end 
Kenny36 is offline  
Reply




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


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.