Seelenstein zu 100%

08/10/2013 03:17 RandomName42#1
Guten Morgen Elitepvpers.
Ich würde gerne es so einstellen das der Seelenstein zu 100% geht.
Wie stelle ich dies ein?
08/10/2013 08:27 Dani'el#2
Über eine Quest. Überarbeite eine z.B. Regenbogenstein Quest um.
08/10/2013 13:18 Ielinque#3
Quote:
Originally Posted by Dani'el View Post
Über eine Quest. Überarbeite eine z.B. Regenbogenstein Quest um.
Das ist nicht ganz richtig, sellenstein.quest oder selli.quest heist die Quest, die muss man ueberarbeiten.

Poste mal die Quest bitte hier rein :)
08/10/2013 15:20 RandomName42#4
PHP Code:
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.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
("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(inametable.insert(menu_listnameend)
            
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_nameskill_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_alignmentneed_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>=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(812)))
            if 
need_alignment>and pc.count_item(50513)>0 then
                
if pc.learn_grand_master_skill(skill_vnumthen
                    pc
.change_alignment(-need_alignment)
                    
say_title(string.format("%s erfolgreich"title))
                    if 
40 == pc.get_skill_level(skill_vnumthen
                        say
(string.format("%s ist nun perfeckt Gemeistert."skill_name))
                        
say("Herzlichen Glückwunsch!")
                    else
                        
say(string.format("Das Großmeistern war erfolgreich!"skill_nameskill_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/3need_alignment/2)
                    
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
                    
say("")
                    
pc.change_alignment(-rang)
                
end
            end
        end
        
function BuildGrandMasterSkillList(jobgroup)
            
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(
iskill_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_listskill_vnum)
                
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
                if 
name == nil then name=skill_vnum end
                table
.insert(ret_name_listname)
            
end
            end
)
            return {
ret_vnum_listret_name_list}
        
end
    end
end 
08/10/2013 15:25 Ielinque#5
Hier das hilft dir weiter.

- [Only registered and activated users can see links. Click Here To Register...]

Mfg
08/12/2013 11:34 Nick#6
[Only registered and activated users can see links. Click Here To Register...]
___________

aus Thread;
[Only registered and activated users can see links. Click Here To Register...]

PHP Code:
            if number(1,2) == 1 then -- Chance damit der Seeli klappt 
Lässt sich somit problemlos konfigurieren. ;)