Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- integer out = FALSE;
- integer rod_equip = FALSE;
- key rod_owner; // 3. Since you are passing messages over several events we need to store the rod owner key in a global variable.
- //time 15 seconds delay for it to be visible
- integer lchan;
- default
- {
- state_entry()
- {
- llListen(-11223,"Fishing Rod","","");
- }
- //listen for fishing rod is equip
- listen(integer channel, string what, key who, string msg)
- {
- list tmp = llParseString2List(msg,["_"],[]); // 4. We parse the message sent from the rod to the pond. The message will be split into elements in a list at the separator.
- string cmd = llList2String(tmp,0); // 5. The value to the left of the separator will become the first element in the list. i,e "Equip". Note that list elements begin at 0.
- string val = llList2String(tmp,1); // 6. The value to the right of the separator will become the second element in the list. i,e The rod owner key.
- if(cmd=="Equip" ) // 7. Note this changes to if(cmd=="Equip" ) because we are checking the parsed message.
- {
- rod_equip = TRUE;
- rod_owner = (key)val; // 8. We need to store this in the global variable container so we can send it on to the spawner.
- return;
- }
- else
- {
- rod_equip = FALSE;
- return;
- }
- }
- touch_start(integer total_number)
- {
- lchan = ((integer)("0x"+llGetSubString((string)llDetectedKey(0),-8,-1)) - 723) | 0x8000000;
- //ask for the fishing rod
- llSay(-11223,"CheckRod");
- if(out == TRUE && rod_equip == TRUE)
- {
- llOwnerSay("Toggle off");
- out = FALSE;
- llSay(lchan,"off_"+ rod_owner);
- return;
- }
- else if(out == FALSE && rod_equip == TRUE)
- {
- llOwnerSay("Toggle On");
- out = !out;
- llSay(lchan,"on_"+ rod_owner); //9. We send the message on to the spawners and whichever spawner with an owner key that matches the rod owner key will spawn fish.
- return;
- }
- }
- }
Add Comment
Please, Sign In to add comment