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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

FirstKiller [HELP]

Статус пользователя narkk3
сообщение 8.10.2016, 1:00
Сообщение #1
Стаж: 10 лет

Сообщений: 99
Благодарностей: 2
Полезность: < 0

Доброго времени суток!
Может кто сможет помочь.
Нужно немного отредактировать плагин, а то есть сделать чтобы этот плагин работал когда на сервере минимум 6 человек. (Когда будет меньше 6ти, как-то бредово будет выглядет этот плагин. Оповещение в чат, мол 'Игрок N сделал первую кровь').
Код

Код
#include <amxmodx>
#include <cstrike>

#define GIVE_MONEY_FIRSTKILLER random_num(250, 500) // Кол-во денег которое получит первый убийца.
//#define ONLY_FIRSTKILLER_BONUS // Выдавать за первое убийство только наш бонус (без стандартного начисления в 300$).

static FirstKiller;

public plugin_init()
{
    register_plugin("First Killer Round", "1.1", "Factor");
    
    new szMapName[32], i, szBadMaps[][] = {"35hp_", "1hp_", "awp_", "fy_", "aim_"}; get_mapname(szMapName, sizeof(szMapName));
    for(i = 0; i < sizeof(szBadMaps); i++) if(containi(szMapName, szBadMaps[i]) != -1) pause("ad");
    
    register_event("HLTV", "RoundNew", "a", "1=0", "2=0");
}

public RoundNew() FirstKiller = 0;

public client_death(attacker, victim, wpnindex, hitplace, TK)
{
    if(!FirstKiller && !is_user_alive(victim) && victim != attacker)
    {
        FirstKiller = attacker;
        
        static g_MoneyBonus, szFirstKillerName[16];
        g_MoneyBonus = GIVE_MONEY_FIRSTKILLER;
        get_user_name(FirstKiller, szFirstKillerName, charsmax(szFirstKillerName));
        
        cs_set_user_money(FirstKiller, cs_get_user_money(FirstKiller) - 300, 0);
        #if defined ONLY_FIRSTKILLER_BONUS
            cs_set_user_money(FirstKiller, cs_get_user_money(FirstKiller) + g_MoneyBonus, 1);
        #else
            cs_set_user_money(FirstKiller, cs_get_user_money(FirstKiller) + g_MoneyBonus + 300, 1);
        #endif
        
        switch(random_num(1, 2))
        {
            case 1: ChatColor("^1[^4Информация^1] ^3%s^1, получил ^4%d$^1 за первую кровь.", szFirstKillerName, g_MoneyBonus);
            case 2: ChatColor("^1[^4Информация^1] ^3%s^1, получил ^4%d$^1 за первое убийство.", szFirstKillerName, g_MoneyBonus);
        }
    }
}

stock ChatColor(const szMessage[], any:...)
{
    static pnum, players[32], szMsg[190], IdMsg;
    vformat(szMsg, charsmax(szMsg), szMessage, 2);
    
    if(!IdMsg) IdMsg = get_user_msgid("SayText");
    get_players(players, pnum, "c");
                                                              
    for(new i; i < pnum; i++)
    {                                                          
        message_begin(MSG_ONE_UNRELIABLE, IdMsg, .player = players[i]);
        write_byte(players[i]);
        write_string(szMsg);
        message_end();
    }
}

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