|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Mon Jul 09, 2012 10:54 pm
GUI |
Can cmud be set up to serve as a GUI? Something like this:
http://www.godwars2.org/images/plugin_row.png
I tried googling around and a quick browse through the first few pages of the forums hasn't shown much promise.
MUD I play on is asking for GUIs for all mud clients, and there are only a few that use cmud like myself. MSDP is also supported for this.
Thanks! |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Tue Jul 10, 2012 12:24 am |
CMud cannot do background images nor can is customize the graphic look of windows and other visual components (ie, buttons). Beyond that, it can already do as much if not more than Mushclient.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jul 10, 2012 1:38 pm |
You could probably even simulate the background image by using undocked windows over one big window with the background image. Since you can make buttons, guages, multiple windows, graphical maps, and customized output to any window you want, Cmud really is a GUI.
|
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4691 Location: Pensacola, FL, USA
|
Posted: Tue Jul 10, 2012 1:48 pm |
or stick an image on an oversize button
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Tue Jul 10, 2012 4:38 pm |
Okay, so I started on this and made a new window, then added an alias to attempt to bring up the image, from what I had seen searching around. Trying to use the alias inside the window brings up a bar that shows loading the image, but upon completion, nothing appears.
Code: |
<window name="Background" width="432" height="133" host="none" enabled="false" id="403">
<uid>{79835390-437F-4808-8187-CD77076051F1}</uid>
<packages>LegendsoftheJedi</packages>
<alias name="bgrefresh" id="404">
<value>#MXP {}</value>
</alias>
</window>
|
|
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jul 10, 2012 5:47 pm |
Try:
Code: |
#MXP {<IMAGE myimage.jpg>} |
substituting the filename of the image you want. The image should probably be in your Cmud folder, probably in your session folder. There are a few other possible options for the MXP Image tag, which can control size and alignment. Check out the MXP page: http://www.zuggsoft.com/zmud/mxp.htm#Images. |
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Tue Jul 10, 2012 7:40 pm |
Hrm, okay. I got it working. Had to change the extension to .bmp, and keep the full pathto in the tag for some reason though. Is there any way to have the image stretch to fit any screen? Or does it manually have to be adjusted each time?
NVM, found it myself. Just had to sort the correct syntax out. =)
Code: |
#MXP {<IMAGE 'C:\Users\Jeremy\Desktop\background.bmp' W=100%>}
|
|
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Tue Jul 10, 2012 8:15 pm |
Trying to find info for MSDP and CMUD. I've seen that there are a few packages that can be downloaded to help make them work, but does CMUD not support MSDP from the get-go?
|
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Tue Jul 10, 2012 9:18 pm |
It doesn't, you'll need to use telnet triggers.
|
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Tue Jul 10, 2012 9:31 pm |
Do you have any examples of that? I've tried using other people's mods, which include a the sendsdb command, but I'm not getting any response from the MUD, even when it tries to pull up the MSDP commands.
|
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Tue Jul 10, 2012 9:56 pm |
Well, you would use telnet triggers to fire on the MSDP data being sent from the mud. #sendsb would be used to send things to the mud via MSDP. If you post an example of MSDP data being sent from the script debugger window (use the raw input/output option) we can help you write a trigger for it, but without knowing what you need to trigger on, it'll be hard.
|
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Mon Jul 16, 2012 5:47 pm |
I'm still having issues trying to make the MUD respond to any msdp information. Working with the mud admin on it right now.
|
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Tue Jul 17, 2012 7:28 am |
Having issues making this trigger work as well. Any thoughts?
As seen on MUD:
Code: |
Health: 4961/4961 [OOC: ||||||] (AP: 12/12) Movement: 2637/2690 >
|
Code: |
<trigger priority="6730" id="673">
<pattern>Health: (%d)/(%d) (*) (AP: (%d)/(%d)) Movement: (%d)/(%d) ></pattern>
<value>#VAR //Shared/Score/hp (%1)
#VAR //Shared/Score/maxhp (%2)
#VAR //Shared/Score/move (%6)
#VAR //Shared/Score/maxmove (%7)</value>
</trigger>
|
|
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jul 17, 2012 2:38 pm |
Your trigger pattern needs literal parentheses, which need to be quoted. You haven't quoted them. In addition, your move and maxmove are not actually the 6th and 7th captured values because you have unnecessarily captured the asterisk pattern. The pattern should be:
Code: |
Health: (%d)/(%d) * ~(AP: (%d)/(%d)~) Movement: (%d)/(%d) > |
That should make the move and maxmove %6 and %7 as you expected. |
|
|
|
hogarius Adept
Joined: 29 Jan 2003 Posts: 221 Location: islands.genesismuds.org
|
Posted: Tue Jul 17, 2012 2:59 pm |
Wouldn't move and maxmove be %5 and %6 in your pattern, Rehab?
|
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jul 17, 2012 7:41 pm |
Blast, you're right. Oh well. Either put the parentheses back around (*) or make move and movement %5 and %6.
|
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Fri Jul 27, 2012 8:33 pm |
Finally got the MSDP working. Here's the script I used, courtesy of Splif on MUDBytes.
Code: |
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<button name="hp1" type="Gauge" autosize="false" width="150" height="16" inset="true" toolstyle="true" color="#00B300" gaugelowcol="red" gaugebackcol="silver" priority="3">
<caption>%if(@OPPONENT_HEALTH = 0, No Target, @OPPONENT_NAME is @OPPONENT_HEALTH_PCT ~% Alive)</caption>
<value>#show @OPPONENT_NAME is @OPPONENT_HEALTH_PCT % alive</value>
<expr>@OPPONENT_HEALTH</expr>
<gaugemax>@OPPONENT_HEALTH_MAX</gaugemax>
<gaugelow>@OPPONENT_HEALTH_MAX/3</gaugelow>
</button>
<button name="hp" type="Gauge" autosize="false" width="150" height="16" inset="true" toolstyle="true" color="#00B300" gaugelowcol="red" gaugebackcol="silver" priority="5">
<caption>%if(@HEALTH = 0, @CHARACTER_NAME is @HEALTH_PCT ~% Alive, @CHARACTER_NAME is @HEALTH_PCT ~% Alive)</caption>
<value>#show @HEALTH_PCT % alive</value>
<expr>@HEALTH</expr>
<gaugemax>@HEALTH_MAX</gaugemax>
<gaugelow>@HEALTH_MAX/3</gaugelow>
</button>
<trigger type="Telnet" param="69" priority="20" trigontrig="false" newline="false" prompt="true">
<pattern><![CDATA[<IAC><WILL><69>]]></pattern>
<value>#SENDRAW %char(255)%char(253)%char(69)</value>
</trigger>
<trigger type="Telnet" param="69" priority="5920">
<pattern>(@MSDPVAR)([%w|_])(@MSDPVAL)(*)</pattern>
<value>#var {%trim(%2)} {%trim(%delete(%4,1,1))}
#MATH HEALTH_PCT ((@HEALTH * 100)/@HEALTH_MAX)</value>
</trigger>
<alias name="Vreport">
<value>#SENDSB 69 %CHAR(1)REPORT%CHAR(2)MSDP_SERVER_ID%CHAR(2)WORLD_TIME%CHAR(2)CHARACTER_NAME%CHAR(2)LEVEL%CHAR(2)CLASS%CHAR(2)HEALTH%CHAR(2)HEALTH_MAX%CHAR(2)MANA%CHAR(2)MANA_MAX%CHAR(2)MOVEMENT%CHAR(2)MOVEMENT_MAX%CHAR(2)AC%CHAR(2)HONOR%CHAR(2)DRACHMA%CHAR(2)ALIGNMENT%CHAR(2)EXPERIENCE%CHAR(2)MONEY%CHAR(2)STR%CHAR(2)CON%CHAR(2)DEX%CHAR(2)WIS%CHAR(2)INT%CHAR(2)STR_PERM%CHAR(2)DEX_PERM%CHAR(2)CON_PERM%CHAR(2)WIS_PERM%CHAR(2)INT_PERM%CHAR(2)HITROLL%CHAR(2)DAMROLL%CHAR(2)OPPONENT_HEALTH%CHAR(2)OPPONENT_HEALTH_MAX%CHAR(2)OPPONENT_LEVEL%CHAR(2)OPPONENT_NAME%CHAR(2)AREA_NAME%CHAR(2)ROOM_NAME%CHAR(2)ROOM_VNUM%CHAR(2)TERRAIN%CHAR(2)CONTINENT</value>
</alias>
</cmud>
|
This brings up the basic MSDP variables from the muds, and adds 2 status bars. Have a lot of variable changes to bring out full functionality from the MUD I play, as well as re-arranging gauges and figuring out what I want it to look like on mine, but just wanted to post the script for anyone else that was wondering.
The next issue that I'm having is with %if.
Code: |
%if(@/MSDP/Vars/HEALTH_PCT = 100, @/MSDP/Vars/HEALTH_PCT ~%, @/MSDP/Vars/HEALTH of @/MSDP/Vars/HEALTH_MAX)
|
When health drops below 100%, I'm trying to make it so that it will read 123/456 instead of 123 of 456, but the / keeps acting as a division sign instead of a slash. Can I get assistance on this one please?
Thanks! |
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Fri Jul 27, 2012 9:19 pm |
Escape the / just like you do the %.
|
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Fri Jul 27, 2012 9:31 pm |
Thanks!
Okay, on to a little debugging of the script.
Using the 'vreport' alias draws up the following (from the debugger):
Code: |
0.0011 | ><IAC><SB><69><1>REPORT<2>CHARACTER_NAME<2>LEVEL<2>CLASS<2>HEALTH<2>HEALTH_MAX<2>MANA<2>MANA_MAX<2>MOVEMENT<2>MOVEMENT_MAX<2>MONEY<2>STR<2>CON<2>DEX<2>WIS<2>INT<2>CHA<2>STR_PERM<2>DEX_PERM<2>CON_PERM<2>WIS_PERM<2>INT_PERM<2>CHA_PERM<2>HITROLL<2>DAMROLL<2>OPPONENT_HEALTH<2>OPPONENT_HEALTH_MAX<2>OPPONENT_LEVEL<2>OPPONENT_NAME<2>CONTINENT<IAC><SE>
1.3370 | i Legends *<IAC><SB><69><1>CHARACTER_NAME<2>Demeter<IAC><SE><IAC><SB><69><1>HEALTH<2>1350<IAC><SE><IAC><SB><69><1>HEALTH_MAX<2>1350<IAC><SE><IAC><SB><69><1>LEVEL<2>100<IAC><SE><IAC><SB><69><1>CLASS<2>Combat<IAC><SE><IAC><SB><69><1>MANA<2>0<IAC><SE><IAC><SB><69><1>MANA_MAX<2>200<IAC><SE><IAC><SB><69><1>MONEY<2>187630<IAC><SE><IAC><SB><69><1>MOVEMENT<2>1987<IAC><SE><IAC><SB><69><1>MOVEMENT_MAX<2>1990<IAC><SE><IAC><SB><69><1>HITROLL<2>13<IAC><SE><IAC><SB><69><1>DAMROLL<2>9<IAC><SE><IAC><SB><69><1>STR<2>21<IAC><SE><IAC><SB><69><1>INT<2>16<IAC><SE><IAC><SB><69><1>WIS<2>19<IAC><SE><IAC><SB><69><1>DEX<2>19<IAC><SE><IAC><SB><69><1>CON<2>23<IAC><SE><IAC><SB><69><1>CHA<2>15<IAC><SE><IAC><SB><69><1>STR_PERM<2>21<IAC><SE><IAC><SB><69><1>INT_PERM<2>16<IAC><SE><IAC><SB><69><1>WIS_PERM<2>19<IAC><SE><IAC><SB><69><1>DEX_PERM<2>19<IAC><SE><IAC><SB><69><1>CON_PERM<2>21<IAC><SE><IAC><SB><69><1>CHA_PERM<2>16<IAC><SE><IAC><SB><69><1>OPPONENT_HEALTH<2>0<IAC><SE><IAC><SB><69><1>OPPONENT_HEALTH_MAX<2>0<IAC><SE><IAC><SB><69><1>OPPONENT_NAME<2><IAC><SE>
|
Now, as you can see, every variable pulls up a response. However, not all of them are turned into actual variables. For example, DEX_PERM generates the variable, but DEX does not. Others, like HITROLL and DAMROLL also do not generate.
Thanks! |
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Fri Jul 27, 2012 11:22 pm |
Also looking for help creating these variables:
Code: |
Account Amount
22869 10000
56946 5000
|
The numbers on the left need each be a variable, and the numbers on the right their own variable as well.
For example, 22869 as 'bank22869' and 10000 as 'credits22869' the same for the line below.
Thanks! |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4691 Location: Pensacola, FL, USA
|
Posted: Sat Jul 28, 2012 4:46 pm |
#trigger {^(%d)%s(%s)$} {#ADDKEY bank {%concat("bank", %1)=%2 credits}}
then you can use #SHOWDB @bank |
|
_________________ Discord: Shalimarwildcat |
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Sat Jul 28, 2012 5:31 pm |
Hey Shalimar, thanks for the quick response!
No dice on it. The pattern doesn't seem to be firing.
Debug:
Code: |
0.0048 | i Legends >bank list<CR><LF>
0.5560 | i Legends *<ESC>[1;37m<ESC>[1;37m<LF><CR>
0.0000 | Account Amount <LF><CR>
0.0000 | <ESC>[1;31m22869 2000000 <LF><CR>
0.0000 | <ESC>[1;31m56946 2000000 <LF><CR><LF><CR>
|
|
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Sat Jul 28, 2012 5:46 pm |
The second %s should be a %d (%s matches spaces, %d matches digits).
|
|
|
|
Xerakon Apprentice
Joined: 10 May 2011 Posts: 111
|
Posted: Sat Jul 28, 2012 5:53 pm |
Still returning nothing.
|
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Sat Jul 28, 2012 7:37 pm |
Oh, I see - shalimar put a $ at the end of the trigger pattern, which means match at the end of the line, but there's a bunch of spaces after the numbers, which wasn't visible in your original post. You'll need to remove that. So to recap, the final pattern should be "^(%d)%s(%d)".
|
|
|
|
|
|