Lets Fish


Author: Krowerom
Created: 2014-05-09T17:08:24-0400
Edited: 2014-05-09T17:08:24-0400
Denizen Version: 0.9.4 (build 1471)
Views: 17
Downloads: 1001
Likes: 3


WGET
Description: Lets Go Fishin v1.0
by Krowerom, 9th May 2014

Fed up of kill quests? Why is there no Fishing Listener? (I couldn't see one, anyway)

I wondered about these things, then I created this script!

Using a World Script to look out for when the player catches a fish then, if he/she has the Fishing Fish flag (I was gonna go with just fishing, but fishing fish sounded cooler) it starts counting your successful casts!
I also added a reminder for the player when they join that they're on the fishing quest.

Of course, overfishing is a common problem, so there is a cooldown on the script (which you can set at the top).

#############################
# Lets Go Fishin v1.0       #
#---------------------------#
# by Krowerom, 9th May 2014 #
#############################
 
# Fed up of kill quests? Why is there no Fishing Listener?
# I wondered about these things, then I created this script!
# Using a World Script to look out for when the player catches a fish then,
# if he/she has the Fishing Fish flag (I was gonna go with just fishing, 
# but fishing fish sounded cooler) it starts counting your successful casts!
# Also reminds the player when they join that they're on the fishing quest.

AssignLetsFish:
    type: assignment
    interact scripts:
    - 10 LetsFish
 
# -Start Setup-
    default constants:
      CoolFish: 5m
# - End Setup -

LetsFish:
    type: interact
    steps:
        StartFish*:
            click trigger:
                script:
                - engage
                - if <player.flag[DoneFishing]> {
                  - narrate "<gold><npc.name><&co><yellow> It's good that you're a keen fisherman."
                  - wait 2
                  - narrate "<yellow>We have to look after the fish too!"
                  - wait 1
                  - narrate "<yellow>So there is a limit on how often you can fish for me."
                  - wait 2
                  - narrate "<gray>You can return just <npc.constant[coolfish]> after you completed it before."
                  - disengage
                  } else {
                  - narrate "<gold><npc.name><&co><yellow> Hi <player.name> you look in need of some rest!"
                  - wait 3
                  - ^narrate "<yellow>Now, most folks around here expect you to run around killing"
                  - ^narrate "<yellow>stuff for them. But not me! No, I want you to slow down a"
                  - ^narrate "<yellow>bit and relax."
                  - wait 4
                  - narrate "<yellow>That's right, relax!"
                  - wait 1
                  - narrate "<gray><npc.name> gives you an encouraging smile"
                  - wait 1
                  - ^narrate "<yellow>There is nothing more relaxing than fishing! So, grab yourself"
                  - ^narrate "<yellow>a rod and kick back for a while."
                  - wait 3
                  - ^narrate "<yellow>Come and see me again when you have caught 16 things..."
                  - ^narrate "<yellow>... they don't even have to be fish!"
                  - flag player Fishing:Fish
                  - flag player FishNPC:<npc.name>
                  - flag MyFishCount:0
                  - zap step:MidFish
                  - disengage
                  }
        MidFish:
            click trigger:
                script:
                - engage
                - narrate "<yellow>You should be fishing still! Good things come to those who fish!"
                - wait 1
                - narrate "<gray>You have caught <player.flag[MyFishCount].asint> things out of the required 16"
                - disengage
        EndFish:
            click trigger:
                script:
                - engage
                - narrate "<gold><npc.name><&co><yellow> Great you fished up 16 things!"
                - wait 1
                - narrate "<yellow>Here is your reward!"
                - ^give 364 qty:16
                - ^give xp qty:34
                - wait 2
                - narrate "<gray><npc.name> grins at you"
                - wait 2
                - narrate "<yellow>You didn't think it would be <gold>fish<yellow>, did you?"
                - flag player Fishing:!
                - flag player FishNPC:!
                - flag player DoneFishing duration:<npc.constant[coolfish]>
                - zap step:StartFish
                - disengage

EventsLetsFish:
    type: world
    events:
        on player fishes while CAUGHT_FISH:
        - if <player.flag[Fishing]> contains 'Fish' {
          - flag player MyFishCount:++
          - narrate "<blue>-=<player.flag[MyFishCount].asint> Successful Catches=-"
          - if <player.flag[MyFishCount].asint> >= 16 {
            - narrate "<yellow>You have caught enough to satisfy your quest."
            - narrate "<yellow>Return to the <player.flag[FishNPC]> to show off your catch."
            - zap script:LetsFish step:EndFish
            }
          }
        on player join:
        - wait 4
        - if <player.flag[Fishing]> contains 'Fish' {
          - narrate "<gold>Don't forget about your fishing quest from <player.flag[FishNPC]>!"
          }
 




Comments
2014-06-26 23:32:32 - _Ladyhawk_:

Love this script! I do the quest myself everyday.