CSHOP Extra Item: Primary Attack Rate Reapi
Автор:
OciXCrom
Описание:
Добавя предмет в
CustomShop увеличаващ скоростта на стрелбата на оръжията, както и презареждането.
Настройки
Настройките автоматично се генерират във файла
configs/CustomShopItems.ini при рестарт на сървъра, а същите може да се променят и по време на игра, чрез командата
cshop_edit.
Информация:
Това е Reapi версия на оригиналния Item:
CSHOP Extra Item: Primary Attack Rate. В случай, че оригиналния съб-плъгин не ви тръгне, това е добра алтернатива да опитате този.
☄ Линк за теглене
При бъдещи доработки към този Item, пуснете заявка в раздел Заявки за плъгини.
► Покажи скъсения текст
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <customshop>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>
#define PLUGIN_VERSION "1.0"
additem ITEM_ATTACKRATE;
new Float:g_fMultiplier;
new bool:g_bHasItem[33];
public plugin_init()
{
register_plugin("CSHOP: Primary Attack Rate", PLUGIN_VERSION, "OciXCrom");
register_cvar("CSHOPFasterAttackRate", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
for(new szWeapon[20], i = CSW_P228; i <= CSW_P90; i++)
{
if(get_weaponname(i, szWeapon, charsmax(szWeapon)))
{
RegisterHam(Ham_Weapon_Reload, szWeapon, "OnReload", 1);
RegisterHam(Ham_Weapon_PrimaryAttack, szWeapon, "OnPrimaryAttack", 1);
}
}
g_fMultiplier = cshop_get_float(ITEM_ATTACKRATE, "Multiplier");
}
public plugin_precache()
{
ITEM_ATTACKRATE = cshop_register_item("attackrate", "Faster Attack Rate", 700, 1);
cshop_set_float(ITEM_ATTACKRATE, "Multiplier", 1.5);
}
public client_putinserver(id)
g_bHasItem[id] = false;
public cshop_item_selected(id, iItem)
{
if(iItem == ITEM_ATTACKRATE)
g_bHasItem[id] = true;
}
public cshop_item_removed(id, iItem)
{
if(iItem == ITEM_ATTACKRATE)
g_bHasItem[id] = false;
}
public OnReload(iEnt)
{
if(get_member(iEnt, m_Weapon_fInReload))
{
static id
id = get_member(iEnt, m_pPlayer);
if(g_bHasItem[id])
set_member(id, m_flNextAttack, (get_member(id, m_flNextAttack) / g_fMultiplier));
}
}
public OnPrimaryAttack(iEnt)
{
if(!pev_valid(iEnt))
return;
if(g_bHasItem[get_member(iEnt, m_pPlayer)])
set_member(iEnt, m_Weapon_flNextPrimaryAttack, Float:get_member(iEnt, m_Weapon_flNextPrimaryAttack) / g_fMultiplier);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1026{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/