ID:2414439
 
(See the best response by FKI.)
Code:
mob
verb
OptionMenu()
set hidden = 1
src << 'menu_select.wav'
winshow(src,"options",1)


Problem description:

Perhaps I just don't understand how to use winshow. I have a window called, options that I want to appear when a button is pressed. I can hear the sound effect, but no window appears. How do I use winshow in this manner?
Are you sure "options" is the correct ID? Your window is not marked as a pane, right? (This is set in the "Options" tab in the "Edit Window" window.) Further, is it safe to say that's your only control with the ID "options"?

You are using winshow() correctly; there is something else going on here. As for what that is... well, I can only throw guesses out.
In response to FKI
The options menu is marked as a pane, but the main window that displays the map is not (which is under "Main").

This,
And this.


Edit... Wow, so I fixed it after what you said. It was a pane... and a pain. Lol, thank you FKI. I do have one more broken thing if you're willing to help with that too. You're 2 for 2 today. =)
The options menu is marked as a pane

That is the problem. Once you mark a window as a pane, it is no longer an entity of its own -- it needs a Child control, usually found in some Window control, to exist. In other words, it's not consider a window anymore.

You are gonna want to winshow() the window that contains your options pane (or make one that does).

Edit: You beat me to it. But yeah, what's the other problem?
So I have 2 states to manage. KO'd & Stunned. I can't figure out how to prevent Stun from running when a person gets KO'd. It will still say they are stunned afterwards. I believe both are interfering with each other. I understand my code might be messy, but I am new to this. Very confused.

CODE
Best response
You are using sleep() in your KO proc, so anything set to trigger after that proc has to wait the 5 second wait time you designated.

One thing you could do is set your KO proc's waitfor setting to 0. Example:

proc/_someproc()
set waitfor = 0
someproc()

proc/someproc()


Given the above the example, _someproc() basically functions as if there is a spawn() before it.

Here's some related text you might want to read, or at least save for later.
In response to FKI
Interesting link. I bookmarked it. Thank you for the help. I'll have to revise all of my code because I'm able to do this below.

The dummy has been stunned by Viper!
The dummy got punched by Viper for 2 damage!
The dummy was knocked out by Viper!
The dummy has been stunned by Viper!
The dummy got punched by Viper for 2 damage!
The dummy was knocked out by Viper!
The dummy got punched by Viper for 2 damage!
The dummy was knocked out by Viper!
The dummy wakes up and gets back to his feet!
The stun effects wear off of the dummy.
The dummy wakes up and gets back to his feet!
The stun effects wear off of the dummy.
The dummy wakes up and gets back to his feet!
The dummy wakes up and gets back to his feet!


I do not know how to stop my client from overkilling a mob.
                M.ko_Check()
hit_Stun(M)


The error indicates M is null from being deleted or something, since it was valid before your KO proc ran.

Your hit_Stun() proc makes assumptions about the validity of the objects you are using. I would suggest you add some checks, i.e. if(!M) return, before you move forward with doing stuff with that object. You especially need to do this where you have sleep() and spawn() usage, since anything can happen in even the smallest time frame.