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
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.
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.
wait 14
;===================================================================
; 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
;-------------------------------------------------------------------------------
Code: [Select]set %scissors N/A
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
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.
;===================================================================
; 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
;-------------------------------------------------------------------------------
;===================================================================
; 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
;===================================================================
; 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
;-------------------------------------------------------------------------------
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
;-------------------------------------------------------------------------------