Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Crisis

Pages: 1 ... 187 188 [189] 190 191
2821
Off Topic / Re: shamwoo
« on: May 09, 2012, 09:26:52 AM »
The ninja ones were funny but I liked the other fake commercial better. He has some great spoof commercials lol

2822
Jokes! / Re: A woman's age
« on: May 09, 2012, 05:37:44 AM »
I'm lovin it....

2823
Off Topic / Re: ninja training
« on: May 09, 2012, 05:34:08 AM »
In the name of the broomstick gods, give me a broom to hit replay...

2824
Off Topic / Re: shamwoo
« on: May 09, 2012, 05:28:37 AM »
lmao

2825
Script Debug / Re: First script and could use some help
« on: May 09, 2012, 05:11:29 AM »
Instead of having it jump straight to the sub to cut bones. have it scan the ground for them instead, and implement a loop. While %bones are on the ground, then cut. Then you can have it halt when there are none.

The bones are fished up out of the water when fishing for a SOS treasure chest. They end up in the backpack, I don't think I have ever had any end up on the ground before so not sure that will work. :(

2826
Script Debug / Re: First script and could use some help
« on: May 08, 2012, 06:55:50 PM »
Okay I finally was able to get it to start the cut_bones sub but the problem now is that it cuts the first bone pile and then it says "you must wait to perform another action" and then goes back to fishing. I am guessing that it is trying to cut the next bone pile too quick and because there is nothing to cut it reverts back to the original loop of fishing. I had adjust the wait already from 9 to 14 but maybe I am adjusting the wrong thing.

I adjusted this line in the sub cut_bone
Code: [Select]
wait 14
is that the wrong timer to adjust?

Here is my code in it's entirety:

Code: [Select]
;===================================================================
; Script Name: Crisis SOS Chest Fisher
;
; Author: Crisis
; Version: 1.0c
; Shard OSI / FS: OSI
; Revision Date: 05/07/2012
; Purpose:
;     Completely automates the operation of fishing up treasure chests when you are in the correct area of your SOS.
;     Works great with Kal In Ex's SOS Master
;
; Features:
;     . Automatically fishes until you fish up a treasure chest.
;
; Requirements:
;     . You should be on a boat in the area of your SOS
;     . Must have the SOS in your backpack
;
; Special Thanks:
;     TrailMyx for helping me iron out the kinks and for TrailMyx's Advanced Journal Handler
;===================================================================
gosub TM_AdvJournalSync FISHING
finditem XHF_KDF C_ , #BACKPACKID
if #FINDKIND = -1
{
  finditem XHF_KDF C_ , #CHARID
  if #FINDKIND = -1
  {
    display ok How can you fish without your fishing pole?
    halt
  }
}
set %fishingpole #FINDID
set %cuttypes AJK_DJK_FJK_XIK_BJK_ZIK_YIK
set %scissortypes KAG_JAG
set %scissors KAG

SOSFishLoop:
  findItem XHF 1
  set #LObjectID #FindID
  set #LTargetKind 2
  set #LTargetX 0 + #CharPosX
  set #LTargetY 4 + #CharPosY
  event macro 17 0
  target
  event macro 22 0
  set %fishtimeout #SCNT + 9
  target 11s

  gosub TM_AdvJournalScan FISHING VALID_ADVANCE chest_from_the_depths_of_the_ocean
  if #RESULT = #TRUE
  {
    display ARRR!! Thar be me sunken booty!!
    goto EndSOSFishLoop
  }
  goto SOSFishLoop

  EndSOSFishLoop:
gosub SetScissors
gosub cut_bones

;-------------------------------------------------------------------------------
Sub SetScissors
  set %scissors N/A
  Finditem %ScissorTypes C_ , #Backpackid
  IF #Findcnt >= 1
     set %Scissors #Findid
Return
;-------------------------------------------------------------------------------
Sub cut_bones
  If %Scissors = N/A
     Gosub SetScissors
     Return
  finditem %cuttypes C_ , #backpackid
  if #findcnt >= 1
     {
     set #ltargetid #findid
     set #lTargetKind 1
     set #lobjectid %scissors
     wait 5
     event macro 17 0
     target 5s
     event macro 22 0
     wait 14
     }
return
;-------------------------------------------------------------------------------
sub TM_AdvJournalGetTrigger
  namespace push
  namespace local TM_AdvJS_ , %1
  set #RESULT !trigger
  namespace pop
  set !TM_FunctionCalled #TRUE
return #RESULT
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - #LPC setting (optional)
; Brings !_jindex up to the most recent #journal entry
sub TM_AdvJournalSync
  namespace push
  namespace local TM_AdvJS_ , %1
  set !_jindex #jindex + 1
  if %0 > 1
    set !lpc_set %2
  namespace pop
  set !TM_FunctionCalled #TRUE
return
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - NONE, ADVANCE , ( _VALID ) - advances jindex pointer, anything else
; %3, %4, %5, etc strings to match
; returns #TRUE for match, #FALSE for no match
;  Will not advance !_jindex pointer to allow for scanning journal history for more than one search.
;  Also searches for : , #SPC in journal entry to be sure someone isn't spamming the text
;  About %2 arguments:
;    NONE: defaults to basic journal scan (no SPAM checking, no #jindex pointer copy advancing)
;    ADVANCE: no spam checking, advances #jindex copy
;    VALID: invokes SPAM filtering, no advance of #jindex copy
;    VALID_ADVANCE, VALIDADVANCE, ADVANCE_VALID, etc.: invokes SPAM filtering, advances of #jindex copy
sub TM_AdvJournalScan
  namespace push
  namespace local TM_AdvJS_ , %1
  set !args %2
  set !temp_lpc #LPC
  if !lpc_set = N/A
    set #LPC 1000
  else
    set #LPC !lpc_set
  set !num_args %0
  set !first_arg 3
  set !sampled_jindex #JINDEX
  if !_jindex = N/A
    set !_jindex !sampled_jindex
  if !charname = N/A
  {
    set !charname #CHARNAME
AdvJournalScan_loop1:
    str pos !charname #SPC
    if #STRRES <> 0
    {
      set !val #STRRES - 1
      str left !charname !val
      set !left #STRRES
      set !val !val + 1
      str del !charname 1 !val
      set !charname !left , _ , #STRRES
      goto AdvJournalScan_loop1
    }
  }
  set !index !first_arg
  repeat
    set !temp_jindex !_jindex
    set !text % . !index
    while !temp_jindex <= !sampled_jindex
    {
      scanjournal !temp_jindex
      str pos #JOURNAL !charname 1
      set !namepos #STRRES
      str count #JOURNAL !charname
      set !namecnt #STRRES
      str pos #JOURNAL :_ 1
      set !smcpos #STRRES
      str pos #JOURNAL !text 1
      set !textpos #STRRES
      if !textpos < !smcpos && !smcpos <> 0 || !smcpos = 1 || :_ notin #JOURNAL || VALID notin !args
        set !pass #TRUE
      else
        set !pass #FALSE
      if ( !text in #journal && ( ( !namepos = 1 && !namecnt <= 1 ) || !pass ) )
      {
        set !temp_jindex !temp_jindex + 1
        if ADVANCE in !args
          set !_jindex !temp_jindex
        set !trigger !text
        set #LPC !temp_lpc
        namespace pop
        set !TM_FunctionCalled #TRUE
        return #TRUE
      }
      set !temp_jindex !temp_jindex + 1
    }
    set !index !index + 1
  until !index - !first_arg > !num_args - !first_arg
  set %10 !sampled_jindex - !_jindex
  set %10 %1 , _ , %10 ; for debugging purposes
  set #LPC !temp_lpc
  set TM_AdvJournalGetTrigger #FALSE
  namespace pop
  set !TM_FunctionCalled #TRUE
return #FALSE
;-------------------------------------------------------------------------------

Once it is working properly and cutting all of the bone piles in my backpack, how can I make the script halt?

2827
Script Debug / Re: First script and could use some help
« on: May 08, 2012, 04:59:55 PM »
Code: [Select]
set %scissors N/A


Code: [Select]
set %scissortypes KAG_JAG
set %scissors N/A

Sub SetScissors
  set %scissors N/A
  Finditem %ScissorTypes C_ , #Backpackid
  IF #Findcnt >= 1
     set %Scissors #Findid
Return

It specifies in
Code: [Select]
set %scissortypes KAG_JAG what the type is and the next line sets it to N/A correct and then in the sub setscissors it tells you to look for N/A right or am I reading that completely wrong? It can be so confusing lol.

2828
Script Debug / Re: First script and could use some help
« on: May 08, 2012, 03:40:15 PM »
I am back for more help on this because I want to add more stuff to it and because it is helping me learn the scripts. I am trying to add in for the script to cut up the bones that get pulled up while trying to get the chest. What is happening is the script is looping again back to fishing after pulling the chest up instead of cutting the bones up. I am guessing that either I messed up inputting the cut_bones sub or I am messed up putting in the goto after the chest is pulled up.

Code: [Select]
;===================================================================
; Script Name: Crisis SOS Chest Fisher
;
; Author: Crisis
; Version: 1.0d
; Shard OSI / FS: OSI
; Revision Date: 05/07/2012
; Purpose:
;     Completely automates the operation of fishing up treasure chests when you are in the correct area of your SOS.
;     Works great with Kal In Ex's SOS Master
;
; Features:
;     . Automatically fishes until you fish up a treasure chest.
;
; Requirements:
;     . You should be on a boat in the area of your SOS
;     . Must have the SOS in your backpack
;
; Special Thanks:
;     TrailMyx for helping me iron out the kinks and for TrailMyx's Advanced Journal Handler
;===================================================================
set %cuttypes AJK_DJK_FJK_XIK_BJK_ZIK_SCK_YIK_RCK
set %scissortypes KAG_JAG
set %scissors N/A

gosub TM_AdvJournalSync FISHING
finditem XHF_KDF C_ , #BACKPACKID
if #FINDKIND = -1
{
  finditem XHF_KDF C_ , #CHARID
  if #FINDKIND = -1
  {
    display ok How can you fish without your fishing pole?
    halt
  }
}
set %fishingpole #FINDID

SOSFishLoop:
  findItem XHF 1
  set #LObjectID #FindID
  set #LTargetKind 2
  set #LTargetX 0 + #CharPosX
  set #LTargetY 4 + #CharPosY
  event macro 17 0
  target
  event macro 22 0
  set %fishtimeout #SCNT + 9
  target 11s

  gosub TM_AdvJournalScan FISHING VALID_ADVANCE chest_from_the_depths_of_the_ocean
  if #RESULT = #TRUE
  {
    display ARRR!! Thar be me sunken booty!!
    goto sub cut_bones
  }
  goto SOSFishLoop

  ;EndSOSFishLoop:
;Halt

;-------------------------------------------------------------------------------
Sub SetScissors
  set %scissors N/A
  Finditem %ScissorTypes C_ , #Backpackid
  IF #Findcnt >= 1
     set %Scissors #Findid
Return
;-------------------------------------------------------------------------------
sub cut_bones
  If %Scissors = N/A
     Gosub SetScissors
  If %Scissors = N/A
     Return
  finditem %cuttypes C_ , #backpackid
  if #findcnt >= 1
     {
     set #ltargetid #findid
     set #lTargetKind 1
     set #lobjectid %scissors
     wait 5
     event macro 17 0
     target 5s
     event macro 22 0
     wait 9
     }
return
;-------------------------------------------------------------------------------
sub TM_AdvJournalGetTrigger
  namespace push
  namespace local TM_AdvJS_ , %1
  set #RESULT !trigger
  namespace pop
  set !TM_FunctionCalled #TRUE
return #RESULT
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - #LPC setting (optional)
; Brings !_jindex up to the most recent #journal entry
sub TM_AdvJournalSync
  namespace push
  namespace local TM_AdvJS_ , %1
  set !_jindex #jindex + 1
  if %0 > 1
    set !lpc_set %2
  namespace pop
  set !TM_FunctionCalled #TRUE
return
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - NONE, ADVANCE , ( _VALID ) - advances jindex pointer, anything else
; %3, %4, %5, etc strings to match
; returns #TRUE for match, #FALSE for no match
;  Will not advance !_jindex pointer to allow for scanning journal history for more than one search.
;  Also searches for : , #SPC in journal entry to be sure someone isn't spamming the text
;  About %2 arguments:
;    NONE: defaults to basic journal scan (no SPAM checking, no #jindex pointer copy advancing)
;    ADVANCE: no spam checking, advances #jindex copy
;    VALID: invokes SPAM filtering, no advance of #jindex copy
;    VALID_ADVANCE, VALIDADVANCE, ADVANCE_VALID, etc.: invokes SPAM filtering, advances of #jindex copy
sub TM_AdvJournalScan
  namespace push
  namespace local TM_AdvJS_ , %1
  set !args %2
  set !temp_lpc #LPC
  if !lpc_set = N/A
    set #LPC 1000
  else
    set #LPC !lpc_set
  set !num_args %0
  set !first_arg 3
  set !sampled_jindex #JINDEX
  if !_jindex = N/A
    set !_jindex !sampled_jindex
  if !charname = N/A
  {
    set !charname #CHARNAME
AdvJournalScan_loop1:
    str pos !charname #SPC
    if #STRRES <> 0
    {
      set !val #STRRES - 1
      str left !charname !val
      set !left #STRRES
      set !val !val + 1
      str del !charname 1 !val
      set !charname !left , _ , #STRRES
      goto AdvJournalScan_loop1
    }
  }
  set !index !first_arg
  repeat
    set !temp_jindex !_jindex
    set !text % . !index
    while !temp_jindex <= !sampled_jindex
    {
      scanjournal !temp_jindex
      str pos #JOURNAL !charname 1
      set !namepos #STRRES
      str count #JOURNAL !charname
      set !namecnt #STRRES
      str pos #JOURNAL :_ 1
      set !smcpos #STRRES
      str pos #JOURNAL !text 1
      set !textpos #STRRES
      if !textpos < !smcpos && !smcpos <> 0 || !smcpos = 1 || :_ notin #JOURNAL || VALID notin !args
        set !pass #TRUE
      else
        set !pass #FALSE
      if ( !text in #journal && ( ( !namepos = 1 && !namecnt <= 1 ) || !pass ) )
      {
        set !temp_jindex !temp_jindex + 1
        if ADVANCE in !args
          set !_jindex !temp_jindex
        set !trigger !text
        set #LPC !temp_lpc
        namespace pop
        set !TM_FunctionCalled #TRUE
        return #TRUE
      }
      set !temp_jindex !temp_jindex + 1
    }
    set !index !index + 1
  until !index - !first_arg > !num_args - !first_arg
  set %10 !sampled_jindex - !_jindex
  set %10 %1 , _ , %10 ; for debugging purposes
  set #LPC !temp_lpc
  set TM_AdvJournalGetTrigger #FALSE
  namespace pop
  set !TM_FunctionCalled #TRUE
return #FALSE
;-------------------------------------------------------------------------------

I also edited out the EndSOSFishLoop so the script wouldn't stop after pulling up the chest, was I wrong to do that? I was going to figure out how to halt the script once I knew that it was cutting the bones up. Where did I go wrong?

2829
Gold Farming / Re: TrailMyx's Full Auto Fisherman
« on: May 08, 2012, 07:54:42 AM »
I know it won't effectively fight off a pk. I like to surf the web while my scripts run sometimes and I toggle back and forth between the game and google chrome, I just want it to attack if I am attacked so gm's aren't paged.

2830
Gold Farming / Re: TrailMyx's Full Auto Fisherman
« on: May 07, 2012, 08:30:23 PM »
I am curious if the auto-defense will work for PK's in a fel ruleset? I am thinking about trying this on Siege.

2831
Gold Farming / Crisis SOS Chest Fisher - Updated 10-12-2020
« on: May 07, 2012, 08:14:30 PM »
Code: [Select]
;===================================================================
; Script Name: Crisis SOS Chest Fisher
; Author: Crisis
; Version: 3.0
; Client Tested with: 7.0.87.1
; EUO version tested with: 1.6.0 (version 335)
; Shard OSI / FS: OSI
; Release Date: 05/07/2012
; Revision Date: 10/12/2020
; Purpose:
;     Completely automates the operation of fishing up treasure chests when you are in the correct area of your SOS.
;     Works great with Kal In Ex's SOS Master
;
; Features:
;     . Automatically fishes until you fish up a treasure chest. Cuts bones after fishing up chest.
;
; Revisions:
;     . Added bone cutting sub
;     . Cleaned up code
;     . Added Chest Sorter (sorts magery scrolls into the 8 circles, necro scrolls, reagents, and gems into storage containers)
;     . Added Item Mover (moves everything from one container to another to combine chests to allow for more time on the water)
;     . Added Bag Clean Up (empties into the trashcan for cleanup points)
;     . Fixed Buttons
;
; Requirements:
;     . You should be on a boat in the area of your SOS.
;     . Must have the SOS and fishing pole in your backpack.
;     . You must hard code in your sorting containers.
;     . You must have your backpack open when you start fishing.
;
; Possible Updates:
;     .
;
; Special Thanks:
;     . TrailMyx for helping me iron out the kinks and for TrailMyx's Advanced Journal Handler and Chest Sorter
;     . _C2_ for the Menu Tutorial http://www.scriptuo.com/index.php?topic=1535.0
;     . Gaderian for help with the new EUO menu changes and cleaning the code up some!
;
; Changes that you will need to make will be marked like this:
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
; Watch for these changes and make them accordingly
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
;
; Copyright: 2020 Crisis



This is my first script so be gentle.

This is a very basic script to be used with Kal In Ex's SOS Master Script.

Make sure you read the requirements!! At this time, you must hard code in your containers that you want to sort loot into!

I got tired of double clicking my fishing rod and was fishing up endless sunken wreckage so I put this together.

1. Grab a beer, a pirate hat, and be ready to recover sunken booty.
2. Get on boat.
3. Use Kal In Ex's SOS master to load your SOS and then sail to them.
4. Use Crisis SOS Chest Fish them up.
5, Drink more beer and prepare to do more!

Enjoy!

Update 6-16-2013 Version 2.4
  Added Menu - 3 buttons, Fishing, Cut Bones, Sort Loot
  Cleaned up code.

Update 6-19-2013 Version 2.5
  Added hard coding of sort chests to the top
  Cleaned up code

Update 10-12-2020 Version 3.0
  Updated the EUO menu to make the buttons work again (Thanks Gaderian!)
  Added the ability to move items from one container to another
  Added the ability to sort the chests moving mage scrolls (by circle), necro scrolls, reagents, and gems into storage containers
  Added the ability to empty the pack of fished up items into the trash can for clean-up points.

2832
New member introductions / Re: Another introduction
« on: May 07, 2012, 06:44:42 PM »
Atlantic is the most populated, Baja is a great RP shard for those that are into RP, I play on Chesapeake. Chessy which has a nice mix of play styles. There is RP and quite a bit of PvP at the moment, There are a lot of helpful and friendly guilds. If you like PvP and an unsafe shard, you can try Siege Perilous. There is no insurance there and no Trammel, the entire shard is PvP. Welcome to UO and ScriptUO.  :)

2833
Jokes! / Substitute Teacher
« on: May 07, 2012, 05:07:13 PM »
Little Johnny walks into school one day to find a substitute in place of his regular teacher.

She says, "Hello class, I'm Mrs. Prussy. When you say my name class remember it has an "r" after the first letter."

The entire class says, "Hello Mrs. Prussy."

A few days later the regular teacher is still sick when Little Johnny gets to his desk the teacher asks what her name is.

Johnny thinks hard and the says to the teacher, "I remember it has an "r" after the first letter."

"That's right!" she coaxed.

Then after a few seconds Little Johnny says, "Mrs. Crunt?"

2834
Script Debug / Re: First script and could use some help
« on: May 07, 2012, 04:52:23 PM »
Thanks TM!! The tweaks worked perfectly!! I added a header and included your Journal Handler in the credits in case anyone else ever uses it.

Code: [Select]
;===================================================================
; Script Name: Crisis SOS Chest Fisher

; Author: Crisis
; Version: 1.0c
; Shard OSI / FS: OSI
; Revision Date: 05/07/2012
; Purpose:
;     Completely automates the operation of fishing up treasure chests when you are in the correct area of your SOS.
;     Works great with Kal In Ex's SOS Master
;
; Features:
;     . Automatically fishes until you fish up a treasure chest.
;
; Requirements:
;     . You should be on a boat in the area of your SOS
;     . Must have the SOS in your backpack
;
; Special Thanks:
;     TrailMyx for helping me iron out the kinks and for TrailMyx's Advanced Journal Handler
;===================================================================

gosub TM_AdvJournalSync FISHING
finditem XHF_KDF C_ , #BACKPACKID
if #FINDKIND = -1
{
  finditem XHF_KDF C_ , #CHARID
  if #FINDKIND = -1
  {
    display ok How can you fish without your fishing pole?
    halt
  }
}
set %fishingpole #FINDID

SOSFishLoop:
  findItem XHF 1
  set #LObjectID #FindID
  set #LTargetKind 2
  set #LTargetX 0 + #CharPosX
  set #LTargetY 4 + #CharPosY
  event macro 17 0
  target
  event macro 22 0
  set %fishtimeout #SCNT + 9
  target 11s

  gosub TM_AdvJournalScan FISHING VALID_ADVANCE chest_from_the_depths_of_the_ocean
  if #RESULT = #TRUE
  {
    display ok Found one!
    goto EndSOSFishLoop
  }
  goto SOSFishLoop

  EndSOSFishLoop:
Halt


;-------------------------------------------------------------------------------
sub TM_AdvJournalGetTrigger
  namespace push
  namespace local TM_AdvJS_ , %1
  set #RESULT !trigger
  namespace pop
  set !TM_FunctionCalled #TRUE
return #RESULT
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - #LPC setting (optional)
; Brings !_jindex up to the most recent #journal entry
sub TM_AdvJournalSync
  namespace push
  namespace local TM_AdvJS_ , %1
  set !_jindex #jindex + 1
  if %0 > 1
    set !lpc_set %2
  namespace pop
  set !TM_FunctionCalled #TRUE
return
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - NONE, ADVANCE , ( _VALID ) - advances jindex pointer, anything else
; %3, %4, %5, etc strings to match
; returns #TRUE for match, #FALSE for no match
;  Will not advance !_jindex pointer to allow for scanning journal history for more than one search.
;  Also searches for : , #SPC in journal entry to be sure someone isn't spamming the text
;  About %2 arguments:
;    NONE: defaults to basic journal scan (no SPAM checking, no #jindex pointer copy advancing)
;    ADVANCE: no spam checking, advances #jindex copy
;    VALID: invokes SPAM filtering, no advance of #jindex copy
;    VALID_ADVANCE, VALIDADVANCE, ADVANCE_VALID, etc.: invokes SPAM filtering, advances of #jindex copy
sub TM_AdvJournalScan
  namespace push
  namespace local TM_AdvJS_ , %1
  set !args %2
  set !temp_lpc #LPC
  if !lpc_set = N/A
    set #LPC 1000
  else
    set #LPC !lpc_set
  set !num_args %0
  set !first_arg 3
  set !sampled_jindex #JINDEX
  if !_jindex = N/A
    set !_jindex !sampled_jindex
  if !charname = N/A
  {
    set !charname #CHARNAME
AdvJournalScan_loop1:
    str pos !charname #SPC
    if #STRRES <> 0
    {
      set !val #STRRES - 1
      str left !charname !val
      set !left #STRRES
      set !val !val + 1
      str del !charname 1 !val
      set !charname !left , _ , #STRRES
      goto AdvJournalScan_loop1
    }
  }
  set !index !first_arg
  repeat
    set !temp_jindex !_jindex
    set !text % . !index
    while !temp_jindex <= !sampled_jindex
    {
      scanjournal !temp_jindex
      str pos #JOURNAL !charname 1
      set !namepos #STRRES
      str count #JOURNAL !charname
      set !namecnt #STRRES
      str pos #JOURNAL :_ 1
      set !smcpos #STRRES
      str pos #JOURNAL !text 1
      set !textpos #STRRES
      if !textpos < !smcpos && !smcpos <> 0 || !smcpos = 1 || :_ notin #JOURNAL || VALID notin !args
        set !pass #TRUE
      else
        set !pass #FALSE
      if ( !text in #journal && ( ( !namepos = 1 && !namecnt <= 1 ) || !pass ) )
      {
        set !temp_jindex !temp_jindex + 1
        if ADVANCE in !args
          set !_jindex !temp_jindex
        set !trigger !text
        set #LPC !temp_lpc
        namespace pop
        set !TM_FunctionCalled #TRUE
        return #TRUE
      }
      set !temp_jindex !temp_jindex + 1
    }
    set !index !index + 1
  until !index - !first_arg > !num_args - !first_arg
  set %10 !sampled_jindex - !_jindex
  set %10 %1 , _ , %10 ; for debugging purposes
  set #LPC !temp_lpc
  set TM_AdvJournalGetTrigger #FALSE
  namespace pop
  set !TM_FunctionCalled #TRUE
return #FALSE
;-------------------------------------------------------------------------------

2835
Script Debug / Re: First script and could use some help
« on: May 07, 2012, 03:35:21 PM »
I am not sure if I am on the right track or not, guessing not because it is not stopping once the chest is pulled up. I may be using the wrong term to end the script, I am using halt.

Code: [Select]
gosub TM_AdvJournalSync FISHING
finditem XHF_KDF C_ , #BACKPACKID
  if #FINDKIND = -1
  {
    finditem XHF_KDF C_ , #CHARID
    if #FINDKIND = -1
    {
      display ok How can you fish without your fishing pole?
      halt
    }
  }
  set %fishingpole #FINDID
 
SOSFishLoop:
 findItem XHF 1
 set #LObjectID #FindID
 set #LTargetKind 2
 set #LTargetX 0 + #CharPosX
 set #LTargetY 4 + #CharPosY
 event macro 17 0
 target
 event macro 22 0
 set %fishtimeout #SCNT + 9
 target 12s

 gosub TM_AdvJournalScan FISHING VALID chest_from_the_depths_of_the_ocean
 if #RESULT = #TRUE
    {
    TM_AdvJournalSync Fishing
    goto endSOSFish
      }
 goto SOSFishLoop
 
EndSOSFishLoop:
 Halt

;=================================================================
;------------------------  Call interface  -----------------------
;=================================================================
set !TM_FunctionCalled #FALSE
if %0 = 1
  gosub %1
if %0 = 2
  gosub %1 %2
if %0 = 3
  gosub %1 %2 %3
if %0 = 4
  gosub %1 %2 %3 %4
if %0 = 5
  gosub %1 %2 %3 %4 %5
if %0 = 6
  gosub %1 %2 %3 %4 %5 %6
if %0 = 7
  gosub %1 %2 %3 %4 %5 %6 %7
if %0 = 8
  gosub %1 %2 %3 %4 %5 %6 %7 %8
if %0 = 9
  gosub %1 %2 %3 %4 %5 %6 %7 %8 %9
if %0 = 10
  gosub %1 %2 %3 %4 %5 %6 %7 %8 %9 %10
if %0 = 11
  gosub %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11
if %0 > 11
{
  display ok Too many arguments for "call", edit file.
  stop
}

if !TM_FunctionCalled = #TRUE
  exit
if %0 = N/A
  display ok You may not run this script directly.
else
  display ok Function " , %1 , " not found.
stop
;-------------------------------------------------------------------------------
sub TM_AdvJournalGetTrigger
  namespace push
  namespace local TM_AdvJS_ , %1
  set #RESULT !trigger
  namespace pop
  set !TM_FunctionCalled #TRUE
return #RESULT
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - #LPC setting (optional)
; Brings !_jindex up to the most recent #journal entry
sub TM_AdvJournalSync
  namespace push
  namespace local TM_AdvJS_ , %1
  set !_jindex #jindex + 1
  if %0 > 1
    set !lpc_set %2
  namespace pop
  set !TM_FunctionCalled #TRUE
return
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - NONE, ADVANCE , ( _VALID ) - advances jindex pointer, anything else
; %3, %4, %5, etc strings to match
; returns #TRUE for match, #FALSE for no match
;  Will not advance !_jindex pointer to allow for scanning journal history for more than one search.
;  Also searches for : , #SPC in journal entry to be sure someone isn't spamming the text
;  About %2 arguments:
;    NONE: defaults to basic journal scan (no SPAM checking, no #jindex pointer copy advancing)
;    ADVANCE: no spam checking, advances #jindex copy
;    VALID: invokes SPAM filtering, no advance of #jindex copy
;    VALID_ADVANCE, VALIDADVANCE, ADVANCE_VALID, etc.: invokes SPAM filtering, advances of #jindex copy
sub TM_AdvJournalScan
  namespace push
  namespace local TM_AdvJS_ , %1
  set !args %2
  set !temp_lpc #LPC
  if !lpc_set = N/A
    set #LPC 1000
  else
    set #LPC !lpc_set
  set !num_args %0
  set !first_arg 3
  set !sampled_jindex #JINDEX
  if !_jindex = N/A
    set !_jindex !sampled_jindex
  if !charname = N/A
  {
    set !charname #CHARNAME
AdvJournalScan_loop1:
    str pos !charname #SPC
    if #STRRES <> 0
    {
      set !val #STRRES - 1
      str left !charname !val
      set !left #STRRES
      set !val !val + 1
      str del !charname 1 !val
      set !charname !left , _ , #STRRES
      goto AdvJournalScan_loop1
    }
  }
  set !index !first_arg
  repeat
    set !temp_jindex !_jindex
    set !text % . !index
    while !temp_jindex <= !sampled_jindex
    {
      scanjournal !temp_jindex
      str pos #JOURNAL !charname 1
      set !namepos #STRRES
      str count #JOURNAL !charname
      set !namecnt #STRRES
      str pos #JOURNAL :_ 1
      set !smcpos #STRRES
      str pos #JOURNAL !text 1
      set !textpos #STRRES
      if !textpos < !smcpos && !smcpos <> 0 || !smcpos = 1 || :_ notin #JOURNAL || VALID notin !args
        set !pass #TRUE
      else
        set !pass #FALSE
      if ( !text in #journal && ( ( !namepos = 1 && !namecnt <= 1 ) || !pass ) )
      {
        set !temp_jindex !temp_jindex + 1
        if ADVANCE in !args
          set !_jindex !temp_jindex
        set !trigger !text
        set #LPC !temp_lpc
        namespace pop
        set !TM_FunctionCalled #TRUE
        return #TRUE
      }
      set !temp_jindex !temp_jindex + 1
    }
    set !index !index + 1
  until !index - !first_arg > !num_args - !first_arg
  set %10 !sampled_jindex - !_jindex
  set %10 %1 , _ , %10 ; for debugging purposes
  set #LPC !temp_lpc
  set TM_AdvJournalGetTrigger #FALSE
  namespace pop
  set !TM_FunctionCalled #TRUE
return #FALSE
;-------------------------------------------------------------------------------


Pages: 1 ... 187 188 [189] 190 191