Primeiro iniciamos o nosso plugin com as includes que iremos utilizar
Código:
#include <amxmodx>
#include <zp50_gamemodes>
Criamos as "IDs" que iremos utilizar para indentificar o modo
com os modos padrões da versão 5.0
Código:
new g_GameModeSurvivorID
new g_GameModeNemesisID
new g_GameModePlagueID
new g_GameModeSwarmID
new g_GameModeInfectionID
new g_GameModeMultiID
new g_GameModeArmageddonID
Agora vamos avisar o plugin quem é quem
Código:
public plugin_init()
{
g_GameModeSurvivorID = zp_gamemodes_get_id("Survivor Mode")
g_GameModeNemesisID = zp_gamemodes_get_id("Nemesis Mode")
g_GameModePlagueID = zp_gamemodes_get_id("Plague Mode")
g_GameModeSwarmID = zp_gamemodes_get_id("Swarm Mode")
g_GameModeInfectionID = zp_gamemodes_get_id("Infection Mode")
g_GameModeMultiID = zp_gamemodes_get_id("Multiple Infection Mode")
g_GameModeArmageddonID = zp_gamemodes_get_id("Armageddon Mode")
tá mais como eu acho esses nomes dentro dos ("....")
Entrando na sma do modo que está sendo utilizado em seu addons
por exemplo irei abrir o modo nemesis
lá você ira encontrar
Código:
public plugin_precache()
{
// Register game mode at precache (plugin gets paused after this)
register_plugin("[ZP] Game Mode: Nemesis", ZP_VERSION_STRING, "ZP Dev Team")
zp_gamemodes_register("Nemesis Mode")
}
notou o
Código:
("Nemesis Mode")
é aquilo que precisamos, é isso que registra o modo.
Agora vamos dar uma função diferente para cada modo como aquele hud que parece, modo atual : nemesis.
Código:
#include <amxmodx>
#include <zp50_gamemodes>
new g_GameModeSurvivorID
new g_GameModeNemesisID
new g_GameModePlagueID
new g_GameModeSwarmID
new g_GameModeInfectionID
new g_GameModeMultiID
new g_GameModeArmageddonID
new tag[33]
public plugin_init()
{
g_GameModeSurvivorID = zp_gamemodes_get_id("Survivor Mode")
g_GameModeNemesisID = zp_gamemodes_get_id("Nemesis Mode")
g_GameModePlagueID = zp_gamemodes_get_id("Plague Mode")
g_GameModeSwarmID = zp_gamemodes_get_id("Swarm Mode")
g_GameModeInfectionID = zp_gamemodes_get_id("Infection Mode")
g_GameModeMultiID = zp_gamemodes_get_id("Multiple Infection Mode")
g_GameModeArmageddonID = zp_gamemodes_get_id("Armageddon Mode")
register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0")
register_clcmd("say /hud","hud2")
}
public event_RoundStart()
{
// Update var (no mode started / in delay)
tag = "Esperando primeira infeccao"
}
public zp_fw_gamemodes_start(id)
{
new current_mode = zp_gamemodes_get_current()
if (current_mode == g_GameModeNemesisID)
{
tag = "Nemesis"
return PLUGIN_HANDLED
}
if (current_mode == g_GameModeSurvivorID)
{
tag = "Survivor"
return PLUGIN_HANDLED
}
if (current_mode == g_GameModePlagueID)
{
tag = "Plague"
return PLUGIN_HANDLED
}
if (current_mode == g_GameModeSwarmID)
{
tag = "Swarm"
return PLUGIN_HANDLED
}
if (current_mode == g_GameModeInfectionID)
{
tag = "Infection"
return PLUGIN_HANDLED
}
if (current_mode == g_GameModeMultiID)
{
tag = "Multi Infection"
return PLUGIN_HANDLED
}
if (current_mode == g_GameModeArmageddonID)
{
tag = "Armageddon"
return PLUGIN_HANDLED
}
tag = "Esperando primeira infeccao"
return PLUGIN_HANDLED
}
public zp_fw_gamemodes_end()
{
tag = "Partida Encerrada"
}
public hud2(id)
{
set_hudmessage(0, 42, 255, -1.0, 0.21, 0, 6.0, 1.0)
show_hudmessage(id, "[Modo Atual] | [%s]",tag)
set_task(0.9,"hud2",id)
}
Note que ao digitar no say
Código:
/hud
Nosso hud informativo ira surgir : D
@Postando parte 2 e revisando quando voltar da escola : P