SphereCommunity
Treasure Hunt - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Submissions (/Forum-Script-Submissions)
+--- Thread: Treasure Hunt (/Thread-Treasure-Hunt)



Treasure Hunt - Ultima One - 05-16-2013 01:34 AM

Time to share some scripts we use frequently on TUP. Some may be in need of updating.

Treasure hunt. Using the command will provide you with a series of chests, that must be opened in a certain order. Personally it is a very simple version, someone probably has a more detailed one.

Place a Map inside each chest with the location of where the next chest is. Or edit the script to handle a book/scroll with a riddle or clue on it. Script requires you add about 100 maps into each chest, suggest it is changed to have 1 in it and clone it into players bags.

When a player clicks the first chest, they will be given the clue to the next one. Until 1 person finds the last chest.

Cleans itself up when the last chest is opened.

Use: .thunt 5
Use: Place maps in the chests pointing to the next chest.


Code:
[ITEMDEF i_chest_thunt_final]
    ID=i_chest_metal_brass
    DISPID=i_chest_metal_brass
    NAME=odd looking chest
    TYPE=t_container
    TDATA2=042
    FLIP=1
    WEIGHT=20
    DUPELIST=0e40,0e41
    

ON=@CREATE
     ATTR        = 08000

ON=@Click
     IF (<SRC.ISGM>)
        SAY <MORE1>
        return 1
    
ON=@DClick // open
    IF !(<SRC.ISGM>)
        IF (<EVAL <SRC.TAG.THUNT_PROGRESS>> == <EVAL <MORE1>-1>)
                SRC.EMOTE win the treasure hunt!
                SRC.SYSMESSAGE You have won the treasure hunt and your prize has been put in your backpack inside a bag.
                SERV.ALLCLIENTS TAG.THUNT_PROGRESS =
                MASSDELETE i_chest_thunt  // You will need my mass delete script, or your own to delete these.
                OBJ = <src.targ.findid.i_bag>
                OBJ.BOUNCE
                REMOVE
                SERV.ALLCLIENTS SYSMESSAGE @55 <SRC.NAME> has won the treasure hunt!
        ELSE
            SRC.SYSMESSAGE You are unable to open this chest yet!
        ENDIF
        RETURN 1
    ENDIF

[ITEMDEF i_chest_thunt]
    ID=i_chest_metal_brass
    DISPID=i_chest_metal_brass
    NAME=odd looking chest
    TYPE=t_container
    TDATA2=042
    FLIP=1
    WEIGHT=20
    DUPELIST=0e40,0e41
    

ON=@CREATE
     ATTR        = 08000

ON=@Click
     IF (<SRC.ISGM>)
        SAY <MORE1>
        return 1
         ENDIF
    
ON=@DClick // open
    IF !(<SRC.ISGM>)
        IF (<EVAL <SRC.TAG.THUNT_PROGRESS>> == <EVAL <MORE1>-1>)
            SRC.EMOTE found the next clue for the hunt.
            SRC.SYSMESSAGE The next clue for the treasure hunt has been added to your backpack.
            SRC.TAG.THUNT_PROGRESS = <MORE1>
            OBJ = <src.targ.findtype.t_map>
            OBJ.BOUNCE
        ELSE
            SRC.SYSMESSAGE You are unable to open this chest yet!
        ENDIF
        RETURN 1
    ENDIF
    
  
[FUNCTION thunt]
LOCAL.CHEST_COUNT = <ARGS>

FOR <EVAL <LOCAL.CHEST_COUNT>-1>
    SERV.NEWITEM i_chest_thunt
    NEW.COLOR=079b //0798
    NEW.MORE1=<EVAL <LOCAL._FOR>>
    NEW.BOUNCE
ENDFOR

SERV.NEWITEM i_chest_thunt_final
NEW.COLOR=0798
NEW.MORE1=<ARGS>
NEW.BOUNCE

[PLEVEL 4]
thunt