Участник
Пользователь
- Сообщения
- 78
- Реакции
- 7
Всем привет. Решил исправить свой старый недописанный мини-плагин, однако, столкнулся с бредовой ошибкой в компиляторе.
Вот код:
Суть в том, чтобы при перезарядке оставшиеся патроны в магазине пропадали. Прописал давным давно все это дело, но теперь перезаряжать оружие стало возможно при полном магазине и даже без патронов в рюкзаке, патроны ,соответственно, пропадали, а анимация не проигрывалась. Сейчас решил добавить аргументов в условие, заодно переписать плагин под reapi. Убрал в комментарии старые части кода, добавил reapi аналоги, прописал присвоение переменной "id" айди игрока через get_member, но это не срабатывает. Компилятор не видит в упор присвоенное значение переменной и выдает ошибку в 35 строке "error 035: argument type mismatch (argument 4)", не считая с полдюжины варнингов в строках с использованием id. В чем может быть проблема? Также хотелось бы узнать, где можно найти нормальные гайды по reapi или нормальные описания констант в инклюдах? В инклюдах нет 2/3 описаний, отчего приходится гуглить и находить в большинстве случаев только левый код с их применением без какого-либо объяснения. И еще я тут наткнулся на RG_CBasePlayerWeapon_DefaultReload, кажется это аналог Ham_Weapon_Reload, но описание не нашел, так что не уверен. Можно ли его тут использовать?
Вот код:
Код:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <reapi>
#define PLUGIN "Realistic Reload"
#define VERSION "1.0"
#define AUTHOR "Mylo Neath"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
new const WeaponNames[][] = { "weapon_glock18", "weapon_ak47", "weapon_aug", "weapon_awp", "weapon_deagle", "weapon_elite",
"weapon_famas", "weapon_fiveseven", "weapon_g3sg1", "weapon_galil", "weapon_m4a1", "weapon_m249", "weapon_mac10", "weapon_mp5navy",
"weapon_p90", "weapon_p228", "weapon_scout", "weapon_sg550", "weapon_sg552", "weapon_tmp", "weapon_ump45", "weapon_usp" };
for(new i = 0; i < sizeof(WeaponNames); i++)
RegisterHam(Ham_Weapon_Reload, WeaponNames[i], "ReloadTime")
// RegisterHookChain(RG_CBasePlayerWeapon_DefaultReload, "ReloadTime", false);
}
public ReloadTime(weapon_entity)
{
new id = get_member(weapon_entity, m_pPlayer)
new Clip = rg_get_user_ammo(id, weapon_entity)
new MaxClip = rg_get_iteminfo(weapon_entity, ItemInfo_iMaxClip, MaxClip)
new Ammo = rg_get_user_bpammo(id, weapon_entity)
// get_user_ammo(id, weapon_entity, Clip, Ammo)
if(MaxClip > Clip > 0 && Ammo > 0 )
{
set_task(1.0, "NotEmptyClip", weapon_entity, id)
}
}
public NotEmptyClip(weapon_entity, id)
{
rg_set_user_ammo(id, weapon_entity, 0)
// cs_set_weapon_ammo(weapon_entity, 0)
}