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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
DeathDealer
Adept


Joined: 20 Jul 2004
Posts: 268

PostPosted: Thu May 05, 2005 7:28 pm   

Clickable #status exits *SOLVED*..kinda
 
Reviving a topic back from 2002. :-)
http://forums.zuggsoft.com/phpbb/viewtopic.php?t=8295&highlight=mxp+status
that topic was based on triggers and not on the mapper.
When i was helping someone figure out something with the status bar I came across the help files suggestion of putting in the room name and exits based on the mappers info. I added the zone name as well, cause if I know the name of the room but not the area, then it's not much help :-)
so I got this:
Code:
<color firebrick><b>Area:</b> %zonename()</color>      <color orangered><b>Room:</b> %roomname()</color>      <color mediumvioletred><b>Exits:</b> %expandlist(%roomexit(),", ")</color>
Now, here's the thing, how would i make it so that the exits were clickable, but ONLY if they were the non-standard ones?
Exits: w, aard, e, d, s, u
Generally would be enter "foo"
Tried <send>%expandlist(%roomexit(),", ")</send> thinking it would make each one clickable, but it just sent the whole line in one shot.
Ain't totally commited to this project, but was more of a side thought.

Thanks
_________________


Last edited by DeathDealer on Tue May 10, 2005 8:06 pm; edited 2 times in total
Reply with quote
Maelstrom
Apprentice


Joined: 10 Feb 2005
Posts: 158

PostPosted: Thu May 05, 2005 8:37 pm   
 
Just a comment... it might be easier to add this after the fact based off the example given in the help file.
#TRIGGER {north} {#SUB {~<send>north~</send>}}

Soo umm
#TRIGGER {Exits: (*)} {do processing and subs here?}
Reply with quote
DeathDealer
Adept


Joined: 20 Jul 2004
Posts: 268

PostPosted: Thu May 05, 2005 8:49 pm   
 
Didn't think it would work cause it's in the #st and the %expandlist(%roomexit(),", ")
but i'll give it a shot when i get home. if i don't collapse in bed
_________________
Reply with quote
Maelstrom
Apprentice


Joined: 10 Feb 2005
Posts: 158

PostPosted: Thu May 05, 2005 8:56 pm   
 
Well if you go with the original I would do it by creating a blank exits variable and looping through the exits depending... maybe something like this:

#VAR exits {}
#FORALL %roomexit() {#IF (%len(%i)>1) {#VAR exits {%additem("<send>%i</send>",@exits)}}} {#VAR exits {%additem(%i,@exits)}}}

<color firebrick><b>Area:</b> %zonename()</color> <color orangered><b>Room:</b> %roomname()</color> <color mediumvioletred><b>Exits:</b> %expandlist(@exits,", ")</color>

Donno if it will expand correctly or not. Didnt test the above code was just off the top of my head but should be fairly close...
Reply with quote
DeathDealer
Adept


Joined: 20 Jul 2004
Posts: 268

PostPosted: Fri May 06, 2005 1:25 pm   
 
I'm going to imagine that the #forall isn't supposed to be placed in the command line....
A crap load of screens detailing everything in my .mud file just scrolled by....
_________________
Reply with quote
Maelstrom
Apprentice


Joined: 10 Feb 2005
Posts: 158

PostPosted: Fri May 06, 2005 4:17 pm   
 
Yeah you cant do that... but im testing this one and it seems to work good. Its *real* ugly because of the multiple expansions but =) it does work
Uses the alias ShowRoom:

Code:

#VAR exits {} {}
#ALIAS ShowRoom {
  #VARIABLE exits {}
  #FORALL %roomexit() {#IF (%len(%i)>1) {#VARIABLE exits {%additem("~<<send~>~>%i~<</send~>~>",@exits)}} {#VARIABLE exits {%additem(%i,@exits)}}}
  #MXP ~<color firebrick~>~<b~>Area:~</b~> %zonename()~</color~> ~<color orangered~>~<b~>Room:~</b~> %roomname()~</color~> ~<color mediumvioletred~>~<b~>Exits:~</b~> %expandlist(@exits,", ")~</color~>
}


Good luck reading it though...
Cool
Reply with quote
DeathDealer
Adept


Joined: 20 Jul 2004
Posts: 268

PostPosted: Fri May 06, 2005 8:56 pm   
 
heh, me thinks someone doth missed the part that i said "the status bar" :-)
Looking to have this in the status bar like the help file for #status shows.
But just want the odd-ball exits clickable in it.
_________________
Reply with quote
Maelstrom
Apprentice


Joined: 10 Feb 2005
Posts: 158

PostPosted: Fri May 06, 2005 10:24 pm   
 
Oh yeah, I did miss that part... oh well, at least I have something to work with =)
Reply with quote
Maelstrom
Apprentice


Joined: 10 Feb 2005
Posts: 158

PostPosted: Sat May 07, 2005 2:40 pm   
 
Code:

<color firebrick><b>Area:</b> %zonename()</color>      <color orangered><b>Room:</b> %roomname()</color>      <color mediumvioletred><b>Exits:</b> %subregex(%expandlist(%roomexit(),", "),"(\a\a+)",~<send~>%1~</send~>)</color>


Here you go DD... this was as close as I could get. Works off the assumption that any non-standard exit would be two letters or greater.
Reply with quote
DeathDealer
Adept


Joined: 20 Jul 2004
Posts: 268

PostPosted: Sun May 08, 2005 2:47 pm   
 
*breaks down in tears of joy*
I wuv you man!
err...but ya know, in a manly sorta way *cough*
_________________
Reply with quote
chris-74269
Magician


Joined: 23 Nov 2004
Posts: 364

PostPosted: Mon May 09, 2005 2:27 pm   
 
is there anyway to make this script support multiple word exits? like not all room exits are 'enter' it won't do things like 'jump out window' or so forth.
Reply with quote
Maelstrom
Apprentice


Joined: 10 Feb 2005
Posts: 158

PostPosted: Mon May 09, 2005 4:27 pm   
 
Sure thing... (as long as I got my regex correct that is)

This one will match just about anything but a single character all by itself. So critera would be as follows:
> If single word match if two characters or more in length
> if multiple word take it as it is

Code:

<color firebrick><b>Area:</b> %zonename()</color>      <color orangered><b>Room:</b> %roomname()</color>      <color mediumvioletred><b>Exits:</b> %subregex(%expandlist(%roomexit(),", "),"(\a+(?: \a+)+|\a\a+)",~<send~>%1~</send~>)</color>
Reply with quote
DeathDealer
Adept


Joined: 20 Jul 2004
Posts: 268

PostPosted: Mon May 09, 2005 5:12 pm   
 
Ah, thanks Mael.
I didnt even think to check it for multi word exits.
Just tried it in one room that had a single and thought it was all good :-)
The change works, but dunno if it's me or what, but it don't work the 1st time i click it.
Had to click it 2 or 3 times before it worked.
Might just need to restart zmud or the computer. have had both running over the weekend.
Chris, good catch and question. I woulda noticed it at some point in time or more likely knowing me, wouldn't have at all :-)
_________________
Reply with quote
chris-74269
Magician


Joined: 23 Nov 2004
Posts: 364

PostPosted: Mon May 09, 2005 11:26 pm   
 
thanks a lot as well, and you should definately post this on the finished scripts section since it is extremely useful
Reply with quote
DeathDealer
Adept


Joined: 20 Jul 2004
Posts: 268

PostPosted: Tue May 10, 2005 8:09 pm   
 
hrmm
Well, tried it after a reboot.
It works, but it still works when it wants to. A few clicks are needed before it happens.
Not sure why tho.
Thought it was cause this computer at work sucks. i think it's a p2 333 with 300+ something of ram.
Tried it at home on my p4 1.5gig with 256 ram (so i cant afford better ram, shoot me) and it still did the same thing. A few clicks needed to get it to recognize.
Any ideas?
_________________
Reply with quote
Maelstrom
Apprentice


Joined: 10 Feb 2005
Posts: 158

PostPosted: Tue May 10, 2005 8:20 pm   
 
Noop, the original script you posted for modifying did the same thing to me. I didnt think about it at the time but I dont think its a script issue... if I come up with a work around ill let you know but I dont think ill find one...
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD 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