Aller au contenu

Anarchick

Membre
  • Compteur de contenus

    316
  • Inscription

  • Dernière visite

  • Jours gagnés

    12
  • Crédits

    206 [Faire un don]

Ressources posté(e)s par Anarchick

  1. WGregions (WorldGuard & Worldedit API)

    Interagissez avec WorldGuard grâce à de nouvelles syntax
    La commande /wgregions permet de vérifier que l'ensemble de l'API fonctionne correctement et indiquera un message d'erreur en cas d’échec
    Syntax:
    create [(WorldGuard|WG)] Cuboid region (from|between) %location% (and|to) %location% with id %string%
    create WorldGuard region between {_loc1} and {_loc2} with id "test" create [(WorldGuard|WG)] polygon[al] region (from|with) [locations] %locations% with id %string%
    create WorldGuard polygonal region from locations {_locs::*} with id "test" delete [(WorldGuard|WG)] region with id %string% in [world] %world% and remove children %boolean%
    delete WorldGuard region with id "test" in world "Lobby" and remove children true redefine [(WorldGuard|WG)] cuboid region with id %string% (from|between) %location% (and|to) %location%
    redefine WorldGuard cuboid region with id "test" between {_loc1} and {_loc2} [(WorldGuard|WG)] region %object% contain location %location%
    [(WorldGuard|WG)] region %object% (doesn't|does not|do not|don't) contain location %location%
    if WorldGuard region {_region} contain location {_loc}: #Code # OU BIEN if WorldGuard region {_region} do not contain location {_loc}: #Code [(Worldedit|WE)] volume of selection of %player% in [world] %world%
    set {_volume} to Worldedit volume of selection of player in world of player  [all] [(Worldedit|WE)] blocks in selection of %player% in [world] %world%
    set {_blocks::*} to all Worldedit blocks in selection of player in world of player [(WorldGuard|WG)] region with (id|name) %string% in [world] %world%
    set {_region} to WorldGuard region with id "test" in world of player [all] [(WorldGuard|WG)] regions in [world] %world%
    set {_regions::*} to all wg regions in world world of player [all] [(WorldGuard|WG)] regions at [location] %location%
    set {_regions::*} to all wg regions at location of player # OU BIEN set {_region} to first element of all wg regions at player [(WorldGuard|WG)] region (id|name) of %region%
    set {_id} to region name of {_region} [(WorldGuard|WG)] world of region %object%
    set {_world} to WorldGuard world of region {_region} [all] [(WorldGuard|WG)] points location (from|of) region %object%
    set {_locs::*} to all WorldGuard points location of region {_region} [(WorldGuard|WG)] (0¦min[imum]|1¦max[imum]) location (from|of) region %object%
    set {_min} to WorldGuard minimum location of region {_region} [all] [(WorldGuard|WG)] blocks (from|in|of) region %object%
    set {_blocks::*} to all WorldGuard blocks of region {_region} [(WorldGuard|WG)] volume [of blocks] (from|in|of) region %object%
    set {_volume} to WorldGuard volume of blocks of region {_region} [(WorldGuard|WG)] type of region %object%
    set {_type} to WorldGuard type of region {_region} [all] [(WorldGuard|WG)] (0¦members|1¦owners) (in|of) %region%
    #get set {_memebers::*} to all wg members in {_region} #add add player and "Anarchick" to owners of {_region} #remove remove {_players::*} from members of {_region} [(WorldGuard|WG)] name of flag object %object%
    set {_name} to WorldGuard name of flag {_StateFlag} [(WorldGuard|WG)] flag object %string%
    set {_StateFlag} to flag object "block break" # OU BIEN set {_StateFlag} to flag object "block-break" # OU ENCORE set {_StateFlag} to flag object "BLOCK_BREAK" all [(WorldGuard|WG)] [registred] flags
    set {_Flags::*} to all WorldGuard registred flags all [(WorldGuard|WG)] flags (from|of) region %region%
    set {_StateFlags::*} to all wg flags in {_region} [(WorldGuard|WG)] flag %StateFlag/String% (from|of) region %region%
    #get set {_flagValue} to wg flag {_StateFlag} in {_region} #set set flag "USE" in {_region} to "DENY" set flag {_StateFlag} in {_region} to false #delete delete flag "pvp" in {_region}  
    Note diverses:
    * Skript permet depuis la version 2.1 d'utiliser quelques expressions de régions worldguard mais il ne s'agit pas du même {_region} que moi donc attention ! N'utilisez les régions skript QUE pour connaitre l'identifiant d'une région ou pour ajouter des membres à celle-ci
    ** {_StateFlag} est un objet java de worldguard (comme {_region} ou {_flagValue}) , il ne contient pas de résultat ALLOW ou DENY
    *** Mon code qui gère les membres/propriétaires d'une région utilise le système UUID , il est donc possible d'ajouter des joueurs qui sont hors-ligne
    **** Actuellement la version 1.0 et 1.1 ne gèrent que les flags de type StateFlag , c'est à dire ayant pour valeur "ALLOW" ou "DENY"
    Plugins nécessaires:
    Skript (testé avec la version 2.4Beta8 , 2.4.1 et 2.5Alpha3)
    Skript-mirror 2.0.0-SNAPHOT
    WorldEdit (Obligatoire pour faire fonctionner WorldGuard)
    WorldGuard (testé avec la version 7.0.1  et 7.0.2)
    Note : Si ce script fonctionne avec des versions antérieurs, ou ne fonctionne pas dans des versions antérieurs, merci de me le signaler
    Droits d'utilisations:
    Ce script m'appartient exclusivement, vous êtes autorisé à le modifier pour une utilisation personnel, vous pouvez me suggérer des modifications ou des bugs, vous n'êtes pas autorisé à le publier avec ou sans votre nom sans mon accord.
    Ne me demander pas des mises à jour, je la ferais en temps voulu. Merci

    58 downloads

       (2 avis)

    0 commentaire

    Mis à jour

  2. SKinv (API)

    Description:
    Ce script rajoute plusieurs syntax qui optimise l'utilisation des GUI vanilla skript afin de palier aux problèmes de gui proposé par skQuery et Tuske en 1.14.
    Le petit plus est que les SKinv possèdent un Identifiant et un système de paginations. Il n'y a pas de limite du nombre d'identifiant ou de page !
    Pour changer de page il suffit de faire clic droit ou gauche dans la zone extérieur au GUI
    Il est même possible d'insérer des inventaire à une page précise, par exemple l'inventaire d'un joueur qui peut être modifié en temps réel. De plus tous les joueurs qui regardent la même page du même identifiant d'inventaire voit les changements en temps réel !
    Je doute que mon script fonctionne parfaitement dans les versions antérieur à la 1.14. Il faut savoir que la 1.13 et la 1.14 ont subit des changements lié aux comportements des inventaires.
     
    Options:
    title : en cas de conflit entre variable, il est possible de changer le nom de mon script
    debug: Un debug mode qui affiche des broadcast lors de l'exécution du code
    cancelIfRealInv: si oui ou non il est possible de déplacer les items dans les vrai inventaires de joueur ou blocs
     
    Command:
    /skinv permet d’exécuter un test de bon fonctionnement de mon script.
     
    Syntax effects:
    [{@title}] create an inventory with id %string% [default] named %string% and %number% [default] row
    Note: Créer un inventaire de type coffre, mais il sera possible de modifier celui-ci
    create an inventory with id {_id} named {_name} and {_rows} rows  
    [{@title}] add %items% to inventory with id %string%
    Note: Mon code se charge automatiquement de générer une nouvelle page (avec les paramètres par défaut) si la page actuel est pleine
    add {_items} to inventory with id {_id}  
    [{@title}] delete inventory with id %string%
    delete inventory with id {_id}  
    [{@title}] delete all inventories
    Note: Ne s'applique que aux variables de SKinv, il n'y a pas de risque de perdre ses objets dans ses coffres
    delete all inventories  
    [{@title}] rename page %number% of inventory with id %string% to %string%
    Note: Cette effet oblige de créer un clone de l'inventaire ce qui implique qu'il n'aura pas la même signature java
    rename page {_page} of inventory with id {_id} to {_name}  
    [{@title}] display page %number% of inventory with id %string% to %players%
    Note: Utiliser cette méthode plutôt que l'effet "Open %inventory% to %players%" de vanilla skript, autrement certaines fonctionnalité ne seront pas utilisable
    display page {_page} of inventory with id {_id} to {_players::*}  
    [{@title}] display (0¦previous|1¦next|2¦first|3¦last) page to %player%
    Note: Du dernier skinv ouvert !
    display previous page to {_player} display next page to {_player} display first page to {_player} display last page to {_player}  
    Syntax expressions:
    [{@title}] page %number% of inventory with id %string%
    #get set {_inv} to page {_page} of inventory with id {_id} #set %inventory% set page {_page} of inventory with id {_id} to {_inv}  
    [{@title}] amount of pages in inventory with id %string%
    #get set {_pages} to amount of pages in inventory with id {_id}  
    [{@title}] (1¦previous|2¦current) (3¦id|4¦page) of inventory of %player%
    Note: Ne fonctionne que pour les inventaires ouvert avec mon display
    #get set {_id} to previous id of inventory of {_player} set {_id} to current id of inventory of {_player} set {_page} to previous page of inventory of {_player} set {_page} to current page of inventory of {_player}  
    holder name of %inventory%
    Note: Il s'agit d'une correction de l'expression "%name of %inventory%" qui ne fonctionne pas en 1.14
    Attention ! Ne fonctionne pas toujours, il faut que l'inventaire provienne d'un véritable block ou d'une entité et non d'un inventaire custom !
    #get set {_name} to holder name of {_inv}  
    [{@title}] default (0¦name|1¦row) of inventory with id %string%
    Note: Le nom par défaut n'est pas forcement le nom d'une page, idem pour les rows
    #get set {_name} to default name of inventory with id {_id} set {_rows} to default rows of inventory with id {_id} #set set default name of inventory with id {_id} to {_name} set default rows of inventory with id {_id} to {_rows}  
    [{@title}] (0¦name|1¦row) of page %number% of inventory with id %string%
    Note: Si la page a préalablement remplacer par un autre inventaire, mon code n'affichera pas la bonne valeur. En attente de trouver une solution ...
    #get set {_name} to name of page {_page} of inventory with id {_id} set {_rows} to rows of page {_page} of inventory with id {_id}  
    clone [of] %inventory% [renamed %-string%]
    Note: Créer une copie exact non connecté à l'inventaire d'origine. Le nouveau nom peut être spécifié, autrement l'inventaire n'aura pas de nom. Il n'est pas possible pour moi de récupérer le nom de l'inventaire d'origine !
    #get %inventory% set {_clone} to clone {_inv} renamed {_name} #exemple set {_inv} to inventory of player set {_clone} to clone {_inv} if {_inv} is {_clone}: broadcast "cette ligne ne s'exécutera pas"  
    Syntax conditions:
    [{@title}] current inventory of %player% is [a] {@title}
    Note: Si le gui a été exécuté avec un display, c'est la méthode la plus optimisé pour vérifier que l'inventaire qu'un joueur regarde est bien un skinv
    #check if current inventory of {_player} is a SKinv:  
    %inventory% is [any page of] inventory with id %string%
    Note: Moyennement rapide mais permet de tester n'importe quel inventaire si l'on connait l'identifiant 
    #check if {_inv} is any page of inventory with id {_id}:  
    %inventory% is [a] {@title}
    Note: Méthode la plus demandeuse de calcul mais permet de vérifier si il s'agit d'un Skinv
    #check if {_inv} is a SKinv:  
    Exemple d'utilisation:
    Mon API rend beaucoup plus pratique l'utilisation des gui sans addon, voici un exemple de comment l'utiliser pour exécuter une action lorsque le joueur clic sur un item spécifique (compatible avec le /skinv). Rajouter ce code dans un nouveau script par exemple
    on inventory click: set {_inv} to current inventory of player #Slow calcul method, une any inventory {_inv} is {@title} #Medium calcul method, check if match with any page {_inv} is any page of inventory with id "test" #Faster calcul method, use the player current inventory of player is a {@title} set {_item} to click item set {_name} to name of click item set {_type} to click type if {_item} is wool: broadcast "<cyan>%{_item}% <pink>%{_name}% <lime>%{_type}%" #write you're code here Avec cette exemple de code l'avantage est qu'il est par exemple possible d’exécuter un code pour peu que l'item soit "une montre en or nommé quel heure est-il" peut importe dans quel GUI il se trouve ! 
    N'hésiter pas à regarder le code de la commande /skinv pour avoir une idée de comment utiliser mon api
     
    Note diverses:
    * Certains bug lié à skript-mirror m’empêche d'optimiser correctement mon code, j'ai déjà report ces bugs sur le github
    ** En 1.14 il n'est pas possible de changer/récupérer le nom d'un inventaire custom
    *** Il n'y a pas de limite du nombre d'inventaire ou de page possible
    **** Il est tout à fait possible d'utiliser des commandes vanilla skript ou d'un addon avec mes {_inv}
    ***** Il est impossible de conserver en mémoire un inventaire lors de l'extinction du serveur, c'est pour cela que toutes les variables sont supprimé lors du redémarrage du serveur. Il est donc recommander de créer les inventaires lors d'un "on load"
     
    Plugins nécessaires:
    Skript (testé avec la version 2.4Beta9)
    Skript-mirror 2.0.0-SNAPHOT
    Note : Si ce script fonctionne avec des version antérieur, ou ne fonctionne pas dans des versions antérieur, merci de me le signaler
     
    Droits d'utilisations:
    Ce script m'appartient exclusivement, vous êtes autorisé à le modifier pour une utilisation personnel, vous pouvez me suggérer des modifications ou des bugs, vous n'êtes pas autorisé à le publier avec ou sans votre nom sans mon accord.
    Ne me demander pas des mises à jour, je la ferais en temps voulu. Merci
     
    Mon autre script : WGregions

    24 downloads

       (1 avis)

    0 commentaire

    Mis à jour

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.