Добавить проверку на невидимость

LuckySH

Пользователь
Регистрация
8 Июн 2019
Сообщения
5
Симпатии
0
C++:
[/B]
#include <amxmodx>

#include <cstrike>
#include <amxmisc>
#include <engine>
 

#pragma semicolon 1


#define bit_add(%0,%1) (%1 |= (1<<%0))

#define bit_sub(%0,%1) (%1 &= ~(1<<%0))

#define bit_valid(%0,%1) (%1 & (1<<%0))

 

// Thanks to Safety1st: http://c-s.net.ua/forum/index.php?showt ... t&p=607675

#if AMXX_VERSION_NUM < 183

        #define MSG_TEXT_MSG 76

#endif

 

new g_iValidPlayersBitsum;
 

public plugin_init()

{

        register_event("DeathMsg", "EventDeathMsg", "a", "4=knife");

}

 

public client_putinserver(id)

{

        bit_add(id, g_iValidPlayersBitsum);

}

 

public client_disconnect(id)

{

        bit_sub(id, g_iValidPlayersBitsum);

}

 

public EventDeathMsg()

{

        new pKiller = read_data(1), pVictim = read_data(2);

        if(bit_valid(pKiller, g_iValidPlayersBitsum) && bit_valid(pVictim, g_iValidPlayersBitsum))

        {

                new szKillerName[32], szVictimName[32], iVictimMoneyNum, iVictimMoney = random_num(0, iVictimMoneyNum = cs_get_user_money(pVictim));

                cs_set_user_money(pKiller, cs_get_user_money(pKiller) + iVictimMoney);

                cs_set_user_money(pVictim, iVictimMoneyNum - iVictimMoney);

                get_user_name(pKiller, szKillerName, charsmax(szKillerName));

                get_user_name(pVictim, szVictimName, charsmax(szVictimName));

                #if AMXX_VERSION_NUM < 183

                PrintMsg(0, "^1Игрок ^3%s ^1зарезал игрока ^3%s ^1и получил ^4$%d", szKillerName, szVictimName, iVictimMoney);

                #else

                client_print_color(0, print_team_blue, "^1Игрок ^3%s ^1зарезал игрока ^3%s ^1и получил ^4$%d", szKillerName, szVictimName, iVictimMoney);

                #endif

        }

}

 

stock PrintMsg(const id, const szMessage[], any:...)

{

        new szMsg[191], iPlayers[32], iPlayersNum = 1;

        vformat(szMsg, charsmax(szMsg), szMessage, 3);

        switch(id)

        {

                case 0: get_players(iPlayers, iPlayersNum, "ch");

                default: iPlayers[0] = id;

        }

        for(new i; i < iPlayersNum; i++)

        {

                message_begin(MSG_ONE_UNRELIABLE, MSG_TEXT_MSG, _, iPlayers[i]);

                write_byte(iPlayers[i]);

                write_string(szMsg);

                message_end();

        }

}
[B]
Помогите добавить проверку на невидимость игрока. т.е. если он будет невидимым то деньги за убийство с ножа начисляться не будут и не будут отниматься у убитого игрока.
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
это смотря как реализован скрытые игрока через рендер или нодрав
 

LuckySH

Пользователь
Регистрация
8 Июн 2019
Сообщения
5
Симпатии
0
это смотря как реализован скрытые игрока через рендер или нодрав
А если я в этом не особо разбираюсь?
У меня сборка стоит all_inclusive от радиуса, но там данный плагин не работает, поэтому решил найти аналог, но не знаю как реализовать проверку.
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.578
Симпатии
914
Пол
Женский
А если я в этом не особо разбираюсь?
У меня сборка стоит all_inclusive от радиуса, но там данный плагин не работает, поэтому решил найти аналог, но не знаю как реализовать проверку.
Если не разбираетесь, не создавайте тему в разделе Скриптинг.
Создавайте в разделе заказа.
 
  • Мне нравится
Симпатии: ifx

ifx

Пользователь
Регистрация
11 Фев 2018
Сообщения
361
Симпатии
148
использовать сток на вывод принтмессадж - таких извращений я еще не видел)
 
K

kapangaIII

Ну расскажи тогда как бы ты отправлял специфичный пакет лишь нужным игрокам.
 

ifx

Пользователь
Регистрация
11 Фев 2018
Сообщения
361
Симпатии
148
, так если я правильно понял, то отправка для амх182 идет просто в чат, обычного client_print, о каком специфичном пакете речь?
Код:
               #else
                client_print_color(0, print_team_blue, "^1Игрок ^3%s ^1зарезал игрока ^3%s ^1и получил ^4$%d", szKillerName, szVictimName, iVictimMoney);
                #endif
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
ifx, нет. Неверно. client_print (натив) не разрешит цвета задать. Другой вопрос почему бы не заюзать инклуд client_print_color и не парится. А еще лучше сразу менять под нужную версию амхх.
 
  • Мне нравится
Симпатии: ifx

ifx

Пользователь
Регистрация
11 Фев 2018
Сообщения
361
Симпатии
148
fantom, да-да, про client_print не даст цвет это я знаю) поэтому все и городят обычно стоки под 182, но этот какой-то адски мудреный для меня, почему и написал. А про инклуд хорошая идея
 
K

kapangaIII

Инклюд на 1.8.2 под капотом тоже самое делает. Тот же цикл с 76 сообщением. Разница какая?
 
Сверху Снизу