Проблемы с компиляцией "QuakeHandGrenade"

Статус
В этой теме нельзя размещать новые ответы.

asd

Сообщения
151
Реакции
17
Помог
3 раз(а)
Ошибка
error 017: undefined symbol "RG_CBasePlayer_ThrowGrenade"
warning 215: expression has no effect
error 029: invalid expression, assumed zero
error 017: undefined symbol "post"
fatal error 107: too many error messages on one line
Компилятор
Локальный
Amx Mod X
1.9.0
Исходный код
// Copyright © 2018 Vaqtincha

/**■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

const Float:EXPLODE_DELAY = 3.0

// #define PL_DEBUG

/**■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/***
#define EXPLODE_DELAY 3

if (flGameTime > flStartThrow + EXPLODE_DELAY.0)
{
/...
}

Q: Mistriсk - и нафик так писать
A: думаю это лучше чем сидеть на форуме как говно и нифига не писать не помогать людей.
*/

#include <amxmodx>
#include <reapi>
#include <hamsandwich>


const GRENADE_BS = ((1<<_:WEAPON_HEGRENADE)|(1<<_:WEAPON_FLASHBANG)/* |(1<<_:WEAPON_SMOKEGRENADE) */)


public plugin_init()
{
register_plugin("Quake Hand Grenade", "0.2", "Vaqtincha")

RegisterHookChain(RG_CBasePlayer_ThrowGrenade, "CBasePlayer_ThrowGrenade", .post = false)

#if defined PL_DEBUG
RegisterHookChain(RG_CBasePlayer_OnSpawnEquip, "CBasePlayer_OnSpawnEquip", .post = true)
#endif

RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post = false)

RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_hegrenade", "CBasePlayerWeapon_PrimAttack", .Post = true)
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_flashbang", "CBasePlayerWeapon_PrimAttack", .Post = true)

// RegisterHam(Ham_Weapon_ShouldWeaponIdle, "weapon_hegrenade", "CBasePlayerWeapon_ShouldWpnIdle", .Post = false)
// RegisterHam(Ham_Weapon_ShouldWeaponIdle, "weapon_flashbang", "CBasePlayerWeapon_ShouldWpnIdle", .Post = false)
}

// public CBasePlayerWeapon_ShouldWpnIdle(const pWeapon)
// {
// SetHamReturnInteger(true)

// return HAM_SUPERCEDE;
// }

#if defined PL_DEBUG
public CBasePlayer_OnSpawnEquip(const pPlayer)
{
rg_give_item(pPlayer, "weapon_flashbang")
rg_set_user_bpammo(pPlayer, WEAPON_FLASHBANG, 5)
rg_give_item(pPlayer, "weapon_hegrenade")
rg_set_user_bpammo(pPlayer, WEAPON_HEGRENADE, 5)
}
#endif

public CBasePlayer_ThrowGrenade(const pPlayer, const pWeapon, Float:vecSrc[3], Float:vecThrow[3], Float:time, const usEvent)
{
const ARG_TIME = 5

new pActiveItem = get_member(pPlayer, m_pActiveItem)

if (pActiveItem > 0 && (GRENADE_BS & (1 << get_member(pActiveItem, m_iId))))
{
new Float:flDmgTime = get_entvar(pActiveItem, var_dmgtime)
#if defined PL_DEBUG
server_print("[ThrowGrenade] DmgTime %f", flDmgTime)
#endif

if (flDmgTime > 0.0 && flDmgTime < time)
{
if (flDmgTime < 0.1)
{
vecThrow[0] = 0.0; vecThrow[1] = 0.0; vecThrow[2] = 0.0;
}

SetHookChainArg(ARG_TIME, ATYPE_FLOAT, flDmgTime)
}
}
}

// FIXFIX: Double louch
public CBasePlayer_Killed(const pPlayer, const pevAttacker, const iGib)
{
new pActiveItem = get_member(pPlayer, m_pActiveItem)

if (pActiveItem > 0 && (GRENADE_BS & (1 << get_member(pActiveItem, m_iId))))
{
if (get_entvar(pActiveItem, var_dmgtime) > 0.0)
{
set_entvar(pPlayer, var_button, get_entvar(pPlayer, var_button) & ~IN_ATTACK)
// set_member(pActiveItem, m_flStartThrow, 0.0)
}
}
}

public CBasePlayerWeapon_PrimAttack(const pWeapon)
{
if (pWeapon <= 0)
return HAM_IGNORED

new pPlayer = get_member(pWeapon, m_pPlayer)

new Float:flStartThrow = Float:get_member(pWeapon, m_flStartThrow)
new Float:flGameTime = get_gametime()

if (pPlayer > 0 && flStartThrow != 0.0)
{
new Float:flTime = floatmax(((flStartThrow - flGameTime) + EXPLODE_DELAY), 0.01)

client_print(pPlayer, print_center, "Взрыв через %0.1f секунд!", flTime)

set_entvar(pWeapon, var_dmgtime, flTime)

if (flGameTime > flStartThrow + EXPLODE_DELAY)
{
ExecuteHam(Ham_Weapon_WeaponIdle, pWeapon)

if (get_member(pPlayer, m_rgAmmo, ExecuteHam(Ham_Item_PrimaryAmmoIndex, pWeapon)) <= 0)
{
ExecuteHam(Ham_Weapon_RetireWeapon, pWeapon) // force switch to best weapon
}
}
}

return HAM_IGNORED
}
В чём проблема может быть?
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
46
Реакции
8
Предупреждения
100
Помог
3 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован

asd

Сообщения
151
Реакции
17
Помог
3 раз(а)
apple4, У меня вроде как инклуды обновить надо, а нету новых..
 
Сообщения
46
Реакции
8
Предупреждения
100
Помог
3 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован

asd

Сообщения
151
Реакции
17
Помог
3 раз(а)
apple4, Спасибо) помогло =)
 
Сообщения
1,536
Реакции
2,324
Помог
39 раз(а)
У нас тут не клуб подпольных робин гудов. Тема создана публично - помощь должна быть оказана публично, чтобы новый пользователь, столкнувшийся с такой же проблемой, мог ее исправить самостоятельно, выполнив нужные указания.
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
У нас тут не клуб подпольных робин гудов. Тема создана публично - помощь должна быть оказана публично, чтобы новый пользователь, столкнувшийся с такой же проблемой, мог ее исправить самостоятельно, выполнив нужные указания.
= обнови реапи
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу