Paste #12458: Edit of P#12452 - Edit of P#12447 - Edit of P#12444 - Edit of P#12442 - Edit of P#12438 - Edit of P#

Date: 2014/12/30 22:38:43 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Sitting:
  Type: Assignment
  Actions:
    On Assignment:
      - Trigger Name:Chat State:true
  Interact Scripts:
  - 100 Sitting Listener

Sitting Listener:
  Type: Interact
  Steps:
    1:
      Chat Trigger:
        1:
          Trigger: /sit/
          Script:
            - flag player sitter:<npc>
            - flag player chatter
            - chat "Ok. Where do you want me to sit?"
#1. Fixed spaceing to only be 2
#2. Moved the other world event here. no need for another entier script for a single event in this case.
#3. Changed - flag npc sitloc: to - flag <player.flag[sitter]> sitloc:, It it didn't know what npc to flag.
ChooseBlockListener:
    Type: World
    Events:
        On player Clicks Block:
        - if <player.has_flag[chatter]> {
          - flag <player.flag[sitter]> sitloc:<context.location.sub[-.5,.5,-.5]>
          - sit <context.location.sub[-.5,.5,-.5]> npc:<player.flag[sitter]>
          - flag <player.flag[sitter]> sitter
          - flag chatter:!
          }

timedLoopStart:
  type: world
  events:
    on server start:
    - run timedLoop

timedLoop:
  type: task
  script:
    - foreach <server.get_npcs_flagged[sitter]> {
      - sit <def[value].flag[sitloc]> npc:<def[value]>
      }
    - announce "Loop..."
    - wait 5s
    - inject s@timedLoop