Code:
public void OnPluginStart2()
{
HookEvent("arena_round_start", Event_RoundStart);
HookEvent("teamplay_round_active", Event_RoundStart); // for non-arena maps
HookEvent("arena_win_panel", Event_RoundEnd);
HookEvent("teamplay_round_win", Event_RoundEnd); // for non-arena maps
}
public void Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
ClearEverything();
MainBoss_PrepareAbilities();
CreateTimer(1.0, TimerHookSpawn, _, TIMER_FLAG_NO_MAPCHANGE);
}
public Action TimerHookSpawn(Handle timer)
{
HookEvent("player_spawn", Event_PlayerSpawn);
}
public void Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast)
{
int UserIdx = GetEventInt(event, "userid");
if(IsValidClient(GetClientOfUserId(UserIdx)))
{
CreateTimer(0.3, SummonedBoss_PrepareAbilities, UserIdx, TIMER_FLAG_NO_MAPCHANGE);
}
else
{
FF2_LogError("ERROR: Invalid client index. %s:Event_PlayerSpawn()", this_plugin_name);
}
}
public Action SummonedBoss_PrepareAbilities(Handle timer, int UserIdx)
{
if(!FF2_IsFF2Enabled() || FF2_GetRoundState() != 1)
return;
int bossClientIdx = GetClientOfUserId(UserIdx);
if(IsValidClient(bossClientIdx))
{
int bossIdx = FF2_GetBossIndex(bossClientIdx);
if(bossIdx >= 0)
{
HookAbilities(bossIdx, bossClientIdx);
}
}
else
{
FF2_LogError("ERROR: Unable to find respawned player. %s:SummonedBoss_PrepareAbilities()", this_plugin_name);
}
}
public void MainBoss_PrepareAbilities()
{
if(!FF2_IsFF2Enabled() || FF2_GetRoundState() != 1)
{
FF2_LogError("ERROR: Abilitypack called when round is over or when gamemode is not FF2. %s:MainBoss_PrepareAbilities()", this_plugin_name);
return;
}
for(int bossClientIdx = 1; bossClientIdx <= MaxClients; bossClientIdx++)
{
int bossIdx = FF2_GetBossIndex(bossClientIdx);
if(bossIdx >= 0)
{
HookAbilities(bossIdx, bossClientIdx);
}
}
}
public void Event_RoundEnd(Event event, const char[] name, bool dontBroadcast)
{
ClearEverything();
}
public void HookAbilities(int bossIdx, int bossClientIdx)
{
if(bossIdx >= 0)
{
//Hook the global variables, abilities.
}
}
Currently What im using in my abilitypacks to be make compatible with ff2_summonaboss
__________________