Suche Seelenstein quest !

11/16/2017 19:10 levita2#1
Hallo ich suche seit stunden eine normale Seelenstein quest de-like, die auch funktioniert alles was ich gefunden habe bis jetzt ist irgendwie kaputt oder verbuggt seelis verschwinden dies das ananas.
11/16/2017 19:29 andii#2
Filerequests sind bei uns nicht erlaubt. Schau doch mal hier vorbei:
[Only registered and activated users can see links. Click Here To Register...]
11/16/2017 19:53 levita2#3
........... da ist aber nichts davon drin was ich suche !
11/16/2017 19:54 andii#4
Quote:
Originally Posted by levita2 View Post
........... da ist aber nichts davon drin was ich suche !
SuFu, Google oder in dem genannten Thread einfach mal nachfragen.
11/16/2017 20:44 -Legion#5
Code:
quest training_grandmaster_skill begin
    state start begin
		when 50513.use begin
			if pc.get_skill_group() == 0 then
				say_title(gameforge.training_grandmaster_skill._10_sayTitle)
				say(gameforge.training_grandmaster_skill._20_say)
				return
			end

			if get_time() < pc.getqf("next_time") then
				if pc.is_skill_book_no_delay() then
					say_title(gameforge.training_grandmaster_skill._10_sayTitle)
					say(gameforge.training_grandmaster_skill._30_say)
					wait()
				else
					say_title(gameforge.training_grandmaster_skill._10_sayTitle)
					say(gameforge.training_grandmaster_skill._40_say)
					return
				end
			end

			local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())

			local vnum_list = result[1]
			local name_list = result[2]

			if table.getn(vnum_list) == 0 then
				say_title(gameforge.training_grandmaster_skill._10_sayTitle)
				say(gameforge.training_grandmaster_skill._50_say)
				return
			end
			say_title(gameforge.training_grandmaster_skill._10_sayTitle)
			say(gameforge.training_grandmaster_skill._60_say)

			local menu_list = {}
			table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
			table.insert(menu_list, gameforge.locale.cancel) 

			local s=select_table(menu_list)
			
			if table.getn(menu_list) == s then
				return
			end

			local skill_name=name_list[s]
			local skill_vnum=vnum_list[s]
			local skill_level = pc.get_skill_level(skill_vnum)
			local cur_alignment = pc.get_real_alignment()
			local need_alignment = 1000+500*(skill_level-30)

			test_chat(string.format(gameforge.training_grandmaster_skill._70_chat, cur_alignment..gameforge.training_grandmaster_skill._75_chat..need_alignment))

			local title=string.format(gameforge.training_grandmaster_skill._80_stringFormat, skill_name, skill_level-30+1)

			say_title(gameforge.training_grandmaster_skill._10_sayTitle)
			say(gameforge.training_grandmaster_skill._90_say)

			if cur_alignment<-19000+need_alignment then
				say_reward(gameforge.training_grandmaster_skill._100_sayReward)
								return
			end

			if cur_alignment<0 then
say_reward(string.format(gameforge.training_grandmaster_skill._110_sayReward, need_alignment, need_alignment*2))
				say_reward(gameforge.training_grandmaster_skill._120_sayReward)
				need_alignment=need_alignment*2
			elseif cur_alignment<need_alignment then
say_reward(string.format(gameforge.training_grandmaster_skill._130_sayReward, need_alignment))
				say_reward(gameforge.training_grandmaster_skill._140_sayReward)
			else
say_reward(string.format(gameforge.training_grandmaster_skill._130_sayReward, need_alignment))
			end
				
			local s= select(gameforge.locale.levelup.prev_quest_go, gameforge.locale.cancel)	
			
			if s==2 then
				return
			end


			if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(title)
				say_reward(gameforge.training_grandmaster_skill._150_sayReward)
				say(gameforge.training_grandmaster_skill._160_say)
				say_reward(gameforge.training_grandmaster_skill._170_sayReward)
				say(gameforge.training_grandmaster_skill._180_say)
				local s=input()
				s = string.gsub(s, "(%a*)%s*", "%1")
				s = string.lower(string.gsub(s, "(%a*)%s*", "%1"))

				local t = string.gsub(gameforge.training_grandmaster_skill._10_answer, "(%a*)%s*", "%1")
				t = string.lower(string.gsub(gameforge.training_grandmaster_skill._10_answer, "(%a*)%s*", "%1"))
				
				if s!=t then
					return
				end
			end

			if get_time() < pc.getqf("next_time") then
				if pc.is_skill_book_no_delay() then
					pc.remove_skill_book_no_delay()
				else
					say_title(gameforge.training_grandmaster_skill._10_sayTitle)
					return
				end
			end

			pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))


			if need_alignment>0 then
				if pc.count_item(50513) > 0 then
					if pc.learn_grand_master_skill(skill_vnum) then
						pc.change_alignment(-need_alignment)
				
						say_title(title)
						say_reward(gameforge.training_grandmaster_skill._190_sayReward)

						if 40 == pc.get_skill_level(skill_vnum) then
							say(gameforge.training_grandmaster_skill._200_say)
							say(string.format(gameforge.training_grandmaster_skill._210_say, skill_name))
							say(gameforge.training_grandmaster_skill._220_say)
						else
							say(gameforge.training_grandmaster_skill._230_say)
							say(string.format(gameforge.training_grandmaster_skill._240_say, skill_name, skill_level-30+1+1))
						end
						say_reward(gameforge.training_grandmaster_skill._250_sayReward)
						say_reward(string.format(gameforge.training_grandmaster_skill._260_sayReward, need_alignment))
					else
						say_title(title)
						say_reward(gameforge.training_grandmaster_skill._270_sayReward)
						say(gameforge.training_grandmaster_skill._280_say)
						say_reward(gameforge.training_grandmaster_skill._290_sayReward)
						pc.change_alignment(-number(need_alignment/3, need_alignment/2))
					end
					pc.remove_item(50513)
				else
					char_log(0, "HACK 50513", pc.getname())
				end
			end
		end

		function BuildGrandMasterSkillList(job, group)
			GRAND_MASTER_SKILL_LEVEL = 30
			PERFECT_MASTER_SKILL_LEVEL = 40

			local skill_list = special.active_skill_list[job+1][group]
			local ret_vnum_list = {}
			local ret_name_list = {}

			table.foreach(skill_list, 
			function(i, skill_vnum) 
			local skill_level = pc.get_skill_level(skill_vnum)

			if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
				table.insert(ret_vnum_list, skill_vnum)
				local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
				
				if name == nil then name=skill_vnum end
					table.insert(ret_name_list, name)
				end
			end)
			return {ret_vnum_list, ret_name_list}
		end
    end
end
Bittesehr, ich hoffe ich konnte Dir helfen :)
11/16/2017 23:21 levita2#6
Hey bei mir kommt FUNCTION buildgrandmasterskilllist /job,group
calls undeclared function! :
string gsub
string lower
Error occured on compile traing_grand_master

hier noch meine quest weiß nicht wo der fehler sich befindet

quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Seelenstein")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Durch den gebrauch einer Exorzismuss-")
say("Schriftrolle kannst du einen weiteren")
say("Seelenstein lesen!")
wait()
say_title("Seelenstein")
else
say("Du hast heute bereits einen Seelenstein gelesen!")
return
end
end
local result = training_grandmaster_skill.BuildGrandMasterSkillLi st(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
say("Welche Fertigkeit möchtest du trainieren?")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-30)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf G%d trainieren", skill_name, skill_level-30+1)
if skill_level-30+1==10 then
title=string.format("%s auf P trainieren", skill_name)
end
pc.remove_item("50513", 1)
say_title(title)
say("Durch das Lesen von Seelensteinen müssen")
say("dir als Zeichen des Opfers Rangpunkte")
say("abgezogen werden.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rangpunkte!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end


if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s bestätigen", title))
say("Das Lesen eines Seelensteines kostet Rang,")
say("wenn du diesen Seelenstein ließt,")
say("kommst du in den negativen Bereich.")
say("Bitte Bestätige das du diesen Seelenstein")
say("wirklich lesen möchtest! Das tust du indem")
say("du in den Textfeld das Wort")
say_reward("trainieren")
say("eingibst.")
local s=input()
if s!="trainieren" then
return
end
end
if get_time() < pc.getqf("next_time") then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Bitte an die Admins wenden!")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 and pc.count_item(50513)>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s ist nun perfeckt Gemeistert.", skill_name))
say("Herzlichen Glückwunsch!")
else
say(string.format("Das Großmeistern war erfolgreich!", skill_name, skill_level-30+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Es wurden %d Rangpunkte verbraucht", need_alignment))
say("")
else
say_title(string.format("%s fehlgeschlagen", title))
say("Das Großmeistern ist fehlgeschlagen.")
say("")
local rang = number(need_alignment/3, need_alignment/2)
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
say("")
pc.change_alignment(-rang)
end
end
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 30
PERFECT_MASTER_SKILL_LEVEL = 40
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
end
end
end
11/17/2017 10:18 -Legion#7
Quote:
Originally Posted by levita2 View Post
Hey bei mir kommt FUNCTION buildgrandmasterskilllist /job,group
calls undeclared function! :
string gsub
string lower
Error occured on compile traing_grand_master

hier noch meine quest weiß nicht wo der fehler sich befindet

quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Seelenstein")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Durch den gebrauch einer Exorzismuss-")
say("Schriftrolle kannst du einen weiteren")
say("Seelenstein lesen!")
wait()
say_title("Seelenstein")
else
say("Du hast heute bereits einen Seelenstein gelesen!")
return
end
end
local result = training_grandmaster_skill.BuildGrandMasterSkillLi st(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
say("Welche Fertigkeit möchtest du trainieren?")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-30)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf G%d trainieren", skill_name, skill_level-30+1)
if skill_level-30+1==10 then
title=string.format("%s auf P trainieren", skill_name)
end
pc.remove_item("50513", 1)
say_title(title)
say("Durch das Lesen von Seelensteinen müssen")
say("dir als Zeichen des Opfers Rangpunkte")
say("abgezogen werden.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rangpunkte!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end


if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s bestätigen", title))
say("Das Lesen eines Seelensteines kostet Rang,")
say("wenn du diesen Seelenstein ließt,")
say("kommst du in den negativen Bereich.")
say("Bitte Bestätige das du diesen Seelenstein")
say("wirklich lesen möchtest! Das tust du indem")
say("du in den Textfeld das Wort")
say_reward("trainieren")
say("eingibst.")
local s=input()
if s!="trainieren" then
return
end
end
if get_time() < pc.getqf("next_time") then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Bitte an die Admins wenden!")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 and pc.count_item(50513)>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s ist nun perfeckt Gemeistert.", skill_name))
say("Herzlichen Glückwunsch!")
else
say(string.format("Das Großmeistern war erfolgreich!", skill_name, skill_level-30+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Es wurden %d Rangpunkte verbraucht", need_alignment))
say("")
else
say_title(string.format("%s fehlgeschlagen", title))
say("Das Großmeistern ist fehlgeschlagen.")
say("")
local rang = number(need_alignment/3, need_alignment/2)
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
say("")
pc.change_alignment(-rang)
end
end
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 30
PERFECT_MASTER_SKILL_LEVEL = 40
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
end
end
end
Füg die funktionen einfach in deine quest_function ein, sollte schon funktionieren....
11/17/2017 10:45 BosniaWarlord#8
Quote:
Originally Posted by levita2 View Post
Hey bei mir kommt FUNCTION buildgrandmasterskilllist /job,group
calls undeclared function! :
string gsub
string lower
Error occured on compile traing_grand_master

hier noch meine quest weiß nicht wo der fehler sich befindet

quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Seelenstein")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Durch den gebrauch einer Exorzismuss-")
say("Schriftrolle kannst du einen weiteren")
say("Seelenstein lesen!")
wait()
say_title("Seelenstein")
else
say("Du hast heute bereits einen Seelenstein gelesen!")
return
end
end
local result = training_grandmaster_skill.BuildGrandMasterSkillLi st(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
say("Welche Fertigkeit möchtest du trainieren?")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-30)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf G%d trainieren", skill_name, skill_level-30+1)
if skill_level-30+1==10 then
title=string.format("%s auf P trainieren", skill_name)
end
pc.remove_item("50513", 1)
say_title(title)
say("Durch das Lesen von Seelensteinen müssen")
say("dir als Zeichen des Opfers Rangpunkte")
say("abgezogen werden.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rangpunkte!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end


if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s bestätigen", title))
say("Das Lesen eines Seelensteines kostet Rang,")
say("wenn du diesen Seelenstein ließt,")
say("kommst du in den negativen Bereich.")
say("Bitte Bestätige das du diesen Seelenstein")
say("wirklich lesen möchtest! Das tust du indem")
say("du in den Textfeld das Wort")
say_reward("trainieren")
say("eingibst.")
local s=input()
if s!="trainieren" then
return
end
end
if get_time() < pc.getqf("next_time") then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Bitte an die Admins wenden!")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 and pc.count_item(50513)>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s ist nun perfeckt Gemeistert.", skill_name))
say("Herzlichen Glückwunsch!")
else
say(string.format("Das Großmeistern war erfolgreich!", skill_name, skill_level-30+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Es wurden %d Rangpunkte verbraucht", need_alignment))
say("")
else
say_title(string.format("%s fehlgeschlagen", title))
say("Das Großmeistern ist fehlgeschlagen.")
say("")
local rang = number(need_alignment/3, need_alignment/2)
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
say("")
pc.change_alignment(-rang)
end
end
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 30
PERFECT_MASTER_SKILL_LEVEL = 40
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
end
end
end
Dich als Moderator oder Serveradmin zu haben kann jemanden nur leid tun. Kannst solche Probleme nicht selbst lösen, wie willst du deinen Server vor Angriffen schützen
11/17/2017 19:39 Nectix#9
#closed