Код за потвърждение: Избери целия код
#include <amxmodx>
/* Common include libraries */
#tryinclude <reapi>
#tryinclude <cromchat>
#if !defined _reapi_included
#assert "This plugin requires ReAPI Library, please install it and try again!"
#endif
#if !defined _cromchat_included
#assert "This plugin requires OciXCrom ColorChat Library. Please install it and try again!"
#endif
#define HUD_RED random(256)
#define HUD_GREEN random(256)
#define HUD_BLUE random(256)
#define HUD_X_COORD 0.02
#define HUD_Y_COORD 0.2
new g_bGodEnabled[MAX_PLAYERS + 1],
g_szName[MAX_PLAYERS + 1][MAX_NAME_LENGTH],
g_szMessage[MAX_FMT_LENGTH],
g_iGodsCount,
g_SyncHudMessage,
g_iNameChanged
public plugin_init()
{
register_plugin("God Command [ReAPI Support Only]", "1.1-Huehue", "AMXX-BG PawnTeam")
register_clcmd("say /god", "God_Command")
register_clcmd("say_team /god", "God_Command")
RegisterHookChain(RG_CBasePlayer_Jump, "RG__CBasePlayer_Jump")
RegisterHookChain(RG_CBasePlayer_TraceAttack, "RG__CBasePlayer_TraceAttack")
RegisterHookChain(RG_CGrenade_ExplodeHeGrenade, "RG__CGrenade_ExplodeHeGrenade")
register_message(get_user_msgid("StatusValue"), "messageStatusValue")
set_task(2.0, "Task_HudInfo", .flags = "b")
g_SyncHudMessage = CreateHudSyncObj()
CC_SetPrefix("&x04[GodMode]&x01")
}
public client_putinserver(id)
{
get_user_name(id, g_szName[id], charsmax(g_szName[]))
g_bGodEnabled[id] = false
CreateMessage()
}
public client_disconnected(id)
{
if (g_bGodEnabled[id])
{
g_bGodEnabled[id] = false
g_iGodsCount--
CreateMessage()
}
}
public client_infochanged(id)
{
if (g_bGodEnabled[id])
{
static szNames[2][MAX_NAME_LENGTH]
get_user_name(id, szNames[0], charsmax(szNames[]))
get_user_info(id, "name", szNames[1], charsmax(szNames[]))
if (!equal(szNames[0], szNames[1]))
{
copy(g_szName[id], charsmax(g_szName[]), szNames[1])
g_iNameChanged = true
}
}
}
public Task_HudInfo()
{
set_hudmessage(HUD_RED, HUD_GREEN, HUD_BLUE, HUD_X_COORD, HUD_Y_COORD, .holdtime = 1.8, .channel = 4)
ShowSyncHudMsg(0, g_SyncHudMessage, g_szMessage)
if (g_iNameChanged)
{
g_iNameChanged = false
CreateMessage()
}
}
public CreateMessage()
{
static iLen
iLen = 0
iLen += formatex(g_szMessage[iLen], charsmax(g_szMessage) - iLen, "Players in GodMode: %i", g_iGodsCount)
new iPlayers[MAX_PLAYERS], iNum, id
get_players(iPlayers, iNum)
for(--iNum; iNum >= 0; iNum--)
{
id = iPlayers[iNum]
if (g_bGodEnabled[id])
{
iLen += formatex(g_szMessage[iLen], charsmax(g_szMessage) - iLen, "^n%s", g_szName[id])
}
}
}
public God_Command(id)
{
if (g_bGodEnabled[id])
{
g_bGodEnabled[id] = false
rg_set_entity_render(id, false)
rg_set_user_footsteps(id, false)
rg_round_respawn(id)
g_iGodsCount--
}
else
{
g_bGodEnabled[id] = true
rg_set_entity_render(id, true)
rg_set_user_footsteps(id, true)
g_iGodsCount++
}
CC_SendMessage(0, "Player &x03%s &x04%s &x01GodMode.", g_szName[id], g_bGodEnabled[id] ? "activated" : "deactivated")
CreateMessage()
}
public RG__CBasePlayer_Jump(id)
{
if (!g_bGodEnabled[id])
return
set_entvar(id, var_fuser2, 0.0)
if (get_entvar(id, var_flags) & FL_ONGROUND)
{
new Float:fVelocity[3]
get_entvar(id, var_velocity, fVelocity)
fVelocity[2] += 250.0
set_entvar(id, var_velocity, fVelocity)
set_entvar(id, var_gaitsequence, 6)
}
}
public RG__CBasePlayer_TraceAttack(iVictim, iAttacker)
{
if (!is_user_connected(iAttacker) || iVictim == iAttacker)
return HC_CONTINUE
return (g_bGodEnabled[iAttacker]) ? HC_SUPERCEDE : HC_CONTINUE
}
public RG__CGrenade_ExplodeHeGrenade(iEntity, iTraceHandle, iBitsDamageType)
{
#pragma unused iTraceHandle, iBitsDamageType
if (!is_entity(iEntity))
return HC_CONTINUE
new iOwner = get_entvar(iEntity, var_owner)
if (g_bGodEnabled[iOwner])
{
set_entvar(iEntity, var_flags, get_entvar(iEntity, var_flags) | FL_KILLME)
set_entvar(iEntity, var_nextthink, get_gametime())
return HC_SUPERCEDE
}
return HC_CONTINUE
}
public messageStatusValue(id)
{
new iFlag = get_msg_arg_int(1)
new iTarget = get_msg_arg_int(2)
if (iFlag == 2 && g_bGodEnabled[iTarget])
{
set_msg_arg_int(1, get_msg_argtype(1), 1)
set_msg_arg_int(2, get_msg_argtype(2), 0)
}
}
stock rg_set_entity_render(id, bool:visible = true)
{
if (visible == true)
rg_set_entity_rendering(id)
else
{
static Float:fColors[3]
fColors[0] = 0.0
fColors[1] = 0.0
fColors[2] = 0.0
rg_set_entity_rendering(id, kRenderFxNone, fColors, kRenderTransTexture, 0)
}
}
stock rg_set_entity_rendering(const entity, fx = kRenderFxNone, Float:color[] = {255.0, 255.0, 255.0}, render = kRenderNormal, amount = 16)
{
set_entvar(entity, var_renderfx, fx)
set_entvar(entity, var_rendercolor, color)
set_entvar(entity, var_rendermode, render)
set_entvar(entity, var_renderamt, float(amount))
}