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.

mathhulk's Snippets (Paginated GUI, Typing GUI, Armor Stand Editor, ...)

Discussion in 'Snippets' started by mathhulk, Jan 29, 2017.

  1. mathhulk

    mathhulk Member

    Joined:
    Jan 29, 2017
    Messages:
    55
    Likes Received:
    15
    I currently only have a few, but more will be coming soon.

    Paginated GUI
    Today, I embarked on a project to create a very manageable and easy-to-use GUI for both players and server administrators. After fiddling around with a pagination system for my tag GUI, I finally got it working by using a system similar to grabbing pagination with PHP.

    I've explained each part of the script pretty well using comments, hoping that you'll be able to edit and fill in the rest yourself.
    Code (Skript):
    1. command /gui [<integer=1>]:
    2.     trigger:
    3.         set {_list::*} to integers from 1 to 215
    4.         # This is just an example of a list variable that would be used.
    5.         # Make sure to change the other parts of the script where this variable is used and not just this list variable.
    6.        
    7.         set {_page::rows} to 3
    8.         # This is the amount of rows in the GUI.
    9.  
    10.         set {_page::max} to arg 1 * (({_page::rows} - 1) * 9)
    11.         set {_page::min} to (arg 1 - 1) * (({_page::rows} - 1) * 9)
    12.         set {_page::posts} to 0
    13.         set {_page::count} to 0
    14.         set {_page::number} to arg 1
    15.         # These specify the amount of items that should be displayed on each page.
    16.  
    17.         set {_pages} to size of {_list::*} / (({_page::rows} - 1) * 9)
    18.         set {_pages} to "%{_pages}%"
    19.         set {_pages::*} to {_pages} split at "."
    20.         # The only reason I have to set a variable to itself is because Skript won't allow me to do this any other way.
    21.  
    22.         set {_page::total} to {_pages::1}
    23.         if {_pages::2} is set:
    24.             set {_page::total} to {_page::total} parsed as an integer
    25.             add 1 to {_page::total}
    26.         # This will grab the total amount of pages.
    27.  
    28.         if inventory name of player's current inventory does not contain "&8GUI | ":
    29.             open chest with {_page::rows} rows named "&8GUI | %{_page::number}%/%{_page::total}%" to player
    30.         # Only open a new chest if the player isn't already in the GUI.
    31.  
    32.         else:
    33.             loop ({_page::rows} * 9) times:
    34.                 set slot (loop-number - 1) of player's current inventory to air
    35.             set inventory name of player's current inventory to "&8GUI | %{_page::number}%/%{_page::total}%"
    36.         # Reset the GUI if the player is already in it.
    37.  
    38.  
    39.         if {_page::number} is greater than 1:
    40.             set slot (({_page::rows} - 1) * 9) of player's current inventory to piston named "&dPrevious Page"
    41.         # Display a previous page button only if the user is not on the first page.
    42.  
    43.         loop {_list::*}:
    44.             if {_page::count} is less than {_page::max}:
    45.                 if {_page::count} is greater than or equal to {_page::min}:
    46.                     # Only display an item if certain page specifications are met.
    47.          
    48.                     set slot {_page::posts} of player's current inventory to stone named "&b%loop-value%"
    49.                     add 1 to {_page::posts}
    50.             add 1 to {_page::count}
    51.  
    52.         if {_page::number} is less than {_page::total}:
    53.             set slot ({_page::rows} * 9 - 1) of player's current inventory to piston named "&dNext Page"
    54.         # Display a next page button if the current page is not the last page.
    55.  
    56. on inventory click:
    57.     if inventory name of player's current inventory contains "&8GUI | ":
    58.         cancel the event
    59.        
    60.         set {_page::rows} to 3
    61.         # This is the amount of rows in the GUI.
    62.  
    63.         set {_page} to "%inventory name of player's current inventory%"
    64.         replace all "&8GUI | " in {_page} with ""
    65.         set {_pages::*} to {_page} split at "/"
    66.         # Grab the page that the player is currently on.
    67.  
    68.         if clicked slot is (({_page::rows} - 1) * 9):
    69.             if clicked item name is "&dPrevious Page":
    70.                 if {_pages::1} parsed as an integer is greater than 1:
    71.                     execute player command "/gui %{_pages::1} parsed as an integer - 1%"
    72.                     # Open the previous page to the user if they are not already on it.
    73.                 else:
    74.                     close inventory of player
    75.                     send "You are already on the first page."
    76.         else if clicked slot is ({_page::rows} * 9 - 1):
    77.             if clicked item name is "&dNext Page":
    78.                 execute player command "/gui %{_pages::1} parsed as an integer + 1%"
    79.                 # Open the next page to the user.

    Typing GUI
    With the typing GUI, you can allow your players to type uppercase and lowercase letters, along with spaces, in a GUI and have it outputted via a message. You can integrate this into other scripts that might require some form of typing (clan names, etc.) where you might not want to use chat.
    ...Possibly a replacement for the anvil GUI?
    Code (Skript):
    1. command /type:
    2.     trigger:
    3.         open chest with 5 rows named "&8Text: _" to player
    4.         # Open a chest to the player with enough rows to handle the alphabet and numbers, along with a space.
    5.  
    6.         set slot 41 of player's current inventory to green stained glass pane named "&aDone"
    7.         set slot 39 of player's current inventory to red stained glass pane named "&cCancel"
    8.         set slot 35 of player's current inventory to white stained glass pane named "&7Space"
    9.         set slot 44 of player's current inventory to gray stained glass pane named "&9Backspace"
    10.         set slot 36 of player's current inventory to gray stained glass pane named "&9Uppercase"
    11.         # Adds a done and cancel button, along with the space character and uppercase letters.
    12.  
    13.         set {_slot} to 36
    14.         loop 9 times:
    15.             if {_slot} is not 39 or 44 or 41 or 36:
    16.                 set slot {_slot} of player's current inventory to black stained glass pane named "&8"
    17.             add 1 to {_slot}
    18.         # Set the empty slots of the bottom row to black stained glass pane.
    19.    
    20.         set {_letters::*} to split "abcdefghijklmnopqrstuvwxyz123456789" at ""
    21.         set {_slot} to 0
    22.         loop {_letters::*}:
    23.             if {_slot} is greater than 34:
    24.                 stop
    25.             set slot {_slot} of player's current inventory to name tag named "&7%loop-value%"
    26.             add 1 to {_slot}
    27.         # Loop through the letters of the alphabet and add them in to the GUI.
    28.  
    29. on inventory click:
    30.     if inventory name of player's current inventory contains "&8Text: ":
    31.         cancel the event
    32.  
    33.         set {_text} to "%inventory name of player's current inventory%"
    34.         replace all "&8Text: " and "_" in {_text} with ""
    35.         # Grab the name of the GUI (their text).
    36.  
    37.         if clicked slot is less than 36:
    38.             if length of {_text} is greater than 64:
    39.                 send "You cannot add anymore letters to your text."
    40.             # Set the maximum number of letters to 64, as I am not sure what the maximum GUI title length is.
    41.        
    42.             else:
    43.                 set {_name} to "%{_text}%%clicked item name%_"
    44.                 replace all "&7" in {_name} with ""
    45.                 # Grab the letter clicked.
    46.        
    47.                 if clicked slot is 35:
    48.                     set {_name} to "%{_text}% _"
    49.                 # Set the letter to a space if the space block is clicked.
    50.            
    51.                 if length of {_text} is greater than 62:
    52.                     replace all "_" in {_name} with ""
    53.                 # Remove the _ from the title to inform users that they are no longer able to add letters.
    54.            
    55.                 set inventory name of player's current inventory to "&8Text: %{_name}%"
    56.                 # Set the name of the inventory to the new text.
    57.         else if clicked slot is 39:
    58.             close inventory of player
    59.             send "Your text has been removed from memory."
    60.         else if clicked slot is 41:
    61.             close inventory of player
    62.             if {_text} is not "":
    63.                 send "Your text is: %{_text}%"
    64.                 # Send the text to the user if there is any.
    65.             else:
    66.                 send "No text had been added."
    67.         else if clicked slot is 44:
    68.             if length of {_text} is greater than 1:
    69.                 set {_name} to subtext of "%{_text}%" from 1 to (length of {_text} - 1)
    70.             else:
    71.                 set {_name} to ""
    72.             # Grab the text and remove the last letter, or set the text to empty if there is no text after removal.
    73.    
    74.             set inventory name of player's current inventory to "&8Text: %{_name}%_"
    75.             # Set the name of the inventory to the new text.
    76.         else if clicked slot is 36:
    77.             if clicked item name is "&9Uppercase":
    78.                 set {_letters::*} to split "ABCDEFGHIJKLMNOPQRSTUVWXYZ" at ""
    79.                 set {_slot} to 0
    80.                 loop {_letters::*}:
    81.                     if {_slot} is greater than 34:
    82.                         stop
    83.                     set slot {_slot} of player's current inventory to name tag named "&7%loop-value%"
    84.                     add 1 to {_slot}
    85.                 set slot 36 of player's current inventory to gray stained glass pane named "&9Lowercase"
    86.                 # Set the letters to uppercase and the case button to lowercase.
    87.             else if clicked item name is "&9Lowercase":
    88.                 set {_letters::*} to split "abcdefghijklmnopqrstuvwxyz" at ""
    89.                 set {_slot} to 0
    90.                 loop {_letters::*}:
    91.                     if {_slot} is greater than 34:
    92.                         stop
    93.                     set slot {_slot} of player's current inventory to name tag named "&7%loop-value%"
    94.                     add 1 to {_slot}
    95.                 set slot 36 of player's current inventory to gray stained glass pane named "&9Uppercase"
    96.                 # Set the letters to lowercase and the case button back to uppercase.

    Armor Stand Editor
    As suggested by one of the users on the official skUnity Discord server, I have made a very simple armor stand editor. I am calling such a snippet simple because it still requires basic knowledge of NBT and the values they support. For example, for true and false statements, you would have to input 1 or 0. However, for rotations, you don't need to add an f after the degree, as it is automatically entered.
    Code (Skript):
    1. command /editas [<text>] [<text>] [<text>] [<text>] [<text>]:
    2.     trigger:
    3.         if "%targeted entity%" is "armor stand":
    4.             # Force the player to be looking at an armor stand.
    5.      
    6.             if arg 1 is "NoGravity" or "ShowArms" or "Invisible" or "Small" or "NoBasePlate":
    7.                 # Check if the first value is a piece of true/false NBT.
    8.          
    9.                 if arg 2 is "1" or "0":
    10.                     # Force the user to input either 1 (true) or 0 (false).
    11.                  
    12.                     add "{%arg 1%:%arg 2%}" to nbt of targeted entity
    13.                     send "An NBT value of {%arg 1%:%arg 2%} has been added to the targeted armor stand."
    14.                     # Add the NBT to the armor stand.
    15.                  
    16.                     stop
    17.                 send "You must specify 1 or 0. (true/false)"
    18.             else if arg 1 is "Pose":
    19.                 if arg 2 is "Head" or "Body" or "LeftArm" or "RightArm" or "LeftLeg" or "RightLeg":
    20.                     # Check if the second value is a correct part of the armor stand.
    21.                  
    22.                     if "%arg 3%%arg 4%%arg 5%" does not contain "<none>":
    23.                         # Force the player to enter integers for the rotations.
    24.                      
    25.                         add "{%arg 1%:{%arg 2%:[%arg 3%f,%arg 4%f,%arg 5%f]}}" to nbt of targeted entity
    26.                         send "An NBT value of {%arg 1%:{%arg 2%:[%arg 3%f,%arg 4%f,%arg 5%f]}} has been added to the targeted armor stand."
    27.                         # Add the NBT to the armor stand.
    28.                      
    29.                         stop
    30.                     send "You must specify three rotations."
    31.                     stop
    32.                 send "You must specify a part of the armor stand to modify."
    33.             else if arg 1 is "ArmorItems":
    34.                 if "%arg 2%%arg 3%%arg 4%%arg 5%" does not contain "<none>":
    35.                     # Check if all of the arguments are filled in.
    36.                  
    37.                     set {_armor::head} to ""
    38.                     set {_armor::chest} to ""
    39.                     set {_armor::legs} to ""
    40.                     set {_armor::boots} to ""
    41.                     # Set the variables to empty, so that they won't return <none> if they aren't changed.
    42.                  
    43.                     if arg 2 is not "none":
    44.                         set {_armor::head} to "Count:1,id:""%arg 2%"""
    45.                         set targeted entity's helmet to (arg 2 parsed as an item)
    46.                         # Change the NBT if the value isn't none.
    47.                      
    48.                     if arg 3 is not "none":
    49.                         set {_armor::chest} to "Count:1,id:""%arg 3%"""
    50.                         set targeted entity's chestplate to (arg 3 parsed as an item)
    51.                         # Change the NBT if the value isn't none.
    52.                      
    53.                     if arg 4 is not "none":
    54.                         set {_armor::legs} to "Count:1,id:""%arg 4%"""
    55.                         set targeted entity's leggings to (arg 4 parsed as an item)
    56.                         # Change the NBT if the value isn't none.
    57.                      
    58.                     if arg 5 is not "none":
    59.                         set {_armor::boots} to "Count:1,id:""%arg 5%"""
    60.                         set targeted entity's boots to (arg 5 parsed as an item)
    61.                         # Change the NBT if the value isn't none.
    62.                      
    63.                     send "An NBT value of {ArmorItems:[{%{_armor::boots}%}, {%{_armor::legs}%}, {%{_armor::chest}%}, {%{_armor::head}%}]} has been added to the targeted armor stand."
    64.                     send "&cskStuff is currently having problems with armor NBT, which is why we are using effects from Skript instead of adding NBT."
    65.                     # Add the NBT to the armor stand.
    66.                  
    67.                     stop
    68.                 send "You must specify an item for each slot, or none."
    69.             else:
    70.                 send "You must specify an NBT value to alter."
    71.             stop
    72.         send "You must be looking at an armor stand to edit it."
     
    #1 mathhulk, Jan 29, 2017
    Last edited: Apr 16, 2017
    • Like Like x 1
  2. ShaneBee

    Moderator Resource Staff Supporter + Addon Developer

    Joined:
    Sep 7, 2017
    Messages:
    2,184
    Likes Received:
    225
    Why didn't you just use

    command /gui [<integer=1>]

    to default the input to 1 if nothing is specified?
     
  3. ShaneBee

    Moderator Resource Staff Supporter + Addon Developer

    Joined:
    Sep 7, 2017
    Messages:
    2,184
    Likes Received:
    225
    My bad. You can change yourself if you want.

    EDIT
    I changed it in the main post.
     
    #3 ShaneBee, Jan 29, 2017
    Last edited by a moderator: Jan 29, 2017
  4. ShaneBee

    Moderator Resource Staff Supporter + Addon Developer

    Joined:
    Sep 7, 2017
    Messages:
    2,184
    Likes Received:
    225
    I know that adding the numbers to the list is an example but you could just do:
    Code (Skript):
    1.  
    2. set {_list::*} to integers from 1 to 32
    3.  
     
  5. ShaneBee

    Moderator Resource Staff Supporter + Addon Developer

    Joined:
    Sep 7, 2017
    Messages:
    2,184
    Likes Received:
    225
    Yeah, the example was mostly focused on the pagination itself. As I was expecting users to replace the example list variable with a variable that was already set, I didn't really pay any attention to it.
    --- Double Post Merged, Jan 31, 2017, Original Post Date: Jan 30, 2017 ---
    Update:
    • Cleaned up a few parts of the snippet as noted above
    • Switching between pages is now seamless as the script no longer opens a new GUI for each page
      • check's if the user is already in the GUI
      • resets the GUI if the user is already in the GUI
    --- Double Post Merged, Feb 4, 2017 ---
    More Updates
    • Paginated GUI
      • Added more comments so that newer scripters might be able to understand the inventory click events better
      • The inventory click events are now only triggered if an item exists in the slot
    • Typing GUI
      • Support for uppercase and lowercase letters
      • Support for spaces and backspace
      • The text is sent to the user when they are finished
      • Smooth transitions between clicking items
      • The text is all saved in the title of the GUI
      • Supports text up to 64 letters long (this can be edited easily, as I wasn't sure if there was a title limit)
      • Supports a-b, A-B, 1-9, space, and backspace

    --- Double Post Merged, Feb 4, 2017 ---
    If anyone has suggestions for snippets, feel free to let me know!
    --- Double Post Merged, Feb 5, 2017 ---
    Armor Stand Editor
    • Easily edit the armor and other functionalities and customizations of armor stands through a single command
    • Supports true/false data tags for NoGravity, ShowArms, Invisible, Small and NoBasePlate
      • /editas NoGravity 1 (true)
    • Also supports Pose and ArmorItems data tags
      • /editas Pose Head 100 100 100
      • /editas ArmorItems iron_helmet iron_chestplate iron_leggings iron_boots
    • Must be looking at the Armor Stand
     
    • Like Like x 1
  6. ShaneBee

    Moderator Resource Staff Supporter + Addon Developer

    Joined:
    Sep 7, 2017
    Messages:
    2,184
    Likes Received:
    225
    If any of you want/need to test the Snippets, they are live and on my server to test with the latest version (maths test server).
    The IP is in my signature.
    #ShamelessSelfPromotion
     
  7. ShaneBee

    Moderator Resource Staff Supporter + Addon Developer

    Joined:
    Sep 7, 2017
    Messages:
    2,184
    Likes Received:
    225
    Updates
    • Removed the need to have to change the amount of rows everywhere
    • Added a variable to specify the amount of rows your GUI has
    • All equations now factor in the amount of rows variable instead of a number
    • Only have to change the rows variable now
     
  8. ShaneBee

    Moderator Resource Staff Supporter + Addon Developer

    Joined:
    Sep 7, 2017
    Messages:
    2,184
    Likes Received:
    225
    Hello @mathhulkI know this thread is more than 1 Month old, but I need help.
    Code
    Code (Skript):
    1.  
    2. command /bans [<integer=1>]:
    3.     trigger:
    4.         set {_bans::*} to {bans::*}
    5.         set {_sizeofbans::*} to size of {_bans::*}
    6.         set {_page::max} to arg 1 * ((6 - 1) * 9)
    7.         set {_page::min} to (arg 1 - 1) * ((6 - 1) * 9)
    8.         set {_page::posts} to 0
    9.         set {_page::count} to 0
    10.         set {_page::number} to arg 1
    11.         set {_pages} to size of {_bans::*} / ((6 - 1) * 9)
    12.         set {_pages} to "%{_pages}%"
    13.         set {_pages::*} to {_pages} split at "."
    14.         set {_page::total} to {_pages::1}
    15.         if {_pages::2} is set:
    16.             set {_page::total} to {_page::total} parsed as an integer
    17.             add 1 to {_page::total}
    18.         if inventory name of player's current inventory does not contain "&0List of banned players":
    19.             open chest with 6 rows named "&0List of banned players %{_page::number}%/%{_page::total}%" to player
    20.         else:
    21.             loop (6 * 9) times:
    22.                 set slot (loop-number - 1) of player's current inventory to air
    23.             set inventory name of player's current inventory to "&0List of banned players %{_page::number}%/%{_page::total}%"
    24.         if {_page::number} is greater than 1:
    25.             set slot (6 * 9 - 9) of player's current inventory to arrow named "&ePrevious Page"
    26.             set slot (6 * 9 - 8) of player's current inventory to black stained glass pane named "&7"
    27.             set slot (6 * 9 - 7) of player's current inventory to black stained glass pane named "&7"
    28.             set slot (6 * 9 - 6) of player's current inventory to black stained glass pane named "&7"
    29.             set slot (6 * 9 - 5) of player's current inventory to anvil named "&eSearch players" with lore "||&7Click here to &csearch &7banned players.||&7You will need to type it's name in chat."
    30.             set slot (6 * 9 - 4) of player's current inventory to book named "&eBasic information" with lore "||&7Banned users &8» &c%{_sizeofbans::*}%||"
    31.             set slot (6 * 9 - 3) of player's current inventory to black stained glass pane named "&7"
    32.             set slot (6 * 9 - 2) of player's current inventory to black stained glass pane named "&7"
    33.             set slot (6 * 9 - 1) of player's current inventory to red stained glass pane named "&7"
    34.         else:
    35.             set slot (6 * 9 - 9) of player's current inventory to red stained glass pane named "&7"
    36.             set slot (6 * 9 - 8) of player's current inventory to black stained glass pane named "&7"
    37.             set slot (6 * 9 - 7) of player's current inventory to black stained glass pane named "&7"
    38.             set slot (6 * 9 - 6) of player's current inventory to black stained glass pane named "&7"
    39.             set slot (6 * 9 - 5) of player's current inventory to anvil named "&eSearch players" with lore "||&7Click here to &csearch &7banned players.||&7You will need to type it's name in chat."
    40.             set slot (6 * 9 - 4) of player's current inventory to book named "&eBasic information" with lore "||&7Banned users &8» &c%{_sizeofbans::*}%||"
    41.             set slot (6 * 9 - 3) of player's current inventory to black stained glass pane named "&7"
    42.             set slot (6 * 9 - 2) of player's current inventory to black stained glass pane named "&7"
    43.             set slot (6 * 9 - 1) of player's current inventory to red stained glass pane named "&7"
    44.         loop {_bans::*}:
    45.             if {_page::posts} is less than {_page::max}:
    46.                 if {_page::count} is greater than or equal to {_page::min}:
    47.                     set slot {_page::posts} of player's current inventory to loop-value's skull named "&7Player &8» &c%loop-value%" with lore "||&7Ban ID &8» &7(&c##%loop-index%&7)||||&7Is Banned &8» &c%{sban.banned.%loop-value%}%||&7Banned by &8» &c%{sban.bannedby.%loop-value%}%||&7Banned on &8» &c%{sban.time.%loop-value%}%||"
    48.                     add 1 to {_page::posts}
    49.             add 1 to {_page::count}
    50.         if {_page::number} is less than {_page::total}:
    51.             set slot (6 * 9 - 1) of player's current inventory to arrow named "&eNext Page"
    52.         if {_page::count} is 0:
    53.             open chest with 1 row named "&0There are %{_page::count}% banned players" to player
    54.             set slot 0 of player's current inventory to black stained glass pane named "&7"
    55.             set slot 1 of player's current inventory to black stained glass pane named "&7"
    56.             set slot 2 of player's current inventory to black stained glass pane named "&7"
    57.             set slot 3 of player's current inventory to black stained glass pane named "&7"
    58.             set slot 4 of player's current inventory to book named "&eThere aren't banned players" with lore "||&7Banned players will apear in this||&7gui. You will be able to manage||&7SuperBan's commands from here!"
    59.             set slot 5 of player's current inventory to black stained glass pane named "&7"
    60.             set slot 6 of player's current inventory to black stained glass pane named "&7"
    61.             set slot 7 of player's current inventory to black stained glass pane named "&7"
    62.             set slot 8 of player's current inventory to black stained glass pane named "&7"
    63. on inventory click:
    64.     if inventory name of player's current inventory contains "&0There are":
    65.         cancel event
    66.     if inventory name of player's current inventory contains "&0List of banned players":
    67.         cancel event
    68.         set {_page} to "%inventory name of player's current inventory%"
    69.         replace all "&0List of banned players " in {_page} with ""
    70.         set {_pages::*} to {_page} split at "/"
    71.         if clicked slot is ((6 - 1) * 9):
    72.             if clicked item's name is "&ePrevious Page":
    73.                 if {_pages::1} parsed as an integer is greater than 1:
    74.                     execute player command "/bans %{_pages::1} parsed as an integer - 1%"
    75.                 else:
    76.                     close player's inventory
    77.                     send "You are already on the first page."
    78.         else if clicked slot is (6 * 9 - 1):
    79.             if clicked item's name is "&eNext Page":
    80.                 execute player command "/bans %{_pages::1} parsed as an integer + 1%"
    81.         if clicked slot is less than 45:
    82.             if clicked item is player head:
    83.                 if name of item contains "&7Player":
    84.                     set {_playername} to "%clicked item's name%"
    85.                     replace all "&7Player &8» &c" in {_playername} with ""
    86.                     execute player command "/unban %{_playername}%"
    87.                     execute player command "/bans %{_pages::1} parsed as an integer%"
    88.         if clicked slot is 49:
    89.             if clicked item's name is "&eSearch players":
    90.                 close player's inventory
    91.                 set {bans.chat::%player%} to true
    92.                 send "&8[&c&lBANS&8] &7You must write the player's name in chat. Type &ccancel &7to annullate the search."
    93. on chat:
    94.     if {bans.chat::%player%} is true:
    95.         cancel event
    96.         set {_search} to "%message%" parsed as offline player
    97.         if {_search} is "cancel":
    98.             delete {bans.chat::%player%}
    99.             send "&8[&c&lBANS&8] &7You have succesfully annullated the search."
    100.         else:
    101.             if {sban.banned.%{_search}%} is not set:
    102.                 send "&8[&c&lBANS&8] &a%{_search}% &7is not banned."
    103.                 delete {bans.chat::%player%}
    104.             else:
    105.                 if {sban.banned.%{_search}%} is true:
    106.                     delete {bans.chat::%player%}
    107.                     send "&8[&c&lBANS&8] &a%{_search}% &7is banned."
    108.                     send "&9Obrir GUI per desbanejar a &a%{_search}%&9."
    109.                 else:
    110.                     delete {bans.chat::%player%}
    111.                     send "&8[&c&lBANS&8] &a%{_search}% &7is not banned."
    112.  
    All it's running well, it creates well the pages, but the Next page is not running. Why?

    I'm using Skript 2.2 dev-27, SkQuerry 3 and Skellet.
     
    #8 ShaneBee, Jun 27, 2017
    Last edited by a moderator: Jun 28, 2017

Share This Page

Loading...