 |
wrape Newbie
Joined: 22 Sep 2008 Posts: 4
|
Posted: Mon Sep 22, 2008 10:47 pm
zMud and Dragonrealms |
So to begin. I'm brand new to the online text-based game world and working with clients. I happen to have zMud (bought it some years back for Torilmud), and I'd like to use it to play Dragonrealms. I'd like some help on where to begin setting up multiple windows... ie, a current room window, round timer box, health/mana bar, and hands bar. Any help is going to be useful.
Thanks. |
|
|
|
 |
shalimar GURU

Joined: 04 Aug 2002 Posts: 4781 Location: Pensacola, FL, USA
|
Posted: Tue Sep 23, 2008 12:18 am |
many of these are already available, take a look through the Finished scripts forum... granted its likely to be a good couple pages back
|
|
|
|
 |
wrape Newbie
Joined: 22 Sep 2008 Posts: 4
|
Posted: Tue Sep 23, 2008 7:15 am |
Alright, I've pretty much got zMud situated for DR. There are 2 questions I have. 1.) how can I bind sounds to lines from the mud. 2.) DR deals with a round timer.
This will set the beginning of my scripting 'career' so any helps on how to tackle these obstacles would be much appreciated. Maybe a basic script of what I want to perform and I can use that to create my larger ones.
Example. Juggling.
Old way of scripting.
start:
put juggle lizards
waitfor roundtime
pause
goto start
and that will endlessly loop till I stop it. Anyone care to take a stab at how I can convert this into a zMud script? |
|
|
|
 |
shalimar GURU

Joined: 04 Aug 2002 Posts: 4781 Location: Pensacola, FL, USA
|
Posted: Tue Sep 23, 2008 8:10 am |
1.) #TR {something goes bleep} {#PLAY "C:/some folder/subfolder/bleep.wav"}
2.) there is a roundtime catcher for GemStoneIV out there, it might be compatible with Dragonrealms, since the are both from Simu |
|
|
|
 |
shalimar GURU

Joined: 04 Aug 2002 Posts: 4781 Location: Pensacola, FL, USA
|
Posted: Tue Sep 23, 2008 8:17 am |
CMUD does a much better job of emulating the Simu wizard FE style of scripting, but it can be done.
Without the RT catcher you are likely going to want something like
#ALA "lizardJuggling" *20 {juggle lizards}
Which will try to juggle lizards every 20 seconds
then you can use:
#T- lizardJuggling
to turn off that single item and #T+ to turn it back on |
|
|
|
 |
wrape Newbie
Joined: 22 Sep 2008 Posts: 4
|
Posted: Tue Sep 23, 2008 8:47 pm |
Thanks for the the reply. I got the sound bite one working, but am still having trouble with the round timer.
Here's an idea, maybe you could tell me if I could fashion a script for it.
-- The basic response to my juggle --
> juggle lizards
You toss your gemstone lizards into the air in an attempt to juggle them. You manage to catch a couple, but then become confused and lose the pattern. All the lizards fall to the ground, completely missing your flailing hands. You blush and scramble to pick them back up.
Roundtime: 6 seconds.
---
My script idea is this.
Capture the seconds each time I juggle (its never a static time) w/ %d and then use the %1 to wait the seconds before spitting out juggle lizards. I'm not sure if the script will release the previous %1 and pick up the new %d when it comes up. But using the logic of scripting with the Wizard client I'd make something like:
#TR "juggle" {Roundtime: %d seconds} *%1 {juggle lizards}
Not sure how'd I turn this off. TR- juggle ?
Also, not sure if I wanted to have multiple lines.
#tr "perceive" {Roundtime: %d seconds} *%1 {perc xibar}
{Roundtime: %d seconds} *%1 {perc yavash}
{Roundtime: %d seconds} *%1 {perc katamba}
Loop
Hopefully I'm on the right track.
Thanks. [/i] |
|
|
|
 |
shalimar GURU

Joined: 04 Aug 2002 Posts: 4781 Location: Pensacola, FL, USA
|
Posted: Tue Sep 23, 2008 11:28 pm |
you are wanting something like
#TR "rtCatch" {Roundtime: (%d)} {#ALA "rtOver" +%eval(%1+1) {#FORALL @doStuff {#EXEC {%i}}}
This is a generic RT catcher, subject to lag throwing it off, it adds an extra second just in case
#ALIAS reset {#VAR doStuff {%null}}
This will reset your dostuff variable so you stop trying to do it once your done.
Then you just need to populate @doStuff
#TR {You blush and scramble to pick them back up.} {#VAR doStuff {juggle lizard|reset}}
add the alias call in like this and then it only tries to do it once, leave it out and it will do it over and over until something makes it fail. |
|
|
|
 |
|
|
|