Jump to content

Recommended Posts

Guten Tag,
Ich benutze denn Source "mainline_released" wenn ich eine Quest ausführe dann verschwindet das Item nicht.
 
 May  9 12:04:24 :: QUEST remove items(vnum 50513) count 1 of [ADMIN].Japan[57959]
May  9 12:04:24 :: CHARACTER::RemoveSpecifyItem cannot remove enough item vnum 50513, still remain 1[/PHP]

 
 
Link to comment
Share on other sites

  • Replies 13
  • Created
  • Last Reply

Top Posters In This Topic

quest training_grandmaster_skill begin 
    state start begin 
    when 50513.use begin 
        say_title("Fertigkeitstraining des Großmeisters") 
           say ("Mit diesem Stein, erfüllt mit Seelen,") 
           say ("wirst du deine Fertigkeiten verbessern können.") 
        say("") 
        wait() 
        if pc.get_skill_group() == 0 then 
        say("§A¨S¦³¥ô¦ó¾·~."..pc.get_skill_group()) 
        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("Um mit dem Fertigkeitstraining des Großmeister") 
            say("fortzufahren klicke auf 'WEITER'.") 
            say("") 
            wait() 
            say_title("Fertigkeitstraining des Großmeister") 
        else 
            say("Du kannst heute nicht weiter trainieren,") 
            say("außer du benutzt eine Exorzismus-Schriftrolle!") 
            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("Fertigkeitstraining des Großmeister") 
        return 
        end 

        say("Wähle die zu trainierende Fertigkeit!") 
        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 
            if pc.count_item(50513)==0 then 
                say("Die magische Kraft der Seelen sind erloschen,") 
                say("da du den Stein verloren hast..") 
                say("") 
                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("²{¦bµ½´c*È: "..cur_alignment) 
        test_chat("»Ý*nµ½´c*È: "..need_alignment) 

        local title=string.format("%s Großmeisterstufe %d Training", skill_name, skill_level-30+1) 

        say_title(title) 
        say("") 

        if cur_alignment<-19000+need_alignment then 
        say_reward("Du hast nicht genügend Rangpunkte") 
        say_reward("für ein erneutes Training.") 
        return 
        end 

        if cur_alignment<0 then 
        say_reward(string.format("Du benötigst %d Rangpunkte -> %d", need_alignment, need_alignment*2)) 
        say_reward("(Wenn du den Seelen bereit bist diese Rangpunkte zu opfern)") 
        say_reward("(drücke 'WEITER'.)") 
        need_alignment=need_alignment*2 
        elseif cur_alignment<need_alignment then 
        say_reward(string.format("Du benötigst %d Rangpunkte ", need_alignment)) 
        say_reward("(²{¦b*×½mªº¸Ü, ·|¤U*°¨ì®ö¤H¥H¤U.)") 
        else 
        say_reward(string.format("Du benötigst %d Rangpunkte ", need_alignment)) 
        end 
        say("") 

        local s=select("Weiter", "Abbrechen")     
        if s==2 then 
        return 
        end 


        if cur_alignment>=0 and cur_alignment<need_alignment then 
        say_title(string.format("Bestätigen!", title)) 
        say("Wenn du jetzt eine Großmeisterfertigkeit") 
        say("trainierst, könnten deine Rangpunkte unter") 
        say("den Durchschnittslevel fallen, da du bereits zu") 
        say("diesem Zeitpunkt nur wenige besitzt. Wenn du") 
        say("wirklich trainieren willst,") 
        say("gib in das Eingabefeld das Wort") 
        say_reward("Trainieren") 
        say("ein.") 
        say("") 
        say("Willst du nicht trainieren, drücke einfach") 
        say("die Taste 'ENTER'.") 
        local s=input() 
        if s!="Trainieren" then 
            return 
        end 
        end 

        if get_time() < pc.getqf("next_time") then -- and not is_test_server() then 
        if pc.is_skill_book_no_delay() then 
            pc.remove_skill_book_no_delay() 
        else 
            say("[°ª¯Åµ¥¯Å]§Þ¯à*×½m¿ù»~: ¥ð®§¤¤") 
            return 
        end 
        end 

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

        if need_alignment>0 then 
        if pc.learn_grand_master_skill(skill_vnum) then 
            pc.change_alignment(-need_alignment) 


            say_title(string.format("Fertigkeitstraining des Großmeister erfolgreich!", title)) 
            if 40 == pc.get_skill_level(skill_vnum) then 
            say(string.format("Fertigkeitstraining", skill_name)) 
            else 
            say(string.format(skill_name, skill_level-30+1+1)) 
            end 
            say("") 
            say_reward("Erfolgreich!") 
            say_reward(string.format("Du hast ein paar Rangpunkte verbraucht!")) 
            say("") 
        else 
            say_title(string.format("Großmeister Fertigkeitstraining fehlgeschlagen!", title)) 
            say ("") 
            say_reward("Fehlgeschlagen!") 
            say("Du hast deine Fertigkeit nicht verbessern") 
            say("können") 
            say_reward("Du hast einige Rangpunkte verloren") 
            say_reward("und den Seelenstein verbraucht.") 
            say("") 
            pc.change_alignment(-number(need_alignment/3, need_alignment/2)) 
        end 
        end 

        pc.removeitem("50513", 1)         
    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 = {} 

        -- test_chat(string.format("job=%d, group=%d", job, group)) 

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

        -- test_chat(string.format("[%d]=%d", skill_vnum, skill_level)) 
        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} 


        --return {ret_vnum_list, ret_name_list} 
    end 
    end 
end  
Link to comment
Share on other sites

  • 1 month later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.