Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Ерор

Статус пользователя lokker
сообщение 29.6.2015, 21:48
Сообщение #1
Стаж: 14 лет

Сообщений: 56
Благодарности: выкл.

Скомплировал этот плагин и поставил на сервер
Код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>

public plugin_init()
{
        RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage");
}

public Player_TakeDamage(iVictim, iInflictor, iAttacker, Float: flDamage, const bitsDamageType)
{
        new Float: vecSrc[3];
        new Float: vecAngles[3];
        new Float: vecForward[3];
        new Float: vecAttackDir[3];

        GetCenter(iVictim, vecSrc);
        GetCenter(iInflictor, vecAttackDir);

        xs_vec_sub(vecAttackDir, vecSrc, vecAttackDir);
        xs_vec_normalize(vecAttackDir, vecAttackDir);

        pev(iVictim, pev_angles, vecAngles);
        engfunc(EngFunc_MakeVectors, vecAngles);

        global_get(glb_v_forward, vecForward);
        xs_vec_mul_scalar(vecAttackDir, -1.0, vecAttackDir);

        if (get_user_weapon(iAttacker) == CSW_KNIFE && xs_vec_dot(vecForward, vecAttackDir) > 0.3)
        {
                SetHamParamFloat(4, 0.0);
        }
}

GetCenter(const iEntity, Float: vecSrc[3])
{
        new Float: vecAbsMax[3];
        new Float: vecAbsMin[3];

        pev(iEntity, pev_absmax, vecAbsMax);
        pev(iEntity, pev_absmin, vecAbsMin);

        xs_vec_add(vecAbsMax, vecAbsMin, vecSrc);
        xs_vec_mul_scalar(vecSrc, 0.5, vecSrc);
}


В логах ошибка:
Код
L 06/29/2015 - 22:36:56: [AMXX] Displaying debug trace (plugin "antirat.amxx")
L 06/29/2015 - 22:36:56: [AMXX] Run time error 10: native error (native "get_user_weapon")
L 06/29/2015 - 22:36:56: [AMXX]    [0] antirat.sma::Player_TakeDamage (line 32)


Прошу помочь исправить ошибку

Отредактировал: lokker, - 29.6.2015, 21:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя filip
сообщение 30.6.2015, 0:03
Сообщение #2


Стаж: 13 лет

Сообщений: 418
Благодарностей: 332
Полезность: 779

Пробуй
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>

public plugin_init()
{
RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage");
}

public Player_TakeDamage(iVictim, iInflictor, iAttacker, Float: flDamage, const bitsDamageType)
{
new Float: vecSrc[3];
new Float: vecAngles[3];
new Float: vecForward[3];
new Float: vecAttackDir[3];

GetCenter(iVictim, vecSrc);
GetCenter(iInflictor, vecAttackDir);

xs_vec_sub(vecAttackDir, vecSrc, vecAttackDir);
xs_vec_normalize(vecAttackDir, vecAttackDir);

pev(iVictim, pev_angles, vecAngles);
engfunc(EngFunc_MakeVectors, vecAngles);

global_get(glb_v_forward, vecForward);
xs_vec_mul_scalar(vecAttackDir, -1.0, vecAttackDir);

if (!is_user_alive(iAttacker))
return

if (get_user_weapon(iAttacker) == CSW_KNIFE && xs_vec_dot(vecForward, vecAttackDir) > 0.3)
{
SetHamParamFloat(4, 0.0);
}
}

GetCenter(const iEntity, Float: vecSrc[3])
{
new Float: vecAbsMax[3];
new Float: vecAbsMin[3];

pev(iEntity, pev_absmax, vecAbsMax);
pev(iEntity, pev_absmin, vecAbsMin);

xs_vec_add(vecAbsMax, vecAbsMin, vecSrc);
xs_vec_mul_scalar(vecSrc, 0.5, vecSrc);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lokker
сообщение 30.6.2015, 17:37
Сообщение #3
Стаж: 14 лет

Сообщений: 56
Благодарности: выкл.

Цитата(filip @ 30.6.2015, 0:03) *
Пробуй
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>

public plugin_init()
{
RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage");
}

public Player_TakeDamage(iVictim, iInflictor, iAttacker, Float: flDamage, const bitsDamageType)
{
new Float: vecSrc[3];
new Float: vecAngles[3];
new Float: vecForward[3];
new Float: vecAttackDir[3];

GetCenter(iVictim, vecSrc);
GetCenter(iInflictor, vecAttackDir);

xs_vec_sub(vecAttackDir, vecSrc, vecAttackDir);
xs_vec_normalize(vecAttackDir, vecAttackDir);

pev(iVictim, pev_angles, vecAngles);
engfunc(EngFunc_MakeVectors, vecAngles);

global_get(glb_v_forward, vecForward);
xs_vec_mul_scalar(vecAttackDir, -1.0, vecAttackDir);

if (!is_user_alive(iAttacker))
return

if (get_user_weapon(iAttacker) == CSW_KNIFE && xs_vec_dot(vecForward, vecAttackDir) > 0.3)
{
SetHamParamFloat(4, 0.0);
}
}

GetCenter(const iEntity, Float: vecSrc[3])
{
new Float: vecAbsMax[3];
new Float: vecAbsMin[3];

pev(iEntity, pev_absmax, vecAbsMax);
pev(iEntity, pev_absmin, vecAbsMin);

xs_vec_add(vecAbsMax, vecAbsMin, vecSrc);
xs_vec_mul_scalar(vecSrc, 0.5, vecSrc);
}


ошибка, к сожалению, осталась
Код
L 06/30/2015 - 18:30:28: Invalid player id 159
L 06/30/2015 - 18:30:28: [AMXX] Displaying debug trace (plugin "antirat.amxx")
L 06/30/2015 - 18:30:28: [AMXX] Run time error 10: native error (native "get_user_weapon")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 30.6.2015, 19:34
Сообщение #4


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

Код:
public Player_TakeDamage(iVictim, iInflictor, iAttacker, Float: flDamage, const bitsDamageType)
{
new Float: vecSrc[3];
new Float: vecAngles[3];
new Float: vecForward[3];
new Float: vecAttackDir[3];

GetCenter(iVictim, vecSrc);
GetCenter(iInflictor, vecAttackDir);

xs_vec_sub(vecAttackDir, vecSrc, vecAttackDir);
xs_vec_normalize(vecAttackDir, vecAttackDir);

pev(iVictim, pev_angles, vecAngles);
engfunc(EngFunc_MakeVectors, vecAngles);

global_get(glb_v_forward, vecForward);
xs_vec_mul_scalar(vecAttackDir, -1.0, vecAttackDir);

if (!is_user_alive(iAttacker))
return

if (get_user_weapon(iAttacker) == CSW_KNIFE && xs_vec_dot(vecForward, vecAttackDir) > 0.3)
{
SetHamParamFloat(4, 0.0);
}
}
===>
Код:
public Player_TakeDamage(iVictim, iInflictor, iAttacker, Float: flDamage, const bitsDamageType)
{
if(is_user_connected(iVictim) && is_user_connected(iAttacker) && iVictim != iAttacker)
{
new Float: vecSrc[3];
new Float: vecAngles[3];
new Float: vecForward[3];
new Float: vecAttackDir[3];

GetCenter(iVictim, vecSrc);
GetCenter(iInflictor, vecAttackDir);

xs_vec_sub(vecAttackDir, vecSrc, vecAttackDir);
xs_vec_normalize(vecAttackDir, vecAttackDir);

pev(iVictim, pev_angles, vecAngles);
engfunc(EngFunc_MakeVectors, vecAngles);

global_get(glb_v_forward, vecForward);
xs_vec_mul_scalar(vecAttackDir, -1.0, vecAttackDir);

if(get_user_weapon(iAttacker) == CSW_KNIFE && xs_vec_dot(vecForward, vecAttackDir) > 0.3)
SetHamParamFloat(4, 0.0);
}
}


Отредактировал: Stimul1, - 30.6.2015, 19:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: