• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Multiboard with RtC enhancements :)

Status
Not open for further replies.
Level 11
Joined
Apr 29, 2007
Messages
826
Sup guys, I kind of wanted to share this with you.

I started working with RtC and some selfmade natives to make a better use of multiboards. That's what I came up with right now.

m9tz9y886us4.jpg


It supports 3 different types of controls right now (Text box, Check box and buttons) between which you can switch with a mouse click or tab. This is a login screen, you could make it connect to a server and get some information from it with http natives, but this was made for a single player map and uses gamecache to find matches.

Didn't know of a better place to show this, I think it fits kinda okay here. Going to keep this up to date.

Any feedback/ideas? :)
 
Level 11
Joined
Apr 29, 2007
Messages
826
I planned just to save all accounts and their password in a gamecache because it's going to be a single player map. You could also make it accept a savecode, but that has really nothing to do with the multiboard itself.

edit/
Well, i mean not in this format, as you stated it's just for one player, but would it be bale to be made usable in Bnet?
RtC is hardly usable for multiplayer, especially things that use mouse coordinates or window sizes because they're local.
 
Last edited:
Level 11
Joined
Apr 29, 2007
Messages
826
I'm so bumping this. The possibilities are awesome. I'm uploading the map with my Native pack right now, if anyone is interested in testing it.

In order to run it, just place the map in your Download folder, the .dll in RtC's plugin folder.

You can: Create an account (it does automatically create one if the name doesn't exist), login with that account and save your current settings.
You can switch to the options menu while ingame when you click on "Player: <Your Name>".
You move with holding down your right mouse button.

Known bugs:
-The game crashes when you reload it or leave it in general(?) Confirmed as bug.
-Haven't tested it, but writing might turn out to get wrong keys for English keyboards. I'd be happy if anyone would test it. Works, thanks to mooman
-You sometimes have to click multiple times on the Options button in order to trigger it
-It doesn't load any new unit after clearing an save state. Supposed to happen at the moment
 

Attachments

  • Circle of Gravitas.rar
    369.5 KB · Views: 58
Last edited:
Level 11
Joined
Apr 29, 2007
Messages
826
Thanks for testing. :)

List of available natives:
JASS:
//============================================================================
// YourNameExtended API
//
library YourNameExtended

	native jIsKeyDown 				        takes integer key returns integer
	native jIsMouseDown 				    takes nothing returns integer

	native TriggerRegisterMouseMoveEvent	takes trigger trig returns nothing
	native TriggerRegisterMouseWheelEvent	takes trigger trig returns nothing
	native GetTriggerMovedX				    takes nothing returns integer
	native GetTriggerMovedY				    takes nothing returns integer
	native GetTriggerDelta				    takes nothing returns integer

	native Int2Letter					    takes integer letter returns string

	native GetWindowWidth				    takes nothing returns integer
	native GetWindowHeight				    takes nothing returns integer

	function B2I takes boolean b returns integer
		if b then
			return 1
		endif
		return 0
	endfunction

	function I2B takes integer i returns boolean
		if i >= 1 then
			return true
		endif
		return false
	endfunction

	function Round takes real r returns integer
		if r >= 0 then
			return R2I(r+.5)
		endif
		return R2I(r-.5)
	endfunction


	function IsKeyDown takes integer key returns boolean
		return I2B(jIsKeyDown(key))
	endfunction

	function IsMouseDown takes nothing returns boolean
		return I2B(jIsMouseDown())
	endfunction

endlibrary

I had to create wrappers for IsKeyDown and IsMouseDown because something is screwed up with booleans in Warcraft..
 
Sounds cool. :)

But:
JASS:
native TriggerRegisterMouseWheelEvent    takes trigger trig returns nothing

Can't you just use:
JASS:
call TriggerRegisterMouseEvent(trig,6)

Unless it does something different.
And:
JASS:
native GetTriggerWheelDelta      takes nothing returns integer

But I don't know. I haven't tested mouse wheels yet.

Otherwise, it looks sweet. Are you planning on making a system for the multiboard, or is it a test/for a map?
 
Level 11
Joined
Apr 29, 2007
Messages
826
RtC's mouse wheel event doesn't seem to trigger when the mouse is over a multiboard.

Otherwise, it looks sweet. Are you planning on making a system for the multiboard, or is it a test/for a map?
I made it for a map, the detection of the columns based on the x-position of the mouse only works for my settings. I tried creating a formula for all cases, but I dropped the work because the way Blizzard made multiboards just pisses me off. :p

But if someone is interested how this was done, he can just ask me.
 
Status
Not open for further replies.
Top