Jump to content

Aveline™

Bronze
  • Posts

    190
  • Joined

  • Last visited

  • Days Won

    6
  • Feedback

    0%

Posts posted by Aveline™

  1. 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
                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(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
                    if pc.is_skill_book_no_delay() then
                        pc.remove_skill_book_no_delay()
                    end
                end
                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!")
                            notice_all(string.format(""..pc.get_name().." hat den Skill ~ %s ~ auf Perfekt gelesen.", skill_name))
                        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("")
    					pc.set_skill_level(skill_vnum,pc.get_skill_level(skill_vnum)+1)
                    -- 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
            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

    I will add pc.set_skill_level() for upgrade your skill level ;)

     

    Best Regards

    Aveline

    • Love 1
  2. import time
     
    class Wait(ui.ScriptWindow):
        def __init__(self):
            ui.ScriptWindow.__init__(self)
            self.eventTimeOver = lambda * arg: None
            self.eventExit = lambda * arg: None
             
        def __del__(self):
            ui.ScriptWindow.__del__(self)
             
        def Open(self,waitTime):
            curTime = time.clock()
            self.endTime = curTime + waitTime
            self.Show()
         
        def Close(self):
            self.Hide()
             
        def Destroy(self):
            self.Hide()
             
        def EmptyFunc(self):
            pass
             
        def SAFE_SetTimeOverEvent(self,event = 0):
            if(not event):
                self.eventTimeOver = self.EmptyFunc
                 
            self.eventTimeOver = ui.__mem_func__(event)
             
        def SAFE_SetExitEvent(self,event = 0):
            if(not event):
                self.eventExit = self.EmptyFunc
             
            self.eventExit = ui.__mem_func__(event)
             
        def OnUpdate(self):
            lastTime = max(0,self.endTime - time.clock())
            if(lastTime == 0):
                self.Close()
            else:
                return
                 
        def OnPressExitKey(self):
            self.Close()
            return True
             
             
     
    ## Example ;
     
    self.waitFor = Wait()
    self.waitFor.Open(20.0)
    self.waitFor.SAFE_SetTimeOverEvent(self.SecondFinished)
    self.waitFor.SAFE_SetExitEvent(self.ExitKey)
     
    def SecondFinished(self):
        print "======================================================"
        print "Second is finished."
        print "======================================================"
         
    def ExitKey(self):
        print "======================================================"
        print "Exit Key -- Write Something"
        print "======================================================"

    maybe you could work on your business

     

    Best Regards

    Aveline

    • Love 1
  3. SYSERR: May 21 12:45:41 :: RunState: LUA_ERROR: [string "npsistemv3"]:3: attempt to call field `get_level' (a nil value) 
    SYSERR: May 21 12:45:41 :: WriteRunningStateToSyserr: LUA_ERROR: quest npsistemv3.start leave  

    Your game don't have npc.get_level(). If you are using r2089, applying a diff already it's public, just search :)

     

    If you are using r40k, just look at topics.

     

    Best Regards

    Aveline

    • Love 1
  4.  

    And what about char_skill.cpp ?

    if ((0 != pkSk->dwAffectFlag || pkSk->dwVnum == SKILL_MUYEONG) && (pkSk->dwFlag & SKILL_FLAG_TOGGLE) && RemoveAffect(pkSk->dwVnum))
    	{
    		return true;
    	}
    
    	 if (IsAffectFlag(AFF_REVIVE_INVISIBLE))
    		RemoveAffect(AFFECT_REVIVE_INVISIBLE); 

     

    Already you are deleted in char.cpp invisibility bug fixed and this line not work if you want, you can remove it.

     

    Best Regards

    Aveline

  5. Senin kişisel facebook sayfanda paylaştıkların gerçektende insanlara yardım etmek amaçlıydı. Yüzsüz bir kişiliğin var belkide çoklu kişilik bozukluğu :) Bence sen bir psikolağa görün onlar belki seni anlar :)

     

    // English

     

    You're f**king kidding stranger people after you want to something on this forum. Are you kidding? :D

  6. Add these in your locale_string.txt

    "단계 ê°œëŸ‰ì— í•„ìš”í•œ ì¬ë£Œê°€ 아닙니다.";
    "Step in improving the material is not required.";
    
    "ê°•í™”ì— í•„ìš”í•œ ì¬ë£Œê°€ 아닙니다."
    "It is not necessary to strengthen the material.";

    Best Regards

    HaveBeen

    • Love 3
  7.  

     

     

    any have compile binary with?:

    pls dl link

    Log in mainline_released/mainline_sg/Srcs/Client/Userinterface after open GameType.h after search this
    ?
    1
    const DWORD c_Inventory_Page_Count = 2;
    Replace to
    ?
    1
    const DWORD c_Inventory_Page_Count = 4;

     

    @Added ;)

     

    Best Regards

    HaveBeen

     

     

    Next problem, WHY? XD

     

    LOLjpg_enrhpxe.jpg

     

     

    Are you sure you are make part of python? Because i test it and it's work correctly :)

     

    Best Regards

    HaveBeen

  8.  

    any have compile binary with?:

    pls dl link

    Log in mainline_released/mainline_sg/Srcs/Client/Userinterface after open GameType.h after search this
    ?
    1
    const DWORD c_Inventory_Page_Count = 2;
    Replace to
    ?
    1
    const DWORD c_Inventory_Page_Count = 4;

     

    @Added ;)

     

    Best Regards

    HaveBeen

    • Love 1
  9. @HaveBeen can you add a 4 inventory on this binary pls?

     

    @Added

     

    Phase Select does not handle this header (header: 18, last: 90, 18)

    The syserr of the client

     

     

    Which you are using game.core?

     

    I have a error? 8uHng.png

     

    Upgrade your granny 2.2 file to granny 2.9. this file is public on metin2dev.org

    • Love 1
  10. Hi guys someone want to maximum gold for binary but i think anybody explain these things. I just share this file with your :D

     

    I hope you are like it.

     

    https://mega.co.nz/#!2p4H1TCL!mjvuGu14RxF0yQKJKzutXoZIOMl9H47hTOLxATBXNcs

     

    4 Inventory Page

     

    https://mega.co.nz/#!n5gA0A7Z!-TfyBNqfpadTA0nML7Q0WO81CbiA4isZ4obARNsGFJw

     

    Someone got error with packet.h look at this ;

    typedef struct packet_points
    {
    	BYTE	header;
    	long long		points[POINT_MAX_NUM];
    } TPacketGCPoints;
    
    typedef struct packet_point_change
    {
    	int		header;
    	DWORD	dwVID;
    	BYTE	type;
    	long long	amount;
    	long	value;
    } TPacketGCPointChange;

    Best Regards

    HaveBeen

    • Love 9
×
×
  • 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.