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

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

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

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

Admin / VIP плагин

, Доработка нюансов
Статус пользователя noob1985
сообщение 4.3.2015, 2:38
Сообщение #1
Стаж: 11 лет

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

Всем доброго времени суток! Несколько месяцев назад запустил новый сервер, народ постоянный есть уже, онлайн в основном днём и вечерами, на выходных больше. Играют со всего мира. В общем решил как-то окупить буст сервера продажей админок и випок. Нашёл в интернете плагин и переделал под себя как мог, НО, остались недочёты. Возможно кто-то сможет помочь мне в доработке функций?

Принцип работы такой, что бонусы даются и Админам и Випам с Т флагом. То есть он стоит и у тех и у тех.
Все оружия берутся командами (/dgl - с 1 раунда) (/m4a1 - со второго) (/ak47 - со второго) ( /awp - с третьего)
Ну и даёт каждый раунд граныты, броню и дефюзкит.

НО! проблема в том, что при смене карты плагин отсчитывает первый раунд верно и после рестарта автоматического, когда уравниваются команды. Но если во время игры вдруг все вышли и остался Вип или Админ и зашли новые игроки, автоматически рестартится раунд, так как команды уравнялись и проблема в том, что ни у кого нет ничего кроме пистолета и гранат, а плагин этот раунд как первый уже не считает, можно взять хоть авп.

И вторая проблема в том, что можно набирать хоть по 3 оружия за раз и в любом месте на карте. А хотелось бы сделать так, чтобы можно было брать только 2 оружия, и не более 3х за раунд, чтобы каждое активное бы дропалось. Таким образом не будет стимула раскидывать пушки по карте и раздавать всем подряд.

Ну и мне кажется плагин отсчитывает только третий раунд как второй, потому что во втором я не могу взять ak47 или m4a1. В остальном всё устраивает!

Код:
#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#define VIP_FLAG ADMIN_LEVEL_H
new round_number
public plugin_init()
{
register_plugin("VIP/ADMIN", "1.0", "Noob*Berlin")
register_event("ResetHUD", "ResetHUD", "be")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_clcmd("say /dgl", "dgl")
register_clcmd("say /m4a1", "m4a1")
register_clcmd("say /ak47", "ak47")
register_clcmd("say /awp", "awp")
}

public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}
public VIP(TaskID)
{
new id = TaskID - 6910

if (is_user_admin(id))
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
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")
}

return PLUGIN_HANDLED
}
public event_round_start ( )
round_number++

public dgl ( id )
{

if ( ! ( get_user_flags ( id ) & VIP_FLAG) )
{
ChatColor ( id , "!g[SkillzOnly]!y ONLY FOR !team[VIP/ADMIN]!y!" );
return PLUGIN_HANDLED;
}


if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!g[SkillzOnly]!y YOU ARE!team [DEAD]!y!");
return PLUGIN_HANDLED;
}


give_item( id, "weapon_deagle" )
cs_set_user_bpammo( id , CSW_DEAGLE, 90 )

return PLUGIN_CONTINUE;
}


public m4a1 ( id )

{

if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!g[SkillzOnly]!y ONLY FOR !team[VIP/ADMIN]!y!" );
return PLUGIN_HANDLED;
}


if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!g[SkillzOnly]!y YOU ARE!team [DEAD]!y!");
return PLUGIN_HANDLED;
}

if ( round_number <= 3 )
{
ChatColor ( id , "!g[SkillzOnly]!y AVIABLE FROM !team[ROUND-2]!y!" );
return PLUGIN_HANDLED;
}


give_item( id, "weapon_m4a1" )
cs_set_user_bpammo( id , CSW_M4A1, 90 )

return PLUGIN_CONTINUE;
}

public ak47 ( id )
{

if ( ! ( get_user_flags ( id ) & VIP_FLAG) )
{
ChatColor ( id , "!g[SkillzOnly]!y ONLY FOR !team[VIP/ADMIN]!y!" );
return PLUGIN_HANDLED;
}


if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!g[SkillzOnly]!y YOU ARE!team [DEAD]!y!");
return PLUGIN_HANDLED;
}

if ( round_number <= 3 )
{
ChatColor ( id , "!g[SkillzOnly]!y AVIABLE FROM !team[ROUND-2]!y!" );
return PLUGIN_HANDLED;
}

give_item( id, "weapon_ak47" )
cs_set_user_bpammo( id , CSW_AK47, 90 )


return PLUGIN_CONTINUE;
}

public awp ( id )
{

if ( ! ( get_user_flags ( id ) & VIP_FLAG) )
{
ChatColor ( id , "!g[SkillzOnly]!y ONLY FOR !team[VIP/ADMIN]!y!" );
return PLUGIN_HANDLED;
}


if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!g[SkillzOnly]!y YOU ARE!team [DEAD]!y!");
return PLUGIN_HANDLED;
}

if ( round_number <= 4 )
{
ChatColor ( id , "!g[SkillzOnly]!y AVIABLE FROM !team[ROUND-3]!y!" );
return PLUGIN_HANDLED;
}


give_item( id, "weapon_awp" )
cs_set_user_bpammo( id , CSW_AWP, 30 )


return PLUGIN_CONTINUE;
}

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") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

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, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Отредактировал: Bloo, - 4.3.2015, 8:00
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 4.3.2015, 9:02
Сообщение #2


Стаж: 11 лет

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

Проще просто использовать другой плагин)там и ограничения по картам есть.
Vip SeVeN
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GANS2302
сообщение 4.3.2015, 10:02
Сообщение #3


Стаж: 11 лет

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

в вк мне напиши! Сделаю:)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 4.3.2015, 20:12
Сообщение #4
Стаж: 11 лет

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

лучше использовать меню
ниже выложу свои переделки


admin_vip

vip_give_deagle "0/1" (def "0")
vip_give_equip "0/1" (def "1")

1. Вип статус в табе
2. Выдача дигл в начале раунда (по умол. отключено)
3. Выдача набор гранат+броня+дифузер в начале раунда

* доступно только 2 го раунда
* пункты 2-3 доступно только "de_" и "cs_" картах(независимо от кваров)

admin_weapon_menu
меню оружейки с ограничениями

1 Galil
2 Famas
3 Ak47
4 M4a1
5 Awp
6 набор гранат

1-2 пункты доступно только 3-го раунда
3-4 доступно 4-го
5-6 только 5-го раунда будет доступным

* можно пользоваться один раз за раунд.
* если у вас руках на данный момент напр. Famas вы не можете взять Famas(шанс не будет утеряна)
* админ флаг для доступа "n"
можно изменить в исходнике
и некоторые настройки изменим под себя

команда для вызова weaponmenu
удобно если забандит bind v weaponmenu
* плагин
работает только "de_" и "cs_" картах
* основа кода от Safety1st


Отредактировал: Vaqtincha, - 4.3.2015, 20:51
Прикрепленные файлы:
Прикрепленный файл  admin_vip.sma ( 2,91 килобайт ) Кол-во скачиваний: 22
Прикрепленный файл  admin_weapon_menu.sma ( 6,8 килобайт ) Кол-во скачиваний: 23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя noob1985
сообщение 9.3.2015, 22:12
Сообщение #5
Стаж: 11 лет

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

Спасибо! Использую!

Отредактировал: Bloo, - 10.3.2015, 7:38
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: