#pragma semicolon 1 #include #include // int CCSGameRules::GoToIntermission(void) new Handle: hGoToIntermission; public OnPluginStart() { new Handle:temp = LoadGameConfigFile("intermission.games"); if(temp == INVALID_HANDLE) SetFailState("Why you no has gamedata?"); new offset = GameConfGetOffset(temp, "GoToIntermission"); if(offset == -1) SetFailState("Failed to get offset"); hGoToIntermission = DHookCreate(offset, HookType_GameRules, ReturnType_Int, ThisPointer_Ignore, GoToIntermission); } public OnMapStart() { //Hook Gamerules function in map start //Set post to true since we don’t plan to block! DHookGamerules(hGoToIntermission, true); } //Since this is set to ignore remove the this param and since it has no params remove the params param // public MRESReturn: GoToIntermission (this, Handle:hReturn, Handle:hParams) to like so. public MRESReturn:GoToIntermission(Handle:hReturn) { decl String:sMap[256]; if(!GetNextMap(sMap, sizeof(sMap))) GetCurrentMap(sMap, sizeof(sMap)); ForceChangeLevel(sMap, "game_end fix"); return MRES_Ignored; }