Disabling terrorist spawnpoint stuff.
This commit is contained in:
		| @@ -118,21 +118,21 @@ static struct SrcdsPatch | |||||||
| 		0, 0, 0, false | 		0, 0, 0, false | ||||||
| 	}, | 	}, | ||||||
| 	// 2: only select CT spawnpoints | 	// 2: only select CT spawnpoints | ||||||
| 	{ | //	{ | ||||||
| 		"_ZN9CCSPlayer19EntSelectSpawnPointEv", | //		"_ZN9CCSPlayer19EntSelectSpawnPointEv", | ||||||
| 		(unsigned char *)"\x89\x1C\x24\xE8\x00\x00\x00\x00\x83\xF8\x03\x74\x4B", | //		(unsigned char *)"\x89\x1C\x24\xE8\x00\x00\x00\x00\x83\xF8\x03\x74\x4B", | ||||||
| 		"xxxx????xxxxx", | //		"xxxx????xxxxx", | ||||||
| 		(unsigned char *)"\x89\x1C\x24\x90\x90\x90\x90\x90\x90\x90\x90\xEB\x4B", | //		(unsigned char *)"\x89\x1C\x24\x90\x90\x90\x90\x90\x90\x90\x90\xEB\x4B", | ||||||
| 		0, 0, 0, false | //		0, 0, 0, false | ||||||
| 	}, | //	}, | ||||||
| 	// 3: don't check if we have T spawns | 	// 3: don't check if we have T spawns | ||||||
| 	{ | //	{ | ||||||
| 		"_ZN12CCSGameRules18NeededPlayersCheckERb", | //		"_ZN12CCSGameRules18NeededPlayersCheckERb", | ||||||
| 		(unsigned char *)"\x74\x0E\x8B\x83\x80\x02\x00\x00\x85\xC0\x0F\x85\x9E\x00\x00\x00\xC7\x04\x24\xAC\xF7\x87\x00\xE8\xC2\x82\x91\x00", | //		(unsigned char *)"\x74\x0E\x8B\x83\x80\x02\x00\x00\x85\xC0\x0F\x85\x9E\x00\x00\x00\xC7\x04\x24\xAC\xF7\x87\x00\xE8\xC2\x82\x91\x00", | ||||||
| 		"xxxxxxxxxxxxxxxx????????????", | //		"xxxxxxxxxxxxxxxx????????????", | ||||||
| 		(unsigned char *)"\x0F\x85\xA8\x00\x00\x00\x8B\x83\x80\x02\x00\x00\x85\xC0\x0F\x85\x9A\x00\x00\x00\x90\x90\x90\x90\x90\x90\x90\x90", | //		(unsigned char *)"\x0F\x85\xA8\x00\x00\x00\x8B\x83\x80\x02\x00\x00\x85\xC0\x0F\x85\x9A\x00\x00\x00\x90\x90\x90\x90\x90\x90\x90\x90", | ||||||
| 		0, 0, 0, false | //		0, 0, 0, false | ||||||
| 	}, | //	}, | ||||||
| 	// 5: disable alive check in point_viewcontrol->Disable | 	// 5: disable alive check in point_viewcontrol->Disable | ||||||
| 	{ | 	{ | ||||||
| 		"_ZN14CTriggerCamera7DisableEv", | 		"_ZN14CTriggerCamera7DisableEv", | ||||||
| @@ -236,8 +236,8 @@ DETOUR_DECL_MEMBER1(DETOUR_PostConstructor, void, const char *, szClassname) | |||||||
| 		*(uint32 *)((intptr_t)pEntity + td->fieldOffset[TD_OFFSET_NORMAL]) |= (1<<9); // EFL_SERVER_ONLY | 		*(uint32 *)((intptr_t)pEntity + td->fieldOffset[TD_OFFSET_NORMAL]) |= (1<<9); // EFL_SERVER_ONLY | ||||||
|  |  | ||||||
| 		// Only CT spawnpoints | 		// Only CT spawnpoints | ||||||
| 		if(strcasecmp(szClassname, "info_player_terrorist") == 0) | //		if(strcasecmp(szClassname, "info_player_terrorist") == 0) | ||||||
| 			szClassname = "info_player_counterterrorist"; | //			szClassname = "info_player_counterterrorist"; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	DETOUR_MEMBER_CALL(DETOUR_PostConstructor)(szClassname); | 	DETOUR_MEMBER_CALL(DETOUR_PostConstructor)(szClassname); | ||||||
| @@ -249,21 +249,21 @@ DETOUR_DECL_MEMBER2(DETOUR_KeyValue, bool, const char *, szKeyName, const char * | |||||||
| 	if(strcasecmp(szKeyName, "angle") == 0) | 	if(strcasecmp(szKeyName, "angle") == 0) | ||||||
| 		szKeyName = "angles"; | 		szKeyName = "angles"; | ||||||
|  |  | ||||||
| 	else if(strcasecmp(szKeyName, "classname") == 0 && | //	else if(strcasecmp(szKeyName, "classname") == 0 && | ||||||
| 		strcasecmp(szValue, "info_player_terrorist") == 0) | //		strcasecmp(szValue, "info_player_terrorist") == 0) | ||||||
| 	{ | //	{ | ||||||
| 		// Only CT spawnpoints | 		// Only CT spawnpoints | ||||||
| 		szValue = "info_player_counterterrorist"; | //		szValue = "info_player_counterterrorist"; | ||||||
| 	} | //	} | ||||||
| 	else if(strcasecmp(szKeyName, "teamnum") == 0 || strcasecmp(szKeyName, "teamnum") == 0 ) | //	else if(strcasecmp(szKeyName, "teamnum") == 0 || strcasecmp(szKeyName, "teamnum") == 0 ) | ||||||
| 	{ | //	{ | ||||||
| 		CBaseEntity *pEntity = (CBaseEntity *)this; | //		CBaseEntity *pEntity = (CBaseEntity *)this; | ||||||
| 		const char *pClassname = gamehelpers->GetEntityClassname(pEntity); | //		const char *pClassname = gamehelpers->GetEntityClassname(pEntity); | ||||||
|  | // | ||||||
| 		// All buyzones should be CT buyzones | 		// All buyzones should be CT buyzones | ||||||
| 		if(pClassname && strcasecmp(pClassname, "func_buyzone") == 0) | //		if(pClassname && strcasecmp(pClassname, "func_buyzone") == 0) | ||||||
| 			szValue = "3"; | //			szValue = "3"; | ||||||
| 	} | //	} | ||||||
|  |  | ||||||
| 	return DETOUR_MEMBER_CALL(DETOUR_KeyValue)(szKeyName, szValue); | 	return DETOUR_MEMBER_CALL(DETOUR_KeyValue)(szKeyName, szValue); | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user