Register for your free account! | Forgot your password?

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

  • 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 01/13/2015, 22:26   #10846
 
elite*gold: 0
Join Date: Jan 2015
Posts: 106
Received Thanks: 52
Quote:
Originally Posted by .Stefan View Post
Hab hier das Problem, dass die Quest nur beim Login angezeigt werden soll.
Also nur einmal. Wie soll ich das dann ändern ? :s

Momentan wird die Quest ja immer bei lvl 1 ausgeführt

Code:
quest text begin  
    state start begin  
        when login with pc.get_level() == 1 begin
            set_state(wilkommen) 
        end 
    end 
	
	state wilkommen begin
		when login with pc.get_level() == 1 begin
			setskin(SCROLL)
            setbgimage('logo_bg.tga')
            say("Wilkommen")
            say("Das ist der Test der Backgroundfunktion")
            say("Wenn du einen Background siehst")
            say("Hast du alles richtig gemacht")
            say("Herzlichen Glückwunsch")
            say("Ich hoffe es hat euch gefallen")
            say("bzw gefällt euch weiterhin")
		end
	end
end
Code:
quest text begin  
    state start begin  
		when login with pc.getf("willkommen","done") == 0 begin
            setbgimage('logo_bg.tga')
            say("Wilkommen")
            say("Das ist der Test der Backgroundfunktion")
            say("Wenn du einen Background siehst")
            say("Hast du alles richtig gemacht")
            say("Herzlichen Glückwunsch")
            say("Ich hoffe es hat euch gefallen")
            say("bzw gefällt euch weiterhin")
			pc.setf("willkommen","done",1)
		end
	end
end
'Mahone is offline  
Old 01/14/2015, 09:08   #10847
 
DerForenLeser's Avatar
 
elite*gold: 40
Join Date: Nov 2009
Posts: 1,159
Received Thanks: 442
Quote:
Originally Posted by shurigeller View Post
moin hab ein problem mit der anfangsquest und zwar jedes mal wenn ich durch ein porter laufe oder so bekomme ich die sachen immer wieder ?????
Du musst die Funktion:

when login with pc.getqf(first_login, 0) begin
am Anfang einfügen

am Ende, wo alles sets dann verteilt worden sind, packst Du die Funktion:
pc.setqf(first_login,1)
end

Dann sollte es gehen.
DerForenLeser is offline  
Old 01/14/2015, 12:11   #10848
 
elite*gold: 0
Join Date: Jan 2013
Posts: 419
Received Thanks: 44
Hallo Liebe Leute

ich habe einen Fehler mit der PvP-Map quest -basiert auf ox.quest

hier die quest. wenn ich sie hochlade also python make.py und ich ganz unten
bei der quest bin passiert nix...

PHP Code:
quest pvpmap begin
    state start begin
        when 20011.chat
."PvP-Turnier" begin
    
    when 20358.chat
."PvP-Map" with pc.is_gm() begin

            local stat 
PvP-Turnier.get_status()

            if 
stat == 0 then
                say
("PvP-Turnier")
                
say("")

                
local s select("PvP-Turnier starten""Nope")

                if 
== 1 then
                    local v 
PvP-Turnier.open()

                    if 
== 0 then
                        say
("PvP-Turnier Event schon aktiv?")
                        
say("")
                    elseif 
== 1 then
                        say
("PvP-Turnier gestartet")
                        
say("")
                
notice_all("((`°*~-._ ****** _.-~*°´))")
                
notice_all("Das PvP-Turnier-Event hat soeben begonnen")
                
notice_all("Um daran teilzunehmen geht zu Uriel und sprecht mit ihm")
                
notice_all("Viel Spaß wünscht euch das ***** Team")
                
notice_all("((`°*~-._ **** _.-~*°´))")
                    else
                        
say("Fehler...")
                        
say("")
                    
end
                end
            
elseif stat == 1 then
                    say
("Es sind "..PvP-Turnier.get_attender().." Spieler da")
                    
say("Schließen?")
                    
say("")

                    
local s select("Zugang schliessen""Nope")

                    if 
== 1 then
                        PvP
-Turnier.close()

                        
say("Zugang zu.")
                        
                        
say("")
        
end
    end
end 
keiner eine idee?
1Fantasy1 is offline  
Old 01/14/2015, 20:41   #10849
 
elite*gold: 0
Join Date: Jul 2009
Posts: 58
Received Thanks: 1
Quote:
Originally Posted by DerForenLeser View Post
Du musst die Funktion:

when login with pc.getqf(first_login, 0) begin
am Anfang einfügen

am Ende, wo alles sets dann verteilt worden sind, packst Du die Funktion:
pc.setqf(first_login,1)
end

Dann sollte es gehen.


ne bekomme jetzt imma error kannste mir das richtig vorschreiben ?
so das ich das einfach kopieren kann
ich habe total keine ahnung wegen den abständen und so
shurigeller is offline  
Old 01/16/2015, 00:08   #10850
wild wild son




 
Nick's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 5,830
Received Thanks: 3,369
Quote:
Originally Posted by Xena86 View Post
Hallo habe ein problemm mit der quest lua egal was ich mache er kann die quest nicht laden hab auch ein screen hochgeladen wo ihr sehn könnt das ist eine Lua quest hoffe ihr könnt mir helfen

PHP Code:
-- Achievementsystem
-- Copyright (c2014 Yiv
-- Create2014/11/02 (YYYY/MM/DD)

achievement achievement or {}

-- 
###############################################
-- ################ CONFIGURATION ################
-- ###############################################

achievement.shop = {
    {{
14,1,10},{19,1,20},{11209,1,25},{11219,1,30},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
    {{
0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
    {{
0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
    {{
0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
    {{
0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
    {{
0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
    {{
0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
    {{
0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
}

-- 
A  Achievement
-- AP Achievement Points

-- Mob-Achievements          achievement.mob['VNUM'] = {{KILL_COUNTAP}}
-- 
Level-Achievements        achievement.level = {{LEVELAP}}

achievement.mob = {}
achievement.mob['L'] = {
    [
1] = {101102},
    [
21] = {101102103},
    [
41] = {101102104},
}
achievement.mob[101] = {{105}, {2510}, {5015}}
achievement.mob[102] = {{2929}}
achievement.mob[103] = {{8888}, {13371000}}
achievement.mob[104] = {{9999}, {26742000}}


achievement.level = {
    {
305},
    {
5010},
    {
7515},
    {
10020},
    {
10520},
}


-- 
###############################################
-- ########## FUNCTIONS - DO NOT CHANGE ##########
-- ###############################################

--[[
achievement.init
achievement
.getNextLevelAchievementInfo
achievement
.nextLevelAchievement
achievement
.getMobAchievementInfo
achievement
.increasePoints
achievement
.getf
achievement
.setf
achievement
.login
achievement
.initLevel
achievement
.initShop
achievement
.initMob
achievement
.buyItem
achievement
.clientCommunication
]]--

achievement.init = function()
    
achievement.setf("points"0)
    
achievement.setf("level"1)
end

achievement
.getNextLevelAchievementInfo = function()
    
local n achievement.getf("level")
    if 
or table.getn(achievement.levelthen
        
return 0
    end
    
return achievement.level[n]
end

achievement
.nextLevelAchievement = function()
    
achievement.setf("level", (achievement.getf("level") + 1))
end

achievement
.getMobAchievementInfo = function(race)
    if 
achievement.mob[race] ~= nil then
        
return achievement.mob[race]
    else
        return {}
    
end
end

achievement
.increasePoints = function(points)
    
achievement.setf("points", (achievement.getf("points") + points))
end

achievement
.getf = function(flag)
    return 
pc.getf("achievement"flag)
end

achievement
.setf = function(flagvalue)
    
pc.setf("achievement"flagvalue)
    if 
flag == "points" then
        achievement
.clientCommunication("ap_info"value)
    
end
end

achievement
.login = function()
    
achievement.initLevel()
    
achievement.initShop()
end

achievement
.initLevel = function()
    
local levelAchievements ""
    
table.foreach(achievement.level,
        function(
indexlevelSet)
            
levelAchievements string.format("%s,%d_%d"levelAchievementslevelSet[1], levelSet[2])
        
end
    
)
    
levelAchievements string.sub(levelAchievements2)
    
achievement.clientCommunication("init_level"pc.get_level(), levelAchievements)
end

achievement
.initShop = function()
    
local siVnum ""
    
local siCount ""
    
local siPrice ""
    
table.foreach(achievement.shop,
        function(
tIndextSet)
            
table.foreach(tSet,
                function(
indexset)
                    
siVnum string.format("%s;%d"siVnumset[1])
                    
siCount string.format("%s;%d"siCountset[2])
                    
siPrice string.format("%s;%d"siPriceset[3])
                
end
            
)
        
end
    
)
    
siVnum string.sub(siVnum2)
    
siCount string.sub(siCount2)
    
siPrice string.sub(siPrice2)
    
achievement.clientCommunication("shop""c")
    
achievement.clientCommunication("shop""vnum"siVnum)
    
achievement.clientCommunication("shop""count"siCount)
    
achievement.clientCommunication("shop""price"siPrice)
    
achievement.clientCommunication("shop""b")
    
achievement.clientCommunication("ap_info"achievement.getf("points"))
end

achievement
.initMob = function()
    
local mobAchievements ""
    
local mobIdxTab achievement.mob['L'][pc.get_map_index()]
    if 
mobIdxTab ~= nil then
        table
.foreach(mobIdxTab,
            function(
indexvalue)
                
local mobInfoTab achievement.getMobAchievementInfo(value)
                
local mobAchievementsSUB ""
                
if mobInfoTab ~= nil then
                    table
.foreach(mobInfoTab,
                        function(
idxinfoSet)
                            
mobAchievementsSUB string.format("%s;%d"mobAchievementsSUBinfoSet[1])
                        
end
                    
)
                    
mobAchievementsSUB string.sub(mobAchievementsSUB2)
                    
mobAchievementsSUB string.format("%d_%d_%s"valueachievement.getf(string.format("npc_kills_%d"value)), mobAchievementsSUB)
                
end
                mobAchievements 
string.format("%s,%s"mobAchievementsmobAchievementsSUB)
            
end
        
)
    
end
    mobAchievements 
string.sub(mobAchievements2)
    
achievement.clientCommunication("init_mob"mobAchievements)
end

achievement
.buyItem = function(pos)
    
pos pos 1
    local row 
1
    
while pos do
        
row row 1
        pos 
pos 8
    end
    local itemSet 
achievement.shop[row][pos]
    
local ap achievement.getf("points")
    if 
ap >= itemSet[3then
        ap 
ap itemSet[3]
        
achievement.setf("points"ap)
        
pc.give_item2(itemSet[1], itemSet[2])
        
achievement.clientCommunication("ap_info"ap)
    else
        
syschat("Du hast nicht genügend Achievement-Punkte um diesen Gegenstand zu kaufen.")
    
end
end

achievement
.clientCommunication = function(param, ...)
    
local strCmd string.format("achievement %s#"param)
    if 
not arg or table.getn(arg) < 1 then return end
    local i
,1,table.getn(arg)
    while 
<= do
        
strCmd string.format(strCmd.."%s|"tostring(arg[i]))
        
1
    end
    strCmd 
string.sub(strCmd1, (string.len(strCmd) - 1))
    
cmdchat(strCmd)
end 
ha
Wie der Name bereits verrät, dient das Lua-Script als Extension, also als eine Erweiterung, die so nicht als Quest kompiliert werden soll. Um diese beim Serverstart laden zu lassen, musst du beispielsweise in der questlib.lua folgenden Eintrag hinzufügen;
Code:
dofile("/usr/home/game/share/locale/germany/quest/achievementsystem_extension.lua")
Lediglich die achievementsystem.lua musst du wie jede andere Quest implementieren.
Genaueres wird allerdings auch im dazugehörigen Thema erläutert;

lg
Nick is offline  
Old 01/16/2015, 21:00   #10851
 
elite*gold: 0
Join Date: Jan 2012
Posts: 195
Received Thanks: 19
Quest Fehler

Habe mir mal ne Quest ei epvp gesucht und sie bissl abgeändert nach meine wünschen und jetzt spackt sie rum und
bei sh make.sh kommt :
tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest
tausch.quest
dazu habe ich von einen user denn tipp bekommen
:Füg diese Funktion in der questlib.lua hinzu und in die quest_functions schreibste select3
dazu noch deine Quest:
alle schon und gut gemacht aber der fehler ist trotzdem noch da helft mir bitte
Supermgking is offline  
Old 01/16/2015, 22:40   #10852

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Kann mir jemand sagen warum

PHP Code:
say("Test ".. say_reward("Test Reward") ..""
nicht funktioniert ... ? x.x
rollback is offline  
Old 01/17/2015, 12:07   #10853

 
Hype's Avatar
 
elite*gold: 14
The Black Market: 137/0/0
Join Date: May 2013
Posts: 4,288
Received Thanks: 1,479
Es geht primär um die ersten Paar Zeilen, bitte nicht von der Länge der Quest abschrecken lassen

Wenn man auf die Schriftrolle klickt, passiert gar nichts mehr, gestern ging es aber noch (kann leider nicht sagen, was verändert wurde)

Edit: Die Tabs werden hier irgendwie nicht richtig angezeigt, ich hab sie aber soweit richtig gesetzt.



----


Quote:
Originally Posted by [Sensenmann] View Post
Kann mir jemand sagen warum

PHP Code:
say("Test ".. say_reward("Test Reward") ..""
nicht funktioniert ... ? x.x
Versuchs mit

PHP Code:
say("Test ".. say_reward ..("Test Reward")""
Hype is offline  
Old 01/17/2015, 14:14   #10854
 
elite*gold: 0
Join Date: Jan 2012
Posts: 195
Received Thanks: 19
Quest Fehler

Habe mir mal ne Quest ei epvp gesucht und sie bissl abgeändert nach meine wünschen und jetzt spackt sie rum und
bei sh make.sh kommt :
tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest
tausch.quest
dazu habe ich von einen user denn tipp bekommen
:Füg diese Funktion in der questlib.lua hinzu und in die quest_functions schreibste select3
dazu noch deine Quest:
alle schon und gut gemacht aber der fehler ist trotzdem noch da helft mir bitte
Supermgking is offline  
Old 01/18/2015, 01:28   #10855

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by .ɦype View Post
Versuchs mit

PHP Code:
say("Test ".. say_reward ..("Test Reward")""
nope geht auch nicht ... hab auch keinen fehler beim compilen sondern es wird nur nicht richtig angezeigt ..^^
rollback is offline  
Old 01/18/2015, 03:04   #10856
 
Sp0ngeb0b ist cool's Avatar
 
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
say_reward() funktioniert wie die say() funktion, es wird ledigtlich eine andere farbe verwendet, daher kommt bei sogesehen say(say('x')) natürlich nichts raus
die anwendung dieses befehls taucht oft in ymir quests wie zb in bioquests auf deshalb bin ich gerade etwas verwundert, dass das nicht allen bekannt war
lg
Sp0ngeb0b ist cool is offline  
Old 01/18/2015, 03:12   #10857

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Sp0ngeb0b ist cool View Post
say_reward() funktioniert wie die say() funktion, es wird ledigtlich eine andere farbe verwendet, daher kommt bei sogesehen say(say('x')) natürlich nichts raus
die anwendung dieses befehls taucht oft in ymir quests wie zb in bioquests auf deshalb bin ich gerade etwas verwundert, dass das nicht allen bekannt war
lg
Habs auch so probiert:
PHP Code:
say("Test "color256(255200200).."Test Reward"..color256(196196196)" ayo Test"
bekomme da aber einen Fehler beim Compilen

EDIT:
Habe jetzt mal eine neue Questfunktion erstellt:
PHP Code:
function say_with_reward(name1rewardname2say(name1..color256(255200200)..reward..color256(196196196)..name2end 
und in der Quest so geschrieben:
PHP Code:
say_with_reward("Normal ""Reward"" Normal"
Und dabei kommt das raus:


Was hab ich falsch gemacht ... ?

EDIT²:
Wenn das Questfenster öffnet ist es gaaaaanz kurz in der Reward-Farbe
rollback is offline  
Old 01/18/2015, 15:08   #10858
 
elite*gold: 0
Join Date: Oct 2011
Posts: 93
Received Thanks: 0
deinuntergang123 is offline  
Old 01/18/2015, 19:04   #10859
 
elite*gold: 0
Join Date: Jan 2015
Posts: 106
Received Thanks: 52
Quote:
Originally Posted by [Sensenmann] View Post
Habs auch so probiert:
PHP Code:
say("Test "color256(255200200).."Test Reward"..color256(196196196)" ayo Test"
bekomme da aber einen Fehler beim Compilen

EDIT:
Habe jetzt mal eine neue Questfunktion erstellt:
PHP Code:
function say_with_reward(name1rewardname2say(name1..color256(255200200)..reward..color256(196196196)..name2end 
und in der Quest so geschrieben:
PHP Code:
say_with_reward("Normal ""Reward"" Normal"
Und dabei kommt das raus:


Was hab ich falsch gemacht ... ?

EDIT²:
Wenn das Questfenster öffnet ist es gaaaaanz kurz in der Reward-Farbe
Code:
say("Test "..color256(255, 200, 200).."Test Reward"..color256(196, 196, 196).." ayo Test")
'Mahone is offline  
Old 01/18/2015, 19:12   #10860

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by 'Mahone View Post
Code:
say("Test "..color256(255, 200, 200).."Test Reward"..color256(196, 196, 196).." ayo Test")
Funktioniert auch nicht ...
Ist 1:1 das gleiche wie in der Funktion ^^
rollback is offline  
Reply




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


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.