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

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

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

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

Есть пару вопросов по функциям

Статус пользователя vovan4ik1997
сообщение 30.6.2013, 14:12
Сообщение #1


Стаж: 13 лет

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

Есть небольшие задумки по плагинам вот решил уточнить.
1.Как реализовать систему 2\3.Подробнее есть игрок ему админ может выдать оружие, пишется 1\3, потом еще раз выдал уже пишет 2\3 )
Второй вопрос забыл,как вспомню напишу)
Спасибо за внимание и помощь)


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя neverminde
сообщение 30.6.2013, 18:13
Сообщение #2


Стаж: 15 лет

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

Цитата(vovan4ik1997 @ 30.6.2013, 15:12) *
Есть небольшие задумки по плагинам вот решил уточнить.
1.Как реализовать систему 2\3.Подробнее есть игрок ему админ может выдать оружие, пишется 1\3, потом еще раз выдал уже пишет 2\3 )
Второй вопрос забыл,как вспомню напишу)
Спасибо за внимание и помощь)

Именно 2/3 ? а что будет, если 3/3 ? Если это то о чем я думаю, то просто добавить в плагин счетчик и пару условий, не хитрое дело
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 30.6.2013, 22:05
Сообщение #3


Стаж: 13 лет

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

Насчет счетчика я понял,но как сделать что бы запоминало именно этого игрока.Например админ выдал игроку А дигл, и что бы записалась эта выдача для него.А 3\3 будет тоже выдача, а вот 4 раз уже напишет "Закончилось" ну или что то того =)


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя neverminde
сообщение 1.7.2013, 6:57
Сообщение #4


Стаж: 15 лет

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

Цитата(vovan4ik1997 @ 30.6.2013, 23:05) *
Насчет счетчика я понял,но как сделать что бы запоминало именно этого игрока.Например админ выдал игроку А дигл, и что бы записалась эта выдача для него.А 3\3 будет тоже выдача, а вот 4 раз уже напишет "Закончилось" ну или что то того =)

Например админ открывает меню со списком игроков, составляем список игроков с помощью цикла в теле функции(составления меню) вот так примерно:
Код:

static i

for(i = 1; i<=get_maxplayers(); i++)
{
get_user_name(i,name,31)
num_to_str(i,info,9)
new string[40]
menu_additem(menu,string,info)
...


В хэндлере получаем выбранный пункт, а как следствие id нужного игрока
Код:

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

new data[6], iName[64], access, callback
menu_item_getinfo( menu, item, access, data, 5, iName, 63, callback)

new player=str_to_num(data)


Осталось теперь выдать ему оружие по этому id

Отредактировал: neverminde, - 1.7.2013, 6:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 1.7.2013, 13:08
Сообщение #5


Стаж: 13 лет

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

Это я знал)

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

public plugin_init()
{
// Клиентская команда для вызова меню
register_clcmd("my_menu", "My_Menu")
}

public My_Menu(id)
{
// Сперва необходимо создать переменную для меню, с которой мы будем взаимодействовать в дальнейшем
new i_Menu = menu_create("\rPlayer menu:", "menu_handler")

// Необходимые переменные, которые понадобятся нам при выводе меню из игроков
new s_Players[32], i_Num, i_Player

// Переменные для хранения информации об игроках
new s_Name[32], s_Player[10]

// Получаем массив игроков
get_players(s_Players, i_Num)

// Цикл по всем игрокам
for (new i; i < i_Num; i++)
{
// Сохраняем текущего игрока в i_Player
i_Player = s_Players[i]

// Получаем имя и ID игрока
get_user_name(i_Player, s_Name, charsmax(s_Name))
num_to_str(i_Player, s_Player, charsmax(s_Player))

// Добавляем опцию по данному игроку
menu_additem(i_Menu, s_Name, s_Player, 0)

}

// Мы сформировали меню из игроков, присутствующих на сервере, теперь выводим его
menu_display(id, i_Menu, 0)
}

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)

// Получаем ID игрока, который был выбран в меню
new i_Player = str_to_num(s_Data)

// Проверяем, если игрок живой
if (is_user_alive(i_Player))
// Устанавливаем его здоровье в 100 HP
set_user_health(i_Player, 100)

menu_destroy(menu)
return PLUGIN_HANDLED
}

Ну вот выдал я ему по ид оружее, добавил к счетчику 1, а что потом?(если что, то тут я не ставил счетчик)Как то не дойдет до меня.Именно как записать на игрока выдача 2 раза оружия


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dasister
сообщение 1.7.2013, 17:17
Сообщение #6
Стаж: 17 лет

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

Перед выдачей оружия проверять счетчик на >= n и не выдавать оружие, если условие истинно. N - ограничение на выдачу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: