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]>!"}
Love this script! I do the quest myself everyday.