1. Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

Dismiss Notice
This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Script ★ GiveAll ★ [1.8 - 1.12] Beta 4.3

Create and manage GiveAlls (via GUI) !

  1. noftaly
    Important: I will no longer post updates on this forum, but you still can download it on skript-mc
    (to many work for translate etc for me)

    I’m french, so sorry for the errors. If in the configuration or in the description there is errors, please let me know (via PM) and I will correct them.

    Betas 3.1 and before works perfectly on 1.8.x, 1.9.x, 1.10.x, 1.11.x, 1.12.x
    (thanks to @gamingshow and @Mikioul for the test)

    Betas 3.2 and over were not tested in 1.11.x, 1.10.x, 1.9.x, 1.8.x, but I think they will work



    GiveAll is a skript with allows you to create GiveAll, to give items to your players ! You can create events where your players win some stuff ! All the messages are customizable


    ▶ Create as many GiveAll as you want
    ▶ Remove GiveAlls !
    ▶ Rename GiveAlls !
    ▶ The names/lore/enchants/NBT of the items are saved
    ▶ Customise the countdown before the GiveAll (In a GUI or not)
    ▶ Customize every messages !
    ▶ Items are give every 1 or 2 or 3 or 4 seconds !
    ▶ Set or not and change when you want the duration of a GiveAll ! (In a GUI or with a command)
    ▶ Copy all the items of a GiveAll in another
    ▶ Clear the content of a GiveAll
    ▶ You can see the list of all your GiveAll in a GUI wich allows you to delete/start-stop/modify them !
    ▶ Edits the items of a GiveAll by a GUI
    ▶ Give the items you’re holding to everybody, without having to create a GiveAll
    ▶ Messages of the /ga help are clickable !
    ▶ An addon (in skript) will be soon available, with much (really much) of content !
    ▶ If your skript is not up to date, you will have a message with all the new feature, and if the update is important or not

    Commands and permissions

    Command : /giveall (or /ga)
    <> : obligatory
    [] : optional
    Code (Text):
    1. ∙ giveall create <GiveAll’s name> [Duration] → Create a GiveAll, and set its duration (in seconds)
    2. ∙ giveall start <GiveAll’s name> [i] → Start a GiveAll (If "i" is set, the GiveAll will start instantly (without the countdown)
    3. ∙ giveall stop → Stop the current GiveAll
    4. ∙ giveall add <GiveAll’s name> → Add the held’s item to the GiveAll
    5. ∙ giveall edit[item] → Open the GUI to modify items gf the GivAll
    6. ∙ giveall delete <GiveAll’s name> → Delete a GiveAll
    7. ∙ giveall list [gui] → See the GiveAll’s list (if "gui" is set, the list will be in a GUI)
    8. ∙ giveall givehand → Give to everybody the held’s item
    9. ∙ giveall rename <GiveAll’s name> <new name> → rename a GiveAll
    10. ∙ giveall clear <GiveAll’s name> → Delete all the items of a GiveAll
    11. ∙ giveall copy <GiveAll 1> <GiveAll2> → Copy the items of GiveAll1 into GiveAll2
    12. ∙ giveall settime <GiveAll’s name> <time> → (or "changetime") Modify the duration of a GiveAll. 0 = infinite
    13. ∙ giveall setcountdown <GiveAll’s name> <time> → (or "setcd", "scd", "changecountdown", "changecd", "ccd") Modify the countdown of a GiveAll. Must be over than or equal to 10
    14. ∙ giveall modify <GiveAll’s name> → Modify a GiveAll (with GUI) (time, countdown, rename…)
    15. ∙ giveall update → Check if an update is available
    16. ∙ giveall help [(1|2)]→ Print the help page

    Code (Text):
    2.     #-----------------------------------------------------#
    3.     #                     Prefixes                          #
    4.     #-----------------------------------------------------#
    5.     Prefix: &b[&aGiveAll&b]&r
    6.     ErrorPrefix: &cError :&c
    8.     #-----------------------------------------------------#
    9.     #                     Error-messages                     #
    10.     #-----------------------------------------------------#
    11.     #Mesage when we don't have the permission to do something. There is no prefix before the message, so put them.
    12.     NoPermission: &b[&aGiveAll&b] &cError : You don't have the permission to do this !
    14.     #Message when the Giveall doesn't exist
    15.     GADoesntExist: &cThis GiveAll doesn't exist
    17.     #Message when the GiveAll already exist
    18.     GaAlreadyExists: &cThis GiveAll already exists
    20.     #Message when we want to start a Giveall wich is empty
    21.     GAIsEmpty: &cAn error occurred while attempting to start this GiveAll : it is empty !
    23.     #Message when we want to start a GiveAll, while a GiveAll is already in progress
    24.     GAIsAlreadyStarted: &cThere is already a GiveAll in progress ! GiveAll: &c&o%{_ga}%
    26.     #Message when we want to stop a Giveall, but there is not GiveAll in progress
    27.     NoGAInProgress: &cThere isn't any GiveAll in progress
    29.     #Message when we want to add/give an item but we have nothing in our hand
    30.     TakeAnItem: &cPlease, take an item in your hand
    32.     #Message when we want to delete/rename a GiveAll wich is in progress
    33.     CantModifyBecauseGAIsInProgress: &cImpossible de faire cette action : ce giveall est en cours !
    35.     #Message when we want to give an item to everybody but there is nobody online
    36.     Alone: &cThere is no one online.
    38.     #Message when we want to delete a GiveAll wich is in progress
    39.     CantDeleteBecauseGAIsInProgress: &cYou can't delete this GiveAll because it is in progress
    41.     #Message when we want to create a GiveAll with a name already used
    42.     NewGAAlreadyExists: &cThe name %{_newName}% is already used !
    44.     #Message when we want enter a integer less than 10
    45.     TimeForCDIsTooBig: &cPlease enter an integer witch is over than or equal to 10 !
    47.     #-----------------------------------------------------#
    48.     #                     Syntax-error messages              #
    49.     #-----------------------------------------------------#
    50.     #Message when we want to enter the GiveAll duration but the time we've enter is not an integer
    51.     WrongSyntaxForTime: &cThe time you've set isn't correct. Make sure to put a whole number
    53.     #Message when we do /giveall start wrongly. There is 2 messages
    54.     WrongCommandSyntax_Start: &c/giveall start <name> [instant]
    55.     WrongCommandSyntaxIndication_Start: &cIf 'instant' (or 'i') is set, the GiveAll will start instantly.
    57.     #Message when we do /giveall create wrongly. There is 2 messages
    58.     WrongCommandSyntax_Create: &c/giveall create <name> [time (in second)]
    59.     WrongCommandSyntaxIndication_Create: &cthe GiveAll will last the indicated time. If the time is not set, you will have to stop it manually.
    61.     #Message when we do /giveall add wrongly.
    62.     WrongCommandSyntax_Add: &c/giveall add <name>
    64.     #Message when we do /giveall edit wrongly.
    65.     WrongCommandSyntax_EditItem: &c/giveall edit[item] <name>
    67.     #Message when we do /giveall rename wrongly.
    68.     WrongCommandSyntax_Rename: &c/giveall rename <old name> <new name>
    70.     #Message when we do /giveall copy wrongly. There is 3 messages
    71.     WrongCommandSyntax_CopyContent: &c/giveall copy <GiveAll 1> <GiveAll 2>
    72.     WrongCommandSyntaxIndication_CopyContent: &cGiveAll 1 = Name of the Giveall whose items will be copied
    73.     WrongCommandSyntaxIndication_CopyContent2: &cGiveAll 2 = Name of the Giveall where items will be copied
    75.     #Message when we do /giveall clear wrongly.
    76.     WrongCommandSyntax_Clear: &c/giveall clear <name>
    78.     #Message when we do /giveall changetime wrongly.
    79.     WrongCommandSyntax_ChangeTime: &c/giveall changetime <name> <time (in second)>
    81.     #Message when we do /giveall modify wrongly.
    82.     WrongCommandSyntax_Modify: &c/giveall modify <name>
    84.     #Message when we do /giveall countdown wrongly.
    85.     WrongCommandSyntax_ChangeCD: &c/giveall countdown <name> <time (in second)>
    87.     #-----------------------------------------------------#
    88.     #                         Messages                      #
    89.     #-----------------------------------------------------#
    91.     #Message of the countdown, when a GiveAll starts
    92.     #PlaceHolders: %{_time.left}% : return the time left
    93.     #PlaceHolders: %{_ga}% : return the GiveAll name
    94.     GAStartsInXSeconds: &aThe givall starts in &b%{_time.left}% &asecond(s) ! &3&o(GiveAll: %{_ga}%)
    96.     #Message when a GiveAll start
    97.     #PlaceHolders: %{_ga}% : return the GiveAll name
    98.     GAStarts: &aGiveAll is starting ! &3&o(GiveAll: %{_ga}%)
    100.     #Message when the giveall is finished
    101.     #PlaceHolders: %{_ga}% : return the GiveAll name
    102.     GAIsFinished: &aGiveAll is finished ! Thank you for participating !
    104.     #Message when the GiveAll is stopped by a player
    105.     #PlaceHolders: %{_player}% : return the player's name
    106.     #PlaceHolders: %{_ga}% : return the GiveAll name
    107.     GAHasBeenStoppedByPlayer: &aThe GiveAll &b%{_ga}%&a has been stopped by %{_player}% !
    109.     #Message when the GiveAll is stopped by the console
    110.     #PlaceHolders: %{_ga}% : return the GiveAll name
    111.     GAHasBeenStoppedByConsole: &aThe GiveAll &b%{_ga}%&a has been stopped !
    113.     #Message when we do /ga givehand
    114.     #PlaceHolders: %{_item}% : return the given item
    115.     #PlaceHolders: %{_number}% : return the number of player
    116.     GAHandHasBeenGiven: &aYou've successfully gave &b%{_item}%&a to &b%{_number}% player(s)
    118.     #Broadcast when we do /ga givehand
    119.     #PlaceHolders: %{_item}% : return the given item
    120.     #PlaceHolders: %{_player}% : return the giver's name
    121.     GAHandBroadcast: &b%{_player}%&a gave &b%{_item}% &ato everyone !
    123.     #Small addition, wich will be put in place of "%{_stop}%" in the "GACreated" message, wich return the way that the GiveAll will be stopped
    124.     #PlaceHolders: %{_seconds}% : return the duration of the GiveAll
    125.     GAMustBeStoppedManually: &aIt will stop manually. #It will be put in place of "%{_stop}%"
    126.     GAWillBeStoppedAutomatically: It will stop after %{_seconds}%&asec. #It will be put in place of "%{_stop}%"
    128.     #Message when we create a GiveAll
    129.     #PlaceHolders: %{_stop}% : return the way that the GiveAll will be stopped
    130.     GACreated: &aThe GiveAll &b&l%{_ga}%&a has been created ! %{_stop}%
    132.     #Message when we delete
    133.     #PlaceHolders: %{_ga}% : return the GiveAll name
    134.     GADeleted: &aYou've deleted the GiveAll &b&l%{_ga}%&a !
    136.     #Message when we add an item to a giveall (with /giveall add <name>)
    137.     #PlaceHolders: %{_ga}% : return the GiveAll name
    138.     #PlaceHolders: %{_item}% : return the added item
    139.     ItemAdded: &aYou've added &byour item &ain the &b%{_ga}%'s items &7&o(item added : %{_item}%)
    141.     #Message when we rename a GiveAll
    142.     #PlaceHolders: %{_ga}% : return the old name of the GiveAll
    143.     #PlaceHolders: %{_newName}% : return the new name of the GiveAll
    144.     RenamedSuccessfully: &aYou have successfully rename the GiveAll &b%{_ga}% &ain &b%{_newName}% &a!
    146.     #Message when we copy the items of a giveall into another
    147.     #PlaceHolders: %{_ga1}% : return the name of the Giveall whose items will be copied
    148.     #PlaceHolders: %{_ga2}% : return the name of the Giveall where items will be copied
    149.     SuccessfullyCopied: &aYou've successfully copied items of the giveall &b%{_ga1}% &ainto &b%{_ga2}%&a !
    151.     #Message when we clear the items of a Giveall
    152.     #PlaceHolders: %{_ga}% : return the GiveAll name
    153.     SuccessfullyCleared: &aYou've successfully cleared the GiveAll &b%{_ga}%
    155.     #Message when we change the duration of a GiveAll
    156.     #PlaceHolders: %{_ga}% : return the GiveAll name
    157.     #PlaceHolders: %{_time}% : return the duration
    158.     SuccessfullyChangedTime: &aYou've successfully changed the duration of the GiveAll &b%{_ga}%&a (%{_time}%s)
    160.     #Message when we change the countdown of a GiveAll
    161.     #PlaceHolders: %{_ga}% : return the GiveAll name
    162.     #PlaceHolders: %{_time}% : return the countdown
    163.     SuccessfullyChangedCD: &aYou've successfully changed the countdown of the giveall &b%{_ga}% &a(%{_time}%s)
    165.     #Message where we have to click to rename (MSG), and its tooltip (TTP)
    166.     #PlaceHolders: %{_ga}% : return the GiveAll's name
    167.     MSGClickForRename: &aClick-me to rename &b%{_ga}%&a !
    168.     TTPClickForRename: &aClick to do /ga rename %{_ga}%
    170.     #Message when the skript is Reloading
    171.     Reloading: &aReloading...
    173.     #-----------------------------------------------------#
    174.     #              Configuration of the list              #
    175.     #-----------------------------------------------------#
    176.     #Color of the comma and of the "and" in the list
    177.     ComaColorInList: &a
    178.     #Color of the GiveAll's names in the list
    179.     GAColorInList: &b
    180.     #Message when the list is empty
    181.     GAListIsEmpty: &aThere is no giveall !
    182.     #Message before the list
    183.     #PlaceHolders: %{_number}% : return the number of GiveAlls
    184.     GAList: &aList of all GiveAlls &f&o(%{_number}%) &a:&b
    186.     #-----------------------------------------------------#
    187.     #                     Name of GUIs                      #
    188.     #-----------------------------------------------------#
    189.     #Name of the GUI when you have to confirm to delete a GiveAll
    190.     #PlaceHolders: %{_ga}% : return the GiveAll name
    191.     ConfirmDeleteGUI: &cRemove &c&o%{_ga}%
    193.     #Name of the GUI to edit items of a GiveAll
    194.     #PlaceHolders: %{_ga}% : return the GiveAll name
    195.     EditItems: &b[&aGiveAll&b] &b%{_ga}%
    197.     #Name of the list's GUI
    198.     TitleGUIList: &b[&aGiveAll&b]
    200.     #Name of the GUI to modify a giveall (/ga modify <name>)
    201.     #PlaceHolders: %{_ga}% : return the GiveAll name
    202.     ModifyGA: &aGiveAll &b%{_ga}%
    204.     #-----------------------------------------------------#
    205.     #             Name of the Items, in the GUI             #
    206.     #-----------------------------------------------------#
    207.     #Name of the book to indicate the name of the Giveall
    208.     # (In the Delete GUI and the Modify GUI)
    209.     #PlaceHolders: %{_ga}% : return the GiveAll name
    210.     InfoGAName: &eGiveAll : %{_ga}%
    212.     #Name of the button to cancel the delete of a GiveAll
    213.     CancelDelete: &cCancel
    215.     #Name of the button to confirm the delete of a GiveAll
    216.     ConfirmDelete: &aRemove
    218.     #Name of the button to close the GUI
    219.     CloseGUIItem: &cQuit
    221.     #Name of the button to go back to the list
    222.     BackToGAList: &cBack to the list
    224.     #Name of the button to go to the next page
    225.     NextPage: &fNext page
    227.     #Name of the button to go to the previous page
    228.     PreviousPage: &fPrevious page
    230.     #Name of the button to add an item
    231.     AddItemToGA: &aAdd an item
    233.     #Name of the book, in the GiveAll list
    234.     #PlaceHolders: %{_ga}% : return the GiveAll name
    235.     GAListItem: &aGiveAll &b%{_ga}%
    237.     #Lore of the book, in the GiveAll list
    238.     #PlaceHolders: %{_action}% : return what will happen when we will left click on the book (stop or start)
    239.     #PlaceHolders: %{_satut}% : return the actual status of the GiveAll (I know, we write "status", and not "statut", but in french we write "statut" and I didn't change...)
    240.     #PlaceHolders: %{_nbitem}% : return the amount of items in the GiveAll
    241.     #PlaceHolders: %{_time}% : return the duration of the GiveALl
    242.     LoreGAList: ||&7&m--------------------||&cMiddle click: modify items||&cRight click: delete||&cLeft click: &c%{_action}%||&cShift left click: modify the GiveAll||&r||&7&m--------------------||&e&oInformations||&aNumber of items: &b%{_nbitem}%||&aDuration: &b%{_time}%||&aCountdown: &b%{_cd}%||&aStatus: &b%{_statut}%
    244.     #Name if the item between the two button to go to the next/previous page
    245.     SeveralPageItem: &e&oSoon: Several pages #The item between 'next page' and 'previous page'. In the future, it will be replaced by a Several-page system
    247.     #The action that will be executed (when we click while it is not in progress)
    248.     LeftClickActionStart: &cstart
    250.     #The action that will be executed (when we click while it is in progress)
    251.     LeftClickActionStop: &cstop
    253.     #The status of the GiveAll (when it is in progress)
    254.     StatusInProgress: In progress...
    256.     #The status of the GiveAll (when it is not in progress)
    257.     StatusStop: stopped
    259.     #Name of the items to clear items of a Giveall
    260.     ClearGA: &cClear the items of the GiveAll
    262.     #When a GiveAll is infinite (in the Giveall list)
    263.     InifiteTimeForGUIList: Infinite
    265.     #Name of the items to rename a Giveall, in the "modify" GUI
    266.     GAModifyRename: &eRename
    268.     #Name of the button to modify items of a Giveall, in the "modify" GUI
    269.     GAEditItems: &eModify items
    271.     #Name of the button to delete a Giveall, in the "modify" GUI
    272.     DeleteInModifyGUI: &cDelete
    274.     #Name of buttons to modify the duration of a Giveall, in the "modify" GUI
    275.     AddTimeByGUI: &aAdd %{_time}%&as to the duration of the GiveAll
    276.     RemoveTimeByGUI: &cRemove %{_time}%&cs from the duration of the GiveAll
    277.     SeeTimeByGUI: &aDuration of the GiveAll : &b%{_time}%&as
    278.     LoreSeeTimeByGUI: &r||&b0 &a= Infinite
    280.     #Name of buttons to modify the countdown of a Giveall, in the "modify" GUI
    281.     AddCDByGUI: &aAdd %{_time}%&as to the countdown
    282.     RemoveCDByGUI: &cRemove %{_time}%&cs from the countdown
    283.     SeeCDByGUI: &aCountdown: &b%{_time}%&as
    286.     #-----------------------------------------------------#
    287.     #                         Commands                      #
    288.     #-----------------------------------------------------#
    289.     #Name of the mains command
    290.     MainCommand: GiveAll #we don't care about uppercases/lowercases
    292.     #Name of aliases
    293.     AliasesCommands: ga, givea, gall, give-all #Separate with a coma
    295.     #-----------------------------------------------------#
    296.     #                         Permissions                     #
    297.     #-----------------------------------------------------#
    298.     #Permissions.
    299.     PermissionAll: giveall.*
    300.     PermissionCreate: giveall.create
    301.     PermissionStart: giveall.start
    302.     PermissionReload: giveall.reload
    303.     PermissionStop: giveall.stop
    304.     PermissionGiveHand: giveall.givehand
    305.     PermissionDelete: giveall.delete
    306.     PermissionAddItem: giveall.additem
    307.     PermissionEditItem: giveall.edititem
    308.     PermissionChatList: giveall.list.chat
    309.     PermissionGUIList: giveall.list.gui
    310.     PermissionRename: giveall.rename
    311.     PermissionHelp: giveall.help
    312.     PermissionUpdateCheck: giveall.updatecheck
    313.     PermissionCopyContent: giveall.copycontent
    314.     PermissionClearGA: giveall.clear
    315.     PermissionModify: giveall.modify
    316.     PermissionChangeTime: giveall.settime
    317.     PermissionChangeCountDown: giveall.setcountdown

    Images and videos

    Help page (/ga help)

    List of all the GiveAlls,

    The "Edit" GUI (to add/remove items) (/ga edit <nom>)
    (Add items: drag-and-drop it on the gold-block
    remove all the items: click on the redstone dust
    remove an items: right click on it)

    The "Modify" GUI, to modify a loads of parameter of your GiveAll, such as CountDown, Duration, Rename, Edit Items, delete, start/stop... (/ga modify <nom>)

    Countdown when a GiveAll starts

    List of all the GIveAll (/ga list)

    Message when a GiveAll is stop (/ga stop <name>)

    If you want to do a video, you can !
    But don't forget to say my name (noftaly), and to put the download link in the description. I will add the video on the ressource page

    Add-ons and version


    Java 8
    Skript 2.2

    Developed and tested with:

    Java 8
    Spigot 1.12.2
    Skript 2.2-dev31c
    TuSKe 1.8.2-dev7
    SkQuery 3.21.4


    Code (Text):
    1. Beta 1.0 : (private)
    3. - Creation of the skript
    5. Beta 2.0 : (public)
    7. - Added: /ga update
    8. - Added: Configuration
    9. - Fix of some bugs
    10. - Added Json in the /ga help
    11. - Added permission
    13. Beta 3.0 :
    15. - Modification of the Configuration
    16. - Added some link in the "update check"
    17. - Code modification
    18. - Ressource's page modification
    19. - Added a Trello
    21. Beta 3.2 :
    23. - Added: /ga rename <ancien nom> <nouveau nom>
    24. - Added: /ga copy <GiveAll> <GiveAll>
    25. - Added: /ga clear <GiveAll>
    26. - Added: /ga changetime <GiveAll> <time>
    27. - Added an item to clear all the items in the "Edit" GUI
    28. - Added some permissions
    29. - Added the "Informations" part in the lore of the book, in the list
    30. - Modification of the Configuration
    31. - Modification of the code
    33. Beta 3.2.1 :
    35. - Modification of the configuration
    37. Beta 3.2.2 :
    39. - Modification of the code
    41. Beta 4 :
    43. - Added: /ver GiveAll
    44. - Added: /ga modify
    45. - Added: /ga setcountdown
    46. - Fix of the « internal occurred while etc. » in the /list gui
    47. - Modification of the configuration
    48. - Modification of the items in the GUI list
    49. - Modification of the /ga help
    50. - Modification of the way that the countdown works
    51. - Optimisation
    53. Betas 4.1 ; 4.2 ; 4.3 :
    55. - BugFix

    To-Do and bugs

    ▶ Add a .yml
    ▶ Add Several-Page system
    ✔ /ga rename <Old name> <new name>
    ▶ Add a log file
    ✔ Add other language, as english
    ▶ Let-me know your ideas !

    Known Bugs:

    ▶ Sometimes, when we add an item that already exist, by the "edit" GUI, the old one become ghost
    ↪ In progress...
    ▶ Say-me if you found a bug !

    Servers using the skript

    Let-me know if you use the skript, and i will add you're IP and your TeamSpeak/discord/site... here !

    Servers using the skript:
    - ...
    - ...


    Thanks a lot for downloading this skript !

    A trello with all the things about the skript is available here ! (in french) : https://trello.com/b/Fid0us18/skript-giveall

    You're not alow to claim this skript, or any of its parts as yours.
    You're not alow to post this skript on a forum, without my permission.

    You can do videos on it !
    But don't forget to say my name (noftaly), and to put the download link in the description. I will add the video on the ressource page

    The skript has ★★★★★ (9 reviews) on skript-mc !
  • About Us

    Our community has been around for many years and pride ourselves on offering unbiased, critical discussion among people of all different backgrounds. We are working every day to make sure our community is one of the best.
  • Support skUnity

    The staff team works very hard to make sure the community is running its best. This means constantly performing upgrades to systems and other features. This does cost a bit of money to keep doing. Donating to skUnity would allow the server to keep running smoothly for years to come!

    Support Us!
  • Join Our Discord

    Discord is an all-in-one voice and text chat for gamers that’s free, secure, and works on both your desktop and phone.