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

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

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

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

Нужно написать плагин VIP

Статус пользователя adva
сообщение 18.6.2013, 19:15
Сообщение #1


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

Стаж: 12 лет

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

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

Всем привет! Может кто возьмется за написание вип плагина для 1.6 ?))

Нужно след:

1. Выбор оружия через команду vipmenu
2. Список оружия:
ак-47 + дигл
м4а1 + дигл
авп + дигл
фамас + дигл
взять все гаранаты
чтобы патронов было по максимуму
админ и вип не может выдать оружие кому-нибудь из списка игроков
3. Оружие заменяется на уже имеющиеся
4. Випу и админам выдается в каждом раунде фулл броня, дигл, гранаты, кусачки кт, ночное видение.
5. Надпись при нажатии на tab VIP
6. Воспользоваться оружейкой можно со 2 рауда
7. Использовать оружейку можно 2 раза за раунд, причем оружие заменяется. не в коем случае по 2 автомата быть не должно
8. Чтобы в отдельном файле.ini можно было добавлять список карт, где плагин не работал бы.

Вроде все.

Отредактировал: adva, - 18.6.2013, 19:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя adva
сообщение 19.6.2013, 0:13
Сообщение #2


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

Стаж: 12 лет

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

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

цена вопроса?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 19.6.2013, 1:59
Сообщение #3


Стаж: 14 лет

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

https://c-s.net.ua/forum/topic48997.html
https://c-s.net.ua/forum/topic39431.html


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predat0r
сообщение 19.6.2013, 6:01
Сообщение #4
Стаж: 14 лет

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

skype: zmpredator
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ds57042
сообщение 19.6.2013, 6:22
Сообщение #5
Стаж: 13 лет

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

Есть у меня похожий плагин, дописать немного можно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
mde...
сообщение 19.6.2013, 7:40
Сообщение #6
Стаж: 13 лет

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

Пиши в skype:task443
За рублей 50 сделаю :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя adva
сообщение 25.6.2013, 22:40
Сообщение #7


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

Стаж: 12 лет

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

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

Вообщем написал мне плагин mde..
Но: не доделал совсем децл. Может проблемы какие-хз, в онлайн не выходит. А так всё вроде хорошо.

Требуется помощь дописать совсем чуток:

Дело в том, что, когда пишешь в чате /adminka или /vip - выводятся motd окна. Но в них кодировка корявая, текст не читаем (текст на русском). Поправьте пожалуйста, если надо заплатить, скажите об этом.

Скрытый текст
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "vipM"
#define VERSION "1.0"
#define AUTHOR "mde"

#define ACCESS_FLAG ADMIN_LEVEL_H

#define INUM1 2
new iNum[33]
new g_roundCount


public plugin_init() {

new map[64]
get_mapname(map, 63);
if(equal(map, "$2000$") || equal(map, "$3000$") || equal(map, "35hp2") || equal(map, "aim_deagle"))
{
return
}
else
if(equal(map, "cs_deagle5") || equal(map, "awp_india") || equal(map, "aim_usp") || equal(map, "awp_map"))
{
return
}
else
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd ("vipmenu" , "cmd_showmenu")
register_event("HLTV", "logevent_round_start", "a", "1=0", "2=0")
register_clcmd("say /adminka","admin_motd",0,"- Admin motd.")
register_clcmd("say /vip","vip_motd",0,"- Vip MOTD.")
register_logevent("round_end", 2, "1=Round_End")
register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
register_logevent("StartRound", 2, "1=Round_Start")
register_event("ResetHUD", "ResetHUD", "be")
}
}

public cmd_showmenu(id)
{
{
if((get_user_flags(id) & ACCESS_FLAG))
vmenu(id)
}

}

public vmenu(id)
{
if(iNum[id] <= 0)
{
nChatPrint(id,"^4[VIP] ^1Вы уже воспользовались VIP меню ^4 2 ^1раза")
return PLUGIN_CONTINUE
}
if(g_roundCount < 2)

{

nChatPrint(id,"^4[VIP] ^1VIP меню доступно с^4 2 ^1раунда")
return PLUGIN_HANDLED

}

new i_Menu = menu_create("\yVIP меню", "menu_handler" )

menu_additem(i_Menu, "AK-47 + Deagle", "1")
menu_additem(i_Menu, "M4A1 + Deagle", "2")
menu_additem(i_Menu, "AWP + Deagle", "3")
menu_additem(i_Menu, "Famas + Deagle", "4")
menu_additem(i_Menu, "Все Гранаты", "5")
menu_additem(i_Menu, "16000 $", "6")

menu_setprop(i_Menu, 2, "Назад")
menu_setprop(i_Menu, 3, "Вперёд")
menu_setprop(i_Menu, 4, "Выход")

menu_display(id, i_Menu, 0)

iNum[id]--

return PLUGIN_HANDLED
}

public menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
new i_Key = str_to_num(s_Data)

switch(i_Key)
{
case 1:
{
if(is_user_alive(id))
{
strip_user_weapons (id)
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_knife")
client_print(id, print_center, "Вы взяли AK-47 + Deagle")

}
}
case 2:
{
if(is_user_alive(id))
{
strip_user_weapons (id)
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_knife")
client_print(id, print_center, "Вы взяли M4A1 + Deagle")
}
}
case 3:
{
if(is_user_alive(id))
{
strip_user_weapons (id)
give_item(id,"weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_knife")
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");
give_item(id, "item_thighpack");
client_print(id, print_center, "Вы взяли AWP + Deagle")
}
}
case 4:
{
if(is_user_alive(id))
{
strip_user_weapons (id)
give_item(id,"weapon_famas")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_knife")
client_print(id, print_center, "Вы взяли Famas + Deagle")
}
}
case 5:
{
if(is_user_alive(id))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}
}
case 6:
{
if(is_user_alive(id))
{
cs_set_user_money(id,16000)
}
}

}
return PLUGIN_HANDLED
}


public logevent_round_start()
{
new iPlayers[32], iNums
get_players(iPlayers, iNums) // Получаем игроков
for(new i; i < iNums; i++)
iNum[iPlayers[i]] = INUM1 // Устанавливаем число.
}

public StartRound()
{
new players[32], player, pnum;
get_players(players, pnum, "a");
for(new i = 0; i < pnum; i++)
{
player = players[i];
if(get_user_flags(player) & ACCESS_FLAG)
{
give_item(player, "weapon_hegrenade");
give_item(player, "weapon_flashbang");
give_item(player, "weapon_flashbang");
give_item(player, "weapon_smokegrenade");
give_item(player, "item_kevlar");
give_item(player, "item_assaultsuit");
give_item(player, "item_thighpack");
}
}
return PLUGIN_HANDLED
}

public eRestart()
{
g_roundCount = 0
}

public admin_motd(id,level,cid) {

if (!cmd_access(id,level,cid,1))
return PLUGIN_CONTINUE

show_motd(id,"adminka.txt","Как купить админку...")
return PLUGIN_CONTINUE
}

public vip_motd(id,level,cid) {

if (!cmd_access(id,level,cid,1))
return PLUGIN_CONTINUE

show_motd(id,"vip.txt","Как купить vip")
return PLUGIN_CONTINUE
}

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")

give_item(id,"item_thighpack")

}

return PLUGIN_HANDLED

}

public round_end()

g_roundCount++

stock nChatPrint(const id, const input[], any:...)

{

new nCount = 1, nNum[32]

static nMsgs[191]

vformat(nMsgs, 190, input, 3)

replace_all(nMsgs, 190, "!g", "^4")

replace_all(nMsgs, 190, "!n", "^1")

replace_all(nMsgs, 190, "!t", "^3")

if(id) nNum[0] = id; else get_players(nNum, nCount, "ch")

{

for(new i = 0; i < nCount; i++)

{

if(is_user_connected(nNum[i]))

{

message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, nNum[i])

write_byte(nNum[i])

write_string(nMsgs)

message_end()

}

}

}

}



+ при компиляции пишет еще это:

Скрытый текст
vipm.sma(1) : error 010: invalid function or declaration
vipm.sma(35) : warning 217: loose indentation
vipm.sma(37) : warning 217: loose indentation
vipm.sma(38) : warning 217: loose indentation
vipm.sma(69) : warning 217: loose indentation
vipm.sma(199) : warning 217: loose indentation
vipm.sma(213) : warning 217: loose indentation

1 Error.
Could not locate output file vipm.amx (compile failed).


Отредактировал: adva, - 25.6.2013, 22:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 26.6.2013, 4:50
Сообщение #8


Стаж: 14 лет

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

adva, у меня компилируется без ошибок.
А если попробовать adminka.txt и vip.txt сохранить в кодировке UTF-8?


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя looks12
сообщение 26.6.2013, 6:37
Сообщение #9


Стаж: 13 лет

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

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

Если не получится, я могу сделать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя adva
сообщение 26.6.2013, 23:09
Сообщение #10


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

Стаж: 12 лет

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

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

Преобразовал, но толку нет. На предыдущем ВИП плагине эти же motd отображались нормально)
+ еще заметил, на тех картах, где плагин не работает, не работает и эта функция say /vip , /adminka
Парни, если есть желание помогите )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: