Downloads

Category:   All

Featured Downloads

  • function Array manipulation functions   By meko

    • 70
    • 10
    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([email protected], 1, 2, 3, 4, 5); // initialize the array array_pad([email protected], 8, 69); // => 3 // array is now: 1, 2, 3, 4, 5, 69, 69, 69 setarray([email protected], 1, 2, 3, 4, 5); // initialize the array array_pad([email protected], -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([email protected], 1, 1, 3, 1, 5); // initialize the array array_replace([email protected], 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([email protected], 1, 2, 3, 4, 5); // initialize the array array_find([email protected], 3); // => 2 array_find([email protected], 1); // => 0 array_find([email protected], 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([email protected], 1, 2, 3, 4, 3); // initialize the array array_rfind([email protected], 3); // => 4 array_rfind([email protected], 4); // => 3 array_rfind([email protected], 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([email protected], 1, 2, 3, 4, 5); // initialize the array array_exists([email protected], 3); // => true array_exists([email protected], 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([email protected], 1, 69, 3, 69, 5); // initialize the array array_count([email protected], 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([email protected], 1, 2, 0, 0, 5); // initialize the array getarraysize([email protected]); // => 5 array_entries([email protected]); // => 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([email protected], 1, 69, 3, 69, 5); // initialize the array array_remove([email protected], 69); // => 2 // array is now: 1, 3, 5


    array_reverse(<array>)
    reverses the array
    > returns true setarray([email protected], 1, 2, 3, 4, 5); // initialize the array array_reverse([email protected]); // => 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([email protected], 1, 2, 3, 4, 5); // initialize the array array_sum([email protected]); // ((((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([email protected], 1, 2, 3, 4, 5); // initialize the array array_difference([email protected]); // ((((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([email protected], 1, 2, 3, 4, 5); // initialize the array array_product([email protected]); // ((((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([email protected], 1, 2, 3, 4, 5); // initialize the array array_quotient([email protected]); // ((((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([email protected], 1, 2, 3, 4, 5); // initialize the array array_shift([email protected]); // => 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([email protected], 1, 2, 3, 4, 5); // initialize the array array_unshift([email protected], 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([email protected], 1, 2, 3, 4, 5); // initialize the array array_pop([email protected]); // => 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([email protected], 1, 2, 3, 4, 5); // initialize the array array_push([email protected], 69); // => 6 // array is now: 1, 2, 3, 4, 5, 69


    array_shuffle(<array>)
    shuffles the array
    > returns true setarray([email protected], 1, 2, 3, 4, 5); // initialize the array array_shuffle([email protected]); // => 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([email protected], 1, 3, 3, 4, 5); // initialize the array array_unique([email protected]); // => 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([email protected], 1, 2, 3, 4, 5, 6, 7, 8); // initialize the base array // fill the arrays to compare with the base array: setarray([email protected], 2, 3, 4, 5, 6, 7, 8); // missing "1" setarray([email protected], 1, 2, 3, 4, 6, 7, 8); // missing "5" setarray([email protected], 1, 2, 3, 4, 5, 6, 7); // missing "8" // compare foo, bar and baz against base, and fill result: array_diff([email protected], [email protected], [email protected], [email protected], [email protected]); // => 3 // [email protected] is now: 1, 5, 8



    Requires Hercules of June 24 2017 or newer version

      -------------------------------------------------------------------------------------- This script was made by me, for The Mana World + Evol.
    License: public domain (CC0)
  • Devil's Square Nightmare-Mode (@editds, @disableds, @repeatds!)   By Aeromesi

    • 198
    • 0
    Devil Square [Nightmare-Mode]   (Special thanks to: IeYaseru (Old friend who gave me a DS script I reinvented)   =============================================================================================================   Description: In this version of Devil's Square, once the amount of players have joined, that's it. You won't be able to continue going back inside of Devil Square once you die, after entering and Devil Square starts, it will be closed. All other players won't be able to join, and it's up to all the players to either complete Devil Square or die and not be able to come back in.   If no players enter in the timeframe, it will cancel out the event. Also counts up the Max amount of Users when they enter Devil's Square. Once the Max Users have been established, no one else can join, and then it's just up to that team of people! Once all the Players have died and warped out of the event, it will announce that all the users who entered have failed Victory in Devil Square, and the event will be reset.   =============================================================================================================   Difference in Type 2: Description: In this version when you die and get warped out, if you hurry up you'll be able to come back into Devil Square again. NOTE: You WILL have to REPAY the amount of Zeny to re-enter. Since players can die, and repay/pay at anytime to join inside the event, there's no need to cancel out the event if no one joins.   New Additions to Revision 5 (For Type 1 And Type 2): Created commands: @disableds - Allows you to disable Devil Square whenever you want (This feature is also inside of the NPC!) @repeatds - Allows you to repeat the Devil Square on the go. (This feature is also inside of the NPC!) @editds - Allows you to edit, or as I put it "Over Ride" the settings in the OnInit: inside of [DS] Organizer::DSORG Changes happen in the menu whether the event is active or not. If it's active it will allow you to disable or go to the Player Menu, if it's unactive it'll ask if you want to Start Devil's Square. Basically redesigned a lot of the aspects of the script, beforehand it didn't even work, and had errors upon errors. Made the script to be flexible and totally configurable! Future additions/ideas: Add the ability to also edit the mob data for each Round as well as the MvP list. Also before hand if it was <= 5 users it would only spawn 8 Treasure Chests, otherwise it would spawn 16. Now you can choose as much as you want! When a GM is editing an option inside of Devil's Square, another GM cannot edit an option until that GM is done editing an option via `@editds`.   NOTE: Not every Treasure Chest is the same either!
  • 34 Kamishi's Clothes & Hair Palettes (Updated 2017!!)   By kami-shi

    • 141
    • 1
    Support All classes including new Mounts, Oboro, Kagerou, Rebellion and 3rd Costumes ! Yay ! =3 The palettes are ranged from 0 to 35. For this pack to look the best you must use my corrected classes sprites and Haziel's 3rd Costumes sprites These palettes are from my big 700 palette pack ! If you want more, you may contact me here :  Paletting services (More than 700 Palettes, Races and Colors! :3). Thank you ! >o<