Should hopefully be something simple I am missing.
I currently am trying to gag the different communication groups (web, tells, etc...) into tabbed windows. When I say something everything works just fine. However when someone else initiates the communication, even though I gag the line, I get a blank space afterwords. Any idea how to prevent this from happening?
So, after an unfortunate series of events, I am re-writing everything again. And have been trying to streamline things using SQL and CMUD. Everything goes well when testing this alias, however once I try to call it from a trigger, it crashes CMUD. Any thoughts?
#VAR Running_Affliction_Management 1
#SQLDB aetolia.db
row = %sql( aetolia, "SELECT * FROM Afflictions")
#WHILE (!@row.Eof()) {#IF (%ismember( @row.Item("Affliction"), @Character_Afflictions)) {#IF ((@row.Item("Cure_Type") = slice) and @Character_Vitals.herb and (@Slice_Healing = 0) and (%ismember( anorexia, @Character_Afflictions) = 0)) {
$Slice_Needed = @row.Item("Cured_With")
#VAR Slice_Healing 1
Eat_Slice $Slice_Needed
#ALARM {+1} {#VAR Slice_Healing 0}
#VAR Running_Affliction_Management 0
#ABORT All
} {#IF ((@row.Item("Cure_Type") = poultice) and @Character_Vitals.salve and (@Poultice_Healing = 0) and (%ismember( slickness, @Character_Afflictions) = 0)) {
$Poultice_Needed = @row.Item("Cured_With")
$Poultice_Location = @row.Item("Location")
#VAR Poultice_Healing 1
press $Poultice_Needed on $Poultice_Location
#ALARM {+1} {#VAR Poultice_Healing 0}
#VAR Running_Affliction_Management 0
#ABORT All
} {#IF ((@row.Item("Cure_Type") = tincture) and @Character_Vitals.pipe and (@Tincture_Healing = 0) and (%ismember( limp_veins, @Character_Afflictions) = 0)) {
$Tincture_Needed = @row.Item("Cured_With")
#VAR Tincture_Healing 1
INJECT $Tincture_Needed
#ALARM {+1} {#VAR Tincture_Healing 0}
#VAR Running_Affliction_Management 0
#ABORT All
}}}} {#CALL @row.Next}}
#SQLCLOSE aetolia
#VAR Running_Affliction_Management 0
Yeah, it actually turns out to be noticeably faster that utilizing database variables, I just started really digging into it but the results have been worthwhile enough to grind through and learn how it all works.
So I did #showtable %gmcp and was looking through the stuff however, I don't really see a list of mobiles in there anywhere. I was planning to make a targeting script to capture targets in a room and was thinking GMCP might be the best route to do it.
Maybe I missed something? If someone could point me in the right directions, I would appreciate it and will start there before I get into the complex stuff heh
So I did #showtable %gmcp and was looking through the stuff however, I don't really see a list of mobiles in there anywhere. I was planning to make a targeting script to capture targets in a room and was thinking GMCP might be the best route to do it.
Maybe I missed something? If someone could point me in the right directions, I would appreciate it and will start there before I get into the complex stuff heh
Not sure if GMCP has a list of mobiles, but you can easily check that with INFO HERE or IH too.
Tell me and I forget, teach me and I remember, involve me and I learn. -Benjamin Franklin
If you have to do ql/ih to update the list then nevermind. I was going to do gmcp in hopes that it would auto update as you enter each room. Back to the drawing board.
Thanks for letting me know which table it is under though for future reference, appreciate it a lot.
Oh, sorry, when you enter the room the list is updated automatically. But if something leaves or enters, for instance, you need to do ql/l/ih to update that list, unless someone has found a work around that I'm not aware of. I just have my basher ql after each kill to keep the room up to date.
"You ever been divided by zero?" Nia asks you with a squint.
So I was thinking I would try to set it up so that when I enter into a room it automatically pulls the info on mobiles from gmcp and puts it into a table for storing based on each area, will worry about priority a bit later, and then I could just setup my attack alias to do something like
#if @table.targets.area = x
then hammer doublebash x
elseif @table.targets.area = y
then hammer doublebash y
end
Issue I'm having right now is when I do #showtable %gmcp.Char.Items.List.items it is coming back saying null so I can't get a look at how it is setup and try to figure out how best to drag it to a table.
Any ideas what I'm doing wrong? Also, if I'm over complicating this please let me know now. Most this is just to make my life a bit easier and to get a better grasp of gmcp and Cmud coding so I can build a good offense system.
Thanks again for any advice and assistance.
#showtable %gmcp.char.items.list.items should pull up items in the room. That command is working for me. It returns null if you're asking for an invalid gmcp item, so make sure you didn't typo anything.
You can force a gmcp response by using #SENDGMCP (less spammy than QL). Eg:
#showtable %gmcp.char.items.list.items should pull up items in the room. That command is working for me. It returns null if you're asking for an invalid gmcp item, so make sure you didn't typo anything.
You can force a gmcp response by using #SENDGMCP (less spammy than QL). Eg:
$db.group = "" #SENDGMCP Char.Items.Room $db
I'm having the same issue as Kryptic. I don't even see mention of Char.Items when I do #showtable %gmcp. I also quoted your commands exactly and still get null for the table.
EDIT: It looks like I didn't understand how the support packages were loaded
#showtable %gmcp.char.items.list.items should pull up items in the room. That command is working for me. It returns null if you're asking for an invalid gmcp item, so make sure you didn't typo anything.
You can force a gmcp response by using #SENDGMCP (less spammy than QL). Eg:
$db.group = "" #SENDGMCP Char.Items.Room $db
I also tried using that same command. I see nothing in the GMCP table about the "Room" besides the num, map, exits, name, desc, area, coords, environment. Why am I also missing the "items?"
If statements with two conditions to meet? And nested if statements? Trying to set up a little monk macro that will do combos depending on what the limb variable is and the direction variable is.
If statements with two conditions to meet? And nested if statements? Trying to set up a little monk macro that will do combos depending on what the limb variable is and the direction variable is.
Not sure on the and not @prone, it may be different it's been a long long time since I zscripted, but you could also simply change it to 'and @prone = false'.
Also, basically a switch is similar to an if/elseif thing in mudlet. if firstset dothis, elseif secondset dothis, etc.
Tell me and I forget, teach me and I remember, involve me and I learn. -Benjamin Franklin
And you should be able to basically copy and paste that into whatever alias or macro or keybinding or whatever. I don't know if cmud supports returns or not, so I didn't add in anything like that. Using a #SWITCH is much prettier than nesting the #IF's too, because if you nest the #IF's it looks something like this:
is anyone still using CMud? I now its a long shot, I just don't like Mudlet at all which is what everyone in game is pointing me to now that I have returned from my time away
I'm in the process of converting from zmud to mudlet. Mudlet makes my soul cry right now. If you need help with c, it's just like z so I can PROBABLY help you with it. That being said, I'm telling you, you're better off with mudlet. Sorry for joining in the bandwagon with you.
Using CMUD, trying to tap into using GMCP to remove/reduce my prompt, and horribly failing at it due to massive choppiness/lag.
It's been a while since I used CMUD, but is it just that the gmcp variables lack values or you're not getting the package sent to the client enough? Maybe we can help.
Comments
I currently am trying to gag the different communication groups (web, tells, etc...) into tabbed windows. When I say something everything works just fine. However when someone else initiates the communication, even though I gag the line, I get a blank space afterwords. Any idea how to prevent this from happening?
This works: This doesn't: Any help greatly appreciated.
~((*)~)~: * {says|say}, "
is what my old Cmud uses to capture all channels in one window
#VAR Running_Affliction_Management 1 #SQLDB aetolia.db row = %sql( aetolia, "SELECT * FROM Afflictions") #WHILE (!@row.Eof()) {#IF (%ismember( @row.Item("Affliction"), @Character_Afflictions)) {#IF ((@row.Item("Cure_Type") = slice) and @Character_Vitals.herb and (@Slice_Healing = 0) and (%ismember( anorexia, @Character_Afflictions) = 0)) { $Slice_Needed = @row.Item("Cured_With") #VAR Slice_Healing 1 Eat_Slice $Slice_Needed #ALARM {+1} {#VAR Slice_Healing 0} #VAR Running_Affliction_Management 0 #ABORT All } {#IF ((@row.Item("Cure_Type") = poultice) and @Character_Vitals.salve and (@Poultice_Healing = 0) and (%ismember( slickness, @Character_Afflictions) = 0)) { $Poultice_Needed = @row.Item("Cured_With") $Poultice_Location = @row.Item("Location") #VAR Poultice_Healing 1 press $Poultice_Needed on $Poultice_Location #ALARM {+1} {#VAR Poultice_Healing 0} #VAR Running_Affliction_Management 0 #ABORT All } {#IF ((@row.Item("Cure_Type") = tincture) and @Character_Vitals.pipe and (@Tincture_Healing = 0) and (%ismember( limp_veins, @Character_Afflictions) = 0)) { $Tincture_Needed = @row.Item("Cured_With") #VAR Tincture_Healing 1 INJECT $Tincture_Needed #ALARM {+1} {#VAR Tincture_Healing 0} #VAR Running_Affliction_Management 0 #ABORT All }}}} {#CALL @row.Next}} #SQLCLOSE aetolia #VAR Running_Affliction_Management 0
Maybe I missed something? If someone could point me in the right directions, I would appreciate it and will start there before I get into the complex stuff heh
I remember, involve me and I
learn.
-Benjamin Franklin
Thanks for letting me know which table it is under though for future reference, appreciate it a lot.
#if @table.targets.area = x then hammer doublebash x elseif @table.targets.area = y then hammer doublebash y end Issue I'm having right now is when I do #showtable %gmcp.Char.Items.List.items it is coming back saying null so I can't get a look at how it is setup and try to figure out how best to drag it to a table. Any ideas what I'm doing wrong? Also, if I'm over complicating this please let me know now. Most this is just to make my life a bit easier and to get a better grasp of gmcp and Cmud coding so I can build a good offense system. Thanks again for any advice and assistance.
You can force a gmcp response by using #SENDGMCP (less spammy than QL). Eg:
$db.group = ""
#SENDGMCP Char.Items.Room $db
EDIT: It looks like I didn't understand how the support packages were loaded
Not sure on the and not @prone, it may be different it's been a long long time since I zscripted, but you could also simply change it to 'and @prone = false'.
Also, basically a switch is similar to an if/elseif thing in mudlet. if firstset dothis, elseif secondset dothis, etc.
I remember, involve me and I
learn.
-Benjamin Franklin
Wasn't arm bal I was talking about but that was super helpful.
What I've been fussing with:
#if (@limb = head and @dside=left) {combo @tar wwk ucp ucp}
#if (@limb = head and @dside=right) {combo @tar axk ucp ucp}
#if (@limb = torso) {combo @tar sdk hkp hkp}
#if (@limb = leg and @dside=left) {combo @tar snk @dside tsp hfp}
#if (@limb = leg and @dside=right) {combo @tar snk @dside ucp pmp}
#if (@limb = arm and @dside=left) {combo @tar sdk spp @dside spp @dside}
#if (@limb = arm and @dside=right) {combo @tar sdk blp @dside spp @dside}
and making it not break my little maces macro of hitting limbs off of the dside and limb variables.
#SWITCH (@limb = head and @dside=left) {combo @tar wwk ucp ucp} (@limb = head and @dside=right) {combo @tar axk ucp ucp} (@limb = torso) {combo @tar sdk hkp hkp} (@limb = leg and @dside=left) {combo @tar snk @dside tsp hfp} (@limb = leg and @dside=right) {combo @tar snk @dside ucp pmp} (@limb = arm and @dside=left) {combo @tar sdk spp @dside spp @dside} (@limb = arm and @dside=right) {combo @tar sdk blp @dside spp @dside}
And you should be able to basically copy and paste that into whatever alias or macro or keybinding or whatever. I don't know if cmud supports returns or not, so I didn't add in anything like that. Using a #SWITCH is much prettier than nesting the #IF's too, because if you nest the #IF's it looks something like this:
#if (@limb = head and @dside=left) {combo @tar wwk ucp ucp;#if (@limb = head and @dside=right) {combo @tar axk ucp ucp;#if (@limb = torso) {combo @tar sdk hkp hkp}}}
...and if you miss a } or anything like that then it won't work. Imagine doing that with curing and crap back in the day of z/cmud dominancy. Ugh.
I remember, involve me and I
learn.
-Benjamin Franklin
Hi.