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

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

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

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

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

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

, Награждение лучшего игрока за раунд.
Статус пользователя qpi3ik
сообщение 1.3.2015, 16:59
Сообщение #21


Стаж: 10 лет

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

Короче я понял в чем баг. Если один и тот же человек наносит много демага то его результаты плюсуються.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 1.3.2015, 19:14
Сообщение #22


Стаж: 10 лет

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

qpi3ik, Попробуйте данную версию.
Прикрепленные файлы:
Прикрепленный файл  nice_player_bonus.sma ( 6,61 килобайт ) Кол-во скачиваний: 60


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


Стаж: 10 лет

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

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

Dukkhaz0r, можешь сделать что бы у кого вип флаг не выдавался бонус?


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


Стаж: 10 лет

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

kennybear, могу, но зачем?


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
ekkko
сообщение 1.3.2015, 21:13
Сообщение #25
Стаж: 9 лет 4 месяца

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

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


Стаж: 10 лет

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

Как сделать что бы выбор был не на кнопках 5 и 6 а на 1 и 2?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kennybear
сообщение 1.3.2015, 22:04
Сообщение #27


Стаж: 10 лет

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

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

Dukkhaz0r, хотя ладно,если не нужен бонус отмену нажмут,не умрут


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


Стаж: 10 лет

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

qpi3ik,
Код:
#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_1|MENU_KEY_2

//АК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_iKills[MAX_PLAYERS + 1];
new g_iDamage[MAX_PLAYERS + 1];
new g_pCvarRoundAccess;
new g_pCvarMinPlayers;

new g_iSayText

const RESET = 0

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

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 );
RegisterHam( Ham_Killed, "player", "fw_HamKilled" );

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

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

g_iSayText = get_user_msgid( "SayText" );
}

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_iKills[id] = 0
g_iDamage[id] = 0
}

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

public fw_HamKilled( victim, attacker, corpse )
{
if( attacker != victim && get_user_team(victim) != get_user_team(attacker) )
g_iKills[attacker]++;
}

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++;
}

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] Отлично! Лучший результат за прошлый раунд: <<^4%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)
{
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, "\r1.\wВзять приз^n" );
iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\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 0:
{
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] Поздравляем! <<^4%s^1>>, выиграл ^4%s^1 за лучший результ", g_szBestPlayerName, g_szWeaponData[szRandomPrice][sz_DataName] );
}
case 1:
{
ColorChat( 0, GREEN, "^1[^4Бонус^1] Странно, что ^4%s^1 отказался от приза", g_szBestPlayerName );
}
}

g_iBestPlayer = RESET;
Reset();
}

Reset()
{
arrayset( g_iKills, RESET, MAX_PLAYERS + 1 );
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)
}
}
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, g_iSayText, _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}


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


Стаж: 11 лет

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

В логах какую то ошибку выдал
Скрытый текст
L 03/02/2015 - 02:40:58: Start of error session.
L 03/02/2015 - 02:40:58: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20150302.log")
L 03/02/2015 - 02:40:58: [AMXX] Displaying debug trace (plugin "bonus.amxx")
L 03/02/2015 - 02:40:58: [AMXX] Run time error 4: index out of bounds
L 03/02/2015 - 02:40:58: [AMXX] [0] bonus.sma::fw_HamKilled (line 96)
L 03/02/2015 - 03:59:38: [AMXX] Displaying debug trace (plugin "bonus.amxx")
L 03/02/2015 - 03:59:38: [AMXX] Run time error 4: index out of bounds
L 03/02/2015 - 03:59:38: [AMXX] [0] bonus.sma::fw_HamKilled (line 96)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 14:49
Сообщение #30


Стаж: 10 лет

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

Ошибка часто появляется?


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


Стаж: 11 лет

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

Цитата(Dukkhaz0r @ 2.3.2015, 16:49) *
Ошибка часто появляется?

Нет, вот ночью была ошибка. До этого вчера днем еще
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 15:07
Сообщение #32


Стаж: 10 лет

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

offtop2012, кажется знаю в чем ошибка. Сегодня вечером выложу фикс.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя offtop2012
сообщение 2.3.2015, 15:11
Сообщение #33


Стаж: 11 лет

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

Цитата(Dukkhaz0r @ 2.3.2015, 17:07) *
offtop2012, кажется знаю в чем ошибка. Сегодня вечером выложу фикс.

Отлично
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
amxservak
сообщение 2.3.2015, 15:15
Сообщение #34
Стаж: 13 лет

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

Цитата(Dukkhaz0r @ 1.3.2015, 22:00) *
kennybear, могу, но зачем?

Чтоб не сбивать вип меню в начале раунда.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 17:21
Сообщение #35


Стаж: 10 лет

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

amxservak, убирайте автоматический показ vip меню.

Обновление
-Исправлен баг с добавлением урона(спасибо qpi3ik).
-Убрал некоторые ошибки логах(спасибо offtop2012).

Архив желательно перекачать из первого поста.


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


Стаж: 10 лет

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

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

Dukkhaz0r, было бы здорово если допустим лучшем игроком стал админ,об этом так же бы вышло в чат,но меню с бонусом ему не открывалось,зачем админам и випам бонусы?)а так плагин нравится)


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


Стаж: 10 лет

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

Оффтоп
kennybear, а админы что не люди? Им почему бонусы не нужны?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 18:45
Сообщение #38


Стаж: 10 лет

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

Перед строкой:
Код:
static szMenu[512], iLen

Добавь:
Код:
if(get_user_flags(id) & ADMIN_BAN) return PLUGIN_HANDLED


Где ADMIN_BAN указываешь флаг, которому не будет показывать меню(по умолчанию: d).


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
amxservak
сообщение 2.3.2015, 18:47
Сообщение #39
Стаж: 13 лет

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

Цитата(Dukkhaz0r @ 2.3.2015, 18:21) *
amxservak, убирайте автоматический показ vip меню.


cbf1b2bfde1a.gif Лень вам или не умеете добавлять данную функцию виднее только вам... А убирать автоменю в начале раунда это как минимум глупо.Проще поставить плагин в котором выдача убрана. А вам удачи :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kennybear
сообщение 2.3.2015, 18:51
Сообщение #40


Стаж: 10 лет

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

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

Bloo, им оружие не нужно,у них свое меню открывается,а для обычных игроков это в самый раз бонус)

Цитата(Dukkhaz0r @ 2.3.2015, 19:45) *
Перед строкой:
Код:
static szMenu[512], iLen

Добавь:
Код:
if(get_user_flags(id) & ADMIN_BAN) return PLUGIN_HANDLED


Где ADMIN_BAN указываешь флаг, которому не будет показывать меню(по умолчанию: d).

я на добовляю вообще ниче работать не будет :D


АРЕНА ГЕЙМЕРОВ [21] 2014-2020
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
12 страниц V   1 2 3 ... 10 11 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: