| 
	
		|  |  
		| nazradin Apprentice
 
 
 Joined: 23 Mar 2003
 Posts: 114
 Location: New Zealand
 
 | 
			
			  |  Posted: Sun May 04, 2003 4:02 am 
 isolating highlight string varaibles
 
 |  
				| 
 i use
 
 
 #ALIAS roomobject {#VAR roomobject {%additem( %0, @roomobject)}}
 #TRIGGER {{@roomobject}} {#CW 13}
 #VAR roomobject {door|stair|step|steps|stairs|gate|arch|shimmering portal|tunnel|path|wall|trail|footpath|bridge|bench|barrel|stairway}
 
 type triggers to highlight things for me , is there a way to isolate the string so that "door" is only highlighted when it is not in another such as the charater "doorjammer" for instance.
 I mean whole words and not partials
 
 i have tried
 #tr {{~^| }{@roomobject}{.|,| }} {#cw 10} and variations there of but always get syntax error
 
 only one without syntax error
 #tr {{~| }{@roomobject}} {#cw 10}
 but this doesnt solve the problem
 
 can someone please point me in the right direction
 
 
 thanks
 |  |  
	  |  |  
		|  |  
		| Vijilante SubAdmin
 
  
 Joined: 18 Nov 2001
 Posts: 5187
 
 
 | 
			
			  |  Posted: Sun May 04, 2003 9:17 pm 
 |  
				| I am guessing these would be found in descriptions.  That means they may be anywhere in a line, and you want to make sure they are not part of another word.  That can't be done directly by a single trigger pattern, but can be done by script. 
 #TR {({@roomobject})} {#IF ((%word(%x1,1)=0)|(%copy(%line,%word(%x1,1),1)=" ")) {#IF (%ismember(%copy(%line,%word(%x1,2),1),"|.|,| ")) {#CW 10}}}
 
 Also %0 is not truly valid in your alias, even though is has worked so far you should use %-1.
 |  |  
	  |  |  
		|  |  
		| nazradin Apprentice
 
 
 Joined: 23 Mar 2003
 Posts: 114
 Location: New Zealand
 
 | 
			
			  |  Posted: Mon May 05, 2003 9:02 am 
 |  
				| quote:
 I am guessing these would be found in descriptions.  That means they may be anywhere in a line, and you want to make sure they are not part of another word.  That can't be done directly by a single trigger pattern, but can be done by script.
 
 #TR {({@roomobject})} {#IF ((%word(%x1,1)=0)|(%copy(%line,%word(%x1,1),1)=" ")) {#IF (%ismember(%copy(%line,%word(%x1,2),1),"|.|,| ")) {#CW 10}}}
 
 Also %0 is not truly valid in your alias, even though is has worked so far you should use %-1.
 
 
 
 
 
 
 that works sorta but when there are say to cases of a varaibel in the same line such as
 
 You notice a white-robed acolyte, a red-haired elven bard, the Silvercreek disk, a wooden barrel and a darkly stained wooden bench with some stuff on it.
 
 here barrel and bench it shows neither of the highlighted
 
 also if i use this script on other triggers such my my gem highlighter when there is a stone wall , stone being in my gem list and wall being room object niether is higlighted
 
 also can you explain
 
 "Also %0 is not truly valid in your alias, even though is has worked so far you should use %-1."
 
 thanks for your help
 
 nazradin
 |  |  
	  |  |  
		|  |  
		| LightBulb MASTER
 
 
 Joined: 28 Nov 2000
 Posts: 4817
 Location: USA
 
 | 
			
			  |  Posted: Mon May 05, 2003 7:00 pm 
 |  
				| #CW triggers are different from most triggers. Most triggers are checked for ONE match per line, and if one is found the trigger is processed on that FIRST match. #CW triggers are checked for multiple matches, and EVERY match is processed. That means that it's quite easy to use #CW to color bench and barrel in the same line, but when you want to also PREVENT the coloring of benchseat and waterbarrel it becomes extremely difficult. Just learn to tolerate the doorjammers. 
 Otherwise, you'll have to kludge something up that involves parsing the entire line which caused the trigger, using a loop to look at every word.
 
 Oh yeah, %0. To paraphrase: %0 is UNDOCUMENTED and UNSUPPORTED. DON'T USE IT! %-1 is both documented and supported. Use it instead.
 
 LightBulb
 Advanced Member
 |  |  
	  |  |  
		|  |  
		| nazradin Apprentice
 
 
 Joined: 23 Mar 2003
 Posts: 114
 Location: New Zealand
 
 | 
			
			  |  Posted: Tue May 06, 2003 9:49 am 
 |  
				| thanks as usual for your definative post lightbulb
 
 
 
 cheers Nazradin
 |  |  
	  |  |  
		|  |  
		| Lain Novice
 
 
 Joined: 26 Oct 2001
 Posts: 38
 
 
 | 
			
			  |  Posted: Tue May 06, 2003 10:37 am 
 |  
				| If you don't mind it triggering from a space, comma or fullstop - you could always add them to the words in your roomobject variable. It might solve some occurences but you'd have to put up with: door. 
 #VAR roomobject {door |door,|door.|step |step,|step.|steps |steps,|steps.|stairs |stairs, |stairs.|gate |gate,|gate.|arch |arch,|arch.|shimmering portal|tunnel |tunnel,|tunnel.|path |path,|path.|wall |wall,|wall.|trail |trail,|trail.|footpath|bridge |bridge,|bridge.|bench |bench, |bench.|barrel |barrel, |barrel.|stairway}
 
 I do not know if there is a way to match the pattern "door." but only colour the "door" part, leaving the full stop out. That would be useful.
 
 Lain
 |  |  
	  |  |  
		|  |  
		| Lain Novice
 
 
 Joined: 26 Oct 2001
 Posts: 38
 
 
 | 
			
			  |  Posted: Tue May 06, 2003 11:00 am 
 |  
				| Found one possible way: 
 #TRIGGER {{@roomobject}} {}
 #COND {{@roomobjectcol}} {#CW 10} {reparse}
 
 #VAR roomobject {door |door,|door.|step |step,|step.|steps |steps,|steps.|stairs |stairs, |stairs.|gate |gate,|gate.|arch |arch,|arch.|shimmering portal|tunnel |tunnel,|tunnel.|path |path,|path.|wall |wall,|wall.|trail |trail,|trail.|footpath|bridge |bridge,|bridge.|bench |bench, |bench.|barrel |barrel, |barrel.|stairway}
 
 #VAR roomobjectcol {door|stair|step|steps|stairs|gate|arch|shimmering portal|tunnel|path|wall|trail|footpath|bridge|bench|barrel|stairway}
 
 Hope this helps,
 Lain
 |  |  
	  |  |  
		|  |  
		|  |  
		|  |  
  
	| 
 
 | You cannot post new topics in this forum You cannot reply to topics in this forum
 You cannot edit your posts in this forum
 You cannot delete your posts in this forum
 You cannot vote in polls in this forum
 
 |  |