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

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

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

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

12 страниц V  « 2 3 4 ... 10 11 »

[Плагин] Nice Player Bonus. Аналог best player.

, Награждение лучшего игрока за раунд.
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 18:53
Сообщение #41


Стаж: 10 лет

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

amxservak, глупо это насильно выводить меню администратору в начале раунда. Ставьте другой плагин, пожалуйста.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kennybear
сообщение 2.3.2015, 18:55
Сообщение #42


Стаж: 10 лет

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

Меценат Меценат

Dukkhaz0r, можете сами эту строчку правильно добавить и сделать на флаг t ? пожалуйста))


АРЕНА ГЕЙМЕРОВ [21] 2014-2020
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 2.3.2015, 19:05
Сообщение #43


Стаж: 14 лет

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

Цитата(kennybear @ 2.3.2015, 19:55) *
Dukkhaz0r, можете сами эту строчку правильно добавить и сделать на флаг t ? пожалуйста))



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

#define MAX_PLAYERS 32

#if AMXX_VERSION_NUM < 186
#define FIX_MENU
#include <fakemeta>
const m_iMenu = 205;
#endif

const PRIMARY_WEAPONS_BIT_SUM =
(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)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

const KEYSMENU = MENU_KEY_4|MENU_KEY_6

//АК47,М16,AWP,Deagle,Scout,Пулемет, GALIL

enum _:WEAPON_DATA_SIZE
{
sz_DataName[32],
sz_DataItem[24],
i_Index,
i_DataAmmo
}

new g_szWeaponData[][WEAPON_DATA_SIZE] =
{
{ "AK47", "weapon_ak47", CSW_AK47, 90 },
{ "M4A1", "weapon_m4a1", CSW_M4A1, 90 },
{ "AWP", "weapon_awp", CSW_AWP, 30 },
{ "SCOUT", "weapon_scout", CSW_SCOUT, 90 },
{ "M249", "weapon_m249", CSW_M249, 200 },
{ "GALIL", "weapon_galil", CSW_GALIL, 90 },
{ "DEAGLE", "weapon_deagle", CSW_DEAGLE, 35 }
}

new g_iBestPlayer;
new g_iRoundCounter;
new szRandomPrice;
new g_szBestPlayerName[32];
new g_iDamage[MAX_PLAYERS + 1];
new g_pCvarRoundAccess;
new g_pCvarMinPlayers;

const RESET = 0

public plugin_init()
{
#define VERSION "1.3"
register_plugin( "BEST PLAYER PRIVATE", VERSION, "DUKKHAZ0R" );

register_cvar( "bp_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED )

register_logevent( "Event_Restart_Round", 2, "0=World triggered", "1&Restart_Round_", "1=Game_Commencing" );
register_logevent( "Event_New_Round", 2, "1=Round_Start" );
register_logevent( "Event_End_Round", 2, "1=Round_End" );

register_event( "Damage", "Event_Take_Damage", "b", "2!0", "3=0", "4!0" );

RegisterHam( Ham_Spawn, "player", "fw_HamSpawn_Post", .Post = 1 );

register_menucmd( register_menuid("price_menu"), KEYSMENU, "menu_handler" );

g_pCvarRoundAccess = register_cvar( "bp_round_access", "3" );
g_pCvarMinPlayers = register_cvar( "bp_minplayers", "5" );
}

public plugin_cfg()
{
new szMapPrefix[][] = { "35hp_", "1hp_", "awp_", "deathrun_" };
new szMapName[32]; get_mapname( szMapName, charsmax(szMapName) );

for( new i; i < sizeof( szMapPrefix ); i++ )
{
if( containi( szMapName, szMapPrefix[i] ) != -1 )
{
pause( "ad" );
break;
}
}
}

public client_disconnect(id)
{
g_iDamage[id] = 0;
}

public client_connect(id)
{
g_iDamage[id] = 0;
}

public Event_Take_Damage(id)
{
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_iDamage[pAttacker] += read_data(2);
}

public Event_New_Round()
{
g_iRoundCounter++;
Reset();
}

public Event_Restart_Round()
{
g_iRoundCounter = RESET;
}

public Event_End_Round()
{
if( g_iRoundCounter < get_pcvar_num( g_pCvarRoundAccess ) || get_playersnum() < get_pcvar_num( g_pCvarMinPlayers ) )
return;

new players[32], pnum, id, iDamage, iBestPlayerDamage;
get_players( players, pnum, "ch" );

for( new i; i < pnum; i++ )
{
id = players[i];

iDamage = g_iDamage[id];

if( !iDamage || iDamage < iBestPlayerDamage )
continue;

if( iDamage > iBestPlayerDamage )
{
g_iBestPlayer = id;
iBestPlayerDamage = iDamage;
}
}

if( g_iBestPlayer )
{
get_user_name( g_iBestPlayer, g_szBestPlayerName, charsmax(g_szBestPlayerName) );
ColorChat( 0, GREEN, "^1[^4Бонус^1] Лучший результат за прошлый раунд: ^3%s^1 - [^4%d урона^1]", g_szBestPlayerName, g_iDamage[g_iBestPlayer] );
}
}

public fw_HamSpawn_Post(id)
{
if( !is_user_alive(id) || id != g_iBestPlayer )
return;

ShowMenu(id)
}

ShowMenu(id)
{
Reset();

if(get_user_flags(id) & ADMIN_LEVEL_H) return PLUGIN_HANDLED

static szMenu[512], iLen;

szRandomPrice = random_num( 0, charsmax(g_szWeaponData) );

iLen = formatex( szMenu, charsmax(szMenu), "\wВаш приз: \r%s^n\dВзять свой приз?^n^n", g_szWeaponData[szRandomPrice][sz_DataName] );

iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r4.\wВзять приз^n" );
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r6.\wОтказаться от приза^n" );

#if defined FIX_MENU
set_pdata_int(id, m_iMenu, 0 );
#endif
show_menu( id, KEYSMENU, szMenu, -1, "price_menu" );
return PLUGIN_HANDLED;
}

public menu_handler(id, iKey)
{
switch(iKey)
{
case 3:
{
switch( szRandomPrice )
{
case 6: drop_weapons( id, 2 );
default: drop_weapons( id, 1 );
}

give_item( id, g_szWeaponData[szRandomPrice][sz_DataItem] );
cs_set_user_bpammo( id, g_szWeaponData[szRandomPrice][i_Index], g_szWeaponData[szRandomPrice][i_DataAmmo] );
ColorChat( 0, GREEN, "^1[^4Бонус^1] Поздравляем! ^3%s^1, выиграл ^4%s^1 за лучший результ!", g_szBestPlayerName, g_szWeaponData[szRandomPrice][sz_DataName] );
}
case 5:
{
ColorChat( 0, GREEN, "^1[^4Бонус^1] Странно, что ^3%s^1 отказался от приза!", g_szBestPlayerName );
}
}
g_iBestPlayer = RESET;
}

Reset()
{
arrayset( g_iDamage, RESET, MAX_PLAYERS + 1 );
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}



PS: А комплект брони и набор гранат будет реализован?

Отредактировал: SkiF-1, - 2.3.2015, 19:07
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 19:11
Сообщение #44


Стаж: 10 лет

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

SkiF-1,, пока не планировал, попробую сделать на выходных, когда будет время.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 2.3.2015, 20:41
Сообщение #45


Стаж: 10 лет

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

В Каких строчках изменить кнопки на 1 и 2?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 2.3.2015, 20:44
Сообщение #46


Стаж: 14 лет

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

Цитата(qpi3ik @ 2.3.2015, 21:41) *
В Каких строчках изменить кнопки на 1 и 2?

Логично?
Код:
const KEYSMENU = MENU_KEY_4|MENU_KEY_6


на

Код:
const KEYSMENU = MENU_KEY_1|MENU_KEY_2



Код:
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r4.\wВзять приз^n" );
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r6.\wОтказаться от приза^n" );


на

Код:
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r1.\wВзять приз^n" );
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\wОтказаться от приза^n" );


Отредактировал: SkiF-1, - 2.3.2015, 20:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя offtop2012
сообщение 3.3.2015, 7:36
Сообщение #47


Стаж: 11 лет

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

В ночном режиме через 30 раундов рестарт карты, а бонус выдает оружие ;) Реально как то сделать что бы плагин заново считывал? ( "bp_round_access", "3" );
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 3.3.2015, 8:07
Сообщение #48


Стаж: 10 лет

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

offtop2012, череэ 30 раундов меняется карта или просто рестарт? По сути Плагин поддерживает рестарты.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя offtop2012
сообщение 3.3.2015, 8:42
Сообщение #49


Стаж: 11 лет

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

Цитата(Dukkhaz0r @ 3.3.2015, 10:07) *
offtop2012, череэ 30 раундов меняется карта или просто рестарт? По сути Плагин поддерживает рестарты.

Просто рестарт, не поддерживает. Сам лично играл в это время
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя taulalan
сообщение 3.3.2015, 10:15
Сообщение #50


Стаж: 13 лет

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

Цитата(SkiF-1 @ 3.3.2015, 1:44)
Цитата(SkiF-1 @ 3.3.2015, 1:44) *
Логично?
Код:
const KEYSMENU = MENU_KEY_4|MENU_KEY_6


на

Код:
const KEYSMENU = MENU_KEY_1|MENU_KEY_2



Код:
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r4.\wВзять приз^n" );
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r6.\wОтказаться от приза^n" );


на

Код:
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r1.\wВзять приз^n" );
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\wОтказаться от приза^n" );

Меню появляется, призы не выдаются.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя l3x1s
сообщение 3.3.2015, 11:16
Сообщение #51


Стаж: 15 лет

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

Dukkhaz0r, было бы неплохо если добавили бы больше бонусов (деньги, гранаты+армор), бонусы для AES тоже как вариант. Одного оружия маловато
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 3.3.2015, 11:28
Сообщение #52


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

Стаж: 11 лет

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

Код:
#if AMXX_VERSION_NUM < 186

либо я чего-то не знаю, либо уже есть AMX 1.8.6
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 3.3.2015, 13:28
Сообщение #53


Стаж: 10 лет

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

GOOD FELLOW, ошибся немного.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя offtop2012
сообщение 4.3.2015, 0:31
Сообщение #54


Стаж: 11 лет

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

Цитата(taulalan @ 3.3.2015, 12:15) *
[spoiler=Цитата(SkiF-1 @ 3.3.2015, 1:44)][/spoiler]
Меню появляется, призы не выдаются.

+
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя l3x1s
сообщение 4.3.2015, 3:52
Сообщение #55


Стаж: 15 лет

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

Мой пост игнор? beee.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 4.3.2015, 6:22
Сообщение #56


Стаж: 10 лет

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

l3x1s, денег принципиально не добавляю в призы. Если все будет нормально, версию с гранатами + армор выложу сегодня.

Отредактировал: Dukkhaz0r, - 4.3.2015, 6:23


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 4.3.2015, 21:06
Сообщение #57


Стаж: 10 лет

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

Обновление
1. Исправил некритичный баг(спасибо GOOD FELLOW).
2. Добавил "армор + все гранаты" в список призов.

Архив в первом посте.

Отредактировал: Dukkhaz0r, - 4.3.2015, 21:08


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 4.3.2015, 21:21
Сообщение #58


Стаж: 14 лет

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

Цитата(Dukkhaz0r @ 4.3.2015, 22:06) *
Обновление
1. Исправил некритичный баг(спасибо GOOD FELLOW).
2. Добавил "армор + все гранаты" в список призов.

Архив в первом посте.

Спасибо, забрал.


ЗЫ: Озадачу ещё pardon.gif

Лучше сделать отдельно выдачу:

Код:
give_item( id, "weapon_hegrenade" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_smokegrenade" )


и отдельно:

Код:
give_item(id,"item_assaultsuit")


Так будет честнее и играбельней smile.gif

Отредактировал: SkiF-1, - 4.3.2015, 21:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 4.3.2015, 21:30
Сообщение #59


Стаж: 10 лет

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

SkiF-1, Так, теперь объясни мне, зачем делать отдельную выдачу?))
Всё же нормально выдает.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 4.3.2015, 21:35
Сообщение #60


Стаж: 14 лет

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

Dukkhaz0r, Значит так:
1)
Код:
cs_set_user_armor( id, 100, CS_ARMOR_VESTHELM )


Выдает только броню, без шлема(6-2)

2)

Код:
give_item( id, "weapon_hegrenade" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_smokegrenade" )
cs_set_user_armor( id, 100, CS_ARMOR_VESTHELM )


Слишком жирно для одного игрока)

а вот все по отдельности(Набор гранат и Полный армор) в самый раз)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
12 страниц V  « 2 3 4 ... 10 11 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: