Русское сообщество по скриптингу

Цветные шарики при убийстве (DeathBalls Effect)

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Цветные шарики при убийстве (DeathBalls Effect)

Сообщение Subb98 » 07 май 2016, 17:23

Текущая версия: 0.2 от 08.05.2016

Описание:
Данный плагин является неточной копией оригинального Вы должны зарегистрироваться, чтобы видеть ссылки. от Вы должны зарегистрироваться, чтобы видеть ссылки. с открытым исходным кодом.

Демонстрационное видео (оригинал):


Модули:
  • Engine (engine.inc)
  • Ham Sandwich (hamsandwich.inc)
Настройки:

Код: Выделить всё
#define USE_NODRAW_EFFECT // закомментируйте эту строку, если вы не желаете использовать nodraw эффект для модели жертвы             

Версия 0.2 от 08.05.2016:
  • Улучшен основной эффект при убийстве: скорректировано движение "шариков"
  • Добавлена возможность использования nodraw эффекта для модели жертвы
Версия 0.1 от 07.05.2016:
  • Первый релиз

deathballs_effect.sma

Примечание:
При активном nodraw эффекте модель жертвы сразу же будет "исчезать", останутся только "шарики".

Благодарности:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Цветные шарики при убийстве (DeathBalls Effect)

Сообщение Depresie » 07 май 2016, 20:51

Nice job! Pretty interesting, especially in the new year. He-he.
Аватара пользователя
Depresie
 
Сообщения: 14
Зарегистрирован: 24 фев 2016, 13:24
Благодарил (а): 0 раз.
Поблагодарили: 25 раз.

Re: Цветные шарики при убийстве (DeathBalls Effect)

Сообщение Subb98 » 08 май 2016, 16:51

Depresie, thanks! =)

Плагин обновлён до версии 0.2, список изменений в первом посте.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Цветные шарики при убийстве (DeathBalls Effect)

Сообщение Avrora » 14 май 2016, 23:34

А можно сделать, что бы шарики вылетали с игрока с определенным флагом?
Аватара пользователя
Avrora
 
Сообщения: 1
Зарегистрирован: 15 ноя 2012, 08:46
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6

Re: Цветные шарики при убийстве (DeathBalls Effect)

Сообщение Subb98 » 14 май 2016, 23:48

Avrora, можно:

Код: Выделить всё
if(pAttacker && pVictim != pAttacker) {

>>

Код: Выделить всё
if(pAttacker && pVictim != pAttacker && get_user_flags(pVictim) & ADMIN_BAN/* вместо ADMIN_BAN - ваш флаг */) {

Константы флагов доступа можно посмотреть в amxconst.inc:

Код: Выделить всё
#define ADMIN_ALL        0    /* everyone */
#define ADMIN_IMMUNITY         (1<<0)    /* flag "a" */
#define ADMIN_RESERVATION    (1<<1)    /* flag "b" */
#define ADMIN_KICK        (1<<2)    /* flag "c" */
#define ADMIN_BAN        (1<<3)    /* flag "d" */
#define ADMIN_SLAY        (1<<4)    /* flag "e" */
#define ADMIN_MAP        (1<<5)    /* flag "f" */
#define ADMIN_CVAR        (1<<6)    /* flag "g" */
#define ADMIN_CFG        (1<<7)    /* flag "h" */
#define ADMIN_CHAT        (1<<8)    /* flag "i" */
#define ADMIN_VOTE        (1<<9)    /* flag "j" */
#define ADMIN_PASSWORD        (1<<10)    /* flag "k" */
#define ADMIN_RCON        (1<<11)    /* flag "l" */
#define ADMIN_LEVEL_A        (1<<12)    /* flag "m" */
#define ADMIN_LEVEL_B        (1<<13)    /* flag "n" */
#define ADMIN_LEVEL_C        (1<<14)    /* flag "o" */
#define ADMIN_LEVEL_D        (1<<15)    /* flag "p" */
#define ADMIN_LEVEL_E        (1<<16)    /* flag "q" */
#define ADMIN_LEVEL_F        (1<<17)    /* flag "r" */
#define ADMIN_LEVEL_G        (1<<18)    /* flag "s" */
#define ADMIN_LEVEL_H        (1<<19)    /* flag "t" */
#define ADMIN_MENU        (1<<20)    /* flag "u" */
#define ADMIN_ADMIN        (1<<24)    /* flag "y" */
#define ADMIN_USER        (1<<25)    /* flag "z" */  
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Сообщение HoBu4oK » 29 май 2016, 21:12

А можно сделать, что бы эффект убийства видел тот игрок, который убил? А то на мясных картах жесть
Аватара пользователя
HoBu4oK
 
Сообщения: 123
Зарегистрирован: 19 мар 2012, 12:45
Благодарил (а): 13 раз.
Поблагодарили: 4 раз.

Re: Цветные шарики при убийстве (DeathBalls Effect)

Сообщение Subb98 » 29 май 2016, 21:38

HoBu4oK, попробуйте такой вариант:

Код: Выделить всё
/* Original idea: Leo_[BH]
* https://vk.com/wall-68026790_381
* https://www.youtube.com/watch?v=NVqIrcZWf50
* this script - inaccurate copy of the original
* with open source */

#include <amxmodx>
#include <hamsandwich>

#define USE_NODRAW_EFFECT // comment out this line, if you don't want use nodraw effect for victim model

#if defined USE_NODRAW_EFFECT
    #include <engine>
#endif

#pragma semicolon 1

new const SPRITELIST[][] = {
    "sprites/kf/b.spr",
    "sprites/kf/g.spr",
    "sprites/kf/r.spr",
    "sprites/kf/y.spr"
};

new g_pSprites[sizeof SPRITELIST];

public plugin_precache() {
    for(new i; i < sizeof SPRITELIST; i++) {
        g_pSprites[i] = precache_model(SPRITELIST[i]);
    }
}

public plugin_init() {
    register_plugin("DeathBalls Effect", "0.2", "Subb98");
    RegisterHam(Ham_Killed, "player", "HamKilledPost", 1);
    #if defined USE_NODRAW_EFFECT
    set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET);
    #endif
}

public HamKilledPost(const pVictim, const pAttacker) {
    if(pAttacker && pVictim != pAttacker) {
        new iOrigin[3];
        get_user_origin(pVictim, iOrigin);
        #if defined USE_NODRAW_EFFECT
        entity_set_int(pVictim, EV_INT_effects, entity_get_int(pVictim, EV_INT_effects) | EF_NODRAW);
        #endif
        for(new i; i < sizeof g_pSprites; i++) {
            SendMessageSpriteTrail(pAttacker, iOrigin, g_pSprites[i]);
        }
    }
}

SendMessageSpriteTrail(const pAttacker, const iOrigin[3], const pSprite) {
    message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, pAttacker);
    write_byte(TE_SPRITETRAIL);
    write_coord(iOrigin[0]); // startposition.x
    write_coord(iOrigin[1]); // startposition.y
    write_coord(iOrigin[2]); // startposition.z
    write_coord(iOrigin[0]); // endposition.x
    write_coord(iOrigin[1]); // endposition.y
    write_coord(iOrigin[2] + 10); // endposition.z
    write_short(pSprite); // sprite index
    write_byte(20); // count
    write_byte(20); // life in 0.1's
    write_byte(2); // scale in 0.1's
    write_byte(25); // velocity along vector in 10's
    write_byte(20); // randomness of velocity in 10's
    message_end();
}
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Цветные шарики при убийстве (DeathBalls Effect)

Сообщение pifpaf » 09 май 2019, 13:11

А у меня не работает.
L 05/09/2019 - 16:06:41: [HAMSANDWICH] Failed to retrieve vtable for "player", hook for "HamKilledPost" not active.
L 05/09/2019 - 16:06:41: [AMXX] Run time error 10 (plugin "deathballs_effect.amxx") (native "RegisterHam") - debug not enabled!


С дебагом
L 05/09/2019 - 13:58:56: [HAMSANDWICH] Failed to retrieve vtable for "player", hook for "HamKilledPost" not active.
L 05/09/2019 - 13:58:56: [AMXX] Displaying debug trace (plugin "deathballs_effect.amxx")
L 05/09/2019 - 13:58:56: [AMXX] Run time error 10: native error (native "RegisterHam")
L 05/09/2019 - 13:58:56: [AMXX] [0] deathballs_effect.sma::plugin_init (line 35)


В строчке 35 sma файла:
Код: Выделить всё
<------>RegisterHam(Ham_Killed, "player", "HamKilledPost", 1);^M


Если в шапке плагина я комментирую #define USE_NODRAW_EFFECT, то плагин загружается, но вот шарики не появляются. То есть он как бы есть, но толку нет :)

Помогите разобраться, пожалуйста
Аватара пользователя
pifpaf
 
Сообщения: 2
Зарегистрирован: 09 май 2019, 09:59
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Цветные шарики при убийстве (DeathBalls Effect)

Сообщение pifpaf » 10 май 2019, 12:08

Все разобрался, не правильно комментировал строку. Надо в начале просто // написать
Аватара пользователя
pifpaf
 
Сообщения: 2
Зарегистрирован: 09 май 2019, 09:59
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю


Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13