GameDog [v5.0] - Chroma for CS:GO and DOTA2 | Razer Insider
Question

GameDog [v5.0] - Chroma for CS:GO and DOTA2



Show first post

807 Replies

Userlevel 5
Here is Version 0.2 ready to be installed (it will remove 0.1 so can easily be installed over the other one). I'm right now giving it out in this post as a PreRelease before updating the Main post as I did many changes and it would be nice if someone can just check if it actually works. I sadly don't have another Computer with Steam + Razer SDK + Chroma Keyboard to test beside my Developer Machine.

https://onedrive.live.com/redir?resid=205D00A1CA4B3620!3734&authkey=!AO__8HAp67JBOV4&ithint=file%2cmsi

Just a few words to the new Version and Issues:
If the Keyboard does not light up once you start GameDog something is wrong. Either the SDK is not installed, the Registry key is not set with the reg file or another Chroma App / Synapse are causing troubles and you should shut them down. The WASD Keys and some Other keys should light up per default when you first start GameDog even without CSGO being launched.

With Version 0.2 I'm checking for different Pathes in the registry. If it can't find anything it will wait until the user updates the Settings in the "settings" Tab and try again (the Reset button in Settings does not yet work!)

GameDog stores all the Settings and Assignments in %AppData%\\GameDog please don't fiddle with the files manually! You can however remove the files to restore Defaults!

To configure Assigments go to "games" and on the right menu click "Assignments". Here you can see a list of assignments. One Assignment Contains of a State to bind to (example Health), one Color and multiple Keys. Doubleclick an existing Assignment to change it or click on "New" to create a new one. You can have multiple Assignments of the same type so you can for example let one Key Fade between blue and red while another one Fades between Green and Blue (as an example).

The Color can be changed with the dropboxes beneath the big rectangle which shows the color. That's not how I want it to be in the end but it's good for now I think. I will include a Colorpicker one day. The Dropboxes are in the order Red, Green, Blue. As higher the value as more of that color is added. For example 255, 0, 0 will be red. 0, 255, 0 will be Green. 255, 126, 0 will be orange and so on.

I know the Assignment Overview is not yet very helpful as it just shows the State-Name but I will try to change that in one of the next versions to include the number of Keys and the Color. Same goes for the Color Names. But I think it's not hard to understand what the Colors mean. Especially with a bit trying it's easy to figure out. Just Save it again and the Keyboard will reload and display.

I also temporarily removed the effects such as Flash and Smoke and Burning! These will be readded later :)

All of that is cause I added a Plugin-System which allows with a little bit of knowledge of C# to write your own States soon! The Pluginsystem is not yet live but it's nearly finished.

Thank you very much so the support and testing again 🙂
NIce i'll try!!!

But, when I set the steam folder the .exe crashes.
Yay!!
I reinstalled steam and the keys are glowing /o/

BUT, life, ammo, guns... aren't glowing.
http://imgur.com/odEIG0s
When the game is running there's no stats 😞
@WolfspiritM
Thank you for your fast answer!
I had installed the SDK, but reinstalled it. It works now without problems!
I also tested the new version of GameDog. It works very fine, i don't had any issues. I set health to to my F-Keys and it worked, but is it possible to make a fluid transition between the colors? Because the color is going from green to red only if i am dying. Another idea would be, that there are many different color stages (for example, the keys become orange if your are below 60% Health) or something like this.

I don't have a clue, how this program is linked to my keyboard or to Razer Synapse. But is it possible to import profiles i have already made in my Synapse to your application? Because i have created a CS:GO profile and my idea was to include the this "health alerts" in that profile.

I'm already a huge fan of your work! :)
Keep it up 🙂
Userlevel 5
@Allff0 Just to make sure...you did start CS:GO after GameDog, right? When you start CS:GO with console, can you see a line sa"Loading Game State Integration:..."

@TeyMarOniX
Thank you for the feedback! The funny thing is it should be a fluit transition between the "FromColor" to the "ToColor" for "Health". It's interesting you see a jump there. Same goes for Armor. Only a few like Helmet does have an on/off trigger.
When a bomb is planted, do you see the transition there? It should go from Green to red within 35 seconds.

For the importing of Synape profile I'm not sure. I might take a look at how they are stored and if it is possible. You could try setting the CS:GO Profile in Synapse first without shutting down Synapse and then start GameDog. It could work. (Never mind it won't. I might add a "Don't clear everything" option in the settings for this later)
Userlevel 5
I just uploaded a new Version 0.3 as the 0.2 Version was crashing once you got more then one Grenade. (Obviously I'm not using Grenades that much so I didn't notice)
When I start the app it says it couldn't find me Steam installation folder, so I go to settings and it's already set there. When I click either "Save" or "Reset" app crashes, I checked Gamedog.exe.config and there doesn't seem to be a node (idk how they are called in XML) for Steam path. Or do you save the path in registry?
Userlevel 5
Hi,

Sorry for my late response.
Here is a new Version which should not crash anymore.
https://onedrive.live.com/redir?resid=205D00A1CA4B3620!3735&authkey=!AEWz52wLRycFtxk&ithint=file%2cmsi

I fixed many potentional crashes. Optimized the Steam search and in Settings you can now manually set the Path to CS:GO (where the csgo.exe is placed) (copy and paste for now, sorry, no Explorer Browser to search for it yet). There is no need to set the SteamPath in settings for now only make sure the CSGOPath is set correctly.

As a little gimmik I also added a new StateEvent called "Kill Counter" where you can define Keys that start glowing depending on how many people you killed in the current round! The default is set to the Macro Keys which I like very much. For now sadly there is no way to set an Order for the Keys but I will add this.

Will add this Version to the MainPost if I get good feedback 🙂 If something crashes please send me the %AppData%\\GameDog\\GameDog.log via http://pastebin.com over the Conversations here.
WolfspiritM
Hi,

Sorry for my late response.
Here is a new Version which should not crash anymore.
https://onedrive.live.com/redir?resid=205D00A1CA4B3620!3735&authkey=!AEWz52wLRycFtxk&ithint=file,msi

I fixed many potentional crashes. Optimized the Steam search and in Settings you can now manually set the Path to CS:GO (where the csgo.exe is placed) (copy and paste for now, sorry, no Explorer Browser to search for it yet). There is no need to set the SteamPath in settings for now only make sure the CSGOPath is set correctly.

As a little gimmik I also added a new StateEvent called "Kill Counter" where you can define Keys that start glowing depending on how many people you killed in the current round! The default is set to the Macro Keys which I like very much. For now sadly there is no way to set an Order for the Keys but I will add this.

Will add this Version to the MainPost if I get good feedback 🙂 If something crashes please send me the %AppData%\\GameDog\\GameDog.log via http://pastebin.com over the Conversations here.

Nicely done!
Finally got home and installed this.
Wow, I've installed the 0.1 version and it already worked even my Steam folder being different from the standard one. Then I've updated to the latest one 0.4 and it is awesome!

Going to test some stuff and I'll post it later :)

Thank you so much!
Cool app, but the bomb timer doesn't seem to work properly in 3rd party clients for csgo though. Using the cevo client in my first game the lights would work but skip through purple, and they did not light up at all during my second game.
Userlevel 5
madw0rld
bomb timer doesn't seem to work properly in 3rd party clients

Hi! :-)
Do the other bindings work correctly there?
It's only the bombtimer that doesn't work?
Do the Health Fade between green -> red (orange when you have 50hp left) or does it jump from green to red at 0hp?
Can you or Have you try if it works launching CS:GO directly (easiest way is to just test against bots)?
Thanks!
WolfspiritM
Hi! :)
Do the other bindings work correctly there?
It's only the bombtimer that doesn't work?
Do the Health Fade between green -> red (orange when you have 50hp left) or does it jump from green to red at 0hp?
Can you or Have you try if it works launching CS:GO directly (easiest way is to just test against bots)?
Thanks!

Just a note on the bomb timer, it's not guaranteed to always have the same countdown 😉
Userlevel 5
njbmartin
Just a note on the bomb timer, it's not guaranteed to always have the same countdown

Oh yes. That's right. Good point. This could be the issue here. As mentioned in the First post the BombTimer right now is fixed to 45 Seconds (35 Seconds green->red, 5 Seconds purple, 5 Seconds white). It will recognize the bomb exploded or defused events before that and stop the countdown but if the bombtime ingame is set to for example 35 seconds it just won't get purple or white at all. There is no way to get the remaining time via API sadly (or I have not found it...sadly the API isn't documented officially). I could implement a way to recognize bomb timer based on the previous rounds (if it exploded once) but that won't be a good way I think. However I already made the 45 Seconds customizable in the background just didn't expose the property to the View yet. I will include that in one of the next releases so you can set it manually. 🙂 Matchmaking is always 45 Seconds that's why I used that as a default.
WolfspiritM
Oh yes. That's right. Good point. This could be the issue here. As mentioned in the First post the BombTimer right now is fixed to 45 Seconds (35 Seconds green->red, 5 Seconds purple, 5 Seconds white). It will recognize the bomb exploded or defused events before that and stop the countdown but if the bombtime ingame is set to for example 35 seconds it just won't get purple or white at all. There is no way to get the remaining time via API sadly (or I have not found it...sadly the API isn't documented officially). I could implement a way to recognize bomb timer based on the previous rounds (if it exploded once) but that won't be a good way I think. However I already made the 45 Seconds customizable in the background just didn't expose the property to the View yet. I will include that in one of the next releases so you can set it manually. 🙂 Matchmaking is always 45 Seconds that's why I used that as a default.

Hey, thanks for the quick response.

I first tried offline with bots and the bomb timer worked fine every time. The bomb timer is different on 3rd party clients and set to 35 seconds. Everything else seems to work fine so it seems that might be the reason it doesn't work.

If there is any way too implement the 35 second timer in the future that would be great. Alternatively, is there any way to include something similar to the other csgo bomb timer app were you manually start the bomb timer that counts down?
May I ask which API are you using to get data from current game?
Will it work with my deathstalker chroma??
tYn0
May I ask which API are you using to get data from current game?

It's not publicly available as it was actually intended to be used at big events.
njbmartin
It's not publicly available as it was actually intended to be used at big events.

Then how did he got access to it? How can I be sure he isn't reading the values from memory and we won't get ourselves VACed?
tYn0
Then how did he got access to it? How can I be sure he isn't reading the values from memory and we won't get ourselves VACed?


It won't get you VAC'd. It is an officially supported method for retrieving live game stats, however like I said, it was originally intended for use at live tournament events. It doesn't require reading any values from memory. I'd imagine @WolfspiritM had done some snooping as to how GameSense folks had done it, and learnt from that.
Userlevel 5
Sorry for late responses and lack of updates. Right now I'm implementing some initial functions for Dota. Next Version will have a customizable Bombtimer as well as an easier way to select Colors.

cebulinek22
Will it work with my deathstalker chroma??

I can't tell for sure as I right now only have a Blackwidow to test, but as I'm using Colore's "Keyboard" class it should work on all supported chroma Keyboards. I will also try to see if I can make it working for other things like Mice or the Firefly.

tYn0
Then how did he got access to it? How can I be sure he isn't reading the values from memory and we won't get ourselves VACed?

It's completly using the API @njbmartin mentioned and that is what GameSense uses in the background. I'm not reading out anything (neither from memory nor from anywhere else) cause the games (CS:GO for now, Dota coming next version) are sending the data to my application themself every few seconds or whenever something changes. I was able to figure out how GameSense gets the data (even without doing anything illegal like reverse engineering!) and I've just redone that for Chroma 🙂 You can't do anything bad like cheating with that API cause you will only get what you see on screen anyways (besides a little few extras like bullets for all of your weapons in inventory (or actually the player your spectating)) and the data the game sends is limited (you can't for example get your teammembers health or money nor the enemies, It's also why I can't tell how long the bomb will take to explode as I only can catch the planted and defused/exploded event but nothing inbetween). As @njbmartin said I think this API is used for big events to send data and informations to the moderators or external stats Servers, as it would even work over network.

If you don't trust me with that, then I'm sorry, but then just don't use it and everything is fine and you don't have to worry. It's an official but undocumented API. Before it causes any vac ban, Valve would just disable it with an update (remember: The games are sending the data, I'm just listening to them) and all GameSense and GameDog users won't get any glowing Keyboards and mice anymore but I doubt that will happen.
It's completly using the API @njbmartin mentioned and that is what GameSense uses in the background. I'm not reading out anything (neither from memory nor from anywhere else) cause the games (CS:GO for now, Dota coming next version) are sending the data to my application themself every few seconds or whenever something changes. I was able to figure out how GameSense gets the data (even without doing anything illegal like reverse engineering!) and I've just redone that for Chroma 🙂 You can't do anything bad like cheating with that API cause you will only get what you see on screen anyways (besides a little few extras like bullets for all of your weapons in inventory (or actually the player your spectating)) and the data the game sends is limited (you can't for example get your teammembers health or money nor the enemies, It's also why I can't tell how long the bomb will take to explode as I only can catch the planted and defused/exploded event but nothing inbetween). As @njbmartin said I think this API is used for big events to send data and informations to the moderators or external stats Servers, as it would even work over network.

If you don't trust me with that, then I'm sorry, but then just don't use it and everything is fine and you don't have to worry. It's an official but undocumented API. Before it causes any vac ban, Valve would just disable it with an update (remember: The games are sending the data, I'm just listening to them) and all GameSense and GameDog users won't get any glowing Keyboards and mice anymore but I doubt that will happen.[/quote]
Thank you for clarification 🙂
Userlevel 5
Here is a new Version as PreRelease. I'm not going to update the main post until I know it works for others, too. Would be nice if someone could try it :-)
https://onedrive.live.com/redir?resid=205D00A1CA4B3620!3740&authkey=!AEeJGwzDrEL0x8E&ithint=file%2cmsi

There are many many changes. One of the biggest change is the integration of Dota! Right now there are only a very limited Events I've integrated as Dota at the moment is nothing more then a proof of concept. There is Health, Alive and Casts. I'd love to get some ideas what could be done more for Dota as I'm not a Dota player.

The keyboard won't light up when you start GameDog anymore. It starts once you start the game (either Dota or CS:GO).

For CS:GO:
- I've readded the Effects.
- The Assignments now work like "layers" on top of each other you can rearrange them via Drag and Drop. For example if the Effects are at the bottom you won't see any other Keys while flashed. If they are at the top other keys will be on top of the flash effect.
- I added a "Fill Color" that makes the whole Keyboard light up.
- "Menu and Typing" makes the Keyboard light up completly in menu (Orange by default) and while typing in chat (white).
- For many things like "Health" I added a "Flash below" which will make the key flash if health for example is below 10 or the current weapon only has 3 bullets left.
- You can name an Assignment to make it easier to find.
- Colors can now be easily choosen via a Color Picker.
- Bombtime is customizable
- Assignment Properties have a slightly better description now
- Keys can have an Order now (definied via numbers). It's ugly and I'm working on a better solution, but for now it works.
- Performance improvements
- ... I bet I forgot something

Troubleshooting:
- If you have issues with your previous settings click on Reset.
- If there is no Game available under Games, go to settings and check the pathes, save, then restart GameDog.
- If there are some other issues go to: C:\\Users\\USERNAME\\AppData\\Roaming\\GameDog and remove the Assignments.xml and Settings.xml and try again. If it crashes somehow, please send me the logfiles in the logs folder there.
I think for the bomb timer, you should make the "numpad" lighting up from 10 to 0.
Userlevel 5
Qayum1616
I think for the bomb timer, you should make the "numpad" lighting up from 10 to 0.

I will change the bombtimer for one of the next versions a bit to include the following changes:
- Set a start and end when to light up (for example between 10 and 0)
- Add a switch to make the keys stop lighting up one after another within this range

That means you'd just add a bombtimer assignment. Assign Num9 till Num0 in this order, enable the switch and set start to 10 and end to 0. When the bomb timer then reaches 10 Seconds it will light up all keys...at 9 Num9 will stop glowing...etc.

Will that do what you'd like?

Reply