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

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

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

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

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

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

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

в поисках цветного Best Player

Статус пользователя fruit
сообщение 22.4.2014, 11:59
Сообщение #1


Стаж: 12 лет

Сообщений: 355
Благодарностей: 64
Полезность: 15

Всем привет. Может у кого есть "Best Player" с цветным чатом и т.д.
Скрытый текст
Код
#include <amxmodx>
#include <cstrike>
#include <fun>

#pragma semicolon 1

#define MAX_PLAYERS 32 // Максимальное кол-во игроков на сервере, заменить своим (по умолчанию 32)
#define MIN_PLAYERS 2 // Минимальное кол-во игроков, присутствующих на сервере, необходимое для работы плагина (по умолчанию 2)
#define ROUND_NUM 3 // Порядковый номер раунда от момента начала игры, с которого плагин будет работать (по умолчанию 3)
#define MIN_MONEY 200 // Минимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 200)
#define MAX_MONEY 10000 // Максимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 10000)
#define MENU_KEYS (1<<0|1<<1)
#define PRIMARY_WEAPONS (1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45|1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3|1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90)
#define SECONDARY_WEAPONS (1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE)

enum _:WEAPON_DATA_SIZE
{
    Data_Name[32],
    Data_Item[24],
    Data_Index,
    Data_Ammo
};

new g_Data[][WEAPON_DATA_SIZE] =
{
    {"IMI Galil", "weapon_galil", CSW_GALIL, 90},
    {"GIAT FAMAS", "weapon_famas", CSW_FAMAS, 90},
    {"AK-47", "weapon_ak47", CSW_AK47, 90},
    {"Colt M4A1", "weapon_m4a1", CSW_M4A1, 90},
    {"Steyr Scout", "weapon_scout", CSW_SCOUT, 90},
    {"AI Arctic Warfare Magnum", "weapon_awp", CSW_AWP, 30},
    {"FN Minimi M249 Para", "weapon_m249", CSW_M249, 200},
    {"Desert Eagle", "weapon_deagle", CSW_DEAGLE, 35}
};

new g_iPlayerFrags[MAX_PLAYERS + 1];
new g_iPlayerDamage[MAX_PLAYERS + 1];
new g_iPlayers[MAX_PLAYERS];
new g_iPlayersNum;
new g_szBestPlayerName[32];
new g_pBestPlayer;
new g_iRandomPrise;
new g_iRoundCounter;

public plugin_init()
{
    register_plugin("Best Player", "0.1a", "Subb98");
    register_event("HLTV", "EventHLTV", "a", "1=0", "2=0");
    register_event("Damage", "EventDamage", "b", "2!0", "3=0", "4!0");
    register_event("DeathMsg", "EventDeathMsg", "a", "1>0");
    register_logevent("EventRestartRound", 2, "1&Restart_Round_");
    register_logevent("EventRoundEnd", 2, "1=Round_End");
    register_menucmd(register_menuid("Prise_Menu"), MENU_KEYS, "HandleMenu");
}

public plugin_cfg()
{
    new const szDisableMapTypes[][] = {"35hp_", "ka_"}; // Типы карт, на которых плагин не будет работать
    new szMapname[32];
    get_mapname(szMapname, charsmax(szMapname));
    for(new i; i < sizeof szDisableMapTypes; i++)
        if(equali(szMapname, szDisableMapTypes[i], strlen(szDisableMapTypes[i]))) pause("ad");
}

public EventHLTV()
    if(get_playersnum() >= MIN_PLAYERS)
        if(++g_iRoundCounter >= ROUND_NUM && g_pBestPlayer != 0 && is_user_alive(g_pBestPlayer)) ShowMenu(g_pBestPlayer);

public EventRestartRound() g_iRoundCounter = 0;

public EventDamage(const id)
{
    if(g_iRoundCounter < ROUND_NUM) return;
    static pAttacker; pAttacker = get_user_attacker(id);
    if(is_user_connected(pAttacker) && cs_get_user_team(pAttacker) != cs_get_user_team(id) && pAttacker != id) g_iPlayerDamage[pAttacker] += read_data(2);
}

public EventDeathMsg()
{
    if(g_iRoundCounter < ROUND_NUM) return;
    new pKiller = read_data(1);
    g_iPlayerFrags[pKiller]++;
}

public EventRoundEnd()
{
    if(g_iRoundCounter < ROUND_NUM || get_playersnum() < MIN_PLAYERS) return;
    g_pBestPlayer = 0;
    new id, i;
    get_players(g_iPlayers, g_iPlayersNum, "ch");
    new bool:bDrawKills;
    for(i = 0; i < g_iPlayersNum; i++)
    {
        id = g_iPlayers[i];
        if(g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
    }
    for(i = 0; i < g_iPlayersNum; i++)
    {
        id = g_iPlayers[i];
        if(g_iPlayerFrags[id] == g_iPlayerFrags[g_pBestPlayer] && id != g_pBestPlayer)
        {
            bDrawKills = true;
            break;
        }
    }
    if(bDrawKills)
    {
        for(i = 0; i < g_iPlayersNum; i++)
        {
            id = g_iPlayers[i];
            if(g_iPlayerDamage[id] > g_iPlayerDamage[g_pBestPlayer] && g_iPlayerFrags[id] >= g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
        }
    }
    if(g_pBestPlayer != 0)
    {
        get_user_name(g_pBestPlayer, g_szBestPlayerName, charsmax(g_szBestPlayerName));
        client_print(0, print_chat, "Лучший результат в этом раунде показал %s, он будет награждён", g_szBestPlayerName);
    }
    for(i = 0; i < g_iPlayersNum; i++)
    {
        id = g_iPlayers[i];
        g_iPlayerFrags[id] = 0;
        g_iPlayerDamage[id] = 0;
    }
}

ShowMenu(const id)
{
    new szMenu[256], szRandomPrise[34];
    g_iRandomPrise = random_num(0, 3);
    switch(g_iRandomPrise)
    {
        case 0: add(szRandomPrise, charsmax(szRandomPrise), "оружие");
        case 1: add(szRandomPrise, charsmax(szRandomPrise), "набор гранат");
        case 2: add(szRandomPrise, charsmax(szRandomPrise), "бронежилет и шлем");
        case 3: add(szRandomPrise, charsmax(szRandomPrise), "деньги");
    }
    formatex(szMenu, charsmax(szMenu), "\yВаш приз - это %s^n^n1. \wВзять приз^n\y2. \wОтказаться от приза", szRandomPrise);
    show_menu(id, MENU_KEYS, szMenu, -1, "Prise_Menu");
}

public HandleMenu(const id, const iKey)
{
    switch(iKey)
    {
        case 0: GiveRandomPrise(id);
        case 1: client_print(0, print_chat, "%s отказался от приза", g_szBestPlayerName);
    }
}

GiveRandomPrise(const id)
{
    switch(g_iRandomPrise)
    {
        case 0: GiveRandomWeapon(id);
        case 1:
        {
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_smokegrenade");
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            client_print(0, print_chat, "%s взял приз - набор гранат", g_szBestPlayerName);
        }
        case 2:
        {
            cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
            client_print(0, print_chat, "%s взял приз - бронежилет и шлем", g_szBestPlayerName);
        }
        case 3:
        {
            new iMoney = random_num(MIN_MONEY, MAX_MONEY);
            cs_set_user_money(id, min(cs_get_user_money(id) + iMoney, 16000));
            client_print(0, print_chat, "%s взял приз - $%d", g_szBestPlayerName, iMoney);
        }
    }
}

GiveRandomWeapon(const id)
{
    new iNum = random_num(0, charsmax(g_Data));
    DropWeapon(id, iNum);
    give_item(id, g_Data[iNum][Data_Item]);
    cs_set_user_bpammo(id, g_Data[iNum][Data_Index], g_Data[iNum][Data_Ammo]);
    client_print(0, print_chat, "%s взял приз - %s", g_szBestPlayerName, g_Data[iNum][Data_Name]);
}

DropWeapon(const id, const iType)
{
    new iWeapons[32], iWeponsNum;
    get_user_weapons(id, iWeapons, iWeponsNum);
    for(new i; i < iWeponsNum; i++)
    {
        if((iType == charsmax(g_Data) ? (SECONDARY_WEAPONS & (1<<iWeapons[i])) : (PRIMARY_WEAPONS & (1<<iWeapons[i]))))
        {
            new szWeaponName[24];
            get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
            engclient_cmd(id, "drop", szWeaponName);
        }
    }
}

Заранее спасибо.

Отредактировал: fruit, - 22.4.2014, 12:00


Как дела ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя kR1m1naL
сообщение 22.4.2014, 12:50
Сообщение #2


Стаж: 13 лет

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

Напиши автору плагина думаю он за 1 - 2 мин сделает его цветным :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fruit
сообщение 22.4.2014, 13:01
Сообщение #3


Стаж: 12 лет

Сообщений: 355
Благодарностей: 64
Полезность: 15

Цитата(kR1m1naL @ 22.4.2014, 12:50) *
Напиши автору плагина думаю он за 1 - 2 мин сделает его цветным :)

Контакты не подскажешь автора?!


Как дела ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 22.4.2014, 13:07
Сообщение #4


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Цитата(fruit @ 22.4.2014, 13:01) *
Контакты не подскажешь автора?!



говори цвета какие, сделаю цветным:)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя fruit
сообщение 22.4.2014, 13:20
Сообщение #5


Стаж: 12 лет

Сообщений: 355
Благодарностей: 64
Полезность: 15

Цитата(GOOD FELLOW @ 22.4.2014, 13:07) *
говори цвета какие, сделаю цветным:)


"Лучший результат в этом раунде показал "ник", он будет награждён"
И можно вырезать из чата сообщение о "взял приз и отказался от приза", дабы игрокам как то пофиг что он там решил сделать с призом.


Как дела ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 22.4.2014, 13:34
Сообщение #6


Стаж: 12 лет

Сообщений: 343
Благодарностей: 294
Полезность: 812

Цитата(fruit @ 22.4.2014, 11:59) *
Всем привет. Может у кого есть "Best Player" с цветным чатом и т.д.
Скрытый текст
Код
#include <amxmodx>
#include <cstrike>
#include <fun>

#pragma semicolon 1

#define MAX_PLAYERS 32 // Максимальное кол-во игроков на сервере, заменить своим (по умолчанию 32)
#define MIN_PLAYERS 2 // Минимальное кол-во игроков, присутствующих на сервере, необходимое для работы плагина (по умолчанию 2)
#define ROUND_NUM 3 // Порядковый номер раунда от момента начала игры, с которого плагин будет работать (по умолчанию 3)
#define MIN_MONEY 200 // Минимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 200)
#define MAX_MONEY 10000 // Максимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 10000)
#define MENU_KEYS (1<<0|1<<1)
#define PRIMARY_WEAPONS (1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45|1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3|1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90)
#define SECONDARY_WEAPONS (1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE)

enum _:WEAPON_DATA_SIZE
{
    Data_Name[32],
    Data_Item[24],
    Data_Index,
    Data_Ammo
};

new g_Data[][WEAPON_DATA_SIZE] =
{
    {"IMI Galil", "weapon_galil", CSW_GALIL, 90},
    {"GIAT FAMAS", "weapon_famas", CSW_FAMAS, 90},
    {"AK-47", "weapon_ak47", CSW_AK47, 90},
    {"Colt M4A1", "weapon_m4a1", CSW_M4A1, 90},
    {"Steyr Scout", "weapon_scout", CSW_SCOUT, 90},
    {"AI Arctic Warfare Magnum", "weapon_awp", CSW_AWP, 30},
    {"FN Minimi M249 Para", "weapon_m249", CSW_M249, 200},
    {"Desert Eagle", "weapon_deagle", CSW_DEAGLE, 35}
};

new g_iPlayerFrags[MAX_PLAYERS + 1];
new g_iPlayerDamage[MAX_PLAYERS + 1];
new g_iPlayers[MAX_PLAYERS];
new g_iPlayersNum;
new g_szBestPlayerName[32];
new g_pBestPlayer;
new g_iRandomPrise;
new g_iRoundCounter;

public plugin_init()
{
    register_plugin("Best Player", "0.1a", "Subb98");
    register_event("HLTV", "EventHLTV", "a", "1=0", "2=0");
    register_event("Damage", "EventDamage", "b", "2!0", "3=0", "4!0");
    register_event("DeathMsg", "EventDeathMsg", "a", "1>0");
    register_logevent("EventRestartRound", 2, "1&Restart_Round_");
    register_logevent("EventRoundEnd", 2, "1=Round_End");
    register_menucmd(register_menuid("Prise_Menu"), MENU_KEYS, "HandleMenu");
}

public plugin_cfg()
{
    new const szDisableMapTypes[][] = {"35hp_", "ka_"}; // Типы карт, на которых плагин не будет работать
    new szMapname[32];
    get_mapname(szMapname, charsmax(szMapname));
    for(new i; i < sizeof szDisableMapTypes; i++)
        if(equali(szMapname, szDisableMapTypes[i], strlen(szDisableMapTypes[i]))) pause("ad");
}

public EventHLTV()
    if(get_playersnum() >= MIN_PLAYERS)
        if(++g_iRoundCounter >= ROUND_NUM && g_pBestPlayer != 0 && is_user_alive(g_pBestPlayer)) ShowMenu(g_pBestPlayer);

public EventRestartRound() g_iRoundCounter = 0;

public EventDamage(const id)
{
    if(g_iRoundCounter < ROUND_NUM) return;
    static pAttacker; pAttacker = get_user_attacker(id);
    if(is_user_connected(pAttacker) && cs_get_user_team(pAttacker) != cs_get_user_team(id) && pAttacker != id) g_iPlayerDamage[pAttacker] += read_data(2);
}

public EventDeathMsg()
{
    if(g_iRoundCounter < ROUND_NUM) return;
    new pKiller = read_data(1);
    g_iPlayerFrags[pKiller]++;
}

public EventRoundEnd()
{
    if(g_iRoundCounter < ROUND_NUM || get_playersnum() < MIN_PLAYERS) return;
    g_pBestPlayer = 0;
    new id, i;
    get_players(g_iPlayers, g_iPlayersNum, "ch");
    new bool:bDrawKills;
    for(i = 0; i < g_iPlayersNum; i++)
    {
        id = g_iPlayers[i];
        if(g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
    }
    for(i = 0; i < g_iPlayersNum; i++)
    {
        id = g_iPlayers[i];
        if(g_iPlayerFrags[id] == g_iPlayerFrags[g_pBestPlayer] && id != g_pBestPlayer)
        {
            bDrawKills = true;
            break;
        }
    }
    if(bDrawKills)
    {
        for(i = 0; i < g_iPlayersNum; i++)
        {
            id = g_iPlayers[i];
            if(g_iPlayerDamage[id] > g_iPlayerDamage[g_pBestPlayer] && g_iPlayerFrags[id] >= g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
        }
    }
    if(g_pBestPlayer != 0)
    {
        get_user_name(g_pBestPlayer, g_szBestPlayerName, charsmax(g_szBestPlayerName));
        client_print(0, print_chat, "Лучший результат в этом раунде показал %s, он будет награждён", g_szBestPlayerName);
    }
    for(i = 0; i < g_iPlayersNum; i++)
    {
        id = g_iPlayers[i];
        g_iPlayerFrags[id] = 0;
        g_iPlayerDamage[id] = 0;
    }
}

ShowMenu(const id)
{
    new szMenu[256], szRandomPrise[34];
    g_iRandomPrise = random_num(0, 3);
    switch(g_iRandomPrise)
    {
        case 0: add(szRandomPrise, charsmax(szRandomPrise), "оружие");
        case 1: add(szRandomPrise, charsmax(szRandomPrise), "набор гранат");
        case 2: add(szRandomPrise, charsmax(szRandomPrise), "бронежилет и шлем");
        case 3: add(szRandomPrise, charsmax(szRandomPrise), "деньги");
    }
    formatex(szMenu, charsmax(szMenu), "\yВаш приз - это %s^n^n1. \wВзять приз^n\y2. \wОтказаться от приза", szRandomPrise);
    show_menu(id, MENU_KEYS, szMenu, -1, "Prise_Menu");
}

public HandleMenu(const id, const iKey)
{
    switch(iKey)
    {
        case 0: GiveRandomPrise(id);
        case 1: client_print(0, print_chat, "%s отказался от приза", g_szBestPlayerName);
    }
}

GiveRandomPrise(const id)
{
    switch(g_iRandomPrise)
    {
        case 0: GiveRandomWeapon(id);
        case 1:
        {
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_smokegrenade");
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            client_print(0, print_chat, "%s взял приз - набор гранат", g_szBestPlayerName);
        }
        case 2:
        {
            cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
            client_print(0, print_chat, "%s взял приз - бронежилет и шлем", g_szBestPlayerName);
        }
        case 3:
        {
            new iMoney = random_num(MIN_MONEY, MAX_MONEY);
            cs_set_user_money(id, min(cs_get_user_money(id) + iMoney, 16000));
            client_print(0, print_chat, "%s взял приз - $%d", g_szBestPlayerName, iMoney);
        }
    }
}

GiveRandomWeapon(const id)
{
    new iNum = random_num(0, charsmax(g_Data));
    DropWeapon(id, iNum);
    give_item(id, g_Data[iNum][Data_Item]);
    cs_set_user_bpammo(id, g_Data[iNum][Data_Index], g_Data[iNum][Data_Ammo]);
    client_print(0, print_chat, "%s взял приз - %s", g_szBestPlayerName, g_Data[iNum][Data_Name]);
}

DropWeapon(const id, const iType)
{
    new iWeapons[32], iWeponsNum;
    get_user_weapons(id, iWeapons, iWeponsNum);
    for(new i; i < iWeponsNum; i++)
    {
        if((iType == charsmax(g_Data) ? (SECONDARY_WEAPONS & (1<<iWeapons[i])) : (PRIMARY_WEAPONS & (1<<iWeapons[i]))))
        {
            new szWeaponName[24];
            get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
            engclient_cmd(id, "drop", szWeaponName);
        }
    }
}

Заранее спасибо.


То,что вы скинули это паблик версия,приватная с цветами


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 22.4.2014, 13:36
Сообщение #7


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Цитата(Dukkhaz0r @ 22.4.2014, 13:34) *
То,что вы скинули это паблик версия,приватная с цветами


если приват отличается от паблика тем, что в привате есть цвет
то это бред, а не приват
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
BariN
сообщение 22.4.2014, 13:42
Сообщение #8
Стаж: 12 лет

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

Лех опять хлам в чат.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 22.4.2014, 13:44
Сообщение #9


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Цитата(BariN @ 22.4.2014, 13:42) *
Лех опять хлам в чат.


это ты мне? оО
а так, да, хлам :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fruit
сообщение 22.4.2014, 13:47
Сообщение #10


Стаж: 12 лет

Сообщений: 355
Благодарностей: 64
Полезность: 15

Цитата(GOOD FELLOW @ 22.4.2014, 13:44) *
это ты мне? оО
а так, да, хлам :D

в чате показывается только ник лучшего.


Как дела ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
BariN
сообщение 22.4.2014, 13:47
Сообщение #11
Стаж: 12 лет

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

Цитата(GOOD FELLOW @ 22.4.2014, 13:44) *
это ты мне? оО
а так, да, хлам :D

Да не, не тебе, ему fruit

Отредактировал: BariN, - 22.4.2014, 13:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fruit
сообщение 22.4.2014, 13:48
Сообщение #12


Стаж: 12 лет

Сообщений: 355
Благодарностей: 64
Полезность: 15

Цитата(BariN @ 22.4.2014, 13:42) *
Лех опять хлам в чат.

и так лишнее попросил убрать fuck.gif
РЕбятишкам нравится boast.gif

Цитата(BariN @ 22.4.2014, 13:47) *
Да не, не тебе, ему fruit

да не отмазывайся


Как дела ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 22.4.2014, 13:51
Сообщение #13


Стаж: 12 лет

Сообщений: 343
Благодарностей: 294
Полезность: 812

Цитата(GOOD FELLOW @ 22.4.2014, 13:36) *
если приват отличается от паблика тем, что в привате есть цвет
то это бред, а не приват

Нет,приват немного измененный


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 22.4.2014, 13:52
Сообщение #14


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

вот этот юзай
в том коде я добавил много строк лишних (ну как лишних, увеличил объем файла)
а тут слегка :)

Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>

#pragma semicolon 1

#define MAX_PLAYERS 32 // Максимальное кол-во игроков на сервере, заменить своим (по умолчанию 32)
#define MIN_PLAYERS 2 // Минимальное кол-во игроков, присутствующих на сервере, необходимое для работы плагина (по умолчанию 2)
#define ROUND_NUM 3 // Порядковый номер раунда от момента начала игры, с которого плагин будет работать (по умолчанию 3)
#define MIN_MONEY 200 // Минимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 200)
#define MAX_MONEY 10000 // Максимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 10000)
#define MENU_KEYS (1<<0|1<<1)
#define PRIMARY_WEAPONS (1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45|1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3|1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90)
#define SECONDARY_WEAPONS (1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE)


enum _:WEAPON_DATA_SIZE
{
Data_Name[32],
Data_Item[24],
Data_Index,
Data_Ammo
};

new g_Data[][WEAPON_DATA_SIZE] =
{
{"IMI Galil", "weapon_galil", CSW_GALIL, 90},
{"GIAT FAMAS", "weapon_famas", CSW_FAMAS, 90},
{"AK-47", "weapon_ak47", CSW_AK47, 90},
{"Colt M4A1", "weapon_m4a1", CSW_M4A1, 90},
{"Steyr Scout", "weapon_scout", CSW_SCOUT, 90},
{"AI Arctic Warfare Magnum", "weapon_awp", CSW_AWP, 30},
{"FN Minimi M249 Para", "weapon_m249", CSW_M249, 200},
{"Desert Eagle", "weapon_deagle", CSW_DEAGLE, 35}
};

new g_iPlayerFrags[MAX_PLAYERS + 1];
new g_iPlayerDamage[MAX_PLAYERS + 1];
new g_iPlayers[MAX_PLAYERS];
new g_iPlayersNum;
new g_szBestPlayerName[32];
new g_pBestPlayer;
new g_iRandomPrise;
new g_iRoundCounter;

public plugin_init()
{
register_plugin("Best Player", "0.1a", "Subb98");
register_event("HLTV", "EventHLTV", "a", "1=0", "2=0");
register_event("Damage", "EventDamage", "b", "2!0", "3=0", "4!0");
register_event("DeathMsg", "EventDeathMsg", "a", "1>0");
register_logevent("EventRestartRound", 2, "1&Restart_Round_");
register_logevent("EventRoundEnd", 2, "1=Round_End");
register_menucmd(register_menuid("Prise_Menu"), MENU_KEYS, "HandleMenu");
}

public plugin_cfg()
{
new const szDisableMapTypes[][] = {"35hp_", "ka_"}; // Типы карт, на которых плагин не будет работать
new szMapname[32];
get_mapname(szMapname, charsmax(szMapname));
for(new i; i < sizeof szDisableMapTypes; i++)
if(equali(szMapname, szDisableMapTypes[i], strlen(szDisableMapTypes[i]))) pause("ad");
}

public EventHLTV()
if(get_playersnum() >= MIN_PLAYERS)
if(++g_iRoundCounter >= ROUND_NUM && g_pBestPlayer != 0 && is_user_alive(g_pBestPlayer)) ShowMenu(g_pBestPlayer);

public EventRestartRound() g_iRoundCounter = 0;

public EventDamage(const id)
{
if(g_iRoundCounter < ROUND_NUM) return;
static pAttacker; pAttacker = get_user_attacker(id);
if(is_user_connected(pAttacker) && cs_get_user_team(pAttacker) != cs_get_user_team(id) && pAttacker != id) g_iPlayerDamage[pAttacker] += read_data(2);
}

public EventDeathMsg()
{
if(g_iRoundCounter < ROUND_NUM) return;
new pKiller = read_data(1);
g_iPlayerFrags[pKiller]++;
}

public EventRoundEnd()
{
if(g_iRoundCounter < ROUND_NUM || get_playersnum() < MIN_PLAYERS) return;
g_pBestPlayer = 0;
new id, i;
get_players(g_iPlayers, g_iPlayersNum, "ch");
new bool:bDrawKills;
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerFrags[id] == g_iPlayerFrags[g_pBestPlayer] && id != g_pBestPlayer)
{
bDrawKills = true;
break;
}
}
if(bDrawKills)
{
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerDamage[id] > g_iPlayerDamage[g_pBestPlayer] && g_iPlayerFrags[id] >= g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}
}
if(g_pBestPlayer != 0)
{
get_user_name(g_pBestPlayer, g_szBestPlayerName, charsmax(g_szBestPlayerName));
ColorChat(0, GREEN, "^x04Лучший результат в этом раунде показал ^x03%s. ^x04Он будет награждён", g_szBestPlayerName);
}
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
g_iPlayerFrags[id] = 0;
g_iPlayerDamage[id] = 0;
}
}

ShowMenu(const id)
{
new szMenu[256], szRandomPrise[34];
g_iRandomPrise = random_num(0, 3);
switch(g_iRandomPrise)
{
case 0: add(szRandomPrise, charsmax(szRandomPrise), "оружие");
case 1: add(szRandomPrise, charsmax(szRandomPrise), "набор гранат");
case 2: add(szRandomPrise, charsmax(szRandomPrise), "бронежилет и шлем");
case 3: add(szRandomPrise, charsmax(szRandomPrise), "деньги");
}
formatex(szMenu, charsmax(szMenu), "\yВаш приз - это %s^n^n1. \wВзять приз^n\y2. \wОтказаться от приза", szRandomPrise);
show_menu(id, MENU_KEYS, szMenu, -1, "Prise_Menu");
}

public HandleMenu(const id, const iKey)
{
switch(iKey)
{
case 0: GiveRandomPrise(id);
case 1: ColorChat(id, GREEN, "^x04Вы отказались от приза!");
}
}

GiveRandomPrise(const id)
{
switch(g_iRandomPrise)
{
case 0: GiveRandomWeapon(id);
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
}
case 2:
{
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
}
case 3:
{
new iMoney = random_num(MIN_MONEY, MAX_MONEY);
cs_set_user_money(id, min(cs_get_user_money(id) + iMoney, 16000));
}
}
}

GiveRandomWeapon(const id)
{
new iNum = random_num(0, charsmax(g_Data));
DropWeapon(id, iNum);
give_item(id, g_Data[iNum][Data_Item]);
cs_set_user_bpammo(id, g_Data[iNum][Data_Index], g_Data[iNum][Data_Ammo]);
}

DropWeapon(const id, const iType)
{
new iWeapons[32], iWeponsNum;
get_user_weapons(id, iWeapons, iWeponsNum);
for(new i; i < iWeponsNum; i++)
{
if((iType == charsmax(g_Data) ? (SECONDARY_WEAPONS & (1<<iWeapons[i])) : (PRIMARY_WEAPONS & (1<<iWeapons[i]))))
{
new szWeaponName[24];
get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
engclient_cmd(id, "drop", szWeaponName);
}
}
}


Отредактировал: GOOD FELLOW, - 22.4.2014, 13:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fruit
сообщение 22.4.2014, 14:01
Сообщение #15


Стаж: 12 лет

Сообщений: 355
Благодарностей: 64
Полезность: 15

Цитата(GOOD FELLOW @ 22.4.2014, 13:52) *
вот этот юзай
в том коде я добавил много строк лишних (ну как лишних, увеличил объем файла)
а тут слегка :)

Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>

#pragma semicolon 1

#define MAX_PLAYERS 32 // Максимальное кол-во игроков на сервере, заменить своим (по умолчанию 32)
#define MIN_PLAYERS 2 // Минимальное кол-во игроков, присутствующих на сервере, необходимое для работы плагина (по умолчанию 2)
#define ROUND_NUM 3 // Порядковый номер раунда от момента начала игры, с которого плагин будет работать (по умолчанию 3)
#define MIN_MONEY 200 // Минимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 200)
#define MAX_MONEY 10000 // Максимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 10000)
#define MENU_KEYS (1<<0|1<<1)
#define PRIMARY_WEAPONS (1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45|1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3|1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90)
#define SECONDARY_WEAPONS (1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE)


enum _:WEAPON_DATA_SIZE
{
Data_Name[32],
Data_Item[24],
Data_Index,
Data_Ammo
};

new g_Data[][WEAPON_DATA_SIZE] =
{
{"IMI Galil", "weapon_galil", CSW_GALIL, 90},
{"GIAT FAMAS", "weapon_famas", CSW_FAMAS, 90},
{"AK-47", "weapon_ak47", CSW_AK47, 90},
{"Colt M4A1", "weapon_m4a1", CSW_M4A1, 90},
{"Steyr Scout", "weapon_scout", CSW_SCOUT, 90},
{"AI Arctic Warfare Magnum", "weapon_awp", CSW_AWP, 30},
{"FN Minimi M249 Para", "weapon_m249", CSW_M249, 200},
{"Desert Eagle", "weapon_deagle", CSW_DEAGLE, 35}
};

new g_iPlayerFrags[MAX_PLAYERS + 1];
new g_iPlayerDamage[MAX_PLAYERS + 1];
new g_iPlayers[MAX_PLAYERS];
new g_iPlayersNum;
new g_szBestPlayerName[32];
new g_pBestPlayer;
new g_iRandomPrise;
new g_iRoundCounter;

public plugin_init()
{
register_plugin("Best Player", "0.1a", "Subb98");
register_event("HLTV", "EventHLTV", "a", "1=0", "2=0");
register_event("Damage", "EventDamage", "b", "2!0", "3=0", "4!0");
register_event("DeathMsg", "EventDeathMsg", "a", "1>0");
register_logevent("EventRestartRound", 2, "1&Restart_Round_");
register_logevent("EventRoundEnd", 2, "1=Round_End");
register_menucmd(register_menuid("Prise_Menu"), MENU_KEYS, "HandleMenu");
}

public plugin_cfg()
{
new const szDisableMapTypes[][] = {"35hp_", "ka_"}; // Типы карт, на которых плагин не будет работать
new szMapname[32];
get_mapname(szMapname, charsmax(szMapname));
for(new i; i < sizeof szDisableMapTypes; i++)
if(equali(szMapname, szDisableMapTypes[i], strlen(szDisableMapTypes[i]))) pause("ad");
}

public EventHLTV()
if(get_playersnum() >= MIN_PLAYERS)
if(++g_iRoundCounter >= ROUND_NUM && g_pBestPlayer != 0 && is_user_alive(g_pBestPlayer)) ShowMenu(g_pBestPlayer);

public EventRestartRound() g_iRoundCounter = 0;

public EventDamage(const id)
{
if(g_iRoundCounter < ROUND_NUM) return;
static pAttacker; pAttacker = get_user_attacker(id);
if(is_user_connected(pAttacker) && cs_get_user_team(pAttacker) != cs_get_user_team(id) && pAttacker != id) g_iPlayerDamage[pAttacker] += read_data(2);
}

public EventDeathMsg()
{
if(g_iRoundCounter < ROUND_NUM) return;
new pKiller = read_data(1);
g_iPlayerFrags[pKiller]++;
}

public EventRoundEnd()
{
if(g_iRoundCounter < ROUND_NUM || get_playersnum() < MIN_PLAYERS) return;
g_pBestPlayer = 0;
new id, i;
get_players(g_iPlayers, g_iPlayersNum, "ch");
new bool:bDrawKills;
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerFrags[id] == g_iPlayerFrags[g_pBestPlayer] && id != g_pBestPlayer)
{
bDrawKills = true;
break;
}
}
if(bDrawKills)
{
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerDamage[id] > g_iPlayerDamage[g_pBestPlayer] && g_iPlayerFrags[id] >= g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}
}
if(g_pBestPlayer != 0)
{
get_user_name(g_pBestPlayer, g_szBestPlayerName, charsmax(g_szBestPlayerName));
ColorChat(0, GREEN, "^x04Лучший результат в этом раунде показал ^x03%s. ^x04Он будет награждён", g_szBestPlayerName);
}
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
g_iPlayerFrags[id] = 0;
g_iPlayerDamage[id] = 0;
}
}

ShowMenu(const id)
{
new szMenu[256], szRandomPrise[34];
g_iRandomPrise = random_num(0, 3);
switch(g_iRandomPrise)
{
case 0: add(szRandomPrise, charsmax(szRandomPrise), "оружие");
case 1: add(szRandomPrise, charsmax(szRandomPrise), "набор гранат");
case 2: add(szRandomPrise, charsmax(szRandomPrise), "бронежилет и шлем");
case 3: add(szRandomPrise, charsmax(szRandomPrise), "деньги");
}
formatex(szMenu, charsmax(szMenu), "\yВаш приз - это %s^n^n1. \wВзять приз^n\y2. \wОтказаться от приза", szRandomPrise);
show_menu(id, MENU_KEYS, szMenu, -1, "Prise_Menu");
}

public HandleMenu(const id, const iKey)
{
switch(iKey)
{
case 0: GiveRandomPrise(id);
case 1: ColorChat(id, GREEN, "^x04Вы отказались от приза!");
}
}

GiveRandomPrise(const id)
{
switch(g_iRandomPrise)
{
case 0: GiveRandomWeapon(id);
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
}
case 2:
{
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
}
case 3:
{
new iMoney = random_num(MIN_MONEY, MAX_MONEY);
cs_set_user_money(id, min(cs_get_user_money(id) + iMoney, 16000));
}
}
}

GiveRandomWeapon(const id)
{
new iNum = random_num(0, charsmax(g_Data));
DropWeapon(id, iNum);
give_item(id, g_Data[iNum][Data_Item]);
cs_set_user_bpammo(id, g_Data[iNum][Data_Index], g_Data[iNum][Data_Ammo]);
}

DropWeapon(const id, const iType)
{
new iWeapons[32], iWeponsNum;
get_user_weapons(id, iWeapons, iWeponsNum);
for(new i; i < iWeponsNum; i++)
{
if((iType == charsmax(g_Data) ? (SECONDARY_WEAPONS & (1<<iWeapons[i])) : (PRIMARY_WEAPONS & (1<<iWeapons[i]))))
{
new szWeaponName[24];
get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
engclient_cmd(id, "drop", szWeaponName);
}
}
}

тоже самое, показан только цветной ник и все.


Как дела ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 9art
сообщение 22.4.2014, 14:28
Сообщение #16


Стаж: 12 лет

Сообщений: 991
Благодарностей: 534
Полезность: 843

Думаю не составит труда самому выставить цвет? или дайте пример как должно выглядеть.
^1 - Стандартный цвет чата
^3 - Цвет команды
^4 - Зеленый цвет

Отредактировал: 9art, - 22.4.2014, 14:31
Прикрепленные файлы:
Прикрепленный файл  best_player2.sma ( 8,29 килобайт ) Кол-во скачиваний: 27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fruit
сообщение 22.4.2014, 15:43
Сообщение #17


Стаж: 12 лет

Сообщений: 355
Благодарностей: 64
Полезность: 15

Цитата(9art @ 22.4.2014, 14:28) *
Думаю не составит труда самому выставить цвет? или дайте пример как должно выглядеть.
^1 - Стандартный цвет чата
^3 - Цвет команды
^4 - Зеленый цвет

https://c-s.net.ua/forum/index.php?s=&s...st&p=584081,
и если бы умел и знал как наверное бы тему не создавал...


Как дела ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kR1m1naL
сообщение 24.4.2014, 7:34
Сообщение #18


Стаж: 13 лет

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

Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>

#pragma semicolon 1

#define MAX_PLAYERS 32 // Максимальное кол-во игроков на сервере, заменить своим (по умолчанию 32)
#define MIN_PLAYERS 2 // Минимальное кол-во игроков, присутствующих на сервере, необходимое для работы плагина (по умолчанию 2)
#define ROUND_NUM 3 // Порядковый номер раунда от момента начала игры, с которого плагин будет работать (по умолчанию 3)
#define MIN_MONEY 200 // Минимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 200)
#define MAX_MONEY 10000 // Максимальное кол-во призовых у.е., которое может получить игрок (по умолчанию 10000)
#define MENU_KEYS (1<<0|1<<1)
#define PRIMARY_WEAPONS (1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45|1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3|1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90)
#define SECONDARY_WEAPONS (1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE)

enum _:WEAPON_DATA_SIZE
{
Data_Name[32],
Data_Item[24],
Data_Index,
Data_Ammo
};

new g_Data[][WEAPON_DATA_SIZE] =
{
{"IMI Galil", "weapon_galil", CSW_GALIL, 90},
{"GIAT FAMAS", "weapon_famas", CSW_FAMAS, 90},
{"AK-47", "weapon_ak47", CSW_AK47, 90},
{"Colt M4A1", "weapon_m4a1", CSW_M4A1, 90},
{"Steyr Scout", "weapon_scout", CSW_SCOUT, 90},
{"AI Arctic Warfare Magnum", "weapon_awp", CSW_AWP, 30},
{"FN Minimi M249 Para", "weapon_m249", CSW_M249, 200},
{"Desert Eagle", "weapon_deagle", CSW_DEAGLE, 35}
};

new g_iPlayerFrags[MAX_PLAYERS + 1];
new g_iPlayerDamage[MAX_PLAYERS + 1];
new g_iPlayers[MAX_PLAYERS];
new g_iPlayersNum;
new g_szBestPlayerName[32];
new g_pBestPlayer;
new g_iRandomPrise;
new g_iRoundCounter;

public plugin_init()
{
register_plugin("Best Player", "0.1a", "Subb98");
register_event("HLTV", "EventHLTV", "a", "1=0", "2=0");
register_event("Damage", "EventDamage", "b", "2!0", "3=0", "4!0");
register_event("DeathMsg", "EventDeathMsg", "a", "1>0");
register_logevent("EventRestartRound", 2, "1&Restart_Round_");
register_logevent("EventRoundEnd", 2, "1=Round_End");
register_menucmd(register_menuid("Prise_Menu"), MENU_KEYS, "HandleMenu");
}

public plugin_cfg()
{
new const szDisableMapTypes[][] = {"35hp_", "awp_"}; // Типы карт, на которых плагин не будет работать
new szMapname[32];
get_mapname(szMapname, charsmax(szMapname));
for(new i; i < sizeof szDisableMapTypes; i++)
if(equali(szMapname, szDisableMapTypes[i], strlen(szDisableMapTypes[i]))) pause("ad");
}

public EventHLTV()
if(get_playersnum() >= MIN_PLAYERS)
if(++g_iRoundCounter >= ROUND_NUM && g_pBestPlayer != 0 && is_user_alive(g_pBestPlayer)) ShowMenu(g_pBestPlayer);

public EventRestartRound() g_iRoundCounter = 0;

public EventDamage(const id)
{
if(g_iRoundCounter < ROUND_NUM) return;
static pAttacker; pAttacker = get_user_attacker(id);
if(is_user_connected(pAttacker) && cs_get_user_team(pAttacker) != cs_get_user_team(id) && pAttacker != id) g_iPlayerDamage[pAttacker] += read_data(2);
}

public EventDeathMsg()
{
if(g_iRoundCounter < ROUND_NUM) return;
new pKiller = read_data(1);
g_iPlayerFrags[pKiller]++;
}

public EventRoundEnd()
{
if(g_iRoundCounter < ROUND_NUM || get_playersnum() < MIN_PLAYERS) return;
g_pBestPlayer = 0;
new id, i;
get_players(g_iPlayers, g_iPlayersNum, "ch");
new bool:bDrawKills;
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerFrags[id] == g_iPlayerFrags[g_pBestPlayer] && id != g_pBestPlayer)
{
bDrawKills = true;
break;
}
}
if(bDrawKills)
{
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
if(g_iPlayerDamage[id] > g_iPlayerDamage[g_pBestPlayer] && g_iPlayerFrags[id] >= g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}
}
if(g_pBestPlayer != 0)
{
get_user_name(g_pBestPlayer, g_szBestPlayerName, charsmax(g_szBestPlayerName));
ColorChat(0, GREEN, "^x01[ ^x04Сервер ^x01] Лучший результат показал ^x03%s. ^x01Он будет награждён ツ", g_szBestPlayerName);
}
for(i = 0; i < g_iPlayersNum; i++)
{
id = g_iPlayers[i];
g_iPlayerFrags[id] = 0;
g_iPlayerDamage[id] = 0;
}
}

ShowMenu(const id)
{
new szMenu[256], szRandomPrise[34];
g_iRandomPrise = random_num(0, 3);
switch(g_iRandomPrise)
{
case 0: add(szRandomPrise, charsmax(szRandomPrise), "Оружие");
case 1: add(szRandomPrise, charsmax(szRandomPrise), "Набор гранат");
case 2: add(szRandomPrise, charsmax(szRandomPrise), "Бронежилет и шлем");
case 3: add(szRandomPrise, charsmax(szRandomPrise), "Деньги");
}
formatex(szMenu, charsmax(szMenu), "\rВаш приз - это %s^n^n\d1. \wВзять приз^n\d2. \wОтказаться от приза", szRandomPrise);
show_menu(id, MENU_KEYS, szMenu, -1, "Prise_Menu");
}

public HandleMenu(const id, const iKey)
{
switch(iKey)
{
case 0: GiveRandomPrise(id);
case 1: ColorChat(0, GREEN, "^x01[ ^x04Сервер ^x01] ^x03%s ^x01отказался от приза", g_szBestPlayerName);
}
}

GiveRandomPrise(const id)
{
switch(g_iRandomPrise)
{
case 0: GiveRandomWeapon(id);
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
ColorChat(0, GREEN, "^x01[ ^x04Сервер ^x01] ^x03%s ^x01взял приз - ^x04набор гранат", g_szBestPlayerName);
}
case 2:
{
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
ColorChat(0, GREEN, "^x01[ ^x04Сервер ^x01] ^x03%s ^x01взял приз - ^x04бронежилет и шлем", g_szBestPlayerName);
}
case 3:
{
new iMoney = random_num(MIN_MONEY, MAX_MONEY);
cs_set_user_money(id, min(cs_get_user_money(id) + iMoney, 16000));
ColorChat(0, GREEN, "^x01[ ^x04Сервер ^x01] ^x03%s ^x01взял приз - ^x04$%d", g_szBestPlayerName, iMoney);
}
}
}

GiveRandomWeapon(const id)
{
new iNum = random_num(0, charsmax(g_Data));
DropWeapon(id, iNum);
give_item(id, g_Data[iNum][Data_Item]);
cs_set_user_bpammo(id, g_Data[iNum][Data_Index], g_Data[iNum][Data_Ammo]);
ColorChat(0, GREEN, "^x01[ ^x04Сервер ^x01] ^x03%s ^x01взял приз - ^x04%s", g_szBestPlayerName, g_Data[iNum][Data_Name]);
}

DropWeapon(const id, const iType)
{
new iWeapons[32], iWeponsNum;
get_user_weapons(id, iWeapons, iWeponsNum);
for(new i; i < iWeponsNum; i++)
{
if((iType == charsmax(g_Data) ? (SECONDARY_WEAPONS & (1<<iWeapons[i])) : (PRIMARY_WEAPONS & (1<<iWeapons[i]))))
{
new szWeaponName[24];
get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
engclient_cmd(id, "drop", szWeaponName);
}
}
}


Отредактировал: kR1m1naL, - 24.4.2014, 11:43
Прикрепленные файлы:
Прикрепленный файл  best_player.sma ( 7,29 килобайт ) Кол-во скачиваний: 14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kR1m1naL
сообщение 24.4.2014, 11:45
Сообщение #19


Стаж: 13 лет

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

Сделал цветным но не проверял :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя kR1m1naL
сообщение 24.4.2014, 12:07
Сообщение #20


Стаж: 13 лет

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

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