Преработка на плъгин за загрявка и рестарт

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Punch*
Извън линия
Потребител
Потребител
Мнения: 143
Регистриран на: 15 Фев 2018, 20:12
Получена благодарност: 1 път
Обратна връзка:

Преработка на плъгин за загрявка и рестарт

Мнение от Punch* » 18 Мар 2018, 12:34

Може ли някой да го преработи така ,че във warpmup да не дава само HE да е като класик .

Ето ви .сма :

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

#include <amxmodx>
#include <cstrike>
#include <csx>
#include <fun>
#include <hamsandwich>

#if AMXX_VERSION_NUM < 183
	#include <dhudmessage>
#endif

#if !defined DMG_GRENADE
	#define DMG_GRENADE (1<<24)
#endif

#define GREN_DELAY 0.5
#define HUD_FREQ 1.0
#define TASK_MESSAGE 332912
#define WARMUP_DURATION 120

new g_iTimer

public plugin_init()
{
	register_plugin("Warmup Round", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TraceAttack, "player", "PrePlayerAttack")
	g_iTimer = WARMUP_DURATION
	set_task(HUD_FREQ, "display_message", TASK_MESSAGE, .flags = "b")
}

public CS_OnBuyAttempt(id, iItem)
{
	if(g_iTimer)
	{
		client_print(id, print_center, "No buying during warmup!")
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}
	
public OnPlayerSpawn(id)
{
	if(!is_user_alive(id) || !g_iTimer)
		return
		
	strip_user_weapons(id)
	give_item(id, "weapon_knife")
	give_grenade(id)
}

public PrePlayerAttack(iVictim, iAttacker, Float:fDamage, Float:fDirection[3], iTraceHandle, iDamageBits)
	return (g_iTimer > 0 && iDamageBits != DMG_GRENADE) ? HAM_SUPERCEDE : HAM_IGNORED

public grenade_throw(id, iGrenadeId, iGrenadeType)
{
	if(!g_iTimer)
		return
		
	set_task(GREN_DELAY, "give_grenade", id)
}

public give_grenade(id)
{
	if(is_user_connected(id) && g_iTimer > 0)
	{
		give_item(id, "weapon_hegrenade")
		engclient_cmd(id, "weapon_hegrenade")
	}
}

public display_message()
{
	new iPlayers[32], iPnum
	get_players(iPlayers, iPnum, "b")
	
	for(new i, iPlayer; i < iPnum; i++)
	{
		iPlayer = iPlayers[i]
		
		if(1 <= get_user_team(iPlayer) <= 2)
			ExecuteHamB(Ham_CS_RoundRespawn, iPlayer)
	}
	
	set_dhudmessage(random(256), random(256), random(256), -1.0, 0.2, 0, 0.1, 1.0, 0.1, 0.1)
	show_dhudmessage(0, "[WARMUP: %i]^nOnly HE Grenades do damage!", g_iTimer)
	
	if(--g_iTimer == 0)
	{
		remove_task(TASK_MESSAGE)
		server_cmd("sv_restartround 1")
	}
}
Благодаря предварително!

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

Преработка на плъгин за загрявка и рестарт

Мнение от OciXCrom » 18 Мар 2018, 23:08

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

#include <amxmodx>
#include <hamsandwich>

#if AMXX_VERSION_NUM < 183
	#include <dhudmessage>
#endif

#define HUD_FREQ 1.0
#define TASK_MESSAGE 332912
#define WARMUP_DURATION 120

new g_iTimer

public plugin_init()
{
	register_plugin("Warmup Round", "1.0", "OciXCrom")
	g_iTimer = WARMUP_DURATION
	set_task(HUD_FREQ, "display_message", TASK_MESSAGE, .flags = "b")
}

public display_message()
{
	new iPlayers[32], iPnum
	get_players(iPlayers, iPnum, "b")
	
	for(new i, iPlayer; i < iPnum; i++)
	{
		iPlayer = iPlayers[i]
		
		if(1 <= get_user_team(iPlayer) <= 2)
			ExecuteHamB(Ham_CS_RoundRespawn, iPlayer)
	}
	
	set_dhudmessage(random(256), random(256), random(256), -1.0, 0.2, 0, 0.1, 1.0, 0.1, 0.1)
	show_dhudmessage(0, "[WARMUP: %i]", g_iTimer)
	
	if(--g_iTimer == 0)
	{
		remove_task(TASK_MESSAGE)
		server_cmd("sv_restartround 1")
	}
}

Аватар
Punch*
Извън линия
Потребител
Потребител
Мнения: 143
Регистриран на: 15 Фев 2018, 20:12
Получена благодарност: 1 път
Обратна връзка:

Преработка на плъгин за загрявка и рестарт

Мнение от Punch* » 19 Мар 2018, 20:58

:lock:

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

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

Кой е на линия

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