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

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

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

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

Установка флага

Статус пользователя Nickk
сообщение 25.12.2012, 17:57
Сообщение #1
Стаж: 13 лет

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

Здравствуйте.

Подскажите пожалуйста, можно ли средствами AMXX :

1)Отследить время прибывания на сервере
2)Моментально установить какой либо один флаг игроку.

Спасибо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя mazdan
сообщение 25.12.2012, 18:00
Сообщение #2


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

1. можно
2. можно

про первое нужно уточнять про второе set_user_flags


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Nickk
сообщение 25.12.2012, 18:07
Сообщение #3
Стаж: 13 лет

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

mazdan, Про первое, что именно?
Время, с момента коннекта и до проверки.

2)Как ни странно, вообще ничего не нашел о данной функции.
Можно какой то мануальчик?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.12.2012, 18:17
Сообщение #4


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

get_user_time вернет время игрока на сервере http://amxxmodx.ru/core/amxmodxinc/190-get_user_time.html
set_user_flags(id,read_flags("abcde")) http://www.amxmodx.org/funcwiki.php?go=func&id=1372
Вы не описываете толком задачу, значит, наверное, понимаете что делаете.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nickk
сообщение 25.12.2012, 18:26
Сообщение #5
Стаж: 13 лет

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

Большое спасибо!
Последний вопрос : как сделать сравнение?
Если время игры меньше за n, то что то выполняется.


Что то вроде :

Код
new time = get_user_time(id)

if(тут сравнение)
{
code....
}
else
{
code...
}


Отредактировал: Nickk, - 25.12.2012, 18:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.12.2012, 18:34
Сообщение #6


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Код
if(get_user_time(id)<10)
{
делаем тогда что-то
}
else
{
тогда делаем что-то другое
}
Если стоит задача делать что-то с игроком через определенное время, то это делается через set_task()
Когда игрок входит на сервере вы делаете set_task(10.0,"funkciya",id ) когда игрок выходит делаете remove_task(id)
Таким образом когда игрок проведет на сервере 10.0 секунд выполнится функция funkciya, которая поставит или уберет флаги

но у вас вряд ли заработает так что-то, раз вы ничего толком не знаете. Ну как не заработает - покажете что там у вас =)


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nickk
сообщение 25.12.2012, 18:35
Сообщение #7
Стаж: 13 лет

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

Спасибо!

Отредактировал: Nickk, - 2.1.2013, 17:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nickk
сообщение 2.1.2013, 17:22
Сообщение #8
Стаж: 13 лет

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

Дабы не открывать новую тему:
Как можно вывести в переменную имена игроков, которые подходят под условие ?

Код
new peremennaya

public smth(id)

if(is_user_alive(id))
{

new name[33]
get_user_name(id, name, 32)

тут запись в переменную

}

client_print(id,print_chat, "Живые игроки : %s", peremennaya)


Отредактировал: Nickk, - 2.1.2013, 17:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 2.1.2013, 19:21
Сообщение #9


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Код
new peremennaya[33] //для одного игрока или peremennaya[32][33] для 32

public smth(id)

if(is_user_alive(id))
{

new name[33] // Это не нужно если дальше не работаете с name
get_user_name(id, name, 32) // вместо этого get_user_name(id, peremennaya, 32)  для одного игрока или get_user_name(id, peremennaya[id], 32) если нужно хранить для каждого игрока
//либо
peremennaya=name
//либо
peremennaya[id]=name
//Если задача вывести всех игроков то делается немного не так, надо цикл по игрокам живым сделать и сформировать строку общую
}

client_print(id,print_chat, "Живые игроки : %s", peremennaya)


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Nickk
сообщение 4.1.2013, 21:47
Сообщение #10
Стаж: 13 лет

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

А как можно отловить смену оружия ? Т.е. переключение между слотами ?
По идее, это по части Хама, но такого не нашел.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: