Paste #35031: Diff note for paste #35030

Date: 2016/07/26 16:49:27 UTC-07:00
Type: Diff Report

View Raw Paste Download This Paste
Copy Link


 OnyCore_Events:
     type: world
     debug: true
     events:
       on player joins:
       - wait 5t
       #- teleport <player> l@lobby
       - foreach <player.flag[pliste].as_list> {
         - yaml load:/personnages/%value%.yml id:%value%
       }
       - inject locally OnyCore_PersonnageSelection instantly 
       on player quits:
       - inject locally OnyCore_Deconnexion instantly  
       on player clicks in inventory:
       - if "<c.inventory.notable_name.split[_].get[1]>" == "onycore" {
         - determine passively cancelled
         - define slot <c.raw_slot>
         - inject locally OnyCore_ClickHandler_<c.inventory.notable_name.split[_].get[2]> instantly 
       } else {
         - queue clear
       }
       - if "<c.slot_type>" == "OUTSIDE" || "<context.item>" == "i@air" {
         - queue clear
       }
       on player closes inventory:
       - if '<c.inventory.notable_name.split[_].get[1]||null>' == 'onycore' {
         - note remove 'as:<context.inventory.notable_name>'
       }
       - wait 10t
       - if <player.location> == l@menu {
         - inject locally OnyCore_PersonnageSelection instantly 
       }
       on player chats:
       - if <player.has_flag[create]> {
         - define perso <context.message>
         - if <server.has_file[/personnages/%perso%.yml].not> {
           - inject locally OnyCore_CreationPersonnage instantly 
         } else {
           - narrate "<&4>Ce nom est déjà pris! Veuillez en choisir un autre."
         }
       } else queue clear
       on classe command:
       - determine passively fulfilled
       - inject locally OnyCore_Deconnexion instantly
       - ^teleport <player> l@menu
       - foreach <player.flag[pliste].as_list> {
         - yaml load:/personnages/%value%.yml id:%value%
       }
       - inject locally OnyCore_PersonnageSelection instantly
     OnyCore_PersonnageSelection:
       - define nom <player.name>
       - define inv "OnyCore_PersonnageSelection_%nom%"
       - note "in@generic[title=<&d>Choisissez votre personnage;size=18]" "as:%inv%"
       - define nbrPersos "<player.flag[pliste].as_list.size||0>"
       - define classe <proc[pclasse].context[1]>
       - choose %nbrPersos%:
         - case "0":
           - run locally OnyCore_PersonnageCreate instantly
           - note remove "as:OnyCore_PersonnageSelection_%nom%"
         - case "1":
           - inventory add "d:in@%inv%" "o:i@<proc[pitem].context[1]>[display_name=<&a><&l><proc[pname].context[1]>;lore=<&7>%classe% Niv&dot <proc[pniveau].context[1]>;flags=<server.flag[iflags]>]" "slot:4"
           - inventory add "d:in@%inv%" "o:i@skull_item[display_name=<&d>Créer un personnage...;flags=<server.flag[iflags]>]" "slot:5"
           - inventory add "d:in@%inv%" "o:i@skull_item[display_name=<&d>Créer un personnage...;flags=<server.flag[iflags]>]" "slot:6"
           - inventory add "d:in@%inv%" "o:i@anvil[display_name=<&d>Créer un nouveau personnage;lore=<&7>Vous avez 1 personnages sur 3 de créés&dot;flags=<server.flag[iflags]>]" "slot:17"
         - case "2":
           - inventory add "d:in@%inv%" "o:i@<proc[pitem].context[1]>[display_name=<&a><&l><proc[pname].context[1]>;lore=<&7><proc[pclasse].context[1]> Niv&dot <proc[pniveau].context[1]>;flags=<server.flag[iflags]>]" "slot:4"
           - inventory add "d:in@%inv%" "o:i@<proc[pitem].context[2]>[display_name=<&a><&l><proc[pname].context[2]>;lore=<&7><proc[pclasse].context[2]> Niv&dot <proc[pniveau].context[2]>;flags=<server.flag[iflags]>]" "slot:5"
           - inventory add "d:in@%inv%" "o:i@skull_item_item[display_name=<&d>Créer un personnage&dot&dot&dot;flags=<server.flag[iflags]>]" "slot:6"
           - inventory add "d:in@%inv%" "o:i@anvil[display_name=<&d>Créer un nouveau personnage;lore=Vous avez 2 personnages sur 3 de créés.;flags=<server.flag[iflags]>]" "slot:17"
         - case "3":
           - inventory add "d:in@%inv%" "o:i@<proc[pitem].context[1]>[display_name=<&a><&l><proc[pname].context[1]>;lore=<&7><proc[pclasse].context[1]> Niv&dot <proc[pniveau].context[1]>;flags=<server.flag[iflags]>]" "slot:4"
           - inventory add "d:in@%inv%" "o:i@<proc[pitem].context[2]>[display_name=<&a><&l><proc[pname].context[2]>;lore=<&7><proc[pclasse].context[2]> Niv&dot <proc[pniveau].context[2]>;flags=<server.flag[iflags]>]" "slot:5"
           - inventory add "d:in@%inv%" "o:i@<proc[pitem].context[3]>[display_name=<&a><&l><proc[pname].context[3]>;lore=<&7><proc[pclasse].context[3]> Niv&dot <proc[pniveau].context[3]>;flags=<server.flag[iflags]>]" "slot:6"
           - inventory add "d:in@%inv%" "o:i@anvil[display_name=<&4>Vous avez atteint le nombre de personnages maximal!;lore=<&7>Pour créer un nouveau personnage&nlvous devez d&sqen supprimer un&dot;flags=<server.flag[iflags]>]" "slot:17"
       - if <player.has_permission[builder]||false> {
           - inventory add "d:in@%inv%" "o:i@workbench[display_name=<&c>Mode Construction;flags=<server.flag[iflags]>]" "slot:16"
       }
       - inventory add "d:in@%inv%" "o:i@barrier[display_name=<&c>Supprimer un personnage;flags=<server.flag[iflags]>]" "slot:18"
       - inventory open d:in@%inv%    
     ############################
     ## Création du personnage ##
     ############################
     OnyCore_PersonnageCreate:
     - define nom <player.name>
     - define inv "OnyCore_PersonnageCreate_%nom%"
     - note "in@generic[title=<&d>Créer un personnage;size=9]" "as:%inv%"
     - inventory add "d:in@%inv%" "o:i@bow[display_name=<&d>Créer un <&b><&l>Archer;flags=<server.flag[iflags]>]" "slot:4"
     - inventory add "d:in@%inv%" "o:i@iron_sword[display_name=<&d>Créer un <&b><&l>Guerrier;flags=<server.flag[iflags]>]" "slot:5"
     - inventory add "d:in@%inv%" "o:i@stick[display_name=<&d>Créer un <&b><&l>Mage;flags=<server.flag[iflags]>]" "slot:6"
     - if <player.flag[pliste].as_list.size> >= 1 {
       - inventory add "d:in@%inv%" "o:i@barrier[display_name=<&c>Annuler;flags=<server.flag[iflags]>]" "slot:9"
     }
     - inventory open d:in@%inv%
     #############################
     ## Supprimer un personnage ##
     #############################
     OnyCore_PersonnageSupprimer:
     - define jNom <player.name>
     - define nbrPersos "<player.flag[pliste].as_list>"
     - define inv "OnyCore_PersonnageSupprimer_%jNom%"
     - note "in@generic[title=<&d>Supprimer un personnage;size=9]" "as:%inv%"
     - foreach %nbrPersos% {
       - inventory add "d:in@%inv%" "o:i@<proc[pitem].context[%loop_index%]>[display_name=<&a><&l><proc[pname].context[%loop_index%]>;lore=<&7><proc[pclasse].context[%loop_index%]> Niv&dot <proc[pniveau].context[%loop_index%]>;flags=<server.flag[iflags]>]" "slot:%loop_index%"
      } 
     - inventory add "d:in@%inv%" "o:i@slime_ball[display_name=Annuler;flags=<server.flag[iflags]>]" "slot:9"
     - inventory open "d:in@%inv%"
     OnyCore_ClickHandler_PersonnageSelection:
     - define nom <player.name>
     - note remove "as:OnyCore_PersonnageSelection_%nom%"
     - define slot <c.raw_slot>
     - choose %slot%:
       - case "4":
         - define slot 1
         - inject locally OnyCore_JouerPersonnage instantly 
       - case "5": 
         - define slot 2
         - inject locally OnyCore_JouerPersonnage instantly 
       - case "6":
         - define slot 3
         - inject locally OnyCore_JouerPersonnage instantly 
       - case "16":
         - inject locally OnyCore_JouerBuilder instantly 
       - case "17":
         - inject locally OnyCore_PersonnageCreate instantly 
       - case "18":
         - inject locally OnyCore_PersonnageSupprimer instantly 
     OnyCore_ClickHandler_PersonnageCreate:
       - define nom <player.name>
       - define slot <c.raw_slot>
       - note remove "as:OnyCore_PersonnageCreate_%nom%"
       - choose %slot%:
         - case "4":
           - flag player create:Archer
           - inventory close
           - narrate "<&c>Écrivez dans le chat le nom de votre personnage."
         - case "5":
           - flag player create:Guerrier
           - inventory close
           - narrate "<&c>Écrivez dans le chat le nom de votre personnage."
         - case "6":
           - flag player create:Mage
           - inventory close
           - narrate "<&c>Écrivez dans le chat le nom de votre personnage."
         - case "9":
           - inject locally OnyCore_PersonnageSelection instantly 
     OnyCore_ClickHandler_PersonnageSupprimer:
       - define nom <player.name>
       - define slot <c.raw_slot>
       - note remove "as:OnyCore_PersonnageSupprimer_%nom%"
       - choose %slot%:
         - case "1":
           - define slot 1
           - inject locally OnyCore_SupprPersonnage instantly 
         - case "2":
           - define slot 2
           - inject locally OnyCore_SupprPersonnage instantly 
         - case "3":
           - define slot 3
           - inject locally OnyCore_SupprPersonnage instantly 
         - case "9":
           - inject locally OnyCore_PersonnageSelection
     OnyCore_ClickHandler_SupprPersonnage:
       - define nom <player.name>
       - define slot <c.raw_slot>
       - note remove "as:OnyCore_SupprPersonnage_%nom%"
       - choose %slot%:
         - case "4":
           - inject locally OnyCore_SupprPersonnage_Oui instantly 
         - case "5":
           - inject locally OnyCore_PersonnageSelection instantly 
     OnyCore_JouerPersonnage:
     - define perso <player.flag[pliste].get[%slot%]>
     - define lastPos <yaml[%perso%].read[lastpos]||l@spawn>
     - define inv <yaml[%perso%].read[lastinv]>
     - define vie <yaml[%perso%].read[vitalité]>
     - flag player enjeu:%slot%
     - adjust <player> scale_health:true
     - health <player> %vie%
     - heal <player>
     - teleport <player> %lastPos%
     - inventory set d:<player> o:%inv%
     - inventory close
     - narrate "<&a><&l>Bienvenue sur OnyCraft, <player.name>!"
     - narrate "<&e><&l>Votre personnage : %perso%"
     - narrate "<&c><&l>OnyCraft est présentement en Alpha Dev. Merci de participer à son développement!"
     OnyCore_CreationPersonnage:
     - define classe <player.flag[create]>
     - flag player pliste:->:%perso%
     - ^yaml create id:%perso%
     - ^yaml id:%perso% set joueur:<player.name>
     - ^yaml id:%perso% set uuid:<player.uuid>
     - ^yaml id:%perso% set creation:<util.date.time.year>/<util.date.time.month>/<util.date.time.day>|<util.date.time.twentyfour_hour>
     - ^yaml id:%perso% set classe:%classe%
     - ^yaml id:%perso% set niveau:1
     - ^yaml id:%perso% set intelligence:0
     - ^yaml id:%perso% set agilité:0
     - ^yaml id:%perso% set chance:0
     - ^yaml id:%perso% set force:0
     - ^yaml id:%perso% set sagesse:0
     - ^yaml id:%perso% set vitalité:50
     - ^yaml id:%perso% set carac_pts:0
     - ^yaml id:%perso% set sort_pts:0
     - ^yaml id:%perso% set energie:10
     - ^yaml "savefile:/personnages/%perso%.yml" id:%perso%
     - flag player create:!
     - inject locally OnyCore_NouveauPersonnage instantly 
     - flag player enjeu:<player.flag[pliste].as_list.size>
     OnyCore_Deconnexion:
     - if <player.has_flag[builder]||false> {
         - ^inventory d:<player> clear
         - ^flag player builder:!
         - ^adjust <player> "gamemode:adventure"
         - ^adjust <player> "location:l@menu"
       } else {
         - ^define perso <proc[p_name]>
         - ^flag player enjeu:!
         - ^yaml id:%perso% set lastpos:<player.location>
         - ^yaml id:%perso% set lastinv:<player.inventory.list_contents>
         - ^inventory d:<player> clear
         - ^yaml "savefile:/personnages/%perso%.yml" id:%perso%
         - ^yaml unload id:%perso%
         - ^adjust <player> "location:l@menu"
       }
     OnyCore_SupprPersonnage:
     - define perso <player.flag[pliste].get[%slot%]>
     - define nom <player.name>
     - define inv "OnyCore_SupprPersonnage_%nom%"
     - flag player suppr:%slot%
     - note "in@generic[title=<&d>Confirmation de suppression;size=9]" "as:%inv%"
     - define desc "<proc[lineWrap].context[<&4><&l>ATTENTION!<&r> <&c>Toute votre progression sera perdue&dot Vous ne pourrez pas récupérer votre personnage&dot|30].as_list>"
     - inventory add "d:in@%inv%" "o:i@slime_ball[display_name=Oui, je veux vraiment supprimer %perso%.;lore=%desc%;flags=<server.flag[iflags]>]" "slot:4"
     - inventory add "d:in@%inv%" "o:i@redstone_block[display_name=Non, je ne veux pas supprimer %perso%&dot;lore=<&d>Retourner au menu précédent&dot;flags=<server.flag[iflags]>]" "slot:5"
     - inventory open d:in@%inv%
     OnyCore_SupprPersonnage_Oui:
     - define nom <player.name>
     - define slot <player.flag[suppr]>
     - define perso <player.flag[pliste].get[%slot%]>
     - adjust server delete_file:/personnages/%perso%.yml
     - flag player pliste:<-:%perso%
     - inject locally OnyCore_PersonnageSelection instantly 
     OnyCore_NouveauPersonnage:
     - teleport <player> l@spawn 
     OnyCore_JouerBuilder:
     - teleport <player> l@spawn
     - ^inventory close
     - ^flag player builder
     #- ^flag player spelldisplay_stop
     - ^adjust <player> "gamemode:creative"