Paste #35030: Edit of P#35027 - Untitled Paste

Date: 2016/07/26 16:49:27 UTC-07:00
Type: Server Log

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"