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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Ищу плагин(Жизни стены тип)

Статус пользователя Butterfly
сообщение 22.5.2017, 13:09
Сообщение #1


Стаж: 11 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

Ищу плагин, который показывает жизни стены/объекта , как в CS:O в режиме Scenario .
Если таковой есть у кого-то , поделитесь пожалуйста ;-)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Butterfly
сообщение 2.6.2017, 14:17
Сообщение #2


Стаж: 11 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

В общем, порылся в гугле, нашёл что-то подобное, но...
Работает не так, как хотелось бы.
Показывает лишь 0.0000
Помогите исправить или подскажите, что здесь не так.
Код
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta_const>

new origin[3]
new Float: angles;

public plugin_init()
{
    RegisterHam(Ham_TakeDamage, "func_breakable", "FwdBreakableTakeDamage");
}

public FwdBreakableTakeDamage(this, attacker, inflictor, Float: damage)
{
    new centity = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"func_breakable"));
    new Float:myvalue;
    if(centity)
    {
        set_pev(centity,pev_origin,origin)
        set_pev(centity,pev_angles,angles)
        dllfunc(DLLFunc_Spawn, centity)
        set_pev(centity,pev_solid, SOLID_BBOX)
        set_pev(centity,pev_movetype,MOVETYPE_FLY)
        set_pev(centity,pev_takedamage,DAMAGE_AIM)
        engfunc(EngFunc_DropToFloor,centity)
        set_pev(centity,pev_iuser1,attacker)
    }
    pev( centity, pev_health, myvalue );
    client_print(attacker,print_center,"HP %f", myvalue)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя grushagru
сообщение 2.6.2017, 14:50
Сообщение #3
Стаж: 11 лет

Сообщений: 107
Благодарностей: 9
Полезность: 69

Butterfly, возможно не указано количество хп для энтити, или размер, или модель. Отсюда
Cкрытый текст
Код
    set_pev(ent, pev_takedamage, DAMAGE_YES);
    set_pev(ent, pev_health, 50.0);


Cкрытый текст
Код
    engfunc(EngFunc_SetModel, ent, MODEL);
    engfunc(EngFunc_SetOrigin, ent, Origin);
    engfunc(EngFunc_SetSize, ent, float:{-2.15, -4.3, -2.15}, float:{2.15, 4.3, 2.15});



Отредактировал: grushagru, - 2.6.2017, 14:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Butterfly
сообщение 2.6.2017, 15:20
Сообщение #4


Стаж: 11 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

Я немного не так изъяснил суть плагина.
Там, должно показывать оставшиеся жизни при нанесении урона. Вот, как-то так

UPD: Добавил хп для энтити и размеры(те что в примере, но не суть)
И всё равно, та же ситуация. ubeysya.gif

Код
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta_const>

new origin[3]
new Float: angles;

public plugin_init()
{
    RegisterHam(Ham_TakeDamage, "func_breakable", "FwdBreakableTakeDamage");
}

public FwdBreakableTakeDamage(this, attacker, inflictor, Float: damage)
{
    new centity = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"func_breakable"));
    new Float:myvalue;
    pev( centity, pev_health, myvalue );
    if(centity)
    {
        set_pev(centity,pev_origin,origin)
        set_pev(centity,pev_angles,angles)
        dllfunc(DLLFunc_Spawn, centity)
        set_pev(centity,pev_solid, SOLID_BBOX)
        set_pev(centity,pev_movetype,MOVETYPE_FLY)
        engfunc(EngFunc_SetSize, centity, float:{-2.15, -4.3, -2.15}, float:{2.15, 4.3, 2.15});
        set_pev(centity,pev_takedamage,DAMAGE_AIM)
        set_pev(centity,pev_health, 99.0)
        set_pev(centity,pev_max_health, 99.0)
        engfunc(EngFunc_DropToFloor,centity)
        set_pev(centity,pev_iuser1,attacker)
        client_print(attacker,print_center,"HP %f", myvalue)
    }
}



Отредактировал: Butterfly, - 2.6.2017, 15:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 2.6.2017, 16:43
Сообщение #5


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

Цитата(Butterfly @ 2.6.2017, 21:20) *
Я немного не так изъяснил суть плагина.
Там, должно показывать оставшиеся жизни при нанесении урона. Вот, как-то так

UPD: Добавил хп для энтити и размеры(те что в примере, но не суть)
И всё равно, та же ситуация. ubeysya.gif

Код
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta_const>

new origin[3]
new Float: angles;

public plugin_init()
{
    RegisterHam(Ham_TakeDamage, "func_breakable", "FwdBreakableTakeDamage");
}

public FwdBreakableTakeDamage(this, attacker, inflictor, Float: damage)
{
    new centity = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"func_breakable"));
    new Float:myvalue;
    pev( centity, pev_health, myvalue );
    if(centity)
    {
        set_pev(centity,pev_origin,origin)
        set_pev(centity,pev_angles,angles)
        dllfunc(DLLFunc_Spawn, centity)
        set_pev(centity,pev_solid, SOLID_BBOX)
        set_pev(centity,pev_movetype,MOVETYPE_FLY)
        engfunc(EngFunc_SetSize, centity, float:{-2.15, -4.3, -2.15}, float:{2.15, 4.3, 2.15});
        set_pev(centity,pev_takedamage,DAMAGE_AIM)
        set_pev(centity,pev_health, 99.0)
        set_pev(centity,pev_max_health, 99.0)
        engfunc(EngFunc_DropToFloor,centity)
        set_pev(centity,pev_iuser1,attacker)
        client_print(attacker,print_center,"HP %f", myvalue)
    }
}


наверное потому что ты хукаешь пре_ а не пост_
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Butterfly
сообщение 2.6.2017, 19:14
Сообщение #6


Стаж: 11 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

Можно подробнее, пожалуйста? sorry.gif
Если не затруднит, с примером)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 3.6.2017, 6:14
Сообщение #7


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

Код:
RegisterHam(Ham_TakeDamage, "func_breakable", "FwdBreakableTakeDamage");// post status = false 

==>
Код:
RegisterHam(Ham_TakeDamage, "func_breakable", "FwdBreakableTakeDamage", true);// status = true 


Отредактировал: DeMNiX, - 3.6.2017, 6:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Butterfly
сообщение 3.6.2017, 18:04
Сообщение #8


Стаж: 11 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

Сделал, так , как ты сказал, но... По-прежнему ничего, кроме "HP: 0.000" не показывает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 4.6.2017, 0:52
Сообщение #9
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

Дело в том, что каждый раз при нанесении урона, ты создаешь энтити, вместо того чтобы показывать хп стены которую попало.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 4.6.2017, 2:40
Сообщение #10


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(fl0werD @ 4.6.2017, 1:52) *
Дело в том, что каждый раз при нанесении урона, ты создаешь энтити, вместо того чтобы показывать хп стены которую попало.

pardon.gif Ну епты, а готовый код где ?

Отредактировал: Andrei, - 4.6.2017, 2:40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 4.6.2017, 9:35
Сообщение #11


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

цветочег дело говорит

я вроде тебе еще группе вк отвечал что и как
разве не понятно объяснил?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Butterfly
сообщение 4.6.2017, 16:30
Сообщение #12


Стаж: 11 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

Всё, всем спасибо. Разобрался.
Всё работает.
Мб кому-то пригодится.
Код:
#include <amxmodx>
#include <hamsandwich>
#include <engine>

public plugin_init()
{
RegisterHam(Ham_TakeDamage, "func_breakable", "FwdBreakableTakeDamage", true);// status = true
}

public FwdBreakableTakeDamage(this, attacker, inflictor, Float: damage)
{
new Float:health = entity_get_float(this, EV_FL_health)
client_print(attacker,print_center,"HP: %f", floatround(health))
}


И, заодно возник новый вопрос. Можно ли как-то увеличить хп всем разрушаемым объектам на карте не прибегая к редактированию карты?

Отредактировал: Butterfly, - 4.6.2017, 16:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 4.6.2017, 16:42
Сообщение #13


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

Butterfly, запускаешь цикл while по класснейму пока не выдаст ноль, задаешь всем найденным объектам хп
это только теория
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Butterfly
сообщение 5.6.2017, 15:37
Сообщение #14


Стаж: 11 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

Это, если я хочу задать всем объектам одинаковое кол-во хп, да?
А, если разное?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 5.6.2017, 19:08
Сообщение #15


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

Цитата(Butterfly @ 5.6.2017, 21:37) *
Это, если я хочу задать всем объектам одинаковое кол-во хп, да?
А, если разное?

у каждого объекта на карте, насколько я помню, есть свой айди
заходишь на карту с плагином, который будет отображать айди при наведении или же при наведение+нажатие клавиши и нужному объекту задаешь свое свойство
а вообще, настройку лучше в самой карте воспроизводить, дабы лишний раз amxx не дергать

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