| 
	
		|  |  
		| nostra Wanderer
 
 
 Joined: 23 May 2001
 Posts: 68
 Location: Sweden
 
 | 
			
			  |  Posted: Fri Jun 11, 2004 2:54 pm 
 Advanced list-manipulation question
 
 |  
				| Hi everyone, 
 I need help with "list variable set-up". Specifically, when I receive a quest I want a script that colors the mobs I'm looking for. And after they have been killed I need to remove them from the script.
 
 Problem: Mobs have "two names"
 1)'questname' = 'name you see when fighting the mob'
 2) 'roomname' (that is, the name you see when you are in the same room as the mob)
 
 This is what (I figured) I need to do:
 a) Create a static master "record variable list" with both names (giant yeti | old grumpy yeti roaming around). @allmobs (simple)
 
 b) write a trigger that adds the mobs I have to kill for my quest to a string list @questmobs (simple)
 
 c) I need to match values in questmobs with allmobs (keys) and merge this to a third record variable list (with matched keys and value). @questlist  (not sure how to do this).
 
 d) Finally, I need three triggers (3rd one is difficult for me):
 
 ...d1) One that colors key value (questname)
 ...d2) One that colors record value (roomname)
 ...d3) One that removes the record from the list once the mob has been killed (since I'm not doing the quest in any particular order I cannot use the #DELN 1 command)
 
 So, in short. I don't know how to match and merge values from string list with key value in 'record variable list' to a third list (see example below):
 
 @questmobs
 giant yeti
 a human
 
 @allmobs
 giant yeti | hovering yeti
 a human | mad human hovering
 slobbering dwarf | drooling dwarf glaring at you
 a halfling | a furry creature
 
 [merged] @questlist
 giant yeti | hovering yeti
 crazy human | mad human hovering
 
 Any ideas?
   
 Kindly,
 Mikael
 |  |  
	  |  |  
		|  |  
		| Mike Z Red Beginner
 
 
 Joined: 11 Jun 2004
 Posts: 11
 Location: USA
 
 | 
			
			  |  Posted: Fri Jun 11, 2004 4:39 pm 
 |  
				| Look at my response to your previous list-comparison post. This is essentially the same thing, except you want to compare values in two DBvars. 
 |  |  
	  |  |  
		|  |  
		| LightBulb MASTER
 
 
 Joined: 28 Nov 2000
 Posts: 4817
 Location: USA
 
 | 
			
			  |  Posted: Fri Jun 11, 2004 6:42 pm 
 |  
				| Trigger patterns can match list-variables or the keys of record-variables. They don't match the values of record-variables. Since you want to color the long names ('roomnames'), you need to put the long names in a list-variable, or use them as the keys of a record variable, or make individual #CW triggers for them. The first option seems simplest. 
 #TR {{@questmobs}} {#CW hi,blue}
 #TR {{@questlist}} {#CW hi,green}
 #TR {go on quest to kill (*)} {#ADDI questmobs {%1};#IF %iskey( @allmobs, "%1") {#ADDI questlist {%db( @allmobs, "%1")}} {#SAY Not in master list}}
 #TR {You have killed ({@questmobs})} {#DELI questmobs {%1};#IF %iskey( @allmobs, "%1") {#DELI questlist {%db( @allmobs, "%1")}}}
 |  |  
	  |  |  
		|  |  
		|  |  
		|  |  
  
	| 
 
 | 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
 
 |  |