Jump to content

Dastgir

Script Developers
  • Content Count

    3803
  • Joined

  • Last visited

  • Days Won

    248

Reputation Activity

  1. Upvote
    Dastgir got a reaction from tedexx in Ragnarok Unpacked Clients Repository (RUCR)   
    RUCR
    Hello Hercules Community,
    I was working on RUCR this month and I am happy to announce that it's complete. The Site contains all Ragexe(upto 2016-07) and RagexeRE from 2014, fully unpacked.
    It would be great if there will be no mirrors, I would be keeping this web up and running, so mirrors won't be needed.
    Also, if you find any clients missing, you can post it here, and I will check if that can be uploaded.
     
     
    Repo Link: DISABLED
    Enjoy
     
  2. Upvote
    Dastgir got a reaction from KirieZ in Ragnarok Unpacked Clients Repository (RUCR)   
    RUCR
    Hello Hercules Community,
    I was working on RUCR this month and I am happy to announce that it's complete. The Site contains all Ragexe(upto 2016-07) and RagexeRE from 2014, fully unpacked.
    It would be great if there will be no mirrors, I would be keeping this web up and running, so mirrors won't be needed.
    Also, if you find any clients missing, you can post it here, and I will check if that can be uploaded.
     
     
    Repo Link: DISABLED
    Enjoy
     
  3. Upvote
    Dastgir got a reaction from exneval in Ragnarok Unpacked Clients Repository (RUCR)   
    RUCR
    Hello Hercules Community,
    I was working on RUCR this month and I am happy to announce that it's complete. The Site contains all Ragexe(upto 2016-07) and RagexeRE from 2014, fully unpacked.
    It would be great if there will be no mirrors, I would be keeping this web up and running, so mirrors won't be needed.
    Also, if you find any clients missing, you can post it here, and I will check if that can be uploaded.
     
     
    Repo Link: DISABLED
    Enjoy
     
  4. Upvote
    Dastgir got a reaction from java in Ragnarok Unpacked Clients Repository (RUCR)   
    RUCR
    Hello Hercules Community,
    I was working on RUCR this month and I am happy to announce that it's complete. The Site contains all Ragexe(upto 2016-07) and RagexeRE from 2014, fully unpacked.
    It would be great if there will be no mirrors, I would be keeping this web up and running, so mirrors won't be needed.
    Also, if you find any clients missing, you can post it here, and I will check if that can be uploaded.
     
     
    Repo Link: DISABLED
    Enjoy
     
  5. Upvote
    Dastgir got a reaction from Habilis in Ragnarok Unpacked Clients Repository (RUCR)   
    RUCR
    Hello Hercules Community,
    I was working on RUCR this month and I am happy to announce that it's complete. The Site contains all Ragexe(upto 2016-07) and RagexeRE from 2014, fully unpacked.
    It would be great if there will be no mirrors, I would be keeping this web up and running, so mirrors won't be needed.
    Also, if you find any clients missing, you can post it here, and I will check if that can be uploaded.
     
     
    Repo Link: DISABLED
    Enjoy
     
  6. Upvote
    Dastgir got a reaction from Like it~* in [Help] Script Edit GM Rewarder.   
    so, it seems it was bug in source itself, 
    https://github.com/HerculesWS/Hercules/pull/1782 : made the pr, wait for it to be merged.
  7. Upvote
    Dastgir got a reaction from Yazoo in Rebirth System   
    File Name: Rebirth System
    File Submitter: Dastgir
    File Submitted: 05 Apr 2014
    File Category: Utility
     
    It is Rebirth System , which allows to rebirth unlimited times
     
    Some of its features on how it works
    It does not give any Extra StatusPoints(Adjustable via Config)
    Requires Some Item to Rebirth
    Rewards are given when you rebirth with x% chance
    You can Only Rebirth when you are Max Level (3rd,2nd job Configurable Option)
    RebirthSystem Ranking(To know who has Rebirth How many times)
    Master Rebirth System(When you have Rebirthed for x times, You can do Master Rebirth. You can add ItemReward and ItemRequirements, only for MasterRebirth too..)
    GM can reset the Rebirth Rankings(Affects StatusPoint Given)
    Can Force the User to be rebirthed to Novice/High Novice.
    Can Give x status point every Rebirth.
    Can Give y status point every Master Rebirth.
    Can Limit Number of Rebirth/Master Rebirths.
    Can rebirth to Any Jobs(Job Adjustable via Config)

    I made this script because it was requested to me by someone.
     
    Click here to download this file
  8. Upvote
    Dastgir reacted to caspe in Hexed does not read ragnarok sprites   
  9. Upvote
    Dastgir got a reaction from bWolfie in Add disabled_status to map_zone_db.conf or mapflag   
    https://github.com/HerculesWS/Hercules/pull/1781/
  10. Upvote
    Dastgir got a reaction from Legend in Add disabled_status to map_zone_db.conf or mapflag   
    https://github.com/HerculesWS/Hercules/pull/1781/
  11. Upvote
    Dastgir got a reaction from Legend in @pk patch v1.1   
    I recently updated the plugin: https://github.com/dastgir/HPM-Plugins/blob/master/src/plugins/%40pk.c
  12. Upvote
    Dastgir reacted to kyeme in Add disabled_status to map_zone_db.conf or mapflag   
    My old suggestion here: 
     
  13. Upvote
    Dastgir got a reaction from Legend in Plugin Collections   
    Fixed @pk 
    https://github.com/dastgir/HPM-Plugins/commit/fcb9713db364f73f8508eaddf347f30f4946c228 : Cannot Damage self now
    https://github.com/dastgir/HPM-Plugins/commit/9d7f980a97ae97b66df2d005a2c8cb807b1d35c0 : Added config for maps where command can be used and where pk'ing is allowed
  14. Upvote
    Dastgir got a reaction from Thyr in Plugin Collections   
    Fixed @pk 
    https://github.com/dastgir/HPM-Plugins/commit/fcb9713db364f73f8508eaddf347f30f4946c228 : Cannot Damage self now
    https://github.com/dastgir/HPM-Plugins/commit/9d7f980a97ae97b66df2d005a2c8cb807b1d35c0 : Added config for maps where command can be used and where pk'ing is allowed
  15. Upvote
    Dastgir got a reaction from luan122 in Special Shop[Implement it in Hercules.]   
    Reference topic : http://rathena.org/board/topic/84169-specialty-shops/
     
    Pull Request : https://github.com/HerculesWS/Hercules/pull/232 (Tested it out, and its working.) 
    Diff File: SpecialShop_v1.2.diff (In case someone want to use it early/dev rejected it.)
    I have tested this source, and it works fine, anyone who wants to try can test it.




    Although in cashshop rearrangement, we would like if format is this
    <map name>,<x>,<y>,<facing>   pointshop <NPC Name> <sprite id>,<"points">,<"description">,<itemid>:<price>{,<itemid>:<price>...}  Where description is the name of point put, like if variable if PkP and description is PvP Points.
    Then when we open shop it will show in chat box (not npc dialog box), that "This shop uses PvP Points for purchasing items. Current PvP Points:123"
     
  16. Upvote
    Dastgir got a reaction from caspe in How exactly Weight in Item_db works?   
    https://github.com/HerculesWS/Hercules/blob/master/doc/item_db.txt
    Weight: Item's weight. Each 10 is 1 weight. When not specified, becomes 0. So if you have Weight as 10, it will show 1 weight ingame.
  17. Upvote
    Dastgir reacted to meko in Date and Time functions   
    View File Date and Time functions
    This script provides functions to easily calculate date and time. More functions might be added in the future.
     
     
    now()
    a shorthand function to get the current time
    > returns the number of seconds elapsed since the Unix epoch
    now() // => 1497119219 (example, increments every second)


    time_from_ms(<delta>)
    calculates a Unix timestamp relative to the current time
    > returns the number of seconds elapsed since the Unix epoch, plus or minus <delta> ms
    time_from_ms(0) // => 1497119219 (example, increments every second) time_from_ms(+1000) // => 1497119220 time_from_ms(-1000) // => 1497119218


    time_from_seconds(<delta>)
    calculates a Unix timestamp relative to the current time
    > returns the number of seconds elapsed since the Unix epoch, plus or minus <delta> seconds
    time_from_seconds(0) // => 1497119219 (example, increments every second) time_from_seconds(+1) // => 1497119220 time_from_seconds(-1) // => 1497119218


    time_from_minutes(<delta>)
    calculates a Unix timestamp relative to the current time
    > returns the number of seconds elapsed since the Unix epoch, plus or minus <delta> minutes
    time_from_minutes(0) // => 1497119219 (example, increments every second) time_from_minutes(+1) // => 1497119279 time_from_minutes(-1) // => 1497119159


    time_from_hours(<delta>)
    calculates a Unix timestamp relative to the current time
    > returns the number of seconds elapsed since the Unix epoch, plus or minus <delta> hours
    time_from_hours(0) // => 1497119219 (example, increments every second) time_from_hours(+1) // => 1497122819 time_from_hours(-1) // => 1497115619


    time_from_days(<delta>)
    calculates a Unix timestamp relative to the current time
    > returns the number of seconds elapsed since the Unix epoch, plus or minus <delta> days
    time_from_days(0) // => 1497119219 (example, increments every second) time_from_days(+1) // => 1497205619 time_from_days(-1) // => 1497032819


    FuzzyTime(<unix timestamp>)
    converts a Unix timestamp to a human-readable format
    > returns human-friendly relative time
    FuzzyTime(0) // => 47 years, 172 days, 18 hours, 52 minutes, and 28 seconds ago FuzzyTime(time_from_hours(+28)) // => in 1 day and 4 hours

     
    --------------------------------------------------------------------------------------
    This script was made by me, for The Mana World + Evol.
    License: public domain (CC0)
    Submitter meko Submitted 06/10/17 Category Quest, Shops, Functions & Algorithms  
  18. Upvote
    Dastgir got a reaction from Like it~* in Display Name to item_db   
    Try Now
  19. Upvote
    Dastgir got a reaction from Like it~* in Program to organize iteminfo.lua / lub by id, name, etc ...   
    https://github.com/dastgir/Scripts/tree/master/Lua/eXtractitemInfo
     
    Change iteminfo name to iteminfo.lub, run the extract.bat/extract.lua, and iteminfo.lua will be generated and it would be sorted too.
  20. Upvote
    Dastgir got a reaction from Like it~* in Program to organize iteminfo.lua / lub by id, name, etc ...   
    Fixed. seems I used other compiler.
  21. Upvote
    Dastgir reacted to dualityDiscretion in RO Webcomic [FIN]   
    And they're off to try their new 2nd job skills! but... Grace, what are you doing?!
    https://tapas.io/episode/723153
  22. Upvote
    Dastgir reacted to Habilis in Cloud 9 & Hercules   
    Hello It's me!! (oh noooo)
    and I have another crazy thing to share
    It involves Ragnarok, Hercules, Raspberry Pi and an open source cloud IDE, how any cooler could that be!?
    Today I'm going to talk about my development setup  on my Raspberry Pi, that's right, I don't install Visual Studio on my local machine,
    neither MySQL server.
     
    I have a decent little thingy Raspberry Pi that can do it all!!
    - Run and Compile Hercules emulator
    - Run a MySQL server installation
    - And even run a Cloud 9 WEB IDE
     
    Just run it

    and open your browser 

    Cloud 9 is a full scale IDE with  command prompt integration, file search and replace, refactoring, project view on the left(for easy navigation)
    and a main window with code editor allowing you to edit
    configs of your emulator
    develop scripts
    edit source
    and write plugins
     

    After that just compile your emulator with integrated Command prompt and run the server as simple as that...
     
     
     
    Obviously, I have written a guide on how to install cloud 9 IDE on a Linux box
    https://habilisbest.com/installing-cloud-9-on-your-raspberry-pi
     
    As the guide states Cloud 9 runs on NodeJS, there is a simple instruction on how to install NodeJS on your Linux box!
     
     
     
  23. Upvote
    Dastgir reacted to Habilis in Log sql config   
    Wow I didn't laugh that much since lunch break at school!!
     
    It's an IMPORT folder config file of course it is empty!!!
     
     
    How inside import folder config files work :
     
    you put your settings inside of file (just those you need to change)
    and the settings inside files of IMPORT folder  override setting in the default conf
     
    Draw as much as you like   But learn how your emulator works first 
     
    BTW :
    - I'm never going to be rude to someone because he is right.
    - I'm never going to be rude to someone who doesn't know something.
     
    - I'm rude to you because you didn't know how import folder works, and was saying I'm wrong (even after I made a proof of concept).
     
    hope this clears things up 
     
    Ps: read more attentively this part:
     
     
     
     
     
    see first time I open config file inside import folder it is empty:
     
    //================= Hercules Configuration ================================
    [...]
    //=========================================================================
    //= Character Server local configuration file.
    //=========================================================================
     
    char_configuration: {
     
    }
  24. Upvote
    Dastgir got a reaction from Thyr in [Request] PvP Warper on force_1-2   
    You need to get min and max co-ordinate of it (x1, y1) and (x2, y2), then use rand in command like:
    warp("mapname", rand(x1, x2), rand(y1, y2));
  25. Upvote
    Dastgir reacted to meko in Array manipulation functions   
    View File Array manipulation functions
    This script provides various array manipulation functions, and more might be added in the future.
    All of those functions (except the arithmetic ones) work with both integer and string arrays.
    The start of the array is always implicitly index 0, unless an index is specified, ie @array[index]



    array_pad(<array>, <size>, <value>)
    pads the array left or right with <value> until it reaches <size> size. If <size> is negative it will pad left.
    > returns the number of added entries
    setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_pad(.@foo, 8, 69); // => 3 // array is now: 1, 2, 3, 4, 5, 69, 69, 69 setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_pad(.@foo, -8, 69); // => 3 // array is now: 69, 69, 69, 1, 2, 3, 4, 5


    array_replace(<array>, <needle>, <replacement>{, <neq>})
    finds every occurrence of <needle> within the array and replaces it with <replacement>. if <neq> is true, finds entries that do not match instead
    > returns the number of changed entries setarray(.@foo, 1, 1, 3, 1, 5); // initialize the array array_replace(.@foo, 1, 69); // => 3 // array is now: 69, 69, 3, 69, 5


    array_find(<array>, <needle>{, <neq>})
    finds the first occurrence of <needle> within the array. if <neq> is true, finds entries that do not match instead
    > returns the index, or if none is found returns -1 setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_find(.@foo, 3); // => 2 array_find(.@foo, 1); // => 0 array_find(.@foo, 6); // => -1


    array_rfind(<array>, <needle>{, <neq>})
    like array_find, but finds the last occurrence. if <neq> is true, finds entries that do not match instead
    > returns the index, or if none is found returns -1 setarray(.@foo, 1, 2, 3, 4, 3); // initialize the array array_rfind(.@foo, 3); // => 4 array_rfind(.@foo, 4); // => 3 array_rfind(.@foo, 6); // => -1


    array_exists(<array>, <needle>{, <neq>})
    very similar to array_find() but it instead just checks if it exists or not. if <neq> is true, finds entries that do not match instead > returns true or false setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_exists(.@foo, 3); // => true array_exists(.@foo, 6); // => false


    array_count(<array>, <needle>{, <neq>})
    similar to array_find() but iterates through the whole array. if <neq> is true, finds entries that do not match instead
    > returns the total number of occurrences of <needle> setarray(.@foo, 1, 69, 3, 69, 5); // initialize the array array_count(.@foo, 69); // => 2


    array_entries(<array>)
    a wrapper around array_count(). behaves similarly to getaraysize() but does not count holes
    > returns the number of non-empty entries setarray(.@foo, 1, 2, 0, 0, 5); // initialize the array getarraysize(.@foo); // => 5 array_entries(.@foo); // => 3



    array_remove(<array>, <needle>{, <neq>})
    finds and removes every occurrence of <needle> from the array, while shifting left. if <neq> is true, finds entries that do not match instead
    > returns the number of removed entries setarray(.@foo, 1, 69, 3, 69, 5); // initialize the array array_remove(.@foo, 69); // => 2 // array is now: 1, 3, 5


    array_reverse(<array>)
    reverses the array
    > returns true setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_reverse(.@foo); // => true // array is now: 5, 4, 3, 2, 1


    array_sum(<array>)
    iterates through the whole array to perform an arithmetic addition
    > returns the sum of every entries of the array setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_sum(.@foo); // ((((1 + 2) + 3) + 4) + 5) => 15


    array_difference(<array>)
    iterates through the whole array to perform an arithmetic subtraction
    > returns the difference of every entries of the array setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_difference(.@foo); // ((((1 - 2) - 3) - 4) - 5) => -13


    array_product(<array>)
    iterates through the whole array to perform an arithmetic multiplication
    > returns the product of every entries of the array setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_product(.@foo); // ((((1 * 2) * 3) * 4) * 5) => 120


    array_quotient(<array>)
    iterates through the whole array to perform an arithmetic division
    > returns the quotient of every entries of the array setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_quotient(.@foo); // ((((1 / 2) / 3) / 4) / 5) => 0


    array_shift(<array>)
    removes the first entry of the array, while shifting left
    > returns the value of the removed entry setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_shift(.@foo); // => 1 // array is now: 2, 3, 4, 5


    array_unshift(<array>, <value>)
    adds <value> to the start of the array, while shifting right
    > returns the new size of the array setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_unshift(.@foo, 69); // => 6 // array is now: 69, 1, 2, 3, 4, 5


    array_pop(<array>)
    removes the last entry of the array
    > returns the value of the removed entry setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_pop(.@foo); // => 5 // array is now: 1, 2, 3, 4


    array_push(<array>, <value>)
    adds <value> to the end of the array
    > returns the new size of the array setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_push(.@foo, 69); // => 6 // array is now: 1, 2, 3, 4, 5, 69


    array_shuffle(<array>)
    shuffles the array
    > returns true setarray(.@foo, 1, 2, 3, 4, 5); // initialize the array array_shuffle(.@foo); // => true // array is now: 1, 4, 2, 3, 5 (example, unpredictable)


    array_unique(<array>{, <threshold>})
    allows array entries to appear up to <threshold> times (1 by default) and removes the extraneous ones. useful to remove duplicate entries
    > returns the number of removed entries
    setarray(.@foo, 1, 3, 3, 4, 5); // initialize the array array_unique(.@foo); // => 1 // array is now: 1, 3, 4, 5


    array_diff(<base array>, <array>{, <array>...}, <result array>)
    compares the base array against one or more other arrays and fills the result array with the entries in base array that are not present in any of the other arrays
    > returns the number of entries not found in other arrays
    setarray(.@base, 1, 2, 3, 4, 5, 6, 7, 8); // initialize the base array // fill the arrays to compare with the base array: setarray(.@foo, 2, 3, 4, 5, 6, 7, 8); // missing "1" setarray(.@bar, 1, 2, 3, 4, 6, 7, 8); // missing "5" setarray(.@baz, 1, 2, 3, 4, 5, 6, 7); // missing "8" // compare foo, bar and baz against base, and fill result: array_diff(.@base, .@foo, .@bar, .@baz, .@result); // => 3 // .@result is now: 1, 5, 8


    array_filter(<array>, "<function>")
    filters the array using a function that is tested against every entries. if the function returns false, the relevant entry is removed and the array is shifted left
    > returns the number of removed entries
    function script is_prime { if (getarg(0) <= 1) return false; for (.@i = 2; .@i <= getarg(0) / 2; ++.@i) if ((getarg(0) % .@i) == 0) return false; return true; } setarray(.@foo, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); array_filter(.@foo, "is_prime"); // => 9 // array is now: 2, 3, 5, 7, 11, 13


    array_sort(<array>)
    sorts the array in ascending order
    > returns true
    setarray(.@foo, 2, 1, 8, 4, 5, 7, 6, 3); // initialize the array array_sort(.@foo); // => true // array is now: 1, 2, 3, 4, 5, 6, 7, 8


    array_rsort(<array>)
    sorts the array in descending order
    > returns true
    setarray(.@foo, 2, 1, 8, 4, 5, 7, 6, 3); // initialize the array array_rsort(.@foo); // => true // array is now: 8, 7, 6, 5, 4, 3, 2, 1



    Requires Hercules of June 24 2017 or newer version


     
    --------------------------------------------------------------------------------------
    This script was made by me, for The Mana World + Evol.
    License: public domain (CC0)
    Submitter meko Submitted 05/29/17 Category Quest, Shops, Functions & Algorithms  
×
×
  • Create New...

Important Information

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