Request on modify VIP plugin

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Request on modify VIP plugin

Мнение от atmax » 26 Апр 2020, 13:45

Sorry about that. Fixed !
Rest in peace my friend I always will remember you! 🖤👊

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Request on modify VIP plugin

Мнение от OciXCrom » 26 Апр 2020, 15:30

Your happy hour check is wrong. It won't work if the start and end are set in a different day (after 00:00). Use this function:

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

bool:is_current_time(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}

Аватар
Niiicu
Извън линия
Потребител
Потребител
Мнения: 88
Регистриран на: 24 Апр 2020, 10:01
Се отблагодари: 1 път
Получена благодарност: 1 път

Request on modify VIP plugin

Мнение от Niiicu » 26 Апр 2020, 17:36

atmax написа: 26 Апр 2020, 13:45 Sorry about that. Fixed !
I've tested, it's working.
Thank you so much

Добавено преди 18 минути 24 секунди:
OciXCrom написа: 26 Апр 2020, 15:30 Your happy hour check is wrong. It won't work if the start and end are set in a different day (after 00:00). Use this function:

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

bool:is_current_time(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}

I don't know where to change this in .sma file :)
Can you help me please?
CS.AVENGERSCS.RO - Classic

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Request on modify VIP plugin

Мнение от OciXCrom » 26 Апр 2020, 20:33

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

#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define CC_COLORS_TYPE CC_COLORS_SHORT
#include <cromchat>

#define VIP_FLAG ADMIN_LEVEL_A
#define TASK_MESSAGE 420317

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new mpd, mkb, mhb
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max
new g_awp_active
new g_menu_active
new CurrentRound
#if defined DAMAGE_RECIEVED
	new g_MsgSync2
#endif

new g_iObject,
	g_pStart,
	g_pEnd,
	g_iStart,
	g_iEnd,
	g_szName[33][32],
	bool:g_blActive

public plugin_init()
{
	register_plugin("VIP Eng Version", "3.0", "Dunno")
	mpd = register_cvar("money_per_damage","3")
	mkb = register_cvar("money_kill_bonus","200")
	mhb = register_cvar("money_hs_bonus","500")
	health_add = register_cvar("amx_vip_hp", "15")
	health_hs_add = register_cvar("amx_vip_hp_hs", "30")
	health_max = register_cvar("amx_vip_max_hp", "100")
	g_awp_active = register_cvar("awp_active", "1")
	g_menu_active = register_cvar("menu_active", "1")
	register_event("Damage","Damage","b")
	register_event("DeathMsg","death_msg","a")
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	register_clcmd("awp","HandleCmd")
    	register_clcmd("sg550","HandleCmd")
    	register_clcmd("g3sg1","HandleCmd")
	register_clcmd("say /vipmenu","cmdVM")
	register_clcmd("say /wantvip","ShowMotd")
	maxplayers = get_maxplayers()
	gmsgSayText = get_user_msgid("SayText")
	register_clcmd("say", "handle_say")
	register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
	register_logevent("LogEvent_RoundStart", 2, "1=Round_Start" );
	register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")
	register_event("TextMsg","Event_RoundRestart","a","2&#Game_C");
	register_event("DeathMsg", "hook_death", "a", "1>0")
	register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
	g_MsgSync = CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
	g_MsgSync2 = CreateHudSyncObj()
#endif
	g_pStart = register_cvar("happyhour_start", "13")
	g_pEnd = register_cvar("happyhour_end", "17")
	g_iObject = CreateHudSyncObj()
	OnRoundStart()
}

public on_damage(id)
{
	new attacker = get_user_attacker(id)

#if defined DAMAGE_RECIEVED
	// id should be connected if this message is sent, but lets check anyway
	if ( is_user_connected(id) && is_user_connected(attacker) )
	if (get_user_flags(attacker) & ADMIN_LEVEL_H)
	{
		new damage = read_data(2)

		set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
		ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
	if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
	{
		new damage = read_data(2)
#endif
		set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
		ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
	}
}

public Damage(id)
{
	new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
	if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
	if (get_user_flags(attacker) & ADMIN_LEVEL_H) 
	{
		new money = read_data(2) * get_pcvar_num(mpd)
		if(hitpoint==1) money += get_pcvar_num(mhb)
		cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
	}
}

public death_msg()
{
	if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
	if(!g_blActive)
		return
        
	new iAttacker = read_data(1),
		iVictim = read_data(2)
        
	if(!is_user_connected(iAttacker) || !is_user_connected(iVictim) || iAttacker == iVictim)
		return
        
	set_user_frags(iAttacker, get_user_frags(iAttacker) + 1)
}

GetCvars()
{
    g_iStart = get_pcvar_num(g_pStart)
    g_iEnd = get_pcvar_num(g_pEnd)
}

public LogEvent_RoundStart()
{
	CurrentRound++;
	new players[32], player, pnum;
	get_players(players, pnum, "a");
	for(new i = 0; i < pnum; i++)
	{
		player = players[i];
		if(is_user_alive(player) && get_user_flags(player) & ADMIN_LEVEL_H)
		{
			give_item(player, "weapon_hegrenade")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_smokegrenade")
			give_item(player, "item_assaultsuit")
			give_item(player, "item_thighpack")
			
			if (!get_pcvar_num(g_menu_active))
				return PLUGIN_CONTINUE
			
			if(CurrentRound >= 3)
			{
				cmdVM(player);
			}
		}
		if(!g_blActive)
		{
			return PLUGIN_HANDLED
		}
		else
		{
			give_item(player, "weapon_hegrenade")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_smokegrenade")
			give_item(player, "item_assaultsuit")
			give_item(player, "item_thighpack")
			
			if (!get_pcvar_num(g_menu_active))
				return PLUGIN_CONTINUE
			
			if(CurrentRound >= 3)
			{
				cmdVM(player);
			}
		}
	}
	return PLUGIN_HANDLED
}

public Event_RoundRestart()
{
	CurrentRound=0;
}

public cmdVM(id)
{
	new g_iFlag = get_user_flags(id)
	if(g_iFlag & VIP_FLAG)
	{
		Vip_Menu(id)
	}
	if(!g_blActive)
	{
		if(g_iFlag & VIP_FLAG)
			return
		
		CromChat(id, "!rThis menu is available only for !gVIPs!");
		CromChat(id, "!rAlso its free for all when its happy hour!");
	}
	else
	{
		Vip_Menu(id)
	}
}

public Vip_Menu(id)
{
	new menu = menu_create("\rVIP Menu", "Vip_MenuHandler")

	menu_additem(menu, "\wAK47 + \rDeagle", "1", 0)
	menu_additem(menu, "\wM4A1 + \rDeagle", "2", 0)
	menu_additem(menu, "\wAWP + \rDeagle", "3", 0)

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

	menu_display(id, menu, 0)
}

public Vip_MenuHandler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new data[6], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)

	new key = str_to_num(data)

	switch(key)
	{
		case 1:
		{
			give_item(id, "weapon_ak47")
			give_item(id, "weapon_deagle")
			cs_set_user_bpammo(id, CSW_AK47, 90)
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)
		}
		case 2:
		{
			give_item(id, "weapon_deagle")
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)
		}
		case 3:
		{
			give_item(id, "weapon_deagle")
			give_item(id, "weapon_awp")
			cs_set_user_bpammo(id, CSW_AWP, 30)
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)	
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public hook_death()
{
   // Killer id
   nKiller = read_data(1)
   
   if ( (read_data(3) == 1) && (read_data(5) == 0) )
   {
      nHp_add = get_pcvar_num (health_hs_add)
   }
   else
      nHp_add = get_pcvar_num (health_add)
   nHp_max = get_pcvar_num (health_max)
   // Updating Killer HP
   if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
   return;

   nKiller_hp = get_user_health(nKiller)
   nKiller_hp += nHp_add
   // Maximum HP check
   if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
   set_user_health(nKiller, nKiller_hp)
   // Hud message "Healed +15/+30 hp"
   set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
   show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
   // Screen fading
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
   write_short(1<<10)
   write_short(1<<10)
   write_short(0x0000)
   write_byte(0)
   write_byte(0)
   write_byte(200)
   write_byte(75)
   message_end()
 
}

public HandleCmd(id){
	if (!get_pcvar_num(g_awp_active))
      return PLUGIN_CONTINUE
	if(get_user_flags(id) & ADMIN_LEVEL_H) 
		return PLUGIN_CONTINUE
	CromChat(id, "!tSniper's Only For VIP's")
	return PLUGIN_HANDLED
}

public ShowMotd(id)
{
 show_motd(id, "vip.txt")
}
public client_putinserver(id)
{
	set_task(30.0, "PrintText" ,id)
	set_task(5.0, "VipAnnounce", id)
	get_user_name(id, g_szName[id], charsmax(g_szName[]))
	set_task(1.0, "displayMessage", id + TASK_MESSAGE, .flags = "b")

}

public displayMessage(id)
{
	id -= TASK_MESSAGE
	set_hudmessage(random(256), random(256), random(256), 0.02, 0.2, 0, 0.1, 1.0, 0.1, 0.1, -1)
	ShowSyncHudMsg(id, g_iObject, "Good luck and have fun! %s^nNow is Happy Hour (%s)^nHappy Hour (Start in %i:00 | End in %i:00)", g_szName[id],	g_blActive ? "On" : "Off", g_iStart, g_iEnd)
}

public client_infochanged(id)
{
	new szNewName[32], szOldName[32]
	get_user_info(id, "name", szNewName, charsmax(szNewName))
	get_user_name(id, szOldName, charsmax(szOldName))
    
	if(!equal(szNewName, szOldName))
		copy(g_szName[id], charsmax(g_szName[]), szNewName)
}

public OnRoundStart()
{
	GetCvars()
    
	g_blActive = is_current_time(g_iStart, g_iEnd)
}

public PrintText(id)
{
 CromChat(id, "!g[VIP] !nwrite !g/wantvip !nand u will see how get !gVIP !nand !gVIP privilegies.")
}

public VipAnnounce(id)
{
	if(get_user_flags(id) & VIP_FLAG)
	{
		new szName[32]
		get_user_name(id, szName, charsmax(szName))
		CromChat(0, "!gV.I.P Player !t%s !gconnected", szName)
	}
}

public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
		set_task(0.1,"print_adminlist",id)
	return PLUGIN_CONTINUE
}

public print_adminlist(user) 
{
	new adminnames[33][32]
	new message[256]
	new contactinfo[256], contact[112]
	new id, count, x, len
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & ADMIN_LEVEL_H)
				get_user_name(id, adminnames[count++], 31)

	len = format(message, 255, "%s VIP ONLINE: ",COLOR)
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
			if(len > 96 ) {
				print_message(user, message)
				len = format(message, 255, "%s ",COLOR)
			}
		}
		print_message(user, message)
	}
	else {
		len += format(message[len], 255-len, "No VIP online.")
		print_message(user, message)
	}
	
	get_cvar_string("amx_contactinfo", contact, 63)
	if(contact[0])  {
		format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
		print_message(user, contactinfo)
	}
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
	write_byte(id)
	write_string(msg)
	message_end()
}

bool:is_current_time(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour <= iEnd))
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1063\\ f0\\ fs16 \n\\ par }
*/

Аватар
Niiicu
Извън линия
Потребител
Потребител
Мнения: 88
Регистриран на: 24 Апр 2020, 10:01
Се отблагодари: 1 път
Получена благодарност: 1 път

Request on modify VIP plugin

Мнение от Niiicu » 27 Апр 2020, 08:54

OciXCrom написа: 26 Апр 2020, 20:33

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

#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define CC_COLORS_TYPE CC_COLORS_SHORT
#include <cromchat>

#define VIP_FLAG ADMIN_LEVEL_A
#define TASK_MESSAGE 420317

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new mpd, mkb, mhb
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max
new g_awp_active
new g_menu_active
new CurrentRound
#if defined DAMAGE_RECIEVED
	new g_MsgSync2
#endif

new g_iObject,
	g_pStart,
	g_pEnd,
	g_iStart,
	g_iEnd,
	g_szName[33][32],
	bool:g_blActive

public plugin_init()
{
	register_plugin("VIP Eng Version", "3.0", "Dunno")
	mpd = register_cvar("money_per_damage","3")
	mkb = register_cvar("money_kill_bonus","200")
	mhb = register_cvar("money_hs_bonus","500")
	health_add = register_cvar("amx_vip_hp", "15")
	health_hs_add = register_cvar("amx_vip_hp_hs", "30")
	health_max = register_cvar("amx_vip_max_hp", "100")
	g_awp_active = register_cvar("awp_active", "1")
	g_menu_active = register_cvar("menu_active", "1")
	register_event("Damage","Damage","b")
	register_event("DeathMsg","death_msg","a")
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	register_clcmd("awp","HandleCmd")
    	register_clcmd("sg550","HandleCmd")
    	register_clcmd("g3sg1","HandleCmd")
	register_clcmd("say /vipmenu","cmdVM")
	register_clcmd("say /wantvip","ShowMotd")
	maxplayers = get_maxplayers()
	gmsgSayText = get_user_msgid("SayText")
	register_clcmd("say", "handle_say")
	register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
	register_logevent("LogEvent_RoundStart", 2, "1=Round_Start" );
	register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")
	register_event("TextMsg","Event_RoundRestart","a","2&#Game_C");
	register_event("DeathMsg", "hook_death", "a", "1>0")
	register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
	g_MsgSync = CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
	g_MsgSync2 = CreateHudSyncObj()
#endif
	g_pStart = register_cvar("happyhour_start", "13")
	g_pEnd = register_cvar("happyhour_end", "17")
	g_iObject = CreateHudSyncObj()
	OnRoundStart()
}

public on_damage(id)
{
	new attacker = get_user_attacker(id)

#if defined DAMAGE_RECIEVED
	// id should be connected if this message is sent, but lets check anyway
	if ( is_user_connected(id) && is_user_connected(attacker) )
	if (get_user_flags(attacker) & ADMIN_LEVEL_H)
	{
		new damage = read_data(2)

		set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
		ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
	if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
	{
		new damage = read_data(2)
#endif
		set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
		ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
	}
}

public Damage(id)
{
	new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
	if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
	if (get_user_flags(attacker) & ADMIN_LEVEL_H) 
	{
		new money = read_data(2) * get_pcvar_num(mpd)
		if(hitpoint==1) money += get_pcvar_num(mhb)
		cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
	}
}

public death_msg()
{
	if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
	if(!g_blActive)
		return
        
	new iAttacker = read_data(1),
		iVictim = read_data(2)
        
	if(!is_user_connected(iAttacker) || !is_user_connected(iVictim) || iAttacker == iVictim)
		return
        
	set_user_frags(iAttacker, get_user_frags(iAttacker) + 1)
}

GetCvars()
{
    g_iStart = get_pcvar_num(g_pStart)
    g_iEnd = get_pcvar_num(g_pEnd)
}

public LogEvent_RoundStart()
{
	CurrentRound++;
	new players[32], player, pnum;
	get_players(players, pnum, "a");
	for(new i = 0; i < pnum; i++)
	{
		player = players[i];
		if(is_user_alive(player) && get_user_flags(player) & ADMIN_LEVEL_H)
		{
			give_item(player, "weapon_hegrenade")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_smokegrenade")
			give_item(player, "item_assaultsuit")
			give_item(player, "item_thighpack")
			
			if (!get_pcvar_num(g_menu_active))
				return PLUGIN_CONTINUE
			
			if(CurrentRound >= 3)
			{
				cmdVM(player);
			}
		}
		if(!g_blActive)
		{
			return PLUGIN_HANDLED
		}
		else
		{
			give_item(player, "weapon_hegrenade")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_flashbang")
			give_item(player, "weapon_smokegrenade")
			give_item(player, "item_assaultsuit")
			give_item(player, "item_thighpack")
			
			if (!get_pcvar_num(g_menu_active))
				return PLUGIN_CONTINUE
			
			if(CurrentRound >= 3)
			{
				cmdVM(player);
			}
		}
	}
	return PLUGIN_HANDLED
}

public Event_RoundRestart()
{
	CurrentRound=0;
}

public cmdVM(id)
{
	new g_iFlag = get_user_flags(id)
	if(g_iFlag & VIP_FLAG)
	{
		Vip_Menu(id)
	}
	if(!g_blActive)
	{
		if(g_iFlag & VIP_FLAG)
			return
		
		CromChat(id, "!rThis menu is available only for !gVIPs!");
		CromChat(id, "!rAlso its free for all when its happy hour!");
	}
	else
	{
		Vip_Menu(id)
	}
}

public Vip_Menu(id)
{
	new menu = menu_create("\rVIP Menu", "Vip_MenuHandler")

	menu_additem(menu, "\wAK47 + \rDeagle", "1", 0)
	menu_additem(menu, "\wM4A1 + \rDeagle", "2", 0)
	menu_additem(menu, "\wAWP + \rDeagle", "3", 0)

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

	menu_display(id, menu, 0)
}

public Vip_MenuHandler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new data[6], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)

	new key = str_to_num(data)

	switch(key)
	{
		case 1:
		{
			give_item(id, "weapon_ak47")
			give_item(id, "weapon_deagle")
			cs_set_user_bpammo(id, CSW_AK47, 90)
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)
		}
		case 2:
		{
			give_item(id, "weapon_deagle")
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)
		}
		case 3:
		{
			give_item(id, "weapon_deagle")
			give_item(id, "weapon_awp")
			cs_set_user_bpammo(id, CSW_AWP, 30)
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)	
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public hook_death()
{
   // Killer id
   nKiller = read_data(1)
   
   if ( (read_data(3) == 1) && (read_data(5) == 0) )
   {
      nHp_add = get_pcvar_num (health_hs_add)
   }
   else
      nHp_add = get_pcvar_num (health_add)
   nHp_max = get_pcvar_num (health_max)
   // Updating Killer HP
   if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
   return;

   nKiller_hp = get_user_health(nKiller)
   nKiller_hp += nHp_add
   // Maximum HP check
   if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
   set_user_health(nKiller, nKiller_hp)
   // Hud message "Healed +15/+30 hp"
   set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
   show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
   // Screen fading
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
   write_short(1<<10)
   write_short(1<<10)
   write_short(0x0000)
   write_byte(0)
   write_byte(0)
   write_byte(200)
   write_byte(75)
   message_end()
 
}

public HandleCmd(id){
	if (!get_pcvar_num(g_awp_active))
      return PLUGIN_CONTINUE
	if(get_user_flags(id) & ADMIN_LEVEL_H) 
		return PLUGIN_CONTINUE
	CromChat(id, "!tSniper's Only For VIP's")
	return PLUGIN_HANDLED
}

public ShowMotd(id)
{
 show_motd(id, "vip.txt")
}
public client_putinserver(id)
{
	set_task(30.0, "PrintText" ,id)
	set_task(5.0, "VipAnnounce", id)
	get_user_name(id, g_szName[id], charsmax(g_szName[]))
	set_task(1.0, "displayMessage", id + TASK_MESSAGE, .flags = "b")

}

public displayMessage(id)
{
	id -= TASK_MESSAGE
	set_hudmessage(random(256), random(256), random(256), 0.02, 0.2, 0, 0.1, 1.0, 0.1, 0.1, -1)
	ShowSyncHudMsg(id, g_iObject, "Good luck and have fun! %s^nNow is Happy Hour (%s)^nHappy Hour (Start in %i:00 | End in %i:00)", g_szName[id],	g_blActive ? "On" : "Off", g_iStart, g_iEnd)
}

public client_infochanged(id)
{
	new szNewName[32], szOldName[32]
	get_user_info(id, "name", szNewName, charsmax(szNewName))
	get_user_name(id, szOldName, charsmax(szOldName))
    
	if(!equal(szNewName, szOldName))
		copy(g_szName[id], charsmax(g_szName[]), szNewName)
}

public OnRoundStart()
{
	GetCvars()
    
	g_blActive = is_current_time(g_iStart, g_iEnd)
}

public PrintText(id)
{
 CromChat(id, "!g[VIP] !nwrite !g/wantvip !nand u will see how get !gVIP !nand !gVIP privilegies.")
}

public VipAnnounce(id)
{
	if(get_user_flags(id) & VIP_FLAG)
	{
		new szName[32]
		get_user_name(id, szName, charsmax(szName))
		CromChat(0, "!gV.I.P Player !t%s !gconnected", szName)
	}
}

public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
		set_task(0.1,"print_adminlist",id)
	return PLUGIN_CONTINUE
}

public print_adminlist(user) 
{
	new adminnames[33][32]
	new message[256]
	new contactinfo[256], contact[112]
	new id, count, x, len
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & ADMIN_LEVEL_H)
				get_user_name(id, adminnames[count++], 31)

	len = format(message, 255, "%s VIP ONLINE: ",COLOR)
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
			if(len > 96 ) {
				print_message(user, message)
				len = format(message, 255, "%s ",COLOR)
			}
		}
		print_message(user, message)
	}
	else {
		len += format(message[len], 255-len, "No VIP online.")
		print_message(user, message)
	}
	
	get_cvar_string("amx_contactinfo", contact, 63)
	if(contact[0])  {
		format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
		print_message(user, contactinfo)
	}
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
	write_byte(id)
	write_string(msg)
	message_end()
}

bool:is_current_time(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour <= iEnd))
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1063\\ f0\\ fs16 \n\\ par }
*/
Thank you, the plugin works very well. Thank you both
CS.AVENGERSCS.RO - Classic

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

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

Кой е на линия

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