Переделать плагин

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

Molodoi

Команда форума
Модератор
Регистрация
14 Июн 2017
Сообщения
606
Симпатии
126
пазлик~, это по суме битов выдаётся да ну типо set_user_flags(index,flags=-1,id=0)
 

пазлик~

Скриптер
Скриптер
Регистрация
8 Июн 2017
Сообщения
232
Симпатии
133
Пол
Мужской
Molodoi, На, нет времени игратся, я на работе
PHP:
public client_putinserver(id)
{
    set_bit(g_bIsConnected, id);
    
    if(is_user_steam(id))
    {
        set_bit(g_bIsSteam, id);
        reset_bit(g_bProcedure, id);
        new flags = get_user_flags(id)|read_flags("r");
        set_user_flags(id, flags);
        set_task(3.0, "WelcomeMessage", id);
    }
    else
        reset_bit(g_bIsSteam, id);
}
 

Molodoi

Команда форума
Модератор
Регистрация
14 Июн 2017
Сообщения
606
Симпатии
126
пазлик~, ой сори ,спасибо а то я дибил шото туплю ужасно Dash1
 

пазлик~

Скриптер
Скриптер
Регистрация
8 Июн 2017
Сообщения
232
Симпатии
133
Пол
Мужской
Molodoi, Мона еще так

PHP:
/*
* Обновление 28.09.2014
* v1.1 -   
    Исправлены ошибки
    Оптимизирован код
    Выдавание бонусов теперь по очереди
    Добавлено приветственное DHUD сообщение
*
* Обновление 06.03.2015
* v1.2 -
    Исправлено предупреждение при компиляции на AMXX ниже 1.8.3
    Добавлен вывод второго DHUD сообщения, чтобы помещался ник
*
* Обновление 05.07.2017
* v1.2.1 -
    Добавлена выдача флагов
*/

#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <dhudmessage>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>
  
    #define client_print_color    ColorChat
    #define print_team_red    RED
#endif

#pragma semicolon    1

#define PLUGIN    "Steam Bonus"
#define VERSION    "1.2.1"    // edit by pUzzlik
#define AUTHOR    "Stimul"
#define PREFIX    "[Steam бонус]"

#define get_bit(%1,%2)    (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2)    (%1 |= (1 << (%2 & 31)))
#define reset_bit(%1,%2)    (%1 &= ~(1 << (%2 & 31)))

// Цвет DHUD сообщения
#define COLOR_RED    random(255)    // Количество красного цвета
#define COLOR_GREEN    random(255) // Количество зелёного цвета
#define COLOR_BLUE    random(255)    // Количество синего цвета

#define TIME 8.0        // Время показа
#define SET_FLAGS "r"    // Какие флаги выдавать стим игроку (Пример: "at")

new g_bIsConnected;
new g_bIsSteam;
new g_bProcedure;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
  
    RegisterHam(Ham_CS_RoundRespawn, "player", "fw_CS_RoundRespawn_Post", true);
}

public client_putinserver(id)
{
    set_bit(g_bIsConnected, id);
  
    if(is_user_steam(id))
    {
        set_bit(g_bIsSteam, id);
        reset_bit(g_bProcedure, id);
        new flags = get_user_flags(id)|read_flags(SET_FLAGS);
        set_user_flags(id, flags);
        set_task(3.0, "WelcomeMessage", id);
    }
    else
        reset_bit(g_bIsSteam, id);
}

public client_disconnect(id)
    reset_bit(g_bIsConnected, id);

public WelcomeMessage(id)
{
    if(get_bit(g_bIsConnected, id))
    {
        static szName[32];
        get_user_name(id, szName, charsmax(szName));
      
        set_dhudmessage(COLOR_RED, COLOR_GREEN, COLOR_BLUE, -1.0, 0.12, 0, 0.0, TIME);
        show_dhudmessage(id, "Привет, %s!", szName);
        set_dhudmessage(COLOR_RED, COLOR_GREEN, COLOR_BLUE, -1.0, 0.15, 0, 0.0, TIME);
        show_dhudmessage(id, "У тебя Steam, поэтому каждый раунд ты будешь получать бонусы");
    }
}

public fw_CS_RoundRespawn_Post(id)
{
    if(get_bit(g_bIsConnected, id) && get_bit(g_bIsSteam, id))
    {
        if(!get_bit(g_bProcedure, id))
        {
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            give_item(id, "weapon_smokegrenade");
            cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
            if(cs_get_user_team(id) == CS_TEAM_CT)
                cs_set_user_defuse(id,1,0,160,0,_,0);

            client_print_color(id, print_team_red, "^3%s ^1Ты получаешь бонус: ^4все гранаты и броню", PREFIX);
            reset_bit(g_bProcedure, id);
        }
        else
        {
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            give_item(id, "weapon_smokegrenade");
            cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
            if(cs_get_user_team(id) == CS_TEAM_CT)
                cs_set_user_defuse(id,1,0,160,0,_,0);

            client_print_color(id, print_team_red, "^3%s ^1Ты получаешь бонус: ^4все гранаты и броню", PREFIX);
            reset_bit(g_bProcedure, id);
        }
    }
}

stock bool:is_user_steam(id)
{
    static dp_pointer;
  
    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
    {
        server_cmd("dp_clientinfo %d", id);
        server_exec();
        return (get_pcvar_num(dp_pointer) == 2) ? true : false;
    }
  
    new szAuthid[34];
    get_user_authid(id, szAuthid, charsmax(szAuthid));
  
    return (containi(szAuthid, "LAN") < 0);
}
 

Molodoi

Команда форума
Модератор
Регистрация
14 Июн 2017
Сообщения
606
Симпатии
126
пазлик~, хе класно , не ну чесно молоток.Cherna24
Всем спасибо большое за внимание можно закривать темуKidRock06
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской

wizardD

Пользователь
Регистрация
1 Июл 2017
Сообщения
69
Симпатии
9
Пол
Мужской
Флаги он добавил вопрос зачем ? Стим есть стим?
Вотебан так флаги нужно добавлять в вотебан сам а не в другой плагин ведь иммунитет в вотебане а проверка в стит...amxx выходит удаляем стим плагин остаются проверки на флаг, а так удалили стим вотебан будет стиму все равно!
[doublepost=1499250539][/doublepost]Вы пихаете куда попало что попало а потом отключаете одно ломается второе выходит и быдлокодом кроете который выдает флаг не при конекте игрока а с второго раунд и если игрок мертв флаги не действуют ну это такое я впервые за 6 лет встретил))
 

wizardD

Пользователь
Регистрация
1 Июл 2017
Сообщения
69
Симпатии
9
Пол
Мужской
Ну и к концу зачем давать флаги стим игроку если он и так выделенный как бы приимуществом стим можно на пряму вливать проверку стим или нет и этим уменьшаем нагрузку проверками
 

Inline

Пользователь
Регистрация
8 Июн 2017
Сообщения
217
Симпатии
98
Пол
Мужской
Мда. Собрались профессионалы хД. Перенесём проверку на коннект и фпс вырастет с 500 на 1000.
 

wizardD

Пользователь
Регистрация
1 Июл 2017
Сообщения
69
Симпатии
9
Пол
Мужской
Мда. Собрались профессионалы хД. Перенесём проверку на коннект и фпс вырастет с 500 на 1000.
Я вот думаю чего на админа проверка идет при конекте к серверу а не зашел под ником админа поиграл 5 раундов потом выкиуло... ведь с 5го рануда админка дается
[doublepost=1499251372][/doublepost]Ладно мне по фигу на ваш там стиль кодирования пришивать флаг стиму если он и так имеет приимущество он стим все можно на пряму прикрутить на стим без флагов..
Балдейте ушел с темы
 

пазлик~

Скриптер
Скриптер
Регистрация
8 Июн 2017
Сообщения
232
Симпатии
133
Пол
Мужской
fantom, Повторюсь, в сорци не лазил никогда, все чего мне нужно для достижения цели расписано в инклудах, а сорцами пускай разработчики метамод плагинов занимаються мне лень. Натива set_ а не add_ по логике и написал, если будет и так работать пускай...

wizardD, ТС дал четкую задачу я ему дал решение, не для вам решать что и для чего надо, надо человеку значит надо, вам не надо зачем в такие темы лезть, не понимаю зачем срачь разводить. И стиль причем тут вообще, я придерживаюсь простого правила, если редактирую чужой код того стиля и придерживаюсь!

От себя, нафлудили сообщений овер..., но решений накаких не предложили, только решение приплыло тут же все "профисионалы" жопы из кустов подаставали и говном кидаться, Я в ШОКЕ Shok
 
Последнее редактирование модератором:

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
пазлик~, ответ был дан не для шуток, а для информации. Тоесть поделился опытом. Не стоит воспринимать все близко к сердцу
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу