request edition plugin reviver by hackera457_reviveaplayer

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
GGzBoy
Извън линия
Foreigner
Foreigner
Мнения: 63
Регистриран на: 28 Мар 2020, 16:42
Се отблагодари: 16 пъти
Получена благодарност: 1 път

request edition plugin reviver by hackera457_reviveaplayer

Мнение от GGzBoy » 30 Мар 2022, 18:06

could someone modify this plugin to pop up a menu and remove spawn protect and armor I just want it to have a menu that shows the nick of those who are dead with 100 hp and that I can't revive spec and can only be used by adm

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <colorchat>

#define PLUGIN   "Revive a Player"
#define VERSION  "1.0" 
#define AUTHOR	 "hackera457"

#define PREFIX   "Revive"

enum _:SETTINGS
{
	REVIVE_ADMIN_FLAG,
	REVIVE_DEFAULT_HP,
	REVIVE_DEFAULT_ARMOR,
	REVIVE_SCREEN_FADE_COLOR,
	REVIVE_RESPAWN_TIME,
	REVIVE_RESPAWN_PROTECT,
	REVIVE_RESPAWN_PROTECT_TIME
	
};

new const g_szlogFile[] = "addons/amxmodx/logs/revive.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[REVIVE_ADMIN_FLAG] = register_cvar("revive_admin_flag","l");
	g_pCvarSettings[REVIVE_DEFAULT_HP] = register_cvar("revive_default_hp","100");
	g_pCvarSettings[REVIVE_DEFAULT_ARMOR] = register_cvar("revive_default_armor","100");
	g_pCvarSettings[REVIVE_SCREEN_FADE_COLOR] = register_cvar("revive_fade_screen_color","42 85 255");
	g_pCvarSettings[REVIVE_RESPAWN_TIME] = register_cvar("revive_respawn_time","0.5");
	g_pCvarSettings[REVIVE_RESPAWN_PROTECT] = register_cvar("revive_respawn_protect","1");
	g_pCvarSettings[REVIVE_RESPAWN_PROTECT_TIME] = register_cvar("revive_respawn_protect_time","1.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, "revive") == -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[REVIVE_ADMIN_FLAG], szAdmFlag,charsmax(szAdmFlag));
	
	if(equali(iArg1,"/revive",5) && (get_user_flags(id) & read_flags(szAdmFlag)))
	{
		new iPlayer;
		
		if(equali(iArg2,""))
		{
			ColorChat(id,TEAM_COLOR,"^1[^4%s^1] Usage: ^4/revive ^3<nickname> <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[REVIVE_DEFAULT_HP]);
					g_iArmor = get_pcvar_num(g_pCvarSettings[REVIVE_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] ADMIN ^4%s ^1 revived you! (^3HP: ^4%i ^3| Armor: ^4%i^1)",PREFIX,szAdminName,g_iHp,g_iArmor);
				log_to_file(g_szlogFile,"[%s] ADMIN %s revived %s ! (HP: %i | Armor: %i)",PREFIX,szAdminName,szPlayerName,g_iHp,g_iArmor);				
			}else
			{
				ColorChat(id,TEAM_COLOR,"^1[^4%s^1] ^3Player is already alive!",PREFIX);
				return PLUGIN_HANDLED;
			}
		}else{
				ColorChat(id,TEAM_COLOR,"^1[^4%s^1] ^3Player not found!",PREFIX);
				return PLUGIN_HANDLED;
		}
	}
	
	return PLUGIN_CONTINUE;
}

public RevivePlayer(id)
{		
	set_task(get_pcvar_float(g_pCvarSettings[REVIVE_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[REVIVE_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[REVIVE_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[REVIVE_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();
}

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 7 госта