Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
Bardack
Newbie


Joined: 21 Jun 2010
Posts: 1

PostPosted: Mon Jun 21, 2010 5:54 pm   

SWMud scripting issue
 
I'm having some issues trying to get a trigger to grab target ID numbers to fire. I've tried
* * (*) * (%d) * (%d) * (%d) * (%d) *
* * (*) * (%d) * (%d)* (%d )* (%d)
TIE Fighter (*) (%d) * (%d) * (%d) *

All of which work sporadically but none of them are reliable but the top one is the most consistent.
The lines being parsed are below, trying to run all 3 just ends up with commands being spammed wildly.

Code:
         Object Description               ID     Dist     X     Y     Z
-------------------------------------- -------- ------  ----- ----- -----
Planet Newbiway (Newbiway)                 ****    103   1000     0     0
TIE Fighter (tie 7)                       33114    504   -781   591  -197
TIE Fighter (tie 4)                       60250    219   -432   901     0
-------------------------------------- -------- ------  ----- ----- -----
Location: The Newbiway System          Current Vector:  -1000     0     0


EDIT (MattLofton):added code tags to show the spacing
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Mon Jun 21, 2010 7:47 pm   
 
you need to spend more time with the Pattern Matching helpfile, but you'll want something like this:

#trigger {^($name:[%w%s]) ~(($shortname:[%w%s%d])~)%s($id:[%d~*])%s($dist:%d)%s($X:%d)%s($Y:%d)%s($Z:%d)$} {code}

() = put this into the %1...%99 variables so I can use them in the code
$varname: = same as (), but puts it into a local variable
[] = continuous string of only these characters (allows the use of wildcards)
~ = used to prevent Cmud from using the next character as a wildcard or other specially-defined character
%w = continuous string of only letters, both upper and lower case
%s = continuous string of only whitespace
%d = continuous string of only numbers (includes negative numbers)
^ = only match from the beginning of the line
$ (the last one) = only match from the end of the line
_________________
EDIT: I didn't like my old signature
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
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

© 2009 Zugg Software. Hosted by Wolfpaw.net