Jump to content

madtoyz

Members
  • Content Count

    173
  • Joined

  • Last visited


Reputation Activity

  1. Upvote
    madtoyz got a reaction from JulioCF in [GUIDE]Custom Wings at robe place.   
    Make your custom wing just like official items robe
    archangel wings and fallen angel wings.



    What you need is :
    1. data extureÀ¯ÀúÀÎÅÍÆäÀ̽º
    collection (image in description)
    item (image in inventory and equipment)




    2. datasprite
    ¾ÆÀÌÅÛ (drop items)
    ¾Ç¼¼»ç¸® (image appear on the character)



    3. inside datasprite¾Ç¼¼»ç¸®
    ¿© (female)
    ³² (male)





    4. datasprite·Îºê (robe)
    bloodwings (this is my folder names for custom wing) you can change it,later we talk about it.



    5. inside datasprite·Îºêbloodwings

    ¿© (female)
    ³² (male)





    6. dataluafiles514lua filesdatainfo
    spriterobeid.lub or spriterobeid.lua
    spriterobename.lub or spriterobename.lua (read folder at datasprite·Îºê (robe) )



    7. datacskroption.lub



    MORE DETAILS GUIDEs :
    1. You can copy all names job from datasprite·Îºêõ»ç³¯°³ (this is folder Fallen Angel Wings).
    NOTICE : male have 110 of act,110 of spr and female have 120 of act,120 of spr format from ¾Ç¼¼»ç¸® folder. Can check picture at above on inside datasprite·Îºêbloodwings.
    ?male

    ´ÑÀÚ_³²¸¶¹ý»ç_³²¸ùÅ©_³²¸ùÅ©¾ËÆÄÄ«_³²¿©¸§_³²¿©¿ì¸¶¹ý»ç_³²¿©¿ì¿ö·Ï_³²¿©¿ì¼¼ÀÌÁö_³²¿©¿ì¼Ò¼­·¯_³²¿©¿ìÀ§Àúµå_³²¿©¿ìÇÁ·ÎÆä¼­_³²¿©¿ìÇÏÀÌÀ§Àúµå_³²¿¬±Ý¼ú»ç_³²¿ö·Ï_³²±¸ÆäÄÚÅ©·ç¼¼ÀÌ´õ_³²±×¸®Æù°¡µå_³²±â»ç_³²±Ã¼ö_³²±æ·Îƾũ·Î½º_³²±Ç¼º_³²±Ç¼ºÀ¶ÇÕ_³²±Ç¼ºÆ÷¸µ_³²»çÀÚ±â»ç_³²»çÀڷ鳪ÀÌÆ®_³²»çÀڷε峪ÀÌÆ®_³²»çÀڷξⰡµå_³²»çÀÚÅ©·ç¼¼ÀÌ´õ_³²»çÀÚÆȶóµò_³²»êŸ_³²»óÀÎ_³²»óÀθäµÅÁö_³²°¡µå_³²°áÈ¥_³²°Ç³Ê_³²°Ë»ç_³²µµµÏ_³²µÎ²¨ºñ´ÑÀÚ_³²µÎ²¨ºñ¼Ò¿ï¸µÄ¿_³²·¹ÀÎÁ®_³²·¹ÀÎÁ®´Á´ë_³²·é³ªÀÌÆ®_³²·é³ªÀÌÆ®»Ú¶ì_³²·Î±×_³²·Îµå³ªÀÌÆ®_³²·ÎµåÆäÄÚ_³²¼¼ÀÌÁö_³²¼Ò¿ï¸µÄ¿_³²¼Ò¼­·¯_³²¼ºÁ÷ÀÚ_³²½¦µµ¿ìüÀ̼­_³²½´¶ó_³²½´¶ó¾ËÆÄÄ«_³²½´ÆÛ³ëºñ½º_³²½´ÆÛ³ëºñ½ºÆ÷¸µ_³²½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_³²½º³ªÀÌÆÛ_³²½ºÅäÄ¿_³²¾ÆÅ©ºñ¼ó_³²¾ÆÅ©ºñ¼ó¾ËÆÄÄ«_³²¾î¼¼½Å_³²¾î½Ø½ÅÅ©·Î½º_³²¹Î½ºÆ®·²_³²¹ÌÄÉ´Ð_³²¹ÌÄɴиäµÅÁö_³²¹Ùµå_³²³ëºñ½ºÆ÷¸µ_³²Á¦³×¸¯_³²Á¦Ã¶°ø_³²Á¦Ã¶°ø¸äµÅÁö_³²Ã¨ÇÇ¿Â_³²Ã¨Çǿ¾ËÆÄÄ«_³²Å¸Á¶±Ã¼ö_³²Å¸Á¶·¹ÀÎÁ®_³²Å¸Á¶½º³ªÀÌÆÛ_³²Å¸Á¶¹Î½ºÆ®·²_³²Å¸Á¶¹Ùµå_³²Å¸Á¶Å©¶ó¿î_³²Å¸Á¶ÇåÅÍ_³²À§Àúµå_³²Å©¸®¿¡ÀÌÅÍ_³²Å©¸®¿¡ÀÌÅ͸äµÅÁö_³²Å©·ç¼¼ÀÌ´õ_³²Å¬¶ó¿î_³²Å±Ǽҳâ_³²Å±ǼҳâÆ÷¸µ_³²ÆäÄڰdzÊ_³²ÆäÄÚ°Ë»ç_³²ÆäÄÚÆäÄÚ_±â»ç_³²ÆäÄÚÆȶóµò_³²Æȶóµò_³²Ãʺ¸ÀÚ_³²Ä̺£·Î½º±æ·Îƾũ·Î½º_³²Ä̺£·Î½ºµµµÏ_³²Ä̺£·Î½º·Î±×_³²Ä̺£·Î½º½¦µµ¿ìüÀ̼­_³²Ä̺£·Î½º½ºÅäÄ¿_³²Ä̺£·Î½º¾î½ê½Å_³²Ä̺£·Î½º¾î½ê½ÅÅ©·Î½º_³²ÇÁ¸®½ºÆ®_³²ÇÁ¸®½ºÆ®¾ËÆÄÄ«_³²ÇÁ·ÎÆä¼­_³²ÇåÅÍ_³²ÇÏÀÌÀ§Àúµå_³²ÇÏÀÌÇÁ¸®_³²ÇÏÀÌÇÁ¸®½ºÆ®¾ËÆÄÄ«_³²È­ÀÌÆ®½º¹Ì½º_³²È­ÀÌÆ®½º¹Ì½º¸äµÅÁö_³²frog_kagerou_³²kagerou_³²º¹»ç¾ËÆÄÄ«_³²

    female
    ´ÑÀÚ_¿©¸¶µµ±â¾î_¿©¸¶¹ý»ç_¿©¸ùÅ©_¿©¸ùÅ©¾ËÆÄÄ«_¿©¿©¸§_¿©¿©¿ì¸¶¹ý»ç_¿©¿©¿ì¿ö·Ï_¿©¿©¿ì¼¼ÀÌÁö_¿©¿©¿ì¼Ò¼­·¯_¿©¿©¿ìÀ§Àúµå_¿©¿©¿ìÇÁ·ÎÆä¼­_¿©¿©¿ìÇÏÀÌÀ§Àúµå_¿©¿¬±Ý¼ú»ç_¿©¿¬±Ý¼ú»ç¸äµÅÁö_¿©¿î¿µÀÚ_¿©¿î¿µÀÚ2_¿©¿ø´õ·¯_¿©¿ö·Ï_¿©¿þµù±¸ÆäÄÚÅ©·ç¼¼ÀÌ´õ_¿©±×¸®Æù°¡µå_¿©±â»ç_¿©±Ã¼ö_¿©±æ·Îƾũ·Î½º_¿©±Ç¼º_¿©±Ç¼ºÀ¶ÇÕ_¿©±Ç¼ºÆ÷¸µ_¿©»çÀÚ±â»ç_¿©»çÀڷ鳪ÀÌÆ®_¿©»çÀڷε峪ÀÌÆ®_¿©»çÀڷξⰡµå_¿©»çÀÚÅ©·ç¼¼ÀÌ´õ_¿©»çÀÚÆȶóµò_¿©»êŸ_¿©»óÀÎ_¿©»óÀθäµÅÁö_¿©°¡µå_¿©°áÈ¥_¿©°Ç³Ê_¿©°Ë»ç_¿©µµµÏ_¿©µÎ²¨ºñ´ÑÀÚ_¿©µÎ²¨ºñ¼Ò¿ï¸µÄ¿_¿©·¹ÀÎÁ®_¿©·¹ÀÎÁ®´Á´ë_¿©·é³ªÀÌÆ®_¿©·é³ªÀÌÆ®»Ú¶ì_¿©·Î±×_¿©·Îµå³ªÀÌÆ®_¿©·ÎµåÆäÄÚ_¿©¼¼ÀÌÁö_¿©¼Ò¿ï¸µÄ¿_¿©¼Ò¼­·¯_¿©¼ºÁ÷ÀÚ_¿©½¦µµ¿ìüÀ̼­_¿©½´¶ó_¿©½´¶ó¾ËÆÄÄ«_¿©½´ÆÛ³ëºñ½º_¿©½´ÆÛ³ëºñ½ºÆ÷¸µ_¿©½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_¿©½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_h_¿©½º³ªÀÌÆÛ_¿©½ºÅäÄ¿_¿©¾ÆÅ©ºñ¼ó_¿©¾ÆÅ©ºñ¼ó¾ËÆÄÄ«_¿©¾î¼¼½Å_¿©¾î½Ø½ÅÅ©·Î½º_¿©¹«Èñ_¿©¹«Èñ_¿©_¹ÙÁö¹«Èñ¹ÙÁö_¿©¹ÌÄÉ´Ð_¿©¹ÌÄɴиäµÅÁö_¿©³ëºñ½ºÆ÷¸µ_¿©Á¦³×¸¯_¿©Á¦³×¸¯¸äµÅÁö_¿©Á¦Ã¶°ø_¿©Á¦Ã¶°ø¸äµÅÁö_¿©Ã¨ÇÇ¿Â_¿©Ã¨Çǿ¾ËÆÄÄ«_¿©Å¸Á¶¿ø´õ·¯_¿©Å¸Á¶±Ã¼ö_¿©Å¸Á¶·¹ÀÎÁ®_¿©Å¸Á¶½º³ªÀÌÆÛ_¿©Å¸Á¶¹«Èñ_¿©Å¸Á¶Â¤½Ã_¿©Å¸Á¶ÇåÅÍ_¿©À§Àúµå_¿©À©´õ·¯_¿©Å©¸®¿¡ÀÌÅÍ_¿©Å©¸®¿¡ÀÌÅ͸äµÅÁö_¿©Å©·ç¼¼ÀÌ´õ_¿©Å±Ǽҳâ_¿©Å±ǼҳâÆ÷¸µ_¿©ÆäÄڰdzÊ_¿©ÆäÄÚ°Ë»ç_¿©ÆäÄÚÆäÄÚ_±â»ç_¿©ÆäÄÚÆȶóµò_¿©Æȶóµò_¿©Ãʺ¸ÀÚ_¿©Ä̺£·Î½º±æ·Îƾũ·Î½º_¿©Ä̺£·Î½ºµµµÏ_¿©Ä̺£·Î½º·Î±×_¿©Ä̺£·Î½º½¦µµ¿ìüÀ̼­_¿©Ä̺£·Î½º½ºÅäÄ¿_¿©Ä̺£·Î½º¾î½ê½Å_¿©Ä̺£·Î½º¾î½ê½ÅÅ©·Î½º_¿©Áý½Ã_¿©ÇÁ¸®½ºÆ®_¿©ÇÁ¸®½ºÆ®¾ËÆÄÄ«_¿©ÇÁ·ÎÆä¼­_¿©ÇåÅÍ_¿©ÇÏÀÌÀ§Àúµå_¿©ÇÏÀÌÇÁ¸®_¿©ÇÏÀÌÇÁ¸®½ºÆ®¾ËÆÄÄ«_¿©È­ÀÌÆ®½º¹Ì½º_¿©È­ÀÌÆ®½º¹Ì½º¸äµÅÁö_¿©frog_oboro_¿©º¹»ç¾ËÆÄÄ«_¿©oboro_¿©

    2. You copy and paste the act,spr files from datasprite¾Ç¼¼»ç¸® into datasprite·Îºêbloodwings then rename it into job class.




    3. You will need spriterobeid.lub/lua and spriterobename.lub/lua. Can find it at dataluafiles514lua filesdatainfo.
    Add this stuff into your spriterobename.lub/lua
    ROBE_BLOODWINGS = 5
    Notice : The end of word doesnt have ","

    Add this stuff into your spriterobename.lub/lua
    RobeNameTable = {[SPRITE_ROBE_IDs.ROBE_BLOODWINGS] = "bloodwings",RobeNameTable_Eng = {[SPRITE_ROBE_IDs.ROBE_BLOODWINGS] = "_bloodwings",
    Notice : The end of word need have ","




    4. Last thing you need do is open datacskroption.lub and add this stuff
    [29005] = {unidentifiedDisplayName = "Blood Wings",unidentifiedResourceName = "_bloodwings",unidentifiedDescriptionName = {"Unidentified item, can be identified with [Magnifier].",},identifiedDisplayName = "Blood Wings",identifiedResourceName = "_bloodwings",identifiedDescriptionName = {"Large, Blood Wings of a fallen dark angel.","All Stats + 1.","Base stats (without modifiers) is equal to 20 or higher,","-Str -> Attack + 1","-Int -> Magic Attack + 1","-Vit -> Tolerance to Neutral Property + 1%","-Agi -> Increase ASPD (After Attack delay -1%)","-Dex -> Ranged Attack +1%","-Luk -> Inflict 1% more critical attack.","Class : ^777777Garment^000000","Defense : ^77777718^000000","Weight : ^77777720^000000","Required Level : ^7777771^000000","Applicable Job : ^777777Every Job^000000",},slotCount = 1,ClassNum = 5},



    5. my SS for Bloodwings
     
    ps : the original guide is from here : http://rathena.org/board/topic/72734-guidecustom-wings-at-robe-place/?hl=cskroption
    And also dont miss understand about cskroption.lub.Cskroption.lub was make by judas.
    Now client 2013 has itemInfo.lub similar with cskroption.lub code.
  2. Upvote
    madtoyz got a reaction from tiagofm94 in [GUIDE]Custom Wings at robe place.   
    Make your custom wing just like official items robe
    archangel wings and fallen angel wings.



    What you need is :
    1. data extureÀ¯ÀúÀÎÅÍÆäÀ̽º
    collection (image in description)
    item (image in inventory and equipment)




    2. datasprite
    ¾ÆÀÌÅÛ (drop items)
    ¾Ç¼¼»ç¸® (image appear on the character)



    3. inside datasprite¾Ç¼¼»ç¸®
    ¿© (female)
    ³² (male)





    4. datasprite·Îºê (robe)
    bloodwings (this is my folder names for custom wing) you can change it,later we talk about it.



    5. inside datasprite·Îºêbloodwings

    ¿© (female)
    ³² (male)





    6. dataluafiles514lua filesdatainfo
    spriterobeid.lub or spriterobeid.lua
    spriterobename.lub or spriterobename.lua (read folder at datasprite·Îºê (robe) )



    7. datacskroption.lub



    MORE DETAILS GUIDEs :
    1. You can copy all names job from datasprite·Îºêõ»ç³¯°³ (this is folder Fallen Angel Wings).
    NOTICE : male have 110 of act,110 of spr and female have 120 of act,120 of spr format from ¾Ç¼¼»ç¸® folder. Can check picture at above on inside datasprite·Îºêbloodwings.
    ?male

    ´ÑÀÚ_³²¸¶¹ý»ç_³²¸ùÅ©_³²¸ùÅ©¾ËÆÄÄ«_³²¿©¸§_³²¿©¿ì¸¶¹ý»ç_³²¿©¿ì¿ö·Ï_³²¿©¿ì¼¼ÀÌÁö_³²¿©¿ì¼Ò¼­·¯_³²¿©¿ìÀ§Àúµå_³²¿©¿ìÇÁ·ÎÆä¼­_³²¿©¿ìÇÏÀÌÀ§Àúµå_³²¿¬±Ý¼ú»ç_³²¿ö·Ï_³²±¸ÆäÄÚÅ©·ç¼¼ÀÌ´õ_³²±×¸®Æù°¡µå_³²±â»ç_³²±Ã¼ö_³²±æ·Îƾũ·Î½º_³²±Ç¼º_³²±Ç¼ºÀ¶ÇÕ_³²±Ç¼ºÆ÷¸µ_³²»çÀÚ±â»ç_³²»çÀڷ鳪ÀÌÆ®_³²»çÀڷε峪ÀÌÆ®_³²»çÀڷξⰡµå_³²»çÀÚÅ©·ç¼¼ÀÌ´õ_³²»çÀÚÆȶóµò_³²»êŸ_³²»óÀÎ_³²»óÀθäµÅÁö_³²°¡µå_³²°áÈ¥_³²°Ç³Ê_³²°Ë»ç_³²µµµÏ_³²µÎ²¨ºñ´ÑÀÚ_³²µÎ²¨ºñ¼Ò¿ï¸µÄ¿_³²·¹ÀÎÁ®_³²·¹ÀÎÁ®´Á´ë_³²·é³ªÀÌÆ®_³²·é³ªÀÌÆ®»Ú¶ì_³²·Î±×_³²·Îµå³ªÀÌÆ®_³²·ÎµåÆäÄÚ_³²¼¼ÀÌÁö_³²¼Ò¿ï¸µÄ¿_³²¼Ò¼­·¯_³²¼ºÁ÷ÀÚ_³²½¦µµ¿ìüÀ̼­_³²½´¶ó_³²½´¶ó¾ËÆÄÄ«_³²½´ÆÛ³ëºñ½º_³²½´ÆÛ³ëºñ½ºÆ÷¸µ_³²½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_³²½º³ªÀÌÆÛ_³²½ºÅäÄ¿_³²¾ÆÅ©ºñ¼ó_³²¾ÆÅ©ºñ¼ó¾ËÆÄÄ«_³²¾î¼¼½Å_³²¾î½Ø½ÅÅ©·Î½º_³²¹Î½ºÆ®·²_³²¹ÌÄÉ´Ð_³²¹ÌÄɴиäµÅÁö_³²¹Ùµå_³²³ëºñ½ºÆ÷¸µ_³²Á¦³×¸¯_³²Á¦Ã¶°ø_³²Á¦Ã¶°ø¸äµÅÁö_³²Ã¨ÇÇ¿Â_³²Ã¨Çǿ¾ËÆÄÄ«_³²Å¸Á¶±Ã¼ö_³²Å¸Á¶·¹ÀÎÁ®_³²Å¸Á¶½º³ªÀÌÆÛ_³²Å¸Á¶¹Î½ºÆ®·²_³²Å¸Á¶¹Ùµå_³²Å¸Á¶Å©¶ó¿î_³²Å¸Á¶ÇåÅÍ_³²À§Àúµå_³²Å©¸®¿¡ÀÌÅÍ_³²Å©¸®¿¡ÀÌÅ͸äµÅÁö_³²Å©·ç¼¼ÀÌ´õ_³²Å¬¶ó¿î_³²Å±Ǽҳâ_³²Å±ǼҳâÆ÷¸µ_³²ÆäÄڰdzÊ_³²ÆäÄÚ°Ë»ç_³²ÆäÄÚÆäÄÚ_±â»ç_³²ÆäÄÚÆȶóµò_³²Æȶóµò_³²Ãʺ¸ÀÚ_³²Ä̺£·Î½º±æ·Îƾũ·Î½º_³²Ä̺£·Î½ºµµµÏ_³²Ä̺£·Î½º·Î±×_³²Ä̺£·Î½º½¦µµ¿ìüÀ̼­_³²Ä̺£·Î½º½ºÅäÄ¿_³²Ä̺£·Î½º¾î½ê½Å_³²Ä̺£·Î½º¾î½ê½ÅÅ©·Î½º_³²ÇÁ¸®½ºÆ®_³²ÇÁ¸®½ºÆ®¾ËÆÄÄ«_³²ÇÁ·ÎÆä¼­_³²ÇåÅÍ_³²ÇÏÀÌÀ§Àúµå_³²ÇÏÀÌÇÁ¸®_³²ÇÏÀÌÇÁ¸®½ºÆ®¾ËÆÄÄ«_³²È­ÀÌÆ®½º¹Ì½º_³²È­ÀÌÆ®½º¹Ì½º¸äµÅÁö_³²frog_kagerou_³²kagerou_³²º¹»ç¾ËÆÄÄ«_³²

    female
    ´ÑÀÚ_¿©¸¶µµ±â¾î_¿©¸¶¹ý»ç_¿©¸ùÅ©_¿©¸ùÅ©¾ËÆÄÄ«_¿©¿©¸§_¿©¿©¿ì¸¶¹ý»ç_¿©¿©¿ì¿ö·Ï_¿©¿©¿ì¼¼ÀÌÁö_¿©¿©¿ì¼Ò¼­·¯_¿©¿©¿ìÀ§Àúµå_¿©¿©¿ìÇÁ·ÎÆä¼­_¿©¿©¿ìÇÏÀÌÀ§Àúµå_¿©¿¬±Ý¼ú»ç_¿©¿¬±Ý¼ú»ç¸äµÅÁö_¿©¿î¿µÀÚ_¿©¿î¿µÀÚ2_¿©¿ø´õ·¯_¿©¿ö·Ï_¿©¿þµù±¸ÆäÄÚÅ©·ç¼¼ÀÌ´õ_¿©±×¸®Æù°¡µå_¿©±â»ç_¿©±Ã¼ö_¿©±æ·Îƾũ·Î½º_¿©±Ç¼º_¿©±Ç¼ºÀ¶ÇÕ_¿©±Ç¼ºÆ÷¸µ_¿©»çÀÚ±â»ç_¿©»çÀڷ鳪ÀÌÆ®_¿©»çÀڷε峪ÀÌÆ®_¿©»çÀڷξⰡµå_¿©»çÀÚÅ©·ç¼¼ÀÌ´õ_¿©»çÀÚÆȶóµò_¿©»êŸ_¿©»óÀÎ_¿©»óÀθäµÅÁö_¿©°¡µå_¿©°áÈ¥_¿©°Ç³Ê_¿©°Ë»ç_¿©µµµÏ_¿©µÎ²¨ºñ´ÑÀÚ_¿©µÎ²¨ºñ¼Ò¿ï¸µÄ¿_¿©·¹ÀÎÁ®_¿©·¹ÀÎÁ®´Á´ë_¿©·é³ªÀÌÆ®_¿©·é³ªÀÌÆ®»Ú¶ì_¿©·Î±×_¿©·Îµå³ªÀÌÆ®_¿©·ÎµåÆäÄÚ_¿©¼¼ÀÌÁö_¿©¼Ò¿ï¸µÄ¿_¿©¼Ò¼­·¯_¿©¼ºÁ÷ÀÚ_¿©½¦µµ¿ìüÀ̼­_¿©½´¶ó_¿©½´¶ó¾ËÆÄÄ«_¿©½´ÆÛ³ëºñ½º_¿©½´ÆÛ³ëºñ½ºÆ÷¸µ_¿©½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_¿©½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_h_¿©½º³ªÀÌÆÛ_¿©½ºÅäÄ¿_¿©¾ÆÅ©ºñ¼ó_¿©¾ÆÅ©ºñ¼ó¾ËÆÄÄ«_¿©¾î¼¼½Å_¿©¾î½Ø½ÅÅ©·Î½º_¿©¹«Èñ_¿©¹«Èñ_¿©_¹ÙÁö¹«Èñ¹ÙÁö_¿©¹ÌÄÉ´Ð_¿©¹ÌÄɴиäµÅÁö_¿©³ëºñ½ºÆ÷¸µ_¿©Á¦³×¸¯_¿©Á¦³×¸¯¸äµÅÁö_¿©Á¦Ã¶°ø_¿©Á¦Ã¶°ø¸äµÅÁö_¿©Ã¨ÇÇ¿Â_¿©Ã¨Çǿ¾ËÆÄÄ«_¿©Å¸Á¶¿ø´õ·¯_¿©Å¸Á¶±Ã¼ö_¿©Å¸Á¶·¹ÀÎÁ®_¿©Å¸Á¶½º³ªÀÌÆÛ_¿©Å¸Á¶¹«Èñ_¿©Å¸Á¶Â¤½Ã_¿©Å¸Á¶ÇåÅÍ_¿©À§Àúµå_¿©À©´õ·¯_¿©Å©¸®¿¡ÀÌÅÍ_¿©Å©¸®¿¡ÀÌÅ͸äµÅÁö_¿©Å©·ç¼¼ÀÌ´õ_¿©Å±Ǽҳâ_¿©Å±ǼҳâÆ÷¸µ_¿©ÆäÄڰdzÊ_¿©ÆäÄÚ°Ë»ç_¿©ÆäÄÚÆäÄÚ_±â»ç_¿©ÆäÄÚÆȶóµò_¿©Æȶóµò_¿©Ãʺ¸ÀÚ_¿©Ä̺£·Î½º±æ·Îƾũ·Î½º_¿©Ä̺£·Î½ºµµµÏ_¿©Ä̺£·Î½º·Î±×_¿©Ä̺£·Î½º½¦µµ¿ìüÀ̼­_¿©Ä̺£·Î½º½ºÅäÄ¿_¿©Ä̺£·Î½º¾î½ê½Å_¿©Ä̺£·Î½º¾î½ê½ÅÅ©·Î½º_¿©Áý½Ã_¿©ÇÁ¸®½ºÆ®_¿©ÇÁ¸®½ºÆ®¾ËÆÄÄ«_¿©ÇÁ·ÎÆä¼­_¿©ÇåÅÍ_¿©ÇÏÀÌÀ§Àúµå_¿©ÇÏÀÌÇÁ¸®_¿©ÇÏÀÌÇÁ¸®½ºÆ®¾ËÆÄÄ«_¿©È­ÀÌÆ®½º¹Ì½º_¿©È­ÀÌÆ®½º¹Ì½º¸äµÅÁö_¿©frog_oboro_¿©º¹»ç¾ËÆÄÄ«_¿©oboro_¿©

    2. You copy and paste the act,spr files from datasprite¾Ç¼¼»ç¸® into datasprite·Îºêbloodwings then rename it into job class.




    3. You will need spriterobeid.lub/lua and spriterobename.lub/lua. Can find it at dataluafiles514lua filesdatainfo.
    Add this stuff into your spriterobename.lub/lua
    ROBE_BLOODWINGS = 5
    Notice : The end of word doesnt have ","

    Add this stuff into your spriterobename.lub/lua
    RobeNameTable = {[SPRITE_ROBE_IDs.ROBE_BLOODWINGS] = "bloodwings",RobeNameTable_Eng = {[SPRITE_ROBE_IDs.ROBE_BLOODWINGS] = "_bloodwings",
    Notice : The end of word need have ","




    4. Last thing you need do is open datacskroption.lub and add this stuff
    [29005] = {unidentifiedDisplayName = "Blood Wings",unidentifiedResourceName = "_bloodwings",unidentifiedDescriptionName = {"Unidentified item, can be identified with [Magnifier].",},identifiedDisplayName = "Blood Wings",identifiedResourceName = "_bloodwings",identifiedDescriptionName = {"Large, Blood Wings of a fallen dark angel.","All Stats + 1.","Base stats (without modifiers) is equal to 20 or higher,","-Str -> Attack + 1","-Int -> Magic Attack + 1","-Vit -> Tolerance to Neutral Property + 1%","-Agi -> Increase ASPD (After Attack delay -1%)","-Dex -> Ranged Attack +1%","-Luk -> Inflict 1% more critical attack.","Class : ^777777Garment^000000","Defense : ^77777718^000000","Weight : ^77777720^000000","Required Level : ^7777771^000000","Applicable Job : ^777777Every Job^000000",},slotCount = 1,ClassNum = 5},



    5. my SS for Bloodwings
     
    ps : the original guide is from here : http://rathena.org/board/topic/72734-guidecustom-wings-at-robe-place/?hl=cskroption
    And also dont miss understand about cskroption.lub.Cskroption.lub was make by judas.
    Now client 2013 has itemInfo.lub similar with cskroption.lub code.
  3. Upvote
    madtoyz reacted to nyxfatalis in [Showcase] My Patcher Designs   
    Hi hercules,
    Here are my patchers ^^ Pls rate and give suggestions.
     
    3 Notice Box ( Slide show , Patchnote, Banner )
    First : 

     
    Dedicated to one of the website made my We-Prioritize.
    Second : 

     
    W/ Slideshow
    Third : 

     
    Fourth :

    Buttons ripped from archaos-ro's site.
    Will change it soon. ^^
  4. Upvote
    madtoyz reacted to Judas in [Release] Custom Job & Custom Shield Patches   
    awesome job =) let the fun being 
  5. Upvote
    madtoyz reacted to Neo-Mind in [Release] Custom Job & Custom Shield Patches   
    Well a few people know i have been working on these. So here goes.
     
    Did I hear right?
     
    1. Yes it is what you are thinking. The Custom Job patch allow you to modify the existing jobs and add new jobs      in a fashion similar to HeliumRO's Xray Clients (and some extra stuff u will see below) but using lua files.   2. Similarly Custom Shield Patch allows you to throw the existing 4 shield limit out the door and modify existing as well as     add more shield equipment types to your liking using lua files.   3. For now I have tested them out on a set of clients (for others the logic followed were the same     so I didn't bother with the rest). Ofcourse if any bug comes up I will work on fixing them.     4. Patches were made with existing patches in mind and therefore will not affect any and existing diffs present    in a client you use. Infact you are supposed to use these last only.   5. Custom Job Patch has also an override for Class names based on gender. For it to work Langtype Korean Jobname Fix    is expected to be enabled (for xDiff patches it is a part of Translate to English patch)  
      6. So is there a limit ? yes for now i have limited them as max shields to 10 and max job id to 4300.   So how does it work ?   1. Get the xdiff file for your client version (from the link below)   2. Get the lua files (also from the link below)   3. Modify/Add entries to the lua files (Format is specified below)   4. Load your client and xdiff file in xDiffPatcher   5. Let it Rip!... i mean Patch!!   6. And last but not least place the lua files in their proper locations.   Lua File Formats - Custom Job Patch Custom Job Patch makes use of 7 lua files (similar to the various txt files Xray client had).They need to be present in the luafiles514/lua files/admin path.   1) PCIdentity.lua:   This file is already present in the official GRF but we are going to use a modified version of that one.   All Job Sprites have a corresponding Job ID (including costumes and Job Mounts). This file defines all of them   and their relationships to each other.   This is done with the help of 3 tables =>   i) pcJobTbl (mandatory):  This is where the job id value is defined and mapped to a string for identification JT_KAGEROU = 4211, -- 4211 is the job id for kagerou class     ii) Halter_Map : This is where you specify which job id is the job mount of which class. Ofcourse if you dont  plan to add a mount sprite for a class you can ignore this one. [pcJobTbl.JT_KAGEROU] = pcJobTbl.JH_KAGEROU, -- maps kagerou job to his frog mounted sprite   iii) Shrink_Tbl : This is list of job IDs that need to be ... shrunk i.e. specify all Baby Jobs here. pcJobTbl.JT_SWORDSMAN_B, -- will include Baby Swordsman in the list    2) PCPaths.lua:    Lua equivalent of class_tab.txt . Defines the prefix string used for each class to get its sprite & act file path.    i.e. prefix in => /data/sprite/Àΰ£Á·/¸öÅë/<gender>/<prefix>_<gender>.spr (& act as well).    This is done with the help of two tables (only one of which needs to be filled for a class).        i)  PCStitchTbl :      If your job uses a completely new sprite with a new filename then you can assign it in this table. [pcJobTbl.JT_SWORDMAN] = "°Ë»ç" -- Prefix for Swordsman    ii) PCStitchInheritTbl :      If your job is sharing an existing sprite path already used by a job specified in PCStitchTBl then you can simply connect them in this table (target job id inherits from source job id). [pcJobTbl.JT_SWORDMAN_H] = pcJobTbl.JT_SWORDMAN, --JT_SWORDMAN_H is High Swordsman which uses --same sprite as Swordsman 
      All of the remaining lua files follow a similar pattern with one table for direct assignment and the other one for inheriting value from another job id 3) PCImfs.lua: Lua equivalent of imf_tab.txt . Defines the prefix string for imf files of each class. i)  PCImfTbl : [pcJobTbl.JT_KNIGHT] = "±â»ç", -- Prefix for Knight ii) PCImfInheritTbl : [pcJobTbl.JT_KNIGHT_H] = pcJobTbl.JT_KNIGHT, -- JT_KNIGHT_H is Lord Knight and has the same -- imf as Knight class.
    4) PCHands.lua: Lua equivalent of reality_dir_tab.txt. Defines the prefix strings used for Weapons and Shields of each class i) PCHandsTbl : [pcJobTbl.JT_ASSASSIN] = "¾î¼¼½Å¾î¼¼½Å", -- Prefix for Assassin   ii) PCHandsInheritTbl : [pcJobTbl.JT_GUILLOTINE_CROSS] = pcJobTbl.JT_ASSASSIN, -- Guillotine Cross picks up --weapons/shields from the same path as Assassin class.
    5) PCPals.lua   Lua equivalent of reality_tab.txt. Defines the prefix strings for the body palettes. i) PCPalTbl: [pcJobTbl.JT_MAGICIAN] = "¸¶¹ý»ç", -- prefix for Mage                           ii) PCPalInheritTbl: [pcJobTbl.JT_MAGICIAN_H] = pcJobTbl.JT_MAGICIAN, -- High Mage uses same prefix as Mage class.  
    6) PCNames.lua   Lua equivalent of monstrosity_tab.txt (in part since mobs are defined by jobname.lua) . As the file name says this is where you define all your class names. Reason i saved this for last is because this file is slightly different from the previous 4. Here you can define the class name seperately for both genders. For male classes => i) PCJobNameTbl : [pcJobTbl.JT_WARLOCK] = "Warlock", -- Kind of obvious right? ii) PCJobNameInheritTbl : [pcJobTbl.JT_WARLOCK_H] = pcJobTbl.JT_WARLOCK, -- JT_WARLOCK_H is Transcendent version of -- warlock class and ofcourse it will have same name For female classes => iii) PCJobNameTbl_F : [pcJobTbl.JT_WARLOCK] = "Witch", -- Now the female Warlock will be called Witch
    iv) PCJobNameInheritTbl_F : [pcJobTbl.JT_WARLOCK_H] = pcJobTbl.JT_WARLOCK, -- Same for Transcendent warlock   By default if your gender is female and there is no names defined using either iii) or iv) above then it checks in the tables for male gender. 7) PCFuncs.lua Contains Necessary functions used by the client - DO NOT TOUCH THIS FILE unless you know what you are doing!!!   Lua File Formats - Custom Shield Patch Custom Shield Patch makes use of 2 lua files as specified below. They need to be present in luafiles514/lua files/datainfo folder.   1) ShieldTable.lua : This lua file is the only one you need to configure. It contains 3 tables and is similar in format to WeaponTable.lua i) Shield_IDs : Defines a list of IDs which includes both Shield Types & Item IDs used by shield items in item_db.txt. Shield Items can only start from item id 2101 onwards so anything lesser than that will be considered as a shield type id. To distinguish between them we use the ST (Shield Type) and SI (Shield Item) prefixes. ST_MSHIELD = 4, -- Mirror Shield TypeSI_Platinum_Shield = 2122, -- Platinum Shield's Item ID   ii) ShieldNameTable : Here we assign suffix strings for Shield Types i.e. shield suffix in => /data/sprite/¹æÆÐ/<hand prefix>_<gender>_<shield suffix>.spr [Shield_IDs.ST_MSHIELD] = "_¹Ì·¯½¯µå", --Suffix for Mirror shield  iii) ShieldMapTable : Here we specify which Shield Type is used by each of the Shield Items. [Shield_IDs.SI_Platinum_Shield] = Shield_IDs.ST_MSHIELD, -- Platinum Shield uses -- Mirror Shield sprite.
    2) ShieldTable_F.lua : Contains Necessary functions used by the client - DO NOT TOUCH THIS FILE unless you know what you are doing!!!     Ok.. So Where do i get the files? Download link     Final Note If you have any issues or doubts about the xDiff files or Lua files (I expect some in this department) let me know. So Enjoy
  6. Upvote
    madtoyz reacted to Mumbles in Change Cash Point by Happ5 become unlimited exchange   
    o.O;
     
    Are you not using Hercules? It seems to be erroring at the variable declarations. Here's an adapted version that uses the set command for variable declarations.
     
     
    izlude,160,149,4  script  Point Exchanger::point_x  714,{  mes .name$;    mes "Hello there, "+ strcharinfo(0) +"!";  mes "I can exchange your "+ getitemname(.item_id) +" for "+ .x_rate +" Points each!";  next;    // End the session if player chooses to  if (select("Exchange "+ getitemname(.item_id) +":^FF0000End session^000000") == 2)  {    mes .name$;    mes "Aw, what a shame! See you later, then!";    close;  }    mes .name$;  mes "Please input the amount of coins you would like to exchange. Remember, 1 "+ getitemname(.item_id) +" is equivalent to "+ .x_rate +" Points!";  next;    input .@amount;  // Input coin amount to be exchanged    // User does not have specified amount of coins  if (countitem(.item_id) < .@amount)  {    mes .name$;    mes "I'm sorry, but you do not have "+ .@amount +" "+ getitemname(.item_id) +" in your inventory! You currently have "+ countitem(.item_id) +".";    close;  }    delitem .item_id, .@amount;          // Delete specified amount of coins  set .@exchange, .@amount * .x_rate;      // Calculate amount to be updated  set #CASHPOINTS, #CASHPOINTS + .@exchange;  // Update points    mes .name$;  mes "The transaction was successful! You traded "+ .@amount +" "+ getitemname(.item_id) +" for "+ .@exchange +" Points! You now have "+ #CASHPOINTS +" Points.";  close;      OnWhisperGlobal:    // Whisper anything to initialize settings    message strcharinfo(0), strnpcinfo(1) +" : 'OnInit' label has been intialized.";    OnInit:    // Configuration    set .name$, "[^0000FFPoint Exchanger^000000]";  // NPC name    set .item_id, 7539;    // Item ID of coin to exchange    set .x_rate, 30;    // Exchange rate (1 coin for x points)    end;  }
  7. Upvote
    madtoyz reacted to jaBote in Change Cash Point by Happ5 become unlimited exchange   
    @ Via: BTW OnInit labels are now automatically fired when a NPC is loaded so there's no longer need to whisper to any npc or using the messy if (!.init) donpcevent strnpcinfo(3)+"::OnInit"; and these 'dirty' tricks to make the NPCs start working when they aren't loaded on server start .
  8. Upvote
    madtoyz reacted to Mumbles in Change Cash Point by Happ5 become unlimited exchange   
    Whoa, I wasn't aware of that! I got so used to triggering that label manually lol. That's great that we no longer need to; thanks for the heads up! c:
  9. Upvote
    madtoyz reacted to xienne15 in specialeffect2 "LK_BERSERK",1;   
    function   script   Henshin   {  set @sr,1;  specialeffect2 EF_HEAL;  specialeffect2 EF_POTION_BERSERK;  unittalk getcharid(3),"Henshin!!";  disguise 1785;  //will make the player berserk for 10 seconds.  specialeffect2 SC_BERSERK; sc_start SC_BERSERK,10000,1;  percentheal 100,0;  sleep2 10000;  undisguise;  set @sr,0;  end;}
  10. Upvote
    madtoyz reacted to jaBote in How to make satan morocc but description mob copying poring ?   
    From cellphone and for being fast:
     
    Make a new line in db/mob_db.txt with all the poring information. Change the mob ID for avoiding collisions and preferably also change sprite name, kROname and iROname (the first 4 values in total).
     
    Then, for making it have the Satan Morocc sprite, just open db/mob_avail.txt and add a line in this fashion:
     
    SatanMorrocID,NewMobID
     
    this way you'll have a custom poring with Satan Morocc sprite. For adding skills use db/mob_skill_db.txt
  11. Upvote
    madtoyz reacted to jaBote in How to setup cluck event by Keale of VoidRO with time ?   
    If you want it to trigger exactly every 4 hours, you could make it start. For example, given you've configured your script (an OnInit label is missing so you'll have to configure it by hand), you could set OnHourXX labels just along with the starting label on the script, which is L_cluckannounce.
     
    Keep in mind this part of doc/script_commands.txt for following script adaptations:
    OnClock<hour><minute>:OnMinute<minute>:OnHour<hour>:On<weekday><hour><minute>:OnDay<month><day>:This will execute when the server clock hits the specified date or time. Hours and minutes are given in military time. ('0105' will mean 01:05 AM). Weekdays are Sun,Mon,Tue,Wed,Thu,Fri,Sat. Months are 01 to 12, days are 01 to 31. Remember the zero.  
    Example with hours 00, 04, 08, 12, 16 and 20 (hour 24 doesn't exist), and also adding the OnInit quick configuration. I've changed the permanent server variables for NPC variables. Its only drawback is that prize changes are temporary until server reboot, so you'll have to change them on the if you want them to be permanently changed:
    //===== Athena Script =====================================//= Cluck! Cluck! Boom!//===== By Keale of VoidRO ================================//= http://voidro.com//===== Description =======================================//= Click the chicken and try retrieve the item at a low //= chance. If you fail he will nuke, freeze, stone, //= stun, or make you fall asleep.//= The prize is configurable and triggered by the NPC.//===== Credits ===========================================//= LuTze for his 'Chicken of Punishment' script.//= BrianL for suggesting the 'switch' command.//= jaBote for v1.2 changes.//===== Version ===========================================//= v1.2//=========================================================//= v1.0 - First release.//= v1.1 - Using 'switch rand' instead.//= v1.2 - Changed some spacing for better comprehension //= and added some features per madtoyz request.//=========================================================izlude,127,132,7 script Cluckers 800,{ if (.startcluck == 1) goto L_playcluck;cluckcluck: if (getgmlevel() >= 60) goto cluckadmin; mes "[Cluckers]"; mes "Cluck cluck! Cluuuuuck?"; mes "Cluck...."; close; cluckadmin: mes "[Cluckers]"; mes "Cluck cluck! Cluuuuuck? ^FF0000~Hi GM " + strcharinfo(0) + ", Wanna play today?~^000000"; mes "Cluck cluck... CLUCK! ^FF0000~Just tell me what to do!~^000000"; switch(select("Start Event:Check Prize:Set Prize:Not today Cluckers")) { case 1: next; mes "[Cluckers]"; mes "CLUCK! ^FF0000~Sure thing!~^000000"; emotion 33; close2; goto L_cluckannounce; case 2: next; mes "[Cluckers]"; mes "Cluck, cluck cluck... Cluck! ^FF0000~The current prize is^000000 ^008000"+ .cluck_item_amount +" "+ getitemname(.cluck_item_id) +".^000000"; next; goto cluckadmin; case 3: next; mes "[Cluckers]"; mes "Cluck cluck? Cluck??? ^FF0000~What should the prize for winning be? Please input the ID.~^000000"; input .cluck_item_id; next; mes "[Cluckers]"; mes "Cluck? cluuuck? ^FF0000~How many if this item should I give away?~^000000"; input .cluck_item_amount; next; mes "[Cluckers]"; mes "Cluck cluck..? Cluck. ^FF0000~So, the prize is^000000 ^008000"+ .cluck_item_amount +" "+ getitemname(.cluck_item_id) +"^000000? ^FF0000Great.~^000000"; emotion 33; next; goto cluckadmin; case 4: next; mes "[Cluckers]"; mes "Cluck cluck cluck..."; close; }L_cluckannounce:OnHour00:OnHour04:OnHour08:OnHour12:OnHour16:OnHour20: announce "[Cluck! Cluck! Boom!] is about to start in izlude 127 132!",bc_blue; initnpctimer; end;OnTimer10000: announce "Please proceed to the izlude 127 132 if you want to play with the crazy chicken!",bc_blue; end;OnTimer20000: announce "Cluckers has eaten one of my items! I'm too scared to retrieve it!",bc_blue; end;OnTimer30000: announce "Click the insane chicken and try squeeze out the item, if you're lucky you'll win! Are you ready?",bc_blue; end;OnTimer40000: announce "GO! Click the chicken to get the prize!",bc_blue; set .startcluck,1; end; L_playcluck: specialeffect2 2; switch( rand(15) ) { case 0: npctalk "CLUUUUUUCK!!!"; emotion 23; atcommand "@nuke "+strcharinfo(0); break; case 1: npctalk "Cluuuuuck!~"; break; case 2: atcommand "@nuke "+strcharinfo(0); break; case 3: sc_start SC_Freeze,10000,0; break; case 4: npctalk "CLUUUUUUUUUCK!!!"; emotion 23; atcommand "@nuke "+strcharinfo(0); break; case 5: sc_start SC_Sleep,10000,0; break; case 6: emotion 29; sc_start SC_Stone,10000,0; break; case 7: npctalk "CLUUUUUUCK!!!"; emotion 23; atcommand "@nuke "+strcharinfo(0); break; case 8: npctalk "Cluck! CLUUUCK!!"; emotion 23; atcommand "@nuke "+strcharinfo(0); break; case 9: sc_start SC_Stun,10000,0; break; case 10: emotion 29; sc_start SC_Sleep,10000,0; break; case 11: npctalk "Cluck! Cluck!"; break; case 12: sc_start SC_Stun,10000,0; break; case 13: atcommand "@nuke "+strcharinfo(0); break; default: if( rand(50) < 3 ) { npctalk "WOOF!..........."; specialeffect2 72; announce "[Cluck! Cluck! Boom!] " + strcharinfo(0) + " Squeezed out the prize! Well done!",0; getitem .cluck_item_id,.cluck_item_amount; set .startcluck,0; } else { npctalk "Cluck! CLUUUCK!!"; atcommand "@nuke "+strcharinfo(0); } }end; // Script ending was missing.OnInit: //Change this for configuration set .cluck_item_id, 512; set .cluck_item_amount, 30; end;}  
    Change the contents of OnInit label for permanent configuration. Untested but should work.
  12. Upvote
    madtoyz reacted to jaBote in Player dont get the prize when killing the bapho event   
    It's badly done. Attempting to correct an error and adding item amount configuration OnInit (untested):
    //Created by youtubeizlude,159,128,3 script Find the Baphomet 736,{mes "[ Find The Baphomet ]";if(getgmlevel() < 50) { if(.Event==0) mes "There is no Find the Baphomet event."; else { mes "There is a Find the Baphomet event on now!"; mes "Location: "+ .Map$; mes "Prize: " + .ItemQty + " " + getitemname(.ItemID); mes "Number of Baphomets: " + .Baphomets; } close;} mes "Hello "+strcharinfo(0)+"! Please customize this event:";Main:next;mes "[ Find The Baphomet ]"; switch(select("Item [" + .ItemQty + " " + getitemname(.ItemID) + "]:Start Event:End Event")) { case 1: mes "Which item would you like the Baphomet to drop?"; mes "Please input the item ID:"; input .ItemID; next; mes "Also please input the amount of items you want the Baphomet to drop to the winner:"; input .ItemQty; goto Main; case 2: mes "Starting the event now..."; set .Event,1; close2; goto OnStart; case 3: mes "Ending the event now..."; if(.Event) announce ""+strcharinfo(0)+" ended Find the Baphomet Event!",bc_all; killmonster .Map$,"All"; set .Event,0; close;}OnMinute51: //CHANGE THIS TO THE MINUTE YOU WOULD LIKE THIS EVENT TO LOAD!OnMinute20:OnStart: announce "Find the Baphomet : It's time to play Find the Baphomet!",0; sleep2 1000; set $@ran, rand(1,11); if ($@ran == 11) set .Map$,"splendide"; if ($@ran == 10) set .Map$,"hugel"; if ($@ran == 9) set .Map$,"yuno"; if ($@ran == 8) set .Map$,"comodo"; if ($@ran == 7) set .Map$,"xmas"; if ($@ran == 6) set .Map$,"aldebaran"; if ($@ran == 5) set .Map$,"izlude"; if ($@ran == 4) set .Map$,"payon"; if ($@ran == 3) set .Map$,"geffen"; if ($@ran == 2) set .Map$,"morocc"; if ($@ran == 1) set .Map$,"prontera"; sleep2 1000; set $@ran2, rand(1,5); if ($@ran2 == 5) set .Baphomets,"5"; if ($@ran2 == 4) set .Baphomets,"4"; if ($@ran2 == 3) set .Baphomets,"3"; if ($@ran2 == 2) set .Baphomets,"2"; if ($@ran2 == 1) set .Baphomets,"1"; announce "Find the Baphomet : The Baphomet has spawned in "+ .Map$ +"!",0; sleep2 10000; announce "Find the Baphomet : " + .Baphomets + " Baphomets have spawned in "+ .Map$ +"!",0; sleep2 10000; monster .Map$,0,0,"PLEASE DONT HIT ME!",1039,.Baphomets,"Find the Baphomet::OnMobKilled"; end;OnMobKilled: mapannounce .Map$,"We've got a winner: " + strcharinfo(0) + " Congrats!",0; set zeny,zeny+10000000; getitem .ItemID,.ItemQty; set .Event,0; end;OnInit: set .ItemID, 512; set .ItemQty, 1; end;}  
    This is a quick fix since I'm in a rush, so maybe it won't work properly but I think yes. Remember to edit the OnInit label for adjusting the prize to your needs.
  13. Upvote
    madtoyz reacted to ossi0110 in How to open room 4 MvP ROOM sccript by ~AnnieRuru~   
    Change the 0  to 1  to enable the room
  14. Upvote
    madtoyz reacted to jaBote in Unexpected end of script   
    As you can see when expanding the script, you see a closing curly is missing: the curly that closes the first one. If you have mismatching curlys your script won't work and you'll see an error like that one. See the error in the picture when I expanded your item script?
     

     
    This can be fixed by just adding the missing closing curly, just like this:
    29954,Black_Valkyrja_Helm,Black Valkyrie Helm,5,100000,,1000,,5,,1,0xFFFFFFFE,2,2,256,,0,1,2049,{ bonus bAllStats,2; bonus bMdef,5; bonus bAtkRate,5; if(getrefine() > 5 && getrefine() <= 12) { bonus2 bAddRace,RC_DemiHuman,(getrefine() - 5); bonus2 bSubRace,RC_DemiHuman,(getrefine() - 5); } if(getrefine() > 12) { bonus2 bAddRace,RC_DemiHuman,7; bonus2 bSubRace,RC_DemiHuman,7; } },{},{}  
    P.S.: I expanded the script just so you can see, I imagine you already know you can't do it on your actual item db files.
  15. Upvote
    madtoyz reacted to jaBote in exp table for custom experience level   
    I haven't done this myself, but I meant you should add the exp required for new levels as new entries on the tables from db/re/exp.txt. After a quick search I've found that there's no conf change needed.
  16. Upvote
    madtoyz reacted to Valor in Custom item compilations?   
    I do not think its illegal thus it should be the owners problem to encrypt them is he wants it private.

    - I'm gonna redo my customs and soon release it! (Free)

    *No more [PM ME] crap and money making bull.*
  17. Upvote
    madtoyz reacted to OnNplay in [ tutorial ] Preparing database ragnarok for pre-compiled Hercules   
    Working around in MySQL console for database ragnarok.     This tutorial is mainly to support the release of pre-compiled Hercules for Win32 by me, OnNplay. Never-the-less it also closer to linux command line instead of using phpMyAdmin, HeidiSQL, Navicat, MySQL Workbench and other MySQL GUI client program. Hopefully, you will getting more confident to use PuTTY when you subscribe service such as VPS or dedicated server.     Lets do our first mysql database "ragnarok" and also our first mysql user "ragnarok". To state the command I used quote character "command here;". Please ignore it when you type or select and copy.     1. Download, install WAMP Server and start it. On desktop taskbar near the clock, click WAMPSERVER - server Online > MySQL > MySQL console .     2. Now active MySQL console window is open asking you to "Enter password:". By default WAMP Server logging into MySQL console as "root" and no password. So just press Enter. Now you in the MySQL service enviroment. You should see "Welcome" followed by some texts ending with line "mysql>".     3. You need to change your user "root" password. Type "use mysql;" and you should see "Database changed". Command "UPDATE user SET password=PASSWORD('newpassword') WHERE user='root';". Type "update user set password=password('w4mps3rv3r') where user='root';" and press Enter.
    The "newpassword" is at your own wish. After pressing Enter, you should see "Query OK," followed by some texts ending with line "mysql>".     4. For the change to take effect on MySQL service, you need to type "flush privileges;" and press Enter.     5. Now you should test the new root's password. Type "quit;" and press Enter. MySQL console window will close. Do step no.1. Enter your new root's password and press Enter. After the line of "mysql>" appear, MySQL service enviroment is ready to execute mysql's commands. When you type a wrong or incomplete command, console will response with "->".  What you need to do is just type ";" and press Enter.     6. Now you going to create a database to be used by Hercules emulator. By default Hercules will connecting to IP "127.0.0.1" port "3306" on database "ragnarok". Command "CREATE DATABASE database-name;". For deleting database, command "DROP DATABASE database-name;". Type "use mysql;" and press Enter.
    Next type "create database ragnarok;" and press Enter. Check the existence of your database, type "use mysql; show databases;" and press Enter.     7. Now you going to create one mysql user for Hercules to use. Do not let Hercules to use user "root". By default Hercules used mysql user "ragnarok" and it's password also "ragnarok". Command "CREATE USER 'user-name'@'host-name/IP' IDENTIFIED BY 'password';".For deleting user, command "DROP USER user-name;". Now type "create user 'ragnarok'@'localhost' identified by 'ragnarok';" and press Enter.
    Next you should do step no.4. To check the existence of user "ragnarok", type "use mysql; select user from mysql.user;" and press Enter.     8. You already create database "ragnarok" and user "ragnarok" in MySQL service. MySQL user can't simply access database without permission. Now you as a user "root" need to allow user "ragnarok" to access database "ragnarok". Command "GRANT ALL PRIVILEGES ON database-name.table-name TO 'user-name'@'host-name/IP';".For removing user to acces any database, command "REVOKE ALL PRIVILEGES ON *.* FROM 'user-name'@'host-name/IP';". Now type "grant all privileges on ragnarok.* to 'ragnarok'@'localhost';" and press Enter.
    Next you should do step no.4.     9. You should test the user "ragnarok". Type "quit;" and press Enter. MySQL console window will close. Now open folder where WAMP Server is installed and find where is file "mysql.exe" is located. During the making of this tutorial "mysql.exe" appear as "mysql" is located in "C:wampbinmysqlmysql5.6.12bin". Do not select any file inside the folder, if any one of the files is selected clear the select by clicking area after column "Size". Point arrow inside the folder, hold down the Shift key and at the same time do a right-click. Click "Open command window here". Type "mysql -uragnarok -p" and press Enter. You should see "Enter password:". Now type "ragnarok" and press Enter.     10. Here you going to prepare a text file for later use. Find and open folder "sql-files" which come with Hercules package. All the required files are with an extension ".sql" and can be read using Notepad++. Don't waste your time now to read it. Those files are containing default tables for database preparation. To get the full path of each file is by hold down the Shift key and do a right-click on the file, click "Copy as path". Next paste it in Notepad or Notepad++. Alternatively you also able to select all files and "Copy as path" too. The full path will come with quote character " " at beginning and ending. Delete it. Before file full path, add "source " with one space after it. Prepare file full path line by line so it easy for you to select and copy. Maybe you named the text file as "hercules-source-sql.txt".   Before "C:UsersOnnplayDesktopHerculestrunksql-filesmob_skill_db.sql""C:UsersOnnplayDesktopHerculestrunksql-filesmob_skill_db_re.sql""C:UsersOnnplayDesktopHerculestrunksql-filesmob_skill_db2.sql""C:UsersOnnplayDesktopHerculestrunksql-filesitem_db.sql""C:UsersOnnplayDesktopHerculestrunksql-filesitem_db_re.sql""C:UsersOnnplayDesktopHerculestrunksql-filesitem_db2.sql""C:UsersOnnplayDesktopHerculestrunksql-filesitem_db2_re.sql""C:UsersOnnplayDesktopHerculestrunksql-fileslogs.sql""C:UsersOnnplayDesktopHerculestrunksql-filesmain.sql""C:UsersOnnplayDesktopHerculestrunksql-filesmob_db.sql""C:UsersOnnplayDesktopHerculestrunksql-filesmob_db_re.sql""C:UsersOnnplayDesktopHerculestrunksql-filesmob_db2.sql"  
    After source C:UsersOnnplayDesktopHerculestrunksql-filesmob_skill_db.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesmob_skill_db_re.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesmob_skill_db2.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesitem_db.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesitem_db_re.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesitem_db2.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesitem_db2_re.sqlsource C:UsersOnnplayDesktopHerculestrunksql-fileslogs.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesmain.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesmob_db.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesmob_db_re.sqlsource C:UsersOnnplayDesktopHerculestrunksql-filesmob_db2.sql  
    11. Now you going to fill up database "ragnarok" with default tables. Back to step no.9 and file "hercules-source-sql.txt" opened for select and copy. Type "use ragnarok;" and press Enter. You should see "Database changed". Next inside the console, copy and paste "source C:UsersOnnplayDesktopHerculestrunksql-filesitem_db.sql" and press Enter. You should see many "Query OK," running till "mysql>" appear again. Repeat with other full path of your sql files. After filling up database "ragnarok", you may check how many tables are created. Type "show tables;" and press Enter. Total row is a total table in database. During the making of this tutorial, Hercules is at Revision 12214 supplied with 12 sql files producing total of 52 tables.     12. If you follow correctly this tutorial, Hercules emulator can run smoothly by now. Type "quit;"  and press Enter to close the MySQL console.
  18. Upvote
    madtoyz reacted to Ind in Ultimate Item DB Update   
    Ultimate Item DB Update
     
    Overview
    A very extensive item db update for renewal mode The Numbers: Over 6500 individual flag updates 212 newly added/enabled items Made Possible Thanks To: Muad_Dib for all the data Yommy for the help on the equip field Haru for the new upper masks and his ultimate parser skills that improved the quality of this update by many fold In the update
    db/re/item_db (and thus sql-files/item_db_re.sql) over 6500 flag updates and 212 newly added/enabled items 16: Upper Third jobs (Trans)32: Baby Third jobs The AegisName field was updated in several entries to match the official ones The name field was also updated in several entries to match the client display files 2 New 'Upper' flags were added to accommodate many of the newly added items:Custom items in renewal mode will require to have these new flags if you wish these jobs to make use of such items db/re/item_packages update to match the newly added items db/re/item_groups update to match the newly added items A new error message in the item db parser that will display any duplicate AegisName fields that are conflicting (Thanks to Masao) Special Thanks
    once again,
    Muad_Dib, this update wouldn't exist if it weren't for all the data he provided us with Yommy, wouldn't have been able to properly update the equip flags if it weren't for the job data he provided me with Haru, for making it possible to polish this update so many times. Haru spent many hours debugging this update and writing tools to further enhance the quality of the update Link~u!
    Commit Commit 2 (Follow up)Special Thanks to Yommy for bringing it to our attention and for providing the data for the follow up, and to Haru for help in validating the update
  19. Upvote
    madtoyz reacted to ossi0110 in Invalid monster ID 4001 above, must be in range 1k ~ 4k numIDs   
    change the ammount in the mob.h
     
  20. Upvote
    madtoyz reacted to Angelmelody in add function in item_db2 script   
    function  script  Henshin  {  set @sr,1;  specialeffect2 EF_HEAL;  specialeffect2 EF_POTION_BERSERK;  unittalk getcharid(3),"Henshin!!";  disguise 1785;  percentheal 100,0;  sleep2 10000;  undisguise;  set @sr,0;  end;}  
     
    autobonus2 "{if(((HP*100/MaxHP*100)/100) >=30 || @sr ) end; callfunc "Henshin"; }",10000,10000,BF_WEAPON|BF_MAGIC;
  21. Upvote
    madtoyz reacted to jaBote in add function in item_db2 script   
    It works on my side, but don't know any means of recording it.
     
    Steps I've done:
    [*]Copied over the item on my db/item_db2.txt
    [*]Created a new NPC file on my folder, called henshin.txt (which is npc/custom/bote). No clientside files required, but I'll only see an Apple sprite.
    [*]Opened server.
    [*]Issued @loadnpc npc/custom/bote/henshin.txt (you should use the npc path in your server).
    [*]Check @loadnpc feedback (script loaded) and the map server console to see if there was any warning/error. No errors.
    [*]Use @item 29949 30. See that's a headgear so I dropped 29 of them .
    [*]Damaged myself to almost death, then use the item. Item works.

    Only issue I see is that the script executes twice without any known reason to me, maybe because it uses 2 equipment slots?
     
    Pics:

  22. Upvote
    madtoyz reacted to quesoph in Make Mini Dice script random prize   
    forgot to change the getitem part on my first post.
  23. Upvote
    madtoyz reacted to quesoph in Make Mini Dice script random prize   
    See 2nd post.
  24. Upvote
    madtoyz reacted to Neo-Mind in Neo Item Organizer[v1.0 Release Added]   
    Purpose:
      Organize the various files (Sprites, Act files and Image files) into their appropriate folders in an automated fashion.
     
    Usage Instructions:
    1) there are three inputs
          i) Source Folder: Files required for each custom item is expected to be in a subfolder of this folder.
         ii) Item DB File: Straight Forward. We load the required info from this file
        iii) Target Folder: all the files will be copied to respective folder inside this one (sprite and texture folders)
     
    2) Once you add the inputs click the Load Item DB button which will fill the table with the item id (checkmarked by default), name and view ids and some default values for the other three (source will be blank while sprite & resource is filled with dbname).
     
    3) Click the checkbox of the items you want to work on, Select the source name and edit the sprite & resource name as desired.
     
    4) Click the Copy button and all the files will be copied to proper folders.
     
    5) Save settings button saves all the inputs and state of the table. so you can easily Reload it later. The tool also loads the save data when you open it.
     
    6) In case you have iteminfo.lua or idnum2resnametable.txt already with the resource name you can make fill the table (Resource Names) by clicking the Fill Resource Button.
     
    7) Similarly Sprite Name field can be filled from accname.lua & accessoryid.lua by clicking the Fill Sprite Button.
     
    8) An addon as suggested by Yommy - Sanity Checker tool which checks for files and reports missing ones (Only the checkmarked items will be checked). Also checks for 24x24 8bpp format for item images - suggested by M4ST3R.
     
    9) All the buttons below also have a menu entry at top.
     
    10) Currently Weapon Equip Sprites are not being copied. Since i don't have an idea as to how to proceed with them - sprites would be different for different classes (e.g. Hunter classes v/s Rogue classes for bows). Any and all ideas are welcome.
     
    11) All the buttons have tooltip describing its purpose. They show up immediately once you hover over them, so it shouldn't be difficult to use. But if you find it hard to use please let me know (I have some changes in mind).
     
    Screenshot - to be updated

    Currently I have placed the bottom buttons are in a detachable toolbar (easy with QT) so you can just drop it on any side of the window you want or just pull it out .
     
    Status: Completed v1.0.1 - Waiting for suggestions for improvement
     I had initially written some of the code for .NET4 but recently decided to drop it and use QT instead. If you see any bugs or have any suggestions or modifications in mind please let me know.
     
    Download Link v1.0.1 : http://www.mediafire.com/?ku7mhm376ik79g3
     
     
     
  25. Upvote
    madtoyz reacted to Neo-Mind in [GUIDE]Custom Wings at robe place.   
    FYI: Ive already added support for Garments in my Item organizer. The copying process is automated - one sprite is copied to all relevant job folders based on what you have used in item_db file you provide.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.