Paste #37339: Untitled Paste

Date: 2016/10/31 17:04:56 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


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

'DiaTraderAss':
    type: assignment

    interact scripts:
    - 10 DiaTraderInteract

# -------------------
    default constants:
      DiaID: 264
      DiaPrice: 10
# -END-
    actions:
        on assignment:
        - trigger name:click toggle:true
        - trigger name:chat toggle:true
        - trigger name:Proximity state:true radius:2

'DiaTraderInteract':
    type: interact

    steps:
      'DiaGreeting*':
          Proximity Trigger:
              entry:
                script:
                - CHAT "<gold><npc.name><&co><white>Willkommen im Schmuckpalast!"
          click trigger:
              script:
              - ^engage
              - if <player.flag[MoreThanOneVisitDiaH]> {
                - narrate "Ach, Ihr seid es <player.name>!"
                - wait 1
                - narrate "<white>Wenn Ihr weitere <red>Diamanten<white> verkaufen wollt, seid Ihr bei mir richtig"
                - ^zap step:DiaHaendlerBusiness
                - ^disengage
                } else {
                - wait 1
                - narrate "<gold><npc.name><&co><white> Seid gegrüßt!"
                - wait 1
                - narrate "<white>Ich bin <npc.name>, Besitzer vieler Schmuckgeschäfte in Pandora"
                - narrate "<gold><npc.name><&co><white> In Delos lohnt sich der Verkauf von Schmuck nicht."
                - narrate "<white>Darum kaufen wir hier ausschließlich Diamant und Gold an."
                - wait 1
                - narrate "<white>Bei mir könnt Ihr <red>Diamanten<white> verkaufen"
                - ^flag player MoreThanOneVisitDiaH
                - ^zap step:DiaHaendlerBusiness 
                - ^disengage
                }
# Zweiter Besuch
      'DiaHaendlerBusiness':
          chat trigger:
            'DiaHT':
                trigger: <gold><player.name><&co><white> Ich möchte /Diamanten/en verkaufen, <npc.name>
                script:
                - ^engage
                - wait 2
                - narrate "<white>Pro Diamant bekommt Ihr <gold><npc.constant[DiaPrice]> Silber <white>."
                - ^zap step:TradeTime
                - wait 1
                - narrate "<gold><npc.name><&co><white> Wie viele Diamanten wollt Ihr verkaufen?"
                - ^execute as_player "balance"
                - trigger name:chat toggle:true radius:5
                - ^zap step:DiaTrade
                - ^disengage
      'DiaTrade':
            chat trigger:
              'DiaZahl':
                  trigger: /regex:([0-9])+/ 
                  script:
                    - ^engage
                    - define DiaEndpreis <context.message.mul[<npc.constant[DiaPrice]>]>
                    - if <player.inventory.contains[<npc.constant[DiaID]>].qty[<context.message>]> {
                     - ^take <npc.constant[DiaID]> qty:<context.message>
                      - money give quantity:<def[DiaEndPreis]>
                      - narrate "<green>Du hast <def[DiaEndpreis]> Silber für <context.message> Diamanten erhalten erhalten!"
                      - narrate "<green>Du hast <context.message> Ruhm erhalten!"
                      - ^flag player Questpunkte:+:<context.message>
                      - narrate "<green>Questpunkte:<white> <player.flag[Questpunkte]>"
                      - ^zap step:DiaHaendlerBusiness
                      - ^disengage
                      } else {
                      - narrate "<gold><npc.name><&co><white> Du besitzt nicht genug Diamanten!"
                      - ^zap step:TradeGreeting
                      - ^disengage
                      }
              'Other':
                  trigger: /REGEX:^\w+$/
                  script:
                  - ^engage
                  - wait 1
                  - narrate "<gold><npc.name><&co><white> Bitte sagt eine Zahl (1-999)!"
                  - ^zap step:DiaGreeting
                  - ^disengage