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
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4691
Location: Pensacola, FL, USA

PostPosted: Sat Aug 15, 2009 12:39 am   

Stormfront Emulation
 
Alright... so I've been looking over this once more... trying to get the handshaking going down right..
But it seems it just doesn't respond to normal MXP triggers as i had hoped.

Code:
<trigger type="MXP" priority="10" id="1">
  <pattern>prompt</pattern>
  <value>#SAY %1</value>
</trigger>

<trigger type="MXP" priority="10" id="1">
  <pattern>prompt time="(%d)"</pattern>
  <value>#SAY %1</value>
</trigger>


Might this be from the MXP elements having parameters?

Here is some of the actual output I recieve.

Code:
Welcome to GemStone IV (R) v5.10
Copyright 2009 Simutronics Corp.
All Rights Reserved
<component id='room players'></component>
<prompt time="1250295453">></prompt>
<popStream/><prompt time="1250295455">></prompt>
<dialogData id='encum'><progressBar id='encumlevel' value='80' text='Very Heavy' top='5' left='-5' align='n' width='160' height='15'/><label id='encumblurb' value='It is difficult to move quickly as your legs strain under your load.' top='10' left='0' align='n' width='160' height='50' justify='0' anchor_top='encumlevel'/></dialogData><pushBold/>A <a exist="56272642" noun="kobold">kobold</a><popBold/> swings a short sword at you!
You skillfully interpose your <a exist="56276491" noun="longsword">longsword</a> between yourself and the incoming strike, deflecting it harmlessly to the side!
<prompt time="1250295457">></prompt>
<dialogData id='combat'><dropDownBox id='dDBTarget' value="none" cmd="target %dDBTarget%" tooltip='Select Target' content_text="none,kobold,kobold" content_value="target help,#56272630,#56272642" anchor_left='cmdTarget' anchor_right='cmdAttack' height='20' width='80'  top='93' left='0' align='n'/></dialogData>
<component id='room objs'>  You also see<b> <pushBold/>a <a exist="56272630" noun="kobold">kobold</a><popBold/></b>,<b> <pushBold/>a <a exist="56272642" noun="kobold">kobold</a><popBold/></b> and a <a exist="56263387" noun="truffle">spotted truffle</a>.</component>
<pushBold/>A <a exist="56272630" noun="kobold">kobold</a><popBold/> just arrived.
<prompt time="1250295457">></prompt>
<popStream/><prompt time="1250295465">></prompt>
<popStream/><prompt time="1250295466">></prompt>
<clearStream id="spellfront"/><pushStream id="spellfront"/>Armor Support
Strength
<popStream id="spellfront"/>
<prompt time="1250295471">></prompt>
<popStream/><prompt time="1250295472">></prompt>
<component id='room objs'>  You also see<b> <pushBold/>a <a exist="56272630" noun="kobold">kobold</a><popBold/></b> and a <a exist="56263387" noun="truffle">spotted truffle</a>.</component>
<pushBold/>A <a exist="56272642" noun="kobold">kobold</a><popBold/> heads <d>southwest</d>.
<prompt time="1250295473">></prompt>
<component id='room objs'>  You also see a <a exist="56263387" noun="truffle">spotted truffle</a>.</component>
<pushBold/>A <a exist="56272630" noun="kobold">kobold</a><popBold/> heads <d>southwest</d>.
<prompt time="1250295473">></prompt>
<popStream/><prompt time="1250295474">></prompt>
<popStream/><prompt time="1250295481">></prompt>
<popStream/><prompt time="1250295483">></prompt>


Code:
<a exist="-10509842" noun="Alisse">Alisse</a> gestures.
<clearStream id="spellfront"/><pushStream id="spellfront"/>Armor Support
Elemental Defense III
Mass Blur
Natural Colors
<popStream id="spellfront"/>
A brilliant luminescence surrounds you.
<clearStream id="spellfront"/><pushStream id="spellfront"/>Armor Support
Elemental Defense III
Mass Blur
Natural Colors
<popStream id="spellfront"/>
<prompt time="1250296090">J></prompt>
<dialogData id='combat'><dropDownBox id='dDBTarget' value="none" cmd="target %dDBTarget%" tooltip='Select Target' content_text="none,mountain spirit" content_value="target help,#56197771" anchor_left='cmdTarget' anchor_right='cmdAttack' height='20' width='80'  top='93' left='0' align='n'/></dialogData>
<component id='room objs'>  You also see<b> <pushBold/>a <a exist="56197771" noun="spirit">fierce mountain spirit</a><popBold/></b> that is flying around, a <a exist="56297020" noun="bread">loaf of dark crusty ale bread</a>, the <a exist="55292422" noun="disk">blue Iekid disk</a>, the <a exist="55296450" noun="disk">Litle disk</a>, the <a exist="55030974" noun="disk">Valamerie disk</a>, the <a exist="56222556" noun="disk">Talnin disk</a>, the <a exist="56121575" noun="disk">Ironoma disk</a>, a <a exist="56096411" noun="chest">corroded iron chest</a>, <a exist="55540984" noun="haphip">some ground haphip</a>, a <a exist="55758292" noun="pelt">rolton pelt</a>, a <a exist="55512082" noun="potion">rose-marrow potion</a> and <a exist="23085" noun="benches">some ornate wrought-iron benches</a>.</component>
<pushBold/>A <a exist="56197771" noun="spirit">fierce mountain spirit</a><popBold/> floats in, following <a exist="-10951632" noun="Deleyli">Deleyli</a>.
<prompt time="1250296091">J></prompt>
<clearStream id="spellfront"/><pushStream id="spellfront"/>Armor Support
Elemental Defense III
Mass Blur
Natural Colors
<popStream id="spellfront"/>
<prompt time="1250296091">J></prompt>
<a exist="-10922038" noun="Bordald">Bordald</a> makes a nearly imperceptible motion while whispering a soft phrase...
<a exist="-10922038" noun="Bordald">Bordald</a> gestures.
<a exist="-10922038" noun="Bordald">Bordald</a> is surrounded by a writhing barrier of sharp thorns.
<prompt time="1250296091">J></prompt>
<component id='room players'>Also here: <a exist="-10970360" noun="Iars">Iars</a>, Lord <a exist="-10870736" noun="Iekid">Iekid</a>, <a exist="-10726233" noun="Quilton">Quilton</a>, <a exist="-10068897" noun="Vadril">Vadril</a>, <a exist="-10782920" noun="Litle">Litle</a>, <a exist="-10838226" noun="Valamerie">Valamerie</a>, <a exist="-10916149" noun="Talnin">Talnin</a>, Lady <a exist="-10464117" noun="Fernalee">Fernalee</a>, <a exist="-10133199" noun="Aliria">Aliria</a>, <a exist="-10922038" noun="Bordald">Bordald</a>, <a exist="-10509842" noun="Alisse">Alisse</a>, Lady <a exist="-10213594" noun="Raindove">Raindove</a>, <a exist="-10970119" noun="Ironoma">Ironoma</a> who is sitting, <a exist="-10969386" noun="Tlandro">Tlandro</a></component>
Great Lady <a exist="-10951632" noun="Deleyli">Deleyli</a> just went <d cmd='go west'>west</d>.
<prompt time="1250296094">J></prompt>
<component id='room objs'>  You also see a <a exist="56297020" noun="bread">loaf of dark crusty ale bread</a>, the <a exist="55292422" noun="disk">blue Iekid disk</a>, the <a exist="55296450" noun="disk">Litle disk</a>, the <a exist="55030974" noun="disk">Valamerie disk</a>, the <a exist="56222556" noun="disk">Talnin disk</a>, the <a exist="56121575" noun="disk">Ironoma disk</a>, a <a exist="56096411" noun="chest">corroded iron chest</a>, <a exist="55540984" noun="haphip">some ground haphip</a>, a <a exist="55758292" noun="pelt">rolton pelt</a>, a <a exist="55512082" noun="potion">rose-marrow potion</a> and <a exist="23085" noun="benches">some ornate wrought-iron benches</a>.</component>
<pushBold/>A <a exist="56197771" noun="spirit">fierce mountain spirit</a><popBold/> hurriedly flits out of sight.


Code:
<compDef id='room players'></compDef>
<compDef id='room exits'>Obvious exits: <d>west</d>, <d>out</d></compDef>
<compDef id='sprite'></compDef><popStream id='room'/>
<component id='room players'></component>
<resource picture="0"/><nav/><style id="roomName" />[Grocer's, Front Room]
<style id=""/><style id="roomDesc"/>The front room of the grocer's is filled with shoppers toting bundles or hefting sacks over their shoulders.  Young lads swarm around, offering to help carry your goods for a few spare coppers.  From the west wafts an aroma of fresh foods, meats, cheeses and breads that causes your mouth to water.  Off in a <a exist="-3959" noun="corner">secluded corner</a> you see an area where a table has been surrounded by some partitions, affording some privacy for customers who choose to dine here.<style id=""/>
Obvious exits: <a exist="-10592651" coord="2524,1864" noun="west">west</a>, <a exist="-10592651" coord="2524,1864" noun="out">out</a>
<compass><dir value="w"/><dir value="out"/></compass><prompt time="1250296193">></prompt>
<openDialog id='quick-simu' location='quickBar' title='information'><dialogData id='quick-simu' clear='true'><link id='1' value='policy' cmd='policy' echo='policy'/><sep/><link id='12' value='news' cmd='news' echo='news'/><sep/><link id='2' value='forums' cmd='bbs' echo='bbs'/><sep/><link id="3" value="calendar" cmd="url:/gs4/events/feeds.asp?game=GS4"/><sep/><link id='13' value='documentation' cmd='url:/gs4/info/index_of_docs.asp'/><sep/><link id='5' value='premium' cmd='premium' echo='premium'/><sep/><link id='6' value='platinum' cmd='url:/gs4/platinum/'/><sep/><link id='7' value='box office' cmd='url:/gs4/boxoffice.asp'/><sep/><link id='8' value='maps' cmd='url:/gs4/index_documents/geography.asp'/><sep/><link id='9' value='version notes' cmd='url:/gs4/play/sf/notes.asp'/></dialogData></openDialog>
<switchQuickBar id="quick-simu"/>
<dialogData id='combat'><dropDownBox id='dDBTarget' value="none" cmd="target %dDBTarget%" tooltip='Select Target' content_text="none" content_value="target help" anchor_left='cmdTarget' anchor_right='cmdAttack' height='20' width='80'  top='93' left='0' align='n'/></dialogData>
<streamWindow id='main' title='Story' subtitle=" - Grocer's, Secluded Corner" location='center' target='drop'/><streamWindow id='room' title='Room' subtitle=" - Grocer's, Secluded Corner" location='center' target='drop' ifClosed='' resident='true'/><clearStream id='room'/><pushStream id='room'/><compDef id='room desc'>Here in this secluded corner you find a <a exist="-27406" noun="table">small table</a> covered with a red checkered tablecloth.  It is kept spotless and clean.  Gathered fabric covers portable screens that have sectioned off this area from the sales area of the store, and serve double duty by muffling your conversation.  Your vantage spot here allows you to spot anyone approaching your table.</compDef><compDef id='room objs'></compDef>
<compDef id='room players'></compDef>
<compDef id='room exits'>Obvious exits: <d>out</d></compDef>
<compDef id='sprite'></compDef><popStream id='room'/>
<component id='room players'></component>
<resource picture="0"/><nav/><style id="roomName" />[Grocer's, Secluded Corner]
<style id=""/><style id="roomDesc"/>Here in this secluded corner you find a <a exist="-27406" noun="table">small table</a> covered with a red checkered tablecloth.  It is kept spotless and clean.  Gathered fabric covers portable screens that have sectioned off this area from the sales area of the store, and serve double duty by muffling your conversation.  Your vantage spot here allows you to spot anyone approaching your table.<style id=""/>
Obvious exits: <a exist="-10592651" coord="2524,1864" noun="out">out</a>
<compass><dir value="out"/></compass><prompt time="1250296194">></prompt>
_________________
Discord: Shalimarwildcat
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4691
Location: Pensacola, FL, USA

PostPosted: Tue Aug 18, 2009 4:51 pm   
 
I have eyeballed and figured out some of the tags:

pushStream = reroutes text to the window in its id (effectively #C+ id) [seems to always miss the first value]
popStream = reroutes text back to the main window (#C-)
clearStream = clear the given window id (#CLR id)
a = any manipulative object or mob, not sure how i can use the number field given
dialogData = seems to be a button/panel
progressBar = gauges
component = arrays for room contents
_________________
Discord: Shalimarwildcat
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Aug 18, 2009 5:07 pm   
 
I'll copy a response from another post here in case someone else reads this and tries to figure it out:
-----
You'll need to set up a bunch of <!ELEMENT> MXP statements to define the XML tags that you want to recognize from the MUD. Remember that the MUD isn't actually supporting MXP...they are just sending raw XML data. So usually in a onLoad or onConnect event, you need to use the #MXP command to send <!ELEMENT> commands to CMUD to define each tag. See the MXP Spec for documentation on the <!ELEMENT> tag.
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4691
Location: Pensacola, FL, USA

PostPosted: Wed Aug 19, 2009 10:29 am   
 
Okay... I'm not exactly sure how to define them, I have tried entering

Code:
<!ELEMENT prompt 'time=%1' OPEN>


at the command line, but it gets sent verbatim to the MUD

I have no clue if thats even the proper syntax for what im trying to process:

Code:
<prompt time="1250295453">></prompt>


but the documentation is not very clear (to me).
Examples are lovely.
_________________
Discord: Shalimarwildcat
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4691
Location: Pensacola, FL, USA

PostPosted: Wed Aug 19, 2009 11:20 am   
 
The following to bits of code seem to give me a crash after the tag appears when used together:


Code:
#MXP <!EL prompt ''>

<trigger type="MXP" priority="50" enabled="true" id="5">
  <pattern>prompt</pattern>
  <value>#SAY %1</value>
</trigger>
_________________
Discord: Shalimarwildcat
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Aug 19, 2009 8:58 pm   
 
I'm not getting any crashes, so post your crash dump for me to see it.

I'll look into this more next week when I can spend time looking at the MXP code. Your example of

#MXP <!EL prompt ''>

should be fine. But technically you are supposed to also give the allowed attribute list, like this:

#MXP <!EL prompt att="time">

But I can't get your trigger to fire here either, so I'm not sure what is wrong. I'll have to get into the code to find out...it's been a *long* time since I played with this, so maybe something has gotten broken. Sorry the !ELEMENT syntax is a bit odd...it's not something we invented ourselves for MXP, it's something that comes from XML DTD definition files.
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Wed Aug 19, 2009 9:58 pm   
 
I believe you need to include the OPEN keyword on account that MXP is put into some default secure mode that essentially prevents user tags from working. Since Simutronics isn't communicating with CMud about MXP, all the tags have to be specified as okay for the user to use.

Another thing I noticed (but this was way back in ZMud) was that the element definitions weren't resulting in recognizable tags in the data stream until I included TAG info.
_________________
EDIT: I didn't like my old signature
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4691
Location: Pensacola, FL, USA

PostPosted: Thu Aug 20, 2009 1:32 am   
 
So would i be correct to assume that multiple attributes would be:

#MXP <!EL a att="exist|coord|noun"> //coord is not always used

Also, this command seems not to work, and i see now that is because this is already a system element.
Is there a way to augment the system version to catch these as well?
_________________
Discord: Shalimarwildcat
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Aug 20, 2009 4:15 pm   
 
You cannot redefine system elements. Elements such as A for tags should automatically be handled if you just enable MXP secure mode (you can use the #PUEBLO command to enable MXP-secure all-the-time mode). No MUD should be stupid enough to try and use a well-known HTML tag such as A for a different purpose.

The OPEN tag shouldn't be needed if you use the command:

#MXP 1 <prompt time="123"></prompt>

to send the MXP command. The argument 1 tells the #MXP command to send it to the screen in secure mode. But this doesn't work, which is why I think there is a bug somewhere. The MXP trigger still doesn't fire (although the MXP command is no longer echoed to the screen).

As far as specifying multiple attributes, see the <!ATTLIST> MXP command for the syntax on this. You use spaces between the attributes, not | characters. Remember that these commands come from XML, and the use of | for lists is more of a zScript syntax and not an XML syntax.
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4691
Location: Pensacola, FL, USA

PostPosted: Fri Aug 21, 2009 9:35 am   
 
I don't suppose you could add an option to ignore/override system elements like you can with other predefined aliases and keys?
Or perhaps you could augment it at the build level to include this abnormality?

I will try and talk to the admins, but I doubt Simu will be willing to budge.
I would hate to have to give this project up just because of the 'a' tag.
_________________
Discord: Shalimarwildcat
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Aug 21, 2009 3:49 pm   
 
I doubt they will change anything. In fact, they probably did it to make it harder for MXP clients to emulate to force you into using their client. They stopped caring about clients such as CMUD and zMUD several years ago when certain people left. To change it would require that they change their own client and do it in a backwards compatible way with their users. Chance of that happening is probably zero.

MXP elements are not saved as "settings" in CMUD, so there is no mechanism for doing overrides like with aliases and keys. The MXP/HTML parsing is done at a very low level and allowing override of the A tag is not a simple fix. I'll add this to the to-do list, but you probably won't see it happening for a long time. I just can't put that much work into a MUD-specific fix when that MUD isn't even helping to support Zuggsoft anymore.
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4691
Location: Pensacola, FL, USA

PostPosted: Fri Aug 21, 2009 6:50 pm   
 
Understood. Why did they stop anyhow?
I've heard you mention your trail account got revoked, buts that about it.
_________________
Discord: Shalimarwildcat
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Fri Aug 21, 2009 8:44 pm   
 
The stated reason from Simu was that there was not enough of an advertisement improvement to justify the cost. They've used this reason on pretty much all the mudlist sites like mudconnector.
_________________
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