Paste #37196: RS-Trader

Date: 2016/10/26 17:00:09 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


# -------------------
# Written by Aristos
# -------------------
#  /npc create xy
#  /npc assign --set Ziegel
# -------------------

'Ziegel':
    type: assignment

    interact scripts:
    - 10 Redstoneman

# -------------------
# You can customise the items required, quantity and reward here
# -START-
    default constants:
      ItemRequiredName: Redstone
      ItemRequiredID: 331
      ItemRequiredQty: 64
      MoneyReward: 10
# -END-
# -------------------

    actions:
        on assignment:
        - trigger name:click toggle:true

'Redstonemanman':
    type: interact

    steps:
      'SayingHi*':
          click trigger:
              script:
              - ^engage
              - if <player.flag[RedStoneBlock]> {
                - ^zap RewardRedStone
                - ^disengage
                } else {
                - wait 1
                - narrate "<gold><npc.name><&co><white> Der Ausbau der U-Bahn geht gut vorran."
                - wait 1
                - narrate "<gold><npc.name><&co><white> Aber wir brauchen Unmengen an Redstone!"
                - narrate "<white>Wäred Ihr da an einen <red>Handel<white> interessiert?"
                - narrate "<gray>Tipp: Rote Worte sind Signalwörter. Sagt <green>Handel<gray> zu <npc.name>"
                - trigger name:chat toggle:true radius:5
                - ^disengage
                }
          chat trigger:
            'Handel':
                trigger: <hold><player.name><&co><white> Ich bin an einem /Handel/ interessiert, <npc.name>
                script:
                - ^engage
                - wait 2
                - narrate "<gold><npc.name><&co><white> Hmm...."
                - narrate "<gray><npc.name>Sagen wir <npc.constant[ItemRequiredQty]> <npc.constant[ItemRequiredName]> für <gold><npc.constant[MoneyReward]> Silber <white>!"
                - trigger name:chat toggle:false
                - ^flag player RedStoneBlock
                - ^zap step:RewardRS
                - ^disengage
            'Other':
                trigger: /REGEX:^\w+$/
                script:
                - ^engage
                - wait 1
                - narrate "<npc.name> sieht Euch irritiert an. Vielleicht sagt Ihr nicht das, was er hören will?"
                - trigger name:chat toggle:false
                - ^zap step:SayingHi
                - ^disengage

      'RewardRS':
          click trigger:
              script:
              - ^engage
              - wait 1
              - narrate "<gold><npc.name><&co><white> Wollt <npc.constant[ItemRequiredName]> los werden?"
              - narrate "<red>Ja<gray> oder Nein?"
              - trigger name:chat toggle:true radius:5
              - ^disengage
          chat trigger:
            'Agree':
                trigger: /Ja/, die könnt ihr haben!
                script:
                  - if <player.inventory.contains[<npc.constant[ItemRequiredID]>].qty[<npc.constant[ItemRequiredQty]>]> {
                    - narrate "Sehr schön! Aber wir könnten noch viel mehr gebrauchen, Sire!"
                    - ^take <npc.constant[ItemRequiredID]>] qty:<npc.constant[ItemRequiredQty]>
                    - wait 2
                    - narrate "<gray>Du hast <gold><npc.constant[MoneyReward]> Silber<gray> erhalten! Kaufe damit Claims oder Handle mit Spielern"
                    - ^execute as_server "money give <player.name> <npc.constant[MoneyReward]>"
                    - ^zap step:SayingHi
                    - trigger name:chat toggle:false
                    - ^disengage
                    } else {
                    - narrate "<gold><npc.name><&co><white> Ihr solltet mindestens einen Stapel dabei haben, <player.name>!"
                    - wait 1
                    - narrate "<white>Alles andere wäre Zeitverschwendung..."
                    - trigger name:chat toggle:false
                    - ^disengage
                    }
            'Other':
                trigger: /REGEX:^\w+$/
                script:
                - ^engage
                - wait 1
                - narrate "<gold><npc.name><&co><white> Dann verschwendet bitte nicht meine und eure Zeit, <player.name>."
                - trigger name:chat toggle:false
                - ^zap step:SayingHi
                - ^disengage