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

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

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

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

9 страниц V  « 2 3 4 ... 7 8 »

Best Player Private

Статус пользователя Subb98
сообщение 12.2.2014, 16:53
Сообщение #41


Стаж: 13 лет
Город: Пермь

Сообщений: 216
Благодарностей: 281
Полезность: 1246

Код
#define ROUND_NUM 3 // Порядковый номер раунда от момента начала игры, с которого плагин будет работать (по умолчанию 3)

Скачать: Прикрепленный файл  Best_Player.zip ( 2,72 килобайт ) Кол-во скачиваний: 47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя r1nk0
сообщение 12.2.2014, 16:56
Сообщение #42


Стаж: 10 лет

Сообщений: 1417
Благодарностей: 705
Полезность: 349

шикарно,написание плагина онлайн))


Создание и редактирование карт ($) - vk.com/id476857873
Настройка и техническое обслуживание ваших игровых серверов - vk.com/id476857873
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Subb98
сообщение 12.2.2014, 16:58
Сообщение #43


Стаж: 13 лет
Город: Пермь

Сообщений: 216
Благодарностей: 281
Полезность: 1246

Цитата(r1nk0 @ 12.2.2014, 20:56) *
шикарно,написание плагина онлайн))

Раз уже начал, то нужно доделать...

Небольшой фикс: убрал проверки на кол-во игроков, присутствующих на сервере, из событий получения урона и сообщения о смерти игрока (для более точных подсчётов). Думаю, более изменений не будет...

Прикрепленный файл  Best_Player.zip ( 2,71 килобайт ) Кол-во скачиваний: 79


Отредактировал: subb98, - 12.2.2014, 17:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя r1nk0
сообщение 16.2.2014, 15:21
Сообщение #44


Стаж: 10 лет

Сообщений: 1417
Благодарностей: 705
Полезность: 349

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


Создание и редактирование карт ($) - vk.com/id476857873
Настройка и техническое обслуживание ваших игровых серверов - vk.com/id476857873
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lucky
сообщение 8.4.2014, 23:17
Сообщение #45
Стаж: 10 лет

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

И ещё меню не всегда вылазиет с призом.

Сообщение есть, что игрок лучший. А меню у него не появилось...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 8.4.2014, 23:49
Сообщение #46


Стаж: 16 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

subb98, можно сделать так чтобы плагин не работал у людей с определенным флагом доступа, например с "t". Спасибо.

Отредактировал: 3aB}{o3, - 8.4.2014, 23:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [Smile_Rus]
сообщение 9.4.2014, 0:05
Сообщение #47


Стаж: 14 лет

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

спс)

Отредактировал: [Smile_Rus], - 9.4.2014, 0:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 10.4.2014, 19:38
Сообщение #48


Стаж: 16 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Можно сделать так чтобы плагин не работал у людей с определенным флагом доступа, например с "t". Спасибо.

ps.gif простите за Up
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 10.4.2014, 20:54
Сообщение #49


Стаж: 14 лет

Сообщений: 297
Благодарностей: 83
Полезность: 177

Цитата(3aB}{o3 @ 10.4.2014, 19:38) *
Можно сделать так чтобы плагин не работал у людей с определенным флагом доступа, например с "t". Спасибо.

ps.gif простите за Up

+
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proff_q
сообщение 10.4.2014, 21:07
Сообщение #50
Стаж: 12 лет

Сообщений: 357
Благодарностей: 263
Полезность: 804

3aB}{o3,
Код:
get_players(g_iPlayers, g_iPlayersNum, "ch");
new bool:bDrawKills;
for(i = 0; i < g_iPlayersNum; i++)
{
if(get_user_flags(i) && ADMIN_LEVEL_H)
continue;

id = g_iPlayers[i];
if(g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 10.4.2014, 21:23
Сообщение #51


Стаж: 14 лет

Сообщений: 297
Благодарностей: 83
Полезность: 177

Цитата(proff_q @ 10.4.2014, 21:07) *
3aB}{o3,
Код:
get_players(g_iPlayers, g_iPlayersNum, "ch");
new bool:bDrawKills;
for(i = 0; i < g_iPlayersNum; i++)
{
if(get_user_flags(i) && ADMIN_LEVEL_H)
continue;

id = g_iPlayers[i];
if(g_iPlayerFrags[id] > g_iPlayerFrags[g_pBestPlayer]) g_pBestPlayer = id;
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proff_q
сообщение 10.4.2014, 21:26
Сообщение #52
Стаж: 12 лет

Сообщений: 357
Благодарностей: 263
Полезность: 804

SkiF-1,
Код криво в тег встал
Код:
#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 || get_playersnum() < MIN_PLAYERS) 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 || get_playersnum() < MIN_PLAYERS) 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++)
{
if(get_user_flags(i) && ADMIN_LEVEL_H)
continue;

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);
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 12.4.2014, 0:07
Сообщение #53


Стаж: 16 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

proff_q, Ваш код не работает, плагин работает и с флагом t тоже
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя seregabeliko
сообщение 13.4.2014, 2:23
Сообщение #54
Стаж: 10 лет

Сообщений: 193
Благодарностей: 5
Полезность: 34

не работает че-то
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.4.2014, 0:08
Сообщение #55
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(proff_q @ 10.4.2014, 23:07) *
Код
if(get_user_flags(i) && ADMIN_LEVEL_H)
    continue;

Тут 2 ошибки lol.gif


Цитата(3aB}{o3 @ 9.4.2014, 1:49) *
можно сделать так чтобы плагин не работал у людей с определенным флагом доступа, например с "t"

Загрузка ниже. Флаги указываются в #define EXCLUDE_FLAGS, строку нужно раскомментировать, несколько флагов разделять символом |.

Заодно, думаю, поправил оба бага:
Цитата(r1nk0 @ 16.2.2014, 17:21) *
есть небольшой хз наверно небаг,ну суть в том что если человеку выпадает приз,а у него уже был куплен допустим игл,он отказывается от приза и ему покупает дефолтный пистолет за команду кт\т ,а дигл выбрасывается.

Цитата(Lucky @ 9.4.2014, 1:17) *
И ещё меню не всегда вылазиет с призом.
Сообщение есть, что игрок лучший. А меню у него не появилось...


Тестируйте ;)

Отредактировал: Safety1st, - 3.6.2014, 12:07
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя Kempers
сообщение 15.4.2014, 19:14
Сообщение #56
Стаж: 10 лет

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

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


#define MAX_PLAYERS 32 // Максимальное кол-во игроков на сервере, заменить своим (по умолчанию 32)
#define MIN_PLAYERS 2 // Минимальное кол-во игроков, присутствующих на сервере, необходимое для работы плагина (по умолчанию 2)
#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;

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("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_pBestPlayer != 0 && is_user_alive(g_pBestPlayer)) ShowMenu(g_pBestPlayer);

public EventDamage(const id)
{
if(get_playersnum() >= MIN_PLAYERS)
{
static pAttacker; pAttacker = get_user_attacker(id);
if(is_user_alive(pAttacker) && cs_get_user_team(pAttacker) != cs_get_user_team(id) && pAttacker != id) g_iPlayerDamage[pAttacker] += read_data(2);
}
}

public EventDeathMsg()
{
if(get_playersnum() >= MIN_PLAYERS)
{
new pKiller = read_data(1);
g_iPlayerFrags[pKiller]++;
}
}

public EventRoundEnd()
{
if(get_playersnum() >= MIN_PLAYERS)
{
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);
}
}
}

Вот код, чтобы нормально скомплировать плагин.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя barabak
сообщение 14.5.2014, 16:22
Сообщение #57
Стаж: 12 лет

Сообщений: 46
Благодарностей: 10
Полезность: 162

Цитата(Developer @ 14.4.2014, 1:08) *
Тут 2 ошибки lol.gif



Вот: [attachment=24720:best_player.sma]Флаги указываются в #define EXCLUDE_FLAGS, строку нужно раскомментировать, несколько флагов разделять символом |.

Заодно, думаю, поправил оба бага:



Тестируйте ;)


Не хватает сообщения о том что игрок ничего не выбрал случайно открываешь меню покупки оружия и меню пропадает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.5.2014, 16:58
Сообщение #58
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Много геморроя из-за этой мелочи.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 3.6.2014, 12:07
Сообщение #59
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(Developer @ 14.4.2014, 2:08) *
Флаги указываются в #define EXCLUDE_FLAGS, строку нужно раскомментировать, несколько флагов разделять символом |.

Заодно, думаю, поправил оба бага

Сделал маленькое обновление:
• убрано ограничение в 16000$. это критично, если на сервере лимит поднят модулем PatchMoney;
• более короткий вариант строки 'Лучшим за раунд оказался %s, он будет награждён ', помещается почти всегда.

v0.2b 03.06.2014 Прикрепленный файл  best_player.sma ( 8,35 килобайт ) Кол-во скачиваний: 339


Отредактировал: Safety1st, - 3.6.2014, 15:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя firante
сообщение 3.6.2014, 12:08
Сообщение #60


Стаж: 10 лет

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

Safety1st,
Как правильно прописать флаги ADMIN_BAN | ADMIN_LEVEL_H ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
9 страниц V  « 2 3 4 ... 7 8 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: