Raised This Month: $ Target: $400
 0% 

[DOTA 2] Few questions


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
__int128
BANNED
Join Date: Jan 2015
Old 01-06-2015 , 21:54   [DOTA 2] Few questions
Reply With Quote #1

updated list of the dota 2 game modes
Spoiler


I currently created my own win/lose condition by getting the teams fort and destroy it if X amount of towers destroy or kills is reach.
So far I was using the MID_ONLY game mode type but I have to hide the picks from the players and I cannot use SOLO_MID since the win conditions requierements are not changeable (in a easy way) and there a bug where valve count suicide and denies by neutral (roshan in 1v1) to be a kill for the enemy team.

My custom win condition work perfectly but the big issue is that players are able to see the pick of the other team and counter pick which make it unfair. Is there a console variable that will allow me to block it. I checked the gamerules datamaps and netprops list and did not found anything close to it, I maybe miss it so if anyone have a datamaps or netprops information about it, it would be nice to share it.


Also some of the dota events are weird and most of them don't work so I've been using SDKHook to hook damage taken on heroes and check if their health is equal to zero to track their death. But there is a weird bug where if an attack was redirect toward my hero after he die he will still take the damage even if he already dead (-.-) and retrigger the event. To fix it I just set his health value to 13337 but now it create a new issue where creeps are attacking where the hero is dead (as if he was there) until he respawn.

I know there is not allot of community support for dota 2, but this will really appreciated to get help for it.
Dedicate servers for dota 2 is so unpopular because of the valve matchmaking and tournament system that when ever you looking for a server side cvar or help in general the only resource we have is the how to setup the dedicate server for dota 2 (which is really a great help).

Thank You,
__int128

Last edited by __int128; 01-06-2015 at 22:00.
__int128 is offline
Mathias.
Veteran Member
Join Date: Aug 2010
Location: Canada is my city
Old 01-08-2015 , 00:12   Re: [DOTA 2] Few questions
Reply With Quote #2

^ still valid, that was me attempting to create a new account after formating my computer.

(my bad by the way, I did not see that we were able to change our email from ucp)
Mathias. is offline
psychonic

BAFFLED
Join Date: May 2008
Old 01-08-2015 , 08:31   Re: [DOTA 2] Few questions
Reply With Quote #3

Quote:
Originally Posted by Black-Rabbit View Post
So far I was using the MID_ONLY game mode type but I have to hide the picks from the players and I cannot use SOLO_MID since the win conditions requierements are not changeable (in a easy way)
I've had it on my list for a while to figure this out, but never got around to it. Some possible ideas involve messing with m_iszSelectedHero or m_nSelectedHero on the player resource object, using a send proxy to not send values until the picking phase is over, but since that entity is networked to everyone, it may have issues with each player's own hero as well. The key is to find out how the game handles it internally for the solo mid mode.

Edit: possibly also m_SelectedHeroes on gamerules (and proxy).

Alternatively, as a workaround, tell players that they'll get a random pick when the timer hits 0 (and then fake a dota_select_hero for them at that time). You'll end up with a similar scenario to most All Pick games where players just don't pick until right before 0 on the timer anyway, leaving little room for counter-picking.

Quote:
Originally Posted by Black-Rabbit View Post
Also some of the dota events are weird and most of them don't work so I've been using SDKHook to hook damage taken on heroes and check if their health is equal to zero to track their death.
The entity_killed event and the ChatEvent usermessage have particularly helpful info for this and other cases.

Last edited by psychonic; 01-08-2015 at 09:05.
psychonic is offline
Mathias.
Veteran Member
Join Date: Aug 2010
Location: Canada is my city
Old 01-08-2015 , 14:44   Re: [DOTA 2] Few questions
Reply With Quote #4

Thank you allot psychonic, I was sure I was not crazy, I will try to play around with some of the solution you provided above, otherwise I will sacrifice my custom rules and do w.e. valve want us to use for 1v1 solo mid

EDIT: By the way, is that what you use to edit proxy netprops? https://forums.alliedmods.net/showthread.php?t=169795

Last edited by Mathias.; 01-08-2015 at 15:08.
Mathias. is offline
psychonic

BAFFLED
Join Date: May 2008
Old 01-08-2015 , 16:25   Re: [DOTA 2] Few questions
Reply With Quote #5

Quote:
Originally Posted by Black-Rabbit View Post
EDIT: By the way, is that what you use to edit proxy netprops? https://forums.alliedmods.net/showthread.php?t=169795
For just altering props on the gamerules proxy, use the GameRules_SetProp natives. They exist to alter data on both the gamerules class instance and the proxy entity at the same time.

As for dealing with send proxies, yes, that extension should work for SM. All of my Dota stuff is in MM:S plugins.

Last edited by psychonic; 01-08-2015 at 16:26.
psychonic is offline
Mathias.
Veteran Member
Join Date: Aug 2010
Location: Canada is my city
Old 01-08-2015 , 19:21   Re: [DOTA 2] Few questions
Reply With Quote #6

you do your mod straigh into mm:s plugins? If they are not so private could I have a check into it? I would love make my plugins into MM:S at some point.
Mathias. is offline
psychonic

BAFFLED
Join Date: May 2008
Old 01-09-2015 , 08:06   Re: [DOTA 2] Few questions
Reply With Quote #7

Quote:
Originally Posted by Black-Rabbit View Post
you do your mod straigh into mm:s plugins?
Yes.

Quote:
Originally Posted by Black-Rabbit View Post
If they are not so private could I have a check into it? I would love make my plugins into MM:S at some point.
I can't share my main one, but if you have specific questions, I can try to answer them.
psychonic is offline
Mathias.
Veteran Member
Join Date: Aug 2010
Location: Canada is my city
Old 01-09-2015 , 14:28   Re: [DOTA 2] Few questions
Reply With Quote #8

Okay thank you allot psychonic, when ever I got time for researching this I will probably recontact you for questions . Thanks allot for your help once again.
Mathias. is offline
draft
Senior Member
Join Date: Jul 2007
Location: Russia, Saint-Petersburg
Old 03-27-2015 , 04:24   Re: [DOTA 2] Few questions
Reply With Quote #9

1) How to correctly kill main base ?
2) How to correctly change dota gamemode? When trying to setup CM, server is freezing after first player connects...
3) In mid only I got first wave of creeps on gamestate = 3, not in state = 4. Is it possible to fix it?
4) How can i cancel the game? When im trying to changelevel during gamestate = 4 (game in progress), server is usually terminating.
Few code examples would be very nice.
__________________

Last edited by draft; 03-27-2015 at 08:57.
draft is offline
Mathias.
Veteran Member
Join Date: Aug 2010
Location: Canada is my city
Old 03-27-2015 , 10:51   Re: [DOTA 2] Few questions
Reply With Quote #10

Quote:
Originally Posted by draft View Post
1) How to correctly kill main base ?
2) How to correctly change dota gamemode? When trying to setup CM, server is freezing after first player connects...
3) In mid only I got first wave of creeps on gamestate = 3, not in state = 4. Is it possible to fix it?
4) How can i cancel the game? When im trying to changelevel during gamestate = 4 (game in progress), server is usually terminating.
Few code examples would be very nice.
1)
PHP Code:
void Dota_DefeatTeam(int team_index)
{
    
int fort = (team_index == GameRules_GetPropEnt("m_hGoodGuyFort") : GameRules_GetPropEnt("m_hBadGuyFort"));
    
SDKHooks_TakeDamage(fort00float(GetEntProp(fortProp_Send"m_iHealth")));

2,3,4 dunno, work for me, that when I change settings
PHP Code:
public bool OnClientConnect(int playerchar[] messageint message_length)
{
    if (
IsFakeClient(player))
        return 
true;
    
    static 
bool trigger;
    else if (!
trigger)
    {
        if (<
myvar> <= 2)
            
g_bSoloMid true;
    
        
ServerCommand("dota_wait_for_players_to_load_timeout 300");
        
ServerCommand("dota_force_gamemode %d", (g_bSoloMid SOLO_MID CAPTAIN_MODE));
        
ServerCommand("dota_wait_for_players_to_load_count %d", <myvar>);
        if (
g_bSoloMid)
            
ServerCommand("sv_alltalk 1");
        
ServerCommand("changelevel dota");
        
        
trigger true;
    }
    return 
true;


Last edited by Mathias.; 03-27-2015 at 10:52.
Mathias. is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 19:03.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode