Пользователи, просматривающие тему (Пользователей: 0, Гостей: 0)

  1. Altaj

    Регистрация:
    16.03.15
    Сообщения:
    134
    Симпатии:
    37
    Пол:
    Мужской
    Ребят скиньте, если у кого есть нормальный плагин "Лучший игрок раунда" по нанесенному урону. Чтобы писал в чат + бонус выдавался. Всякие худы не нужны.
     
  2. l3x1s

    Регистрация:
    28.02.15
    Сообщения:
    548
    Симпатии:
    132
    Пол:
    Мужской
    Скинул бы, но
    [​IMG]
     
  3. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.689
    Симпатии:
    1.249
    Пол:
    Мужской
  4. l3x1s

    Регистрация:
    28.02.15
    Сообщения:
    548
    Симпатии:
    132
    Пол:
    Мужской
    Gudaus, не знал, спасибо
    Altaj, держи
     

    Вложения:

    Altaj нравится это.
  5. Эдуард

    Регистрация:
    01.03.15
    Сообщения:
    350
    Симпатии:
    61
    Пол:
    Мужской
    PHP:
    #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_GALIL90},
        {
    "GIAT FAMAS""weapon_famas"CSW_FAMAS90},
        {
    "AK-47""weapon_ak47"CSW_AK4790},
        {
    "Colt M4A1""weapon_m4a1"CSW_M4A190},
        {
    "Steyr Scout""weapon_scout"CSW_SCOUT90},
        {
    "AI Arctic Warfare Magnum""weapon_awp"CSW_AWP30},
        {
    "FN Minimi M249 Para""weapon_m249"CSW_M249200},
        {
    "Desert Eagle""weapon_deagle"CSW_DEAGLE35}
    };

    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(szMapnamecharsmax(szMapname));
        for(new 
    isizeof szDisableMapTypesi++)
            if(
    equali(szMapnameszDisableMapTypes[i], strlen(szDisableMapTypes[i]))) pause("ad");
    }

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

    public 
    EventRestartRound() g_iRoundCounter 0;

    public 
    EventDamage(const id)
    {
        if(
    g_iRoundCounter ROUND_NUM) return;
        static 
    pAttackerpAttacker get_user_attacker(id);
        if(
    is_user_connected(pAttacker) && cs_get_user_team(pAttacker) != cs_get_user_team(id) && pAttacker != idg_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 
    idi;
        
    get_players(g_iPlayersg_iPlayersNum"ch");
        new 
    bool:bDrawKills;
        for(
    0g_iPlayersNumi++)
        {
            
    id g_iPlayers[i];
            if(
    g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer id;
        }
        for(
    0g_iPlayersNumi++)
        {
            
    id g_iPlayers[i];
            if(
    g_iPlayerFrags[id] == g_iPlayerFrags[g_pBestPlayer] && id != g_pBestPlayer)
            {
                
    bDrawKills true;
                break;
            }
        }
        if(
    bDrawKills)
        {
            for(
    0g_iPlayersNumi++)
            {
                
    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_pBestPlayerg_szBestPlayerNamecharsmax(g_szBestPlayerName));
            
    client_print(0print_chat"Лучший результат в этом раунде показал %s, он будет награждён"g_szBestPlayerName);
        }
        for(
    0g_iPlayersNumi++)
        {
            
    id g_iPlayers[i];
            
    g_iPlayerFrags[id] = 0;
            
    g_iPlayerDamage[id] = 0;
        }
    }

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

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

    GiveRandomPrise(const id)
    {
        switch(
    g_iRandomPrise)
        {
            case 
    0GiveRandomWeapon(id);
            case 
    1:
            {
                
    give_item(id"weapon_hegrenade");
                
    give_item(id"weapon_flashbang");
                
    give_item(id"weapon_smokegrenade");
                
    cs_set_user_bpammo(idCSW_FLASHBANG2);
                
    client_print(0print_chat"%s взял приз - набор гранат"g_szBestPlayerName);
            }
            case 
    2:
            {
                
    cs_set_user_armor(id100CS_ARMOR_VESTHELM);
                
    client_print(0print_chat"%s взял приз - бронежилет и шлем"g_szBestPlayerName);
            }
            case 
    3:
            {
                new 
    iMoney random_num(MIN_MONEYMAX_MONEY);
                
    cs_set_user_money(idmin(cs_get_user_money(id) + iMoney16000));
                
    client_print(0print_chat"%s взял приз - $%d"g_szBestPlayerNameiMoney);
            }
        }
    }

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

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

    Регистрация:
    28.02.15
    Сообщения:
    548
    Симпатии:
    132
    Пол:
    Мужской
    Эдуард, 1. под павн выложить не?
    2. я его уже скинул
     
  7. Эдуард

    Регистрация:
    01.03.15
    Сообщения:
    350
    Симпатии:
    61
    Пол:
    Мужской
    выложил так выложил. и что с того.когда я вставлял ничего не было
     
  8. Altaj

    Регистрация:
    16.03.15
    Сообщения:
    134
    Симпатии:
    37
    Пол:
    Мужской
    Как с него убрать все бонусы и оставить только денежный приз?
     
  9. asc

    Регистрация:
    14.03.15
    Сообщения:
    81
    Симпатии:
    15
    Пол:
    Мужской
    l3x1s, второй вариант кривой
    неправильно считает урон
     
  10. l3x1s

    Регистрация:
    28.02.15
    Сообщения:
    548
    Симпатии:
    132
    Пол:
    Мужской
    asc, Это не ко мне, меня попросили скинуть - я скинул
     
  11. asc

    Регистрация:
    14.03.15
    Сообщения:
    81
    Симпатии:
    15
    Пол:
    Мужской
    Неугомон, пофикси плагин, чтобы урон правильно считал :)
    А то автор говорит, что невозможно так сделать :D
     

    Вложения:

  12. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.559
    Симпатии:
    4.648
    Пол:
    Мужской
    asc, общий или при попаданиях?
     
  13. asc

    Регистрация:
    14.03.15
    Сообщения:
    81
    Симпатии:
    15
    Пол:
    Мужской
    neygomon, общий. В /me пишет одно, а он пишет совсем другое.
     
  14. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.559
    Симпатии:
    4.648
    Пол:
    Мужской
    asc, он гейский)
    его проще заново написать
     
  15. asc

    Регистрация:
    14.03.15
    Сообщения:
    81
    Симпатии:
    15
    Пол:
    Мужской
    neygomon, напиши, пжл, думаю тебе недолго :)
     
  16. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.559
    Симпатии:
    4.648
    Пол:
    Мужской
    asc, посмотрим. настроения нет чет.
     
  17. Safety1st

    Регистрация:
    05.06.15
    Сообщения:
    58
    Симпатии:
    21
    Пол:
    Мужской
    Ахахахахх. Забавно, что на самом деле наоборот: /me показывает фейковый урон (без учёта брони), а тот плагин - реальный, который получил игрок :)

    Как-то спросил у народа, желает ли кто в 'Nice Killer' видеть реальный урон - все отказались :)
     
    Последнее редактирование: 06.06.15
  18. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.689
    Симпатии:
    1.249
    Пол:
    Мужской
    Safety1st, я твой плагин юзаю, nice killer. он какой урон показывает?
     
  19. Safety1st

    Регистрация:
    05.06.15
    Сообщения:
    58
    Симпатии:
    21
    Пол:
    Мужской
    Выше глянь, я подправил)
     
  20. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.559
    Симпатии:
    4.648
    Пол:
    Мужской
    Safety1st, да кому ты ссышь в уши?)
    PHP:
    register_event("Damage""EventDamage""b""2!0""3=0""4!0");
    и
    PHP:
    g_iPlayerDamage[pAttacker] += read_data(2);
    у /me так же) по крайней мере в моем.