Редактиране на плъгин WarnUp добавяне на HUD Counter

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Dvstoyanov89
Извън линия
Потребител
Потребител
Мнения: 41
Регистриран на: 11 Май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 6 пъти

Редактиране на плъгин WarnUp добавяне на HUD Counter

Мнение от Dvstoyanov89 » 21 Юли 2019, 15:39

Здравейте на всички!
1. Може ли този плъгин да се направи така, че да излиза постоянен HUD брояч някъде на екрана и да отброява обратно секундите до края.
2. Може ли да се премахне оръжието AWP понеже имам плъгин, който го забранява при минимален брой играчи.
3. Може ли да се направи да не свършват куршумите на всички оръжия.
Благодаря !

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

#include <amxmodx>
#include <reapi>
#include <WPMGPrintChatColor>

new p_flWarmUpTime, p_flForceRespawn, p_flBuyTime;
new Float:g_flOldBuyTime, Float:g_flOldForceRespawn;
new HookChain:fwdPlayerSpawn;
new bool:g_bWarmup

new const g_szWeapons[][] =
{
    "weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_awp", "weapon_famas", "weapon_galil",
    "weapon_m249", "weapon_scout", "weapon_m3", "weapon_xm1014", "weapon_mac10", "weapon_p90"
};

new const g_szPistols[][] =
{
    "weapon_glock18", "weapon_usp",    "weapon_deagle", "weapon_elite", "weapon_p228"
};

new const g_iWeaponsBpAmmo[] =
{
    90, 90, 90, 30, 90, 90, 200, 90, 32, 32, 100, 100
}

new const g_iPistolsBpAmmo[] =
{
    120, 100, 35, 120, 52
}

public plugin_init()
{
    register_plugin("Warm UP", "1.0", "TheRedShoko @ AMXX-BG.info");
    register_clcmd("drop", "OnDrop")
    
    DisableHookChain((fwdPlayerSpawn = RegisterHookChain(RG_CBasePlayer_Spawn, "FwPlayerSpawnPost", 1)));
    
    p_flWarmUpTime = register_cvar("warmup_time", "120.0");
    
    p_flForceRespawn = get_cvar_pointer("mp_forcerespawn");
    p_flBuyTime = get_cvar_pointer("mp_buytime");
}

public OnDrop(id)
{
    if(g_bWarmup)
        return PLUGIN_HANDLED
}

public plugin_cfg()
{
    g_flOldBuyTime = get_pcvar_float(p_flForceRespawn);
    g_flOldBuyTime = get_pcvar_float(p_flBuyTime);
    
    set_pcvar_num(p_flBuyTime, 0);
    set_pcvar_float(p_flForceRespawn, 0.1);
    
    new Float:flWarmUpTime = get_pcvar_float(p_flWarmUpTime);
    
    set_task(flWarmUpTime, "EndWarmUp");
    g_bWarmup = true
    
    EnableHookChain(fwdPlayerSpawn);
    
    set_hudmessage(0, 255, 0, .holdtime = 10.0);
    show_hudmessage(0, "Warmup round will end in %.f seconds!", flWarmUpTime);
    
    PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warmup round will end in %.f seconds!", flWarmUpTime);
}

public EndWarmUp()
{
    DisableHookChain(fwdPlayerSpawn);
    
    set_pcvar_float(p_flBuyTime, g_flOldBuyTime);
    set_pcvar_float(p_flForceRespawn, g_flOldForceRespawn);
    
    set_hudmessage(0, 255, 0, .holdtime = 10.0);
    show_hudmessage(0, "Warmup round is over, restarting...");
    
    server_cmd("sv_restart 3");
    g_bWarmup = false
    
    PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warm up is over, restarting...");
}

public FwPlayerSpawnPost(id)
{
    if (!is_user_alive(id))
    {
        return;
    }
    
    rg_remove_all_items(id);
    rg_give_item(id, "weapon_knife");
    
    new iPrimaryWeapon = random(sizeof g_szWeapons);
    new iSecondaryWeapon = random(sizeof g_szPistols);
    
    rg_give_item(id, g_szWeapons[iPrimaryWeapon]);
    rg_give_item(id, g_szPistols[iSecondaryWeapon]);
    rg_set_user_bpammo(id, rg_get_weapon_info(g_szWeapons[iPrimaryWeapon], WI_ID), g_iWeaponsBpAmmo[iPrimaryWeapon]);
    rg_set_user_bpammo(id, rg_get_weapon_info(g_szPistols[iSecondaryWeapon], WI_ID), g_iPistolsBpAmmo[iSecondaryWeapon]);
}

Аватар
mi0
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 534
Регистриран на: 09 Дек 2016, 22:02
Се отблагодари: 97 пъти
Получена благодарност: 120 пъти
Обратна връзка:

Редактиране на плъгин WarnUp добавяне на HUD Counter

Мнение от mi0 » 21 Юли 2019, 17:01

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

#include <amxmodx>
#include <reapi>
#include <WPMGPrintChatColor>

#define COUNTERID 1834
#define FREQ 1.0

new p_flWarmUpTime, p_flForceRespawn, p_flBuyTime;
new Float:g_flOldBuyTime, Float:g_flOldForceRespawn;
new HookChain:fwdPlayerSpawn;
new bool:g_bWarmup;
new g_iSyncHudMsg, Float:g_flCounter;

new const g_szWeapons[][] =
{
    "weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_famas", "weapon_galil",
    "weapon_m249", "weapon_scout", "weapon_m3", "weapon_xm1014", "weapon_mac10", "weapon_p90"
};

new const g_szPistols[][] =
{
    "weapon_glock18", "weapon_usp",    "weapon_deagle", "weapon_elite", "weapon_p228"
};

new const g_iWeaponsBpAmmo[] =
{
    90, 90, 90, 30, 90, 90, 200, 90, 32, 32, 100, 100
}

new const g_iPistolsBpAmmo[] =
{
    120, 100, 35, 120, 52
}

public plugin_init()
{
	register_plugin("Warm UP", "1.0", "TheRedShoko @ AMXX-BG.info");
	register_clcmd("drop", "OnDrop")

	DisableHookChain((fwdPlayerSpawn = RegisterHookChain(RG_CBasePlayer_Spawn, "FwPlayerSpawnPost", 1)));
	register_event("CurWeapon", "CurrentWeapon", "be")

	p_flWarmUpTime = register_cvar("warmup_time", "120.0");

	p_flForceRespawn = get_cvar_pointer("mp_forcerespawn");
	p_flBuyTime = get_cvar_pointer("mp_buytime");

	g_iSyncHudMsg = CreateHudSyncObj();
}

public OnDrop(id)
{
    if(g_bWarmup)
        return PLUGIN_HANDLED;

    return PLUGIN_CONTINUE;
}

public plugin_cfg()
{
	g_flOldBuyTime = get_pcvar_float(p_flForceRespawn);
	g_flOldBuyTime = get_pcvar_float(p_flBuyTime);

	set_pcvar_num(p_flBuyTime, 0);
	set_pcvar_float(p_flForceRespawn, 0.1);

	new Float:flWarmUpTime = get_pcvar_float(p_flWarmUpTime);

	set_task(FREQ, "WarmUpCounter", COUNTERID, .flags = "b");
	g_bWarmup = true

	EnableHookChain(fwdPlayerSpawn);

	set_hudmessage(0, 255, 0, .holdtime = FREQ + 0.1);
	ShowSyncHudMsg(0, g_iSyncHudMsg, "Warmup round will end in %.f seconds!", flWarmUpTime);

	PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warmup round will end in %.f seconds!", flWarmUpTime);
}

public WarmUpCounter()
{
	g_flCounter += FREQ;

	new Float:flWarmUpTime = get_pcvar_float(p_flWarmUpTime);

	if (g_flCounter >= flWarmUpTime)
	{
		set_hudmessage(255, 0, 0, .holdtime = FREQ + 0.1);
		ShowSyncHudMsg(0, g_iSyncHudMsg, "Warmup ended!!!");

		EndWarmUp();
		remove_task(COUNTERID);
	}
	else
	{
		set_hudmessage(0, 255, 0, .holdtime = FREQ + 0.1);
		ShowSyncHudMsg(0, g_iSyncHudMsg, "Warmup round will end in %.f seconds!", flWarmUpTime - g_flCounter);
	}
}

EndWarmUp()
{
	DisableHookChain(fwdPlayerSpawn);

	set_pcvar_float(p_flBuyTime, g_flOldBuyTime);
	set_pcvar_float(p_flForceRespawn, g_flOldForceRespawn);

	set_hudmessage(0, 255, 0, .holdtime = 10.0);
	show_hudmessage(0, "Warmup round is over, restarting...");

	server_cmd("sv_restart 3");
	g_bWarmup = false

	PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warm up is over, restarting...");
}

public FwPlayerSpawnPost(id)
{
	if (!is_user_alive(id))
	{
	    return;
	}
    
	rg_remove_all_items(id);
	rg_give_item(id, "weapon_knife");

	new iPrimaryWeapon = random(sizeof g_szWeapons);
	new iSecondaryWeapon = random(sizeof g_szPistols);

	rg_give_item(id, g_szWeapons[iPrimaryWeapon]);
	rg_give_item(id, g_szPistols[iSecondaryWeapon]);
	rg_set_user_bpammo(id, rg_get_weapon_info(g_szWeapons[iPrimaryWeapon], WI_ID), g_iWeaponsBpAmmo[iPrimaryWeapon]);
	rg_set_user_bpammo(id, rg_get_weapon_info(g_szPistols[iSecondaryWeapon], WI_ID), g_iPistolsBpAmmo[iSecondaryWeapon]);
}

public CurrentWeapon(id)
{
	new iActiveItem = get_member(id, m_pActiveItem);
	if (!is_entity(iActiveItem))
	{
		return;
	}

	new WeaponIdType:iWeaponId = WeaponIdType:get_member(iActiveItem, m_iId);
	new iMaxBpAmmo = rg_get_iteminfo(iActiveItem, ItemInfo_iMaxAmmo1);

	if (rg_get_user_bpammo(id, iWeaponId) < iMaxBpAmmo)
	{
		rg_set_user_bpammo(id, iWeaponId, iMaxBpAmmo);
	}
}
Заповядай!
aka kurdokoleno
Catch Mod - 87.121.112.232:27021

Аватар
Dvstoyanov89
Извън линия
Потребител
Потребител
Мнения: 41
Регистриран на: 11 Май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 6 пъти

Редактиране на плъгин WarnUp добавяне на HUD Counter

Мнение от Dvstoyanov89 » 21 Юли 2019, 17:08

Благодаря, всичко е точно ! :lock:

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

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

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 17 госта