Jump to content

[007]DawisHU

Member
  • Posts

    258
  • Joined

  • Last visited

  • Days Won

    4
  • Feedback

    0%

Posts posted by [007]DawisHU

  1. Hello,

    On 2017. 06. 06. at 0:27 AM, nicusor007 said:

    Hello, i have the problem skill.

    When I reboot my server, all my skills reset and then dissapear, I have a picture below

    QwN3iN4.jpg

     

    ServerSide:
    skill_power.txt missing or add 777right

  2. Hello,

    23 hours ago, Avisek said:

    Hello,
    I have very nice SF but there is one problem..

    I think It was working When I turned it on, but now its not working.. When I am going to exp (for example with new character), Yangs don't drop..
    Can you help me please?
    Thank you! :)

    FIX

    Spoiler

    ServerSide:
     

    Spoiler

    Player -> mob_proto (player.mob_proto)
    Search Gold_min and Gold_max add value and enjoy

     

     

  3. Hello,
     

    On 2017. 04. 05. at 7:43 PM, avertuss said:

    Hi. I have problem with this error in syserr

    
    OnButton: QUEST There's suspended quest state, can't run new quest state (quest: wskaznikHpWroga pc:

    Quest

    
    quest wskaznikHpWroga begin
    	state start begin
    		when login begin
    			cmdchat("super_quest "..q.getcurrentquestindex())
    		end
    
    		when info or button begin
    			cmdchat("GetInputStart")
    			local vid = input(cmdchat("get_input_value"))
    			cmdchat("GetInputStop")
    			local old_pc = pc.select(vid)
    			local name = pc.get_name()
    			local hp = pc.get_hp()
    			local max_hp = pc.get_max_hp()
    			pc.select(old_pc)
    			cmdchat("pvp_zdruwko "..name.."|"..hp.."|"..max_hp)
    		end
    	end
    end

     

    Last 3x end press 2x enter ;)
    Like this
     

    Spoiler

    Original:
     

    Spoiler

            end
        end
    end

    Change to:
     

    Spoiler

            end
        end
    end

     

     

    Original is this?
     

    Spoiler

    -- Quest Opponents HP and MP during pvp
    -- Made by: Endymion_
    -- Server: Ascarial.pl
    quest wskaznikHpWroga begin
        state start begin
            when login begin
                cmdchat("super_quest "..q.getcurrentquestindex())
            end

            when info or button begin
                cmdchat("get_input_start")
                local vid = input(cmdchat("get_input_value"))
                cmdchat("get_input_end")
                local old_pc = pc.select(vid)
                local name = pc.get_name()
                local hp = pc.get_hp()
                local max_hp = pc.get_max_hp()
                local mp = pc.get_sp()
                local max_mp = pc.get_max_sp()
                pc.select(old_pc)
                cmdchat("pvp_zdruwko "..name.."|"..hp.."|"..max_hp.."|"..mp.."|"..max_mp)
            end
        end
    end

     

  4. Hello,
    idea or imagine,
     

    Spoiler

    Client side:
     

    Spoiler

    Go to locale_XY/locale/XY/locale_game.txt.
    Search this and Copy from
    TOOLTIP_ANTI_CRITICAL_PCT
    to
    TOOLTIP_WRISTLET
    CTRL+C

    Go to server side:
     

    Spoiler

    /quest/locale.lua
    and paste to the locale.lua
    CTRL+V
    CTRL+H
    TOOLTIP_  CHANGE TO locale.TOOLTIP_
    CTRL+S

    In quest example:
    say(locale.TOOLTIP_ANTI_CTRITICAL_PCT)
    say(locale.TOOLTIP_ANTI_CRITICAL_PCT)

    say("+10%")

    Or
    Make this with MySQL :D

  5. 1) when login means if single logs it will start ?
    Answer: Yes.
    Use server_timer and 2th player logged in not started.

     

    Spoiler

    In the quest
     

    Spoiler

    quest _.quest_file_name_here begin

        state start begin
            when XY.chat."Name of run" begin
            when logout begin
                if pc.get_map_index() == mapindex then
                    pc.delqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")    --when player logout dell qf (for unbugg)
                end    --if/else
            end    --when

            when login with pc.get_map_index() == mapindex and pc.getqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")==0 begin
                d.exit_all()    --warp all to the city
            end    --when

            when login with pc.get_map_index() == mapindex begin        --Example:    when login with pc.get_map_index() == 110 begin
                pc.setqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")
                server_timer("Timer_name", Number)    --Example: server_timer("logined", 10) --10 sec and start
                notice("")    --Example:    notice("XY group/monsters are coming!Prepare the battle!10 sec and monsters are comming!")
            end    --end

    replace whit this
     

    Spoiler

    quest _.quest_file_name_here begin

        state start begin
           --> --when XY.chat."Name of run" begin DELETE THIS wrong quest ^^ <---
            when logout begin
                if pc.get_map_index() == mapindex then
                    pc.delqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")    --when player logout dell qf (for unbugg)
                end    --if/else
            end    --when

            when login with pc.get_map_index() == mapindex begin --Example:    when login with pc.get_map_index() == 110 begin
                if game.get_event_flag("Dawis_metin2dev") >= 1 then
                end
                if game.get_event_flag("Dawis_metin2dev") >= 0
                    pc.setqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")
                    game.set_event_flag("Dawis_metin2dev,1")
                    server_timer("Timer_name", Number)    --Example: server_timer("logined", 10) --10 sec and start
                    notice("")    --Example:    notice("XY group/monsters are coming!Prepare the battle!10 sec and monsters are comming!")
            end    --end

     

    2.
     

    Spoiler

    In quest replace
     

    Spoiler

            when Timer_name.server_timer begin    --Example: when logined.server_timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end    --end

            when XY.kill begin
                clear_server_timer('fail') --clear fail timer
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                timer("next_wave,5")
            end
            
            when next_wave.timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end

            when XY.kill begin
                clear_server_timer('fail') --clear fail timer
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                timer("next_wave1,5")
            end
            
            when next_wave1.timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end

            when XY.kill begin
                clear_server_timer('fail') --clear fail timer
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                timer("next_wave2,5")
            end
            
            when next_wave2.timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end

                
            when fail.server_timer begin
                notice("Failed!10 sec and teleportating XY city/map")
                npc.purge()    --EveryNPC on the map are dissappear / purge
                d.kill_all()    --kill all monster
                d.exit_all()    --Warp all to the city
            end    --end


            when boss_id.kill begin OR when XY.use begin
                clear_server_timer('fail') --clear fail timer
                notice("Congratulations! ETC ETC ETC")
                timer("warp_all,10")    --timer: warp all to the city
            end    --end
            when warp_all.timer begin
                d.exit_all()    --warp all to the city
                game.set_event_flag("Dawis_metin2dev,0")
            end    --end
        end    --state
    end    --quest

     

    Or full edited quest (COPY PASTE READY)
     

    Spoiler

    quest _.quest_file_name_here begin

        state start begin

            when logout begin
                if pc.get_map_index() == mapindex then
                    pc.delqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")    --when player logout dell qf (for unbugg)
                end    --if/else
            end    --when

            when login with pc.get_map_index() == mapindex begin --Example:    when login with pc.get_map_index() == 110 begin
                if game.get_event_flag("Dawis_metin2dev") >= 1 then
                end
                if game.get_event_flag("Dawis_metin2dev") >= 0
                    pc.setqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")
                    game.set_event_flag("Dawis_metin2dev,1")
                    server_timer("Timer_name", Number)    --Example: server_timer("logined", 10) --10 sec and start
                    notice("")    --Example:    notice("XY group/monsters are coming!Prepare the battle!10 sec and monsters are comming!")
            end    --end

            when Timer_name.server_timer begin    --Example: when logined.server_timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end    --end

            when XY.kill begin
                clear_server_timer('fail') --clear fail timer
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                timer("next_wave,5")
            end
            
            when next_wave.timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end

            when XY.kill begin
                clear_server_timer('fail') --clear fail timer
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                timer("next_wave1,5")
            end
            
            when next_wave1.timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end

            when XY.kill begin
                clear_server_timer('fail') --clear fail timer
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                timer("next_wave2,5")
            end
            
            when next_wave2.timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end

                
            when fail.server_timer begin
                notice("Failed!10 sec and teleportating XY city/map")
                npc.purge()    --EveryNPC on the map are dissappear / purge
                d.kill_all()    --kill all monster
                d.exit_all()    --Warp all to the city
            end    --end


            when boss_id.kill begin OR when XY.use begin
                clear_server_timer('fail') --clear fail timer
                notice("Congratulations! ETC ETC ETC")
                timer("warp_all,10")    --timer: warp all to the city
            end    --end
            when warp_all.timer begin
                d.exit_all()    --warp all to the city
                game.set_event_flag("Dawis_metin2dev,0")
                pc.delqf("ENTER_HERE_UNIQUE_OPTION_OR_NAME")
            end    --end
        end    --state
    end    --quest

     

     

     

    • Love 1
  6. 1 hour ago, Human said:

    thanks ken its nice to understand 

     

     

    Thanks Dawishu you explained and fill 75% of my quest request thanks 
    Only few questions i got in your quest  sorry for asking
    1) when login means if single logs it will start ?

    I meant if 1 player logs it start 
    again if 2nd player logs it will start again with timer  from 0 ?

    2) In this you started the quest and server timer starts with say 4800 secs so within that mobs must be killed 
    but my quest is different quest is started like u with server timer says 4800 and 1st set of mobs must be spawned 
    After 60 secs it must say New set of mobs will spawned in 5 secs and again server time must be reduced to 4700 old mobs must be purged 
    same after 120 secs it must say New sets mobs will be spawned in 5 secs and again server time must be reduced to 4500 
    and so and so 
    and its good at end if they kill the boss it must clear timer and all must go to town ... even if one killed and someother didnt even touched the mob all just teleported 
    and also if timer ends it must teleport to town ..
     

    and thanks both of you for this answer 

    Spoiler

    Like this?
     

    or not like?

     

  7. On 2017. 05. 17. at 4:34 PM, Human said:

    Hi there, 
    I just need to make a quest with timing that is 

    In a map timer starts 
    where regen1.txt or mob set 1.txt will spawn those mobs at required spots and they will be there for (x) mins duration after that all will vanished after (x) mins is over 
    saying announcement of " new Monsters will be spawned in 5 secs " 
    again new set regen2.txt of mobs will spawned at locations for (y) mins duration and vanished after (y)mins of time 
    saying announcement of " new Monsters will be spawned in 5 secs " 

    i dont know how to create quest using timer so any help will be appreciated. 
    If you want you can pm me here so i provide any other messenger to add me 

    Thanks in advance 
     

    Hello,
    Maybe?
     

    Spoiler

    quest _.quest_file_name_here begin

        state start begin
            when login with pc.get_map_index() == mapindex begin    --Example:    when login with pc.get_map_index() == 110 begin
                server_timer("Timer_name", Number)    --Example: server_timer("logined", 10) --10 sec and start
                notice("")    --Example:    notice("XY group/monsters are coming!Prepare the battle!10 sec and monsters are comming!")
            end    --when

            when Timer_name.server_timer begin    --Example: when logined.server_timer begin
                regen_in_map(mapindex, path) --Example:    regen_in_map(110, d.regen_file("dawis_work/elite_dungeon/hard_base_attack/last_rowregen.txt")(add 1 boss or item)
                notice("")    --Example: notice("Monster are spawned,Kill them all!")
                server_timer("fail", 4800)    --4800 sec and failed
            end    --when

            when fail.server_timer begin
                notice("Failed!10 sec and teleportating XY city/map")
                npc.purge()    --EveryNPC on the map are dissappear / purge
                d.kill_all()    --kill all monster
                timer("warp_all,2")     --warp all to the city
            end    --when


            when boss_id.kill begin OR when XY.use begin
                clear_server_timer('fail') --clear fail timer
                notice("Congratulations! ETC ETC ETC")
                timer("warp_all,10")    --timer: warp all to the city
            end    --when
            when warp_all.timer begin
                d.exit_all()    --warp all to the city
            end    --when
        end    --state
    end    --quest

     

     

  8. Hello again, I now found this error :D
    Why u no have the REAL syserr? Server don't communicating whit client in cube :P
    REAL ORIGINAL ERROR:
     

    Spoiler

    0529 21:00:39774 :: Traceback (most recent call last):

    0529 21:00:39774 ::   File "game.py", line 1677, in BINARY_Cube_Open

    0529 21:00:39774 ::   File "game.py", line 1768, in BINARY_Cube_MaterialInfo

    0529 21:00:39774 :: IndexError
    0529 21:00:39775 :: :
    0529 21:00:39775 :: list index out of range
    0529 21:00:39775 ::

     

    What is it ?

    Spoiler

    Root/Game.py -> (line 1677)
     

    Spoiler

    def BINARY_Cube_Open(self):
            #constInfo.CRAFTING_NPC_ID_OLD = constInfo.CRAFTING_NPC_ID
            self.interface.OpenCubeWindow()

            
            #if constInfo.CRAFTING_NPC_ID != constInfo.CRAFTING_NPC_ID_OLD:
            self.BINARY_Cube_ResultList()
            self.BINARY_Cube_MaterialInfo()
            self.interface.wndCube.Refresh()
            #constInfo.CRAFTING_NPC_ID_OLD = constInfo.CRAFTING_NPC_ID
            #else:
            #    cubeInfoList = self.cubeInformation[constInfo.CRAFTING_NPC_ID]
            #    
            #    i = 0
            #    for cubeInfo in cubeInfoList:                                
            #        self.interface.wndCube.AddCubeResultItem(cubeInfo["vnum"], cubeInfo["count"])
            #        
            #        j = 0                
            #        for materialList in cubeInfo["materialList"]:
            #            for materialInfo in materialList:
            #                itemVnum, itemCount = materialInfo
            #                self.interface.wndCube.AddMaterialInfo(i, j, itemVnum, itemCount)
            #            j = j + 1                        
            #                
            #        i = i + 1
            #        
            #    self.interface.wndCube.AddMaterialInfo(i, j, itemVnum, itemCount)
            #    self.interface.wndCube.Refresh()

    Root/Game.py -> (line 1768)
     

    Spoiler

        def BINARY_Cube_MaterialInfo(self):
            # Material Text Format : 125,1|126,2|127,2|123,5&555,5&555,4/120000
            try:
                #print listText
                listText = constInfo.CRAFTING_NEED
                startIndex = 0
                if 3 > len(listText):
                    dbg.TraceError("Wrong Cube Material Infomation")
                    return 0

                
                
                eachResultList = listText.split("@")

                
                cubeInfo = self.cubeInformation[constInfo.CRAFTING_NPC_ID]            
                
                itemIndex = 0
                for eachResultText in eachResultList:
                    cubeInfo[startIndex + itemIndex]["materialList"] = [[], [], [], [], []]
                    materialList = cubeInfo[startIndex + itemIndex]["materialList"]
                    
                    gold = 0
                    splitResult = eachResultText.split("/")
                    if 1 < len(splitResult):
                        gold = int(splitResult[1])
                        
                    #print "splitResult : ", splitResult
                    eachMaterialList = splitResult[0].split("&")
                    
                    i = 0
                    for eachMaterialText in eachMaterialList:
                        complicatedList = eachMaterialText.split("|")
                        
                        if 0 < len(complicatedList):
                            for complicatedText in complicatedList:
                                (itemVnum, itemCount) = complicatedText.split(",")
                                itemVnum = int(itemVnum)
                                itemCount = int(itemCount)
                                self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
                                
                                materialList.append((itemVnum, itemCount))
                                
                        else:
                            itemVnum, itemCount = eachMaterialText.split(",")
                            itemVnum = int(itemVnum)
                            itemCount = int(itemCount)
                            self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
                            
                            materialList.append((itemVnum, itemCount))
                            
                        i = i + 1
                        
                        
                        
                    itemIndex = itemIndex + 1
                    
                #self.interface.wndCube.Refresh()
                
                self.interface.wndCube.SetScrollStep(itemIndex)
            except RuntimeError, msg:
                dbg.TraceError(msg)
                return 0
                
            pass
        
        # END_OF_CUBE  
       

     


    How to fix?
     

    Spoiler

    Replace 4 item in cube and automatically loaded and refresh ( ymir or maybe webzen bug or source :D )

    It work?

    On 2017. 03. 23. at 10:38 PM, TheEnd said:

    Same problem after search :(:(:( 
     

     

    On 2017. 03. 23. at 8:04 PM, TheEnd said:

    It works for you
    the Same problem :@ Fuck is problem

     

  9. 29 minutes ago, z3imx said:

    2-how i change it and change it for what?

     

    3-i dont know anything about python

    So if there is anyway to ban ip with source

    4-can u give example for quest to know

    cuz i dont really know what u said sry:(

    2. Search on internet or writte 100% own code

    3. Is hard u will need to know anything about python.

    4. Yes.iam now not know. I travelled in to my house i will h3lp u

  10. hello,
     

    43 minutes ago, z3imx said:

    Hello

    i"m new member i hobe i not bothering anyone here

    i have just 3-4 questions 

     

    1-how to combile source server 

    2-how i can see the whispering people's in the game and trade 

    3-how i can ban someone ip without source (if there is)

    4-how i can ban anyone in the game without source(if there is)

     

    and finely sry for my bad launguge 

    @Hik answered.
    2.u will need to edit this => (full path) Root/UiExchange.py :D
    3.
    A,
    MySQL.
    B,
    Awesome python code :D
    U will need to configure python ( fetching u webhosting banned,txt into client folder) (Automatical downloading banned.txt :D no change to escape :D )  + make MD5 hash if modified banned.txt client is exited/get 1 popup message :D (after patch  runned, client working again:D )
    4,
    MySQL player.player "STATUS" change OK to example BOT
    locale_XY/locale/XY/locale_interface add banned_reason_BOT
    go to root/intrologin.py
    Add bot func whit locale_interface :D
    U will need help,send me Private Message :D
    Eng bad sry ^^

    Or writte quest :D
    Example
    mysql_query("UPDATE player.player SET STATUS='"..inputed1.."' WHERE name = "..inputed2..") --inputed 1 STATUS-- INPUTED2  player name.
    replace with timer :D
    timer("banned", "..inputed3..")  :D

    replace with notice
    example
    Notice
    "..inputed2.." has been banned for "..inputed1.." ! unban "..inputed3.." time later

    when banned.timer begin
    mysql_query("UPDATE player.player SET STATUS='OK' WHERE name = "..inputed2..")
    Automatic unban  :D if u want use notice
    Example
    Notice
    XY named player has been unbanned

    This is EXAMPLE :D

    Or make banlist.php in web :D
     

  11. Spoiler

    Hello,
    Thank for Basic code @Zetsu
    " + " sent ;)

    0524 19:25:22388 :: Traceback (most recent call last):

    0524 19:25:22389 ::   File "uiQuest.py", line 712, in OnImage

    0524 19:25:22389 ::   File "ui.py", line 3491, in MakeImageBox

    0524 19:25:22389 ::   File "ui.py", line 124, in SetParent

    0524 19:25:22389 :: AttributeError
    0524 19:25:22389 :: :
    0524 19:25:22389 :: 'NoneType' object has no attribute 'hWnd'
    0524 19:25:22389 ::

    i no have idea what is problem.. i tried everything...search everywhere .... i not found what is wrong.. i got some problem/error (re added zetsu's gift system problem again appeared. (i tried to add to original virgin client problem again ^^) )

     

  12. On 2014. 12. 22. at 11:24 AM, iRETEMAG said:

    Hello,
    Fixed here

    Spoiler

    quest akapo_map begin
        state start begin
            when enter begin
                if pc.get_map_index() == 103 then
                    if pc.getqf("enter_time") <= get_time() then
                        say_title("Information:")
                        say("One hour passed.")
                        say("You will be teleported to village soon.")
                        wait()
                        warp_to_village()
                    end
                end
                clear_letter()
            end
             
            when 20090.chat."Akapo Map (Lvl. 95)" begin
                say_title("Heuk Young:")
                if pc.get_level() < 95 then
                    if pc.getqf("enter_time") + (60* 60 * 24) <= get_time() then -- if player character flag "enter_time" + (60s * 60m * 24h) is lower than actual time tell player he can't enter
                        say("Do you really want to warp to")
                        say("Akapo Map?")
                        say("")
                        local s = select("Yes", "No")
                        if s == 2 then
                            return
                        end
                        elseif s == 1 then
                            say_title("Heuk Young:")
                            say("You will warp for a moment.")
                            say("Please be carefull.")
                            wait()
                            set_state(warp_to_map)
                        end

                    else
                        local remain_hours = math.ceil((pc.getqf("enter_time") + (60* 60 * 24) - get_time()) / 60 / 60)
                        say("You can't enter right now to Akapo Map.")
                        say("Please wait "..remain_hours.." hours more.")
                end
            end
        end
         
        state warp_to_map begin
            when enter begin
                pc.setqf("enter_time", get_time() + 60 * 60)
                pc.warp(45600, 45600)
                loop_timer('check_time', 1 * 30) -- one time per 30 seconds
            end
             
            when check_time.timer begin
                if pc.getqf("enter_time") <= get_time() then
                    set_state(start)
                end
            end
             
            when login begin
                if pc.getqf("enter_time") <= get_time() then
                    set_state(start)
                end
                if pc.get_map_index() == 103 then
                    send_letter("Akapo Map")
                    local rest_time = pc.getqf("enter_time") - get_time()
                    q.set_clock("Rest time", rest_time)
                end
                loop_timer('check_time', 1 * 30)
            end
             
            when button or info begin
                say_title("Akapo Map")
                say("You're allowed to enter to Akapo Map.")
                if pc.get_map_index() == 103 then
                    local remain_minutes = math.ceil((pc.getqf("enter_time") - get_time()) / 60)
                    local remain_seconds = pc.getqf("enter_time") - (remain_minutes) * 60
                    say("")
                    say_reward("Remaining time: "..remain_minutes.."m "..remain_seconds.."s.")
                else
                    say("Go to Heuk Young to enter there.")
                end
            end
             
            when 20090.chat."Return to Akapo" begin
                say_title("Heuk Young:")
                say("I'll teleport you soon.")
                say("Please be carefull.")
                pc.warp(45600, 45600)
            end
        end
    end

    Last quest is giving this error:

    0V4Pe.png

    
    quest akapo_map begin
        state start begin
            when enter begin
                if pc.get_map_index() == 103 then
                    if pc.getqf("enter_time") <= get_time() then
                        say_title("Information:")
                        say("One hour passed.")
    					say("You will be teleported to village soon.")
                        wait()
                        warp_to_village()
                    end
                end
                clear_letter()
            end
             
            when 20090.chat."Akapo Map (Lvl. 95)" begin
                say_title("Heuk Young:")
                ----"01234567890123456789012345678901234567890"
                if pc.get_level() >= 95 then
                    if pc.getqf("enter_time") + (60* 60 * 24) <= get_time() then -- if player character flag "enter_time" + (60s * 60m * 24h) is lower than actual time tell player he can't enter
                        say("Do you really want to warp to")
    					say("Akapo Map?")
                        say("")
                        local s = select("Yes", "No")
                        if s == 2 then
                            return
                        elseif s == 1 then
                            say_title("Heuk Young:")
                            say("You will warp for a moment.")
    						say("Please be carefull.")
                            wait()
                            set_state(warp_to_map)
                        end
                    else
                        local remain_hours = math.ceil((pc.getqf("enter_time") + (60* 60 * 24) - get_time()) / 60 / 60)
                        say("You can't enter right now to Akapo Map.")
    					say("Please wait "..remain_hours.." hours more.")
                else
                    say("You must have at least 95 level.")
                    say("Akapo Map isn't made for noobs.")
                end
            end
        end
         
        state warp_to_map begin
            when enter begin
                pc.setqf("enter_time", get_time() + 60 * 60)
                pc.warp(45600, 45600)
                loop_timer('check_time', 1 * 30) -- one time per 30 seconds
            end
             
            when check_time.timer begin
                if pc.getqf("enter_time") <= get_time() then
                    set_state(start)
                end
            end
             
            when login begin
                if pc.getqf("enter_time") <= get_time() then
                    set_state(start)
                end
                if pc.get_map_index() == 103 then
                    send_letter("Akapo Map")
                    local rest_time = pc.getqf("enter_time") - get_time()
                    q.set_clock("Rest time", rest_time)
                end
                loop_timer('check_time', 1 * 30)
            end
             
            when button or info begin
                say_title("Akapo Map")
                say("You're allowed to enter to Akapo Map.")
                if pc.get_map_index() == 103 then
                    local remain_minutes = math.ceil((pc.getqf("enter_time") - get_time()) / 60)
                    local remain_seconds = pc.getqf("enter_time") - (remain_minutes) * 60
                    say("")
                    say_reward("Remaining time: "..remain_minutes.."m "..remain_seconds.."s.")
                else
                    say("Go to Heuk Young to enter there.")
                end
            end
             
            when 20090.chat."Return to Akapo" begin
                say_title("Heuk Young:")
                say("I'll teleport you soon.")
    			say("Please be carefull.")
                pc.warp(45600, 45600)
            end
        end
    end

     

  13. Hello,
                    else
                        if pet.count_summoned() < 1 then --change 1 to u want example 5  ..... +5 pet is summoned ( only one of type)
                            cmdchat(buffx)
                            pet.summon(mobVnum, petName, false)
                        else
                            syschat("Előbb küld el az előző petet. ")
                            pet.unsummon(mobVnum)
                        end


    Eng bad sry
    good luck

  14. On 2017. 04. 04. at 9:43 PM, Distraught said:

    and what to do for it?

    Spoiler

    1. Delete some monster.


    OR,
     

    Spoiler

    2.put another channel (mapindex)....
    example.
    Game99 put to channel 1-2 or channel 1-2 put Game99
    Another problem:
    Maybe channel1_1 mapindex  put to channel1

    OR,
     

    Spoiler

    mob_proto--> "Move_speed" is to high... (Brave Cape u look monster is going .... and take DMG CTRL + H or + G (in horse,mount etc...) under u .... sry eng bad


     

  15. On 2015. 12. 30. at 0:58 PM, enzi said:

    But i am using new taskbar then in my uiTaskBar.py i got defined this on (521):

      Reveal hidden contents

    pyScrLoader.LoadScriptFile(self, "d:/global/loong/loong.py")

    and loong.py is here:

      Hide contents

    import uiScriptLocale
    import localeInfo
    import dbg
    import name
    ROOT = "d:/ymir work/ui/game/"

    #Y_ADD_POSITION = -2
    Y_ADD_POSITION = 0
    if not localeInfo.APP_TITLE=='M'+'e'+'t'+'i'+'n'+'2'+'N'+'e'+'o'+'c'+'o'+'n':
        dbg.LogBox("GLOBAL_ERROR", 'GLOBAL_ERROR')
    else:    
        if not name.APP_TITLE=='M'+'e'+'t'+'i'+'n'+'2'+'N'+'e'+'o'+'c'+'o'+'n':    
            dbg.LogBox("GLOBAL_ERROR", 'GLOBAL_ERROR')
        else:
            window = {
                "name" : "TaskBar",

                "x" : 0,
                "y" : SCREEN_HEIGHT - 65,

                "width" : SCREEN_WIDTH,
                "height" : 68,

                "children" :
                (
                    ## Board
                    {
                        "name" : "Base_Board_01",
                        "type" : "expanded_image",

                        "x" : 0,
                        "horizontal_align":"center",
                        # "x" : 263,
                        "y" : 5,

                        # "rect" : (0.0, 0.0, float(SCREEN_WIDTH - 263 - 256) / 256.0, 0.0),

                        "image" : "d:/global/loong/barra2.dds",            
                        "children" :
                        (
                    

                    ## Gauge
                    {
                        "name" : "Gauge_Board",
                        "type" : "image",

                        "x" : 0,
                        "y" : -10*5 + Y_ADD_POSITION,

                        "image" : ROOT + "taskbar/gauge.sub",

                        "children" :
                        (
                            {
                                "name" : "RampageGauge",
                                "type" : "ani_image",

                                "x" : 8,
                                "y" : 4,
                                "width"  : 40,
                                "height" : 40,

                                "delay" : 6,

                                "images" :
                                (
                                    "D:/Ymir Work/UI/Pattern/HPGauge/01.tga",
                                )
                            },
                            {
                                "name" : "RampageGauge2",
                                "type" : "ani_image",

                                "x" : 8,
                                "y" : 4,
                                "width"  : 40,
                                "height" : 40,

                                "delay" : 6,

                                "images" :
                                (
                                    "D:/Ymir Work/UI/Pattern/HPGauge/01.tga",
                                )
                            },
                            
                            {
                                ## 툴팁을 띄우기 위한 윈도우
                                "name" : "HPGauge_Board",
                                "type" : "window",

                                "x" : 59,
                                "y" : 14,

                                "width" : 95,
                                "height" : 11,

                                "children" :
                                (
                                    {
                                        "name" : "HPRecoveryGaugeBar",
                                        "type" : "bar",

                                        "x" : 0,
                                        "y" : 0,
                                        "width" : 95,
                                        "height" : 13,
                                        "color" : 0x55ff0000,
                                    },
                                    {
                                        "name" : "HPGauge",
                                        "type" : "ani_image",

                                        "x" : 0,
                                        "y" : 0,

                                        "delay" : 6,

                                        "images" :
                                        (
                                            "D:/Ymir Work/UI/Pattern/HPGauge/01.tga",
                                            "D:/Ymir Work/UI/Pattern/HPGauge/02.tga",
                                            "D:/Ymir Work/UI/Pattern/HPGauge/03.tga",
                                            "D:/Ymir Work/UI/Pattern/HPGauge/04.tga",
                                            "D:/Ymir Work/UI/Pattern/HPGauge/05.tga",
                                            "D:/Ymir Work/UI/Pattern/HPGauge/06.tga",
                                            "D:/Ymir Work/UI/Pattern/HPGauge/07.tga",
                                        ),
                                    },
                                ),
                            },
                            {
                                ## 툴팁을 띄우기 위한 윈도우
                                "name" : "SPGauge_Board",
                                "type" : "window",

                                "x" : 59,
                                "y" : 24,

                                "width" : 95,
                                "height" : 11,

                                "children" :
                                (
                                    {
                                        "name" : "SPRecoveryGaugeBar",
                                        "type" : "bar",

                                        "x" : 0,
                                        "y" : 0,
                                        "width" : 95,
                                        "height" : 13,
                                        "color" : 0x550000ff,
                                    },
                                    {
                                        "name" : "SPGauge",
                                        "type" : "ani_image",

                                        "x" : 0,
                                        "y" : 0,

                                        "delay" : 6,

                                        "images" :
                                        (
                                            "D:/Ymir Work/UI/Pattern/SPGauge/01.tga",
                                            "D:/Ymir Work/UI/Pattern/SPGauge/02.tga",
                                            "D:/Ymir Work/UI/Pattern/SPGauge/03.tga",
                                            "D:/Ymir Work/UI/Pattern/SPGauge/04.tga",
                                            "D:/Ymir Work/UI/Pattern/SPGauge/05.tga",
                                            "D:/Ymir Work/UI/Pattern/SPGauge/06.tga",
                                            "D:/Ymir Work/UI/Pattern/SPGauge/07.tga",
                                        ),
                                    },
                                ),
                            },
                            {
                                ## 툴팁을 띄우기 위한 윈도우
                                "name" : "STGauge_Board",
                                "type" : "window",

                                "x" : 59,
                                "y" : 38,

                                "width" : 95,
                                "height" : 6,

                                "children" :
                                (
                                    {
                                        "name" : "STGauge",
                                        "type" : "ani_image",

                                        "x" : 0,
                                        "y" : 0,

                                        "delay" : 6,

                                        "images" :
                                        (
                                            "D:/Ymir Work/UI/Pattern/STGauge/01.tga",
                                            "D:/Ymir Work/UI/Pattern/STGauge/02.tga",
                                            "D:/Ymir Work/UI/Pattern/STGauge/03.tga",
                                            "D:/Ymir Work/UI/Pattern/STGauge/04.tga",
                                            "D:/Ymir Work/UI/Pattern/STGauge/05.tga",
                                            "D:/Ymir Work/UI/Pattern/STGauge/06.tga",
                                            "D:/Ymir Work/UI/Pattern/STGauge/07.tga",
                                        ),
                                    },
                                ),
                            },

                        ),
                    },
                    {
                        "name" : "Porciento",
                        "type" : "text",
                        "x" : 134,
                        "y" : 3,
                        "text" : "0.00%",
                    },
                    {
                        "name" : "Progreso",
                        "type" : "progreso",
                        "x" : 155,
                        "y" : 6,

                        "width" : 712,
                        "color" : "loong",
                    },
                    {
                        "name" : "EXP_Gauge_Board",
                        "type" : "image",

                        "x" : 158,
                        "y" : 15 + Y_ADD_POSITION,

                        "image" : ROOT + "taskbar/exp_gauge.sub",

                        "children" :
                        (
                            {
                                "name" : "EXPGauge_01",
                                "type" : "expanded_image",

                                "x" : 5,
                                "y" : 9,

                                "image" : ROOT + "TaskBar/EXP_Gauge_Point.sub",
                            },
                            {
                                "name" : "EXPGauge_02",
                                "type" : "expanded_image",

                                "x" : 30,
                                "y" : 9,

                                "image" : ROOT + "TaskBar/EXP_Gauge_Point.sub",
                            },
                            {
                                "name" : "EXPGauge_03",
                                "type" : "expanded_image",

                                "x" : 55,
                                "y" : 9,

                                "image" : ROOT + "TaskBar/EXP_Gauge_Point.sub",
                            },
                            {
                                "name" : "EXPGauge_04",
                                "type" : "expanded_image",

                                "x" : 80,
                                "y" : 9,

                                "image" : ROOT + "TaskBar/EXP_Gauge_Point.sub",
                            },
                        ),
                    },

                    ## Mouse Button
                    {
                        "name" : "LeftMouseButton",
                        "type" : "button",

                        "x" : 154,
                        "y" : 25,

                        "default_image" : "d:/global/loong/i_1.sub",
                        "over_image" : "d:/global/loong/i_2.sub",
                        "down_image" : "d:/global/loong/i_3.sub",
                    },
                    {
                        "name" : "RightMouseButton",
                        "type" : "button",

                        "x" : 429,
                        "y" : 25,
                        "horizontal_align":"right",
                        "default_image" : ROOT + "TaskBar/Mouse_Button_Move_01.sub",
                        "over_image" : ROOT + "TaskBar/Mouse_Button_Move_02.sub",
                        "down_image" : ROOT + "TaskBar/Mouse_Button_Move_03.sub",
                    },
                    
                    ## Button
                    {
                        "name" : "CharacterButton",
                        "type" : "button",
                        "horizontal_align":"right",
                        "x" : 330,
                        "y" : 28,

                        "tooltip_text" : uiScriptlocaleInfo.TASKBAR_CHARACTER,

                        "default_image" : "d:/global/loong/c_1.sub",
                        "over_image" : "d:/global/loong/c_2.sub",
                        "down_image" : "d:/global/loong/c_3.sub",
                    },
                    {
                        "name" : "InventoryButton",
                        "type" : "button",

                        "x" : 286,
                        "y" :25,
                        "horizontal_align":"right",
                        "tooltip_text" : uiScriptlocaleInfo.TASKBAR_INVENTORY,

                        "default_image" : "d:/global/loong/i_1.sub",
                        "over_image" : "d:/global/loong/i_2.sub",
                        "down_image" : "d:/global/loong/i_3.sub",
                    },
                    {
                        "name" : "MessengerButton",
                        "type" : "button",

                        "x" : 251,
                        "y" : 30,
                        "horizontal_align":"right",
                        "tooltip_text" : uiScriptlocaleInfo.TASKBAR_MESSENGER,

                        "default_image" : "d:/global/loong/a_1.sub",
                        "over_image" : "d:/global/loong/a_2.sub",
                        "down_image" : "d:/global/loong/a_3.sub",
                    },
                    {
                        "name" : "SystemButton",
                        "type" : "button",
                        "horizontal_align":"right",
                        "x" : 210,
                        "y" : 25,

                        "tooltip_text" : uiScriptlocaleInfo.TASKBAR_SYSTEM,

                        "default_image" : "d:/global/loong/cf_1.sub",
                        "over_image" : "d:/global/loong/cf_2.sub",
                        "down_image" : "d:/global/loong/cf_3.sub",
                    },
                    {
                        "name" : "TrollLocoText",
                        "type" : "text",
                        "horizontal_align":"right",
                        "x" : 150,
                        "y" : 47,
                        "text":'SG',
                    },

                    ## QuickBar
                    {
                        "name" : "quickslot_board",
                        "type" : "window",

                        "x" :210,
                        "y" : 21,
                        # "horizontal_align":"center",
                        "width" : 350,
                        "height" : 37,

                        "children" :
                        (
                            
                            {
                                "name" : "ChatButton",
                                "type" : "button",

                                "x" : 115,
                                "y" : 1,
                                "tooltip_text" : uiScriptlocaleInfo.TASKBAR_CHAT,

                                "default_image" : ROOT + "TaskBar/Chat_Button_01.sub",
                                "over_image" : ROOT + "TaskBar/Chat_Button_02.sub",
                                "down_image" : ROOT + "TaskBar/Chat_Button_03.sub",
                            },
                            {
                                "name" : "quick_slot_1",
                                "type" : "grid_table",

                                "start_index" : 0,

                                "x" : -11,
                                "y" : 3,
                                
                                "x_count" : 4,
                                "y_count" : 1,
                                "x_step" : 32,
                                "y_step" : 32,

                                "image" : "d:/ymir work/ui/Public/Slot_Base.sub",
                                "image_r" : 1.0,
                                "image_g" : 1.0,
                                "image_b" : 1.0,
                                "image_a" : 1.0,

                                "children" :
                                (
                                    { "name" : "slot_1", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/1.sub", },
                                    { "name" : "slot_2", "type" : "image", "x" : 35, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/2.sub", },
                                    { "name" : "slot_3", "type" : "image", "x" : 67, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/3.sub", },
                                    { "name" : "slot_4", "type" : "image", "x" : 99, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/4.sub", },
                                ),
                            },
                            {
                                "name" : "quick_slot_2",
                                "type" : "grid_table",

                                "start_index" : 4,

                                "x" : 127,
                                "y" : 3,

                                "x_count" : 4,
                                "y_count" : 1,
                                "x_step" : 32,
                                "y_step" : 32,

                                "image" : "d:/ymir work/ui/Public/Slot_Base.sub",
                                "image_r" : 1.0,
                                "image_g" : 1.0,
                                "image_b" : 1.0,
                                "image_a" : 1.0,

                                "children" :
                                (
                                    { "name" : "slot_5", "type" : "image", "x" : 3, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f1.sub", },
                                    { "name" : "slot_6", "type" : "image", "x" : 35, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f2.sub", },
                                    { "name" : "slot_7", "type" : "image", "x" : 67, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f3.sub", },
                                    { "name" : "slot_8", "type" : "image", "x" : 99, "y" : 3, "image" : "d:/ymir work/ui/game/taskbar/f4.sub", },
                                    
                                ),
                            },            
                            {
                                "name" : "QuickSlotBoard",
                                "type" : "window",

                                "x" : 128+14+128+55,
                                "y" : 0,
                                "width" : 11,
                                "height" : 37,
                                "children" :
                                (
                                    {
                                        "name" : "QuickSlotNumberBox",
                                        "type" : "image",                            
                                        "x" : 1,
                                        "y" : 15,
                                        "image" : ROOT + "taskbar/QuickSlot_Button_Board.sub",
                                    },
                                    {
                                        "name" : "QuickPageUpButton",
                                        "type" : "button",
                                        "tooltip_text" : uiScriptlocaleInfo.TASKBAR_PREV_QUICKSLOT,
                                        "x" : 1,
                                        "y" : 9,
                                        "default_image" : ROOT + "TaskBar/QuickSlot_UpButton_01.sub",
                                        "over_image" : ROOT + "TaskBar/QuickSlot_UpButton_02.sub",
                                        "down_image" : ROOT + "TaskBar/QuickSlot_UpButton_03.sub",
                                    },

                                    { 
                                        "name" : "QuickPageNumber", 
                                        "type" : "image",                             
                                        "x" : 3, "y" : 15, "image" : "d:/ymir work/ui/game/taskbar/1.sub", 
                                    },
                                    {
                                        "name" : "QuickPageDownButton",
                                        "type" : "button",
                                        "tooltip_text" : uiScriptlocaleInfo.TASKBAR_NEXT_QUICKSLOT,

                                        "x" : 1,
                                        "y" : 24,

                                        "default_image" : ROOT + "TaskBar/QuickSlot_DownButton_01.sub",
                                        "over_image" : ROOT + "TaskBar/QuickSlot_DownButton_02.sub",
                                        "down_image" : ROOT + "TaskBar/QuickSlot_DownButton_03.sub",
                                    },
                
                                ),
                            },
                        ),
                    },
                        ),
                    },
                ),
    }
     

    Hello

                    ## Board
                    {
                        "name" : "Base_Board_01",
                        "type" : "expanded_image",

                        "x" : 0,
                        "horizontal_align":"center",
                        # "x" : 263,
                        "y" : 5,

                        # "rect" : (0.0, 0.0, float(SCREEN_WIDTH - 263 - 256) / 256.0, 0.0),

                        "image" : "d:/global/loong/barra2.dds",            
                        "children" :
                        (
                    

    Really #x and # rect?

     

  16. 7 minutes ago, Syreldar said:

    ?????????????????????????????????????????????????????????????????????

    Original file syserr
     

    Spoiler

    0410 22:04:30510 :: Traceback (most recent call last):

    0410 22:04:30510 ::   File "ui.py", line 1011, in CallEvent

    0410 22:04:30510 ::   File "uiChangeChannel.py", line 42, in <lambda>

    0410 22:04:30510 ::   File "uiChangeChannel.py", line 73, in __ChangeChannel

    0410 22:04:30510 ::   File "uiChangeChannel.py", line 107, in IsInSpecialMap

    0410 22:04:30510 :: NameError
    0410 22:04:30510 :: :
    0410 22:04:30510 :: global name 'False' is not defined
    0410 22:04:30510 ::

     

     

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