Plugin :
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <colorchat>
#define PLUGIN "Ringjall Lojtarin"
#define VERSION "1.0"
#define AUTHOR "hackera457"
#define PREFIX "Ringjall"
enum _:SETTINGS
{
RINGJALL_ADMIN_FLAG,
RINGJALL_DEFAULT_HP,
RINGJALL_DEFAULT_ARMOR,
RINGJALL_SCREEN_FADE_COLOR,
RINGJALL_RESPAWN_TIME,
RINGJALL_RESPAWN_PROTECT,
RINGJALL_RESPAWN_PROTECT_TIME
};
new const g_szlogFile[] = "addons/amxmodx/logs/ringjall.log";
new g_pCvarSettings[SETTINGS];
new g_iMsgScrFade;
new g_iHp, g_iArmor;
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR);
register_cvar("hackera457_revive_version",VERSION,FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
g_pCvarSettings[RINGJALL_ADMIN_FLAG] = register_cvar("revive_admin_flag","g");
g_pCvarSettings[RINGJALL_DEFAULT_HP] = register_cvar("revive_default_hp","50");
g_pCvarSettings[RINGJALL_DEFAULT_ARMOR] = register_cvar("revive_default_armor","50");
g_pCvarSettings[RINGJALL_SCREEN_FADE_COLOR] = register_cvar("revive_fade_screen_color","42 85 255");
g_pCvarSettings[RINGJALL_RESPAWN_TIME] = register_cvar("revive_respawn_time","0.5");
g_pCvarSettings[RINGJALL_RESPAWN_PROTECT] = register_cvar("revive_respawn_protect","2");
g_pCvarSettings[RINGJALL_RESPAWN_PROTECT_TIME] = register_cvar("revive_respawn_protect_time","2.0");
g_iMsgScrFade = get_user_msgid("ScreenFade");
register_clcmd("say","HookSay");
register_clcmd("say_team","HookSay");
}
public HookSay(id)
{
new iArgs[38], iArg1[6], iArg2[32], iArg3[6], iArg4[6], szAdmFlag[32];
read_args(iArgs,charsmax(iArgs));
remove_quotes(iArgs);
if( containi(iArgs, "ringjall") == -1 && iArgs[0] != '/' )
return PLUGIN_CONTINUE;
parse(iArgs,iArg1,charsmax(iArg1), iArg2,charsmax(iArg2),iArg3,charsmax(iArg3), iArg4,charsmax(iArg4));
get_pcvar_string(g_pCvarSettings[RINGJALL_ADMIN_FLAG], szAdmFlag,charsmax(szAdmFlag));
if(equali(iArg1,"/ringjall",5) && (get_user_flags(id) & read_flags(szAdmFlag)))
{
new iPlayer;
if(equali(iArg2,""))
{
ColorChat(id,TEAM_COLOR,"^1[^4%s^1] Perdorimi: ^4/ringjall ^3<emrin> <hp> <armor>",PREFIX);
return PLUGIN_HANDLED;
}
iPlayer = cmd_target(id,iArg2,0);
if(iPlayer)
{
if(!is_user_alive(iPlayer) && cs_get_user_team(iPlayer) != CS_TEAM_SPECTATOR)
{
new szAdminName[32], szPlayerName[32];
get_user_name(id,szAdminName,charsmax(szAdminName));
get_user_name(iPlayer,szPlayerName,charsmax(szPlayerName));
if(equali(iArg3,"") || equali(iArg4,""))
{
g_iHp = get_pcvar_num(g_pCvarSettings[RINGJALL_DEFAULT_HP]);
g_iArmor = get_pcvar_num(g_pCvarSettings[RINGJALL_DEFAULT_ARMOR]);
}else{
g_iHp = str_to_num(iArg3);
g_iArmor = str_to_num(iArg4);
}
RevivePlayer(iPlayer);
ColorChat(iPlayer,TEAM_COLOR,"^1[^4%s^1] ADMINI ^4%s ^1te ringjalli ty! (^3HP: ^4%i ^3| Armor: ^4%i^1)",PREFIX,szAdminName,g_iHp,g_iArmor);
log_to_file(g_szlogFile,"[%s] ADMINI %s ringjalli %s ! (HP: %i | Armor: %i)",PREFIX,szAdminName,szPlayerName,g_iHp,g_iArmor);
}else
{
ColorChat(id,TEAM_COLOR,"^1[^4%s^1] ^3Lojtari aktualisht eshte gjalle!",PREFIX);
return PLUGIN_HANDLED;
}
}else{
ColorChat(id,TEAM_COLOR,"^1[^4%s^1] ^3Lojtari nuk u gjend!",PREFIX);
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public RevivePlayer(id)
{
set_task(get_pcvar_float(g_pCvarSettings[RINGJALL_RESPAWN_TIME]),"RespawnPlayer",id);
}
public RespawnPlayer(id)
{
if(!is_user_connected(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR || cs_get_user_team(id) == CS_TEAM_UNASSIGNED)
return;
ExecuteHamB(Ham_CS_RoundRespawn,id);
set_pev(id,pev_health,float(g_iHp));
set_pev(id,pev_armorvalue,float(g_iArmor));
Protect(id);
ScreenFade(id);
}
public Protect(id)
{
if(!is_user_connected(id) || !is_user_alive(id) || get_pcvar_num(g_pCvarSettings[RINGJALL_RESPAWN_PROTECT]) == 0) return;
switch(cs_get_user_team(id))
{
case CS_TEAM_CT: set_user_rendering(id, kRenderFxGlowShell, 0,0,255, kRenderNormal, 50);
case CS_TEAM_T: set_user_rendering(id, kRenderFxGlowShell, 255,0,0, kRenderNormal, 50);
}
set_user_godmode(id,1);
set_task(get_pcvar_float(g_pCvarSettings[RINGJALL_RESPAWN_PROTECT_TIME]),"RemoveResProtect",id);
}
public RemoveResProtect(id)
{
if(!is_user_connected(id) || !is_user_alive(id)) return;
set_user_rendering(id, kRenderFxGlowShell, 0,0,0, kRenderTransAlpha, 255);
set_user_godmode(id,0);
}
public ScreenFade(id)
{
new szColors[16];
new szRed[4], szGreen[4], szBlue[4];
new iRed, iGreen, iBlue;
get_pcvar_string(g_pCvarSettings[RINGJALL_SCREEN_FADE_COLOR], szColors, charsmax(szColors));
parse(szColors, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue));
iRed = str_to_num(szRed);
iGreen = str_to_num(szGreen);
iBlue = str_to_num(szBlue);
message_begin(MSG_ONE,g_iMsgScrFade,{0,0,0},id);
write_short(1<<10);
write_short(1<<10);
write_short(1<<12);
write_byte(iRed);
write_byte(iGreen);
write_byte(iBlue);
write_byte(30);
message_end();
}