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

 
Ответить в эту темуОткрыть новую тему
> задержка на использование бутылок, способ установить задержку на разные бутылки
ScorpDL
сообщение 10.11.2016, 15:29
Сообщение #1


****

Apprentice
Сообщений: 122
Регистрация: 14.12.2015
Группа: Пользователи
Наличность: 0
Из: Томск
Пользователь №: 17.745
Возраст: 31



Появилось желание разделить обычные бутылки с зельем и магические, выстроить у них независимое время использования друг от друга, т.е один тип и второй тип.
Хотелось бы узнать как вообще работает система, использования бутылки, где мне отыскать функцию на таймер, возврат пустой бутылки.
Как я понял, это встроенная функция, при выпивании бутылки вешается 50 слой с таймером, т.к. не смог отыскать ее, м.б. я заблуждаюсь, проясните ситуацию?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 10.11.2016, 16:27
Сообщение #2


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8431
Пользователь №: 15.607



Цитата(ScorpDL @ 10.11.2016, 13:29) *

Появилось желание разделить обычные бутылки с зельем и магические, выстроить у них независимое время использования друг от друга, т.е один тип и второй тип.
Хотелось бы узнать как вообще работает система, использования бутылки, где мне отыскать функцию на таймер, возврат пустой бутылки.
Как я понял, это встроенная функция, при выпивании бутылки вешается 50 слой с таймером, т.к. не смог отыскать ее, м.б. я заблуждаюсь, проясните ситуацию?


50 слой? (IMG:style_emoticons/default/biggrin.gif) Не знаю, честно, правда или нет, но звучит это странно.
Если бутылки кастомные, создаёшь деф для бутылки, там в экшене @OnDoubleClick или как там на Сфере ( Вот тут чуть ниже весь список эвентов что на айтему вешаются ), смотришь время с тега ВыпилБутылкуХ на src ( тот кто дабл кликает ), если прошло 20 секунд ( твоя задержка ) ( тоест сравниваешь разницу во времени, настало ли уже время для питья следующей банки или нет), то продолжаешь алгоритм и выполняешь эффект бутылки, записываешь текущее время + задержку в тот-же тег, либо, если время ещё не прошло, выводишь сообщение что осталось столько-то секугд ( время что в теге - текущее время ).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ScorpDL
сообщение 10.11.2016, 17:04
Сообщение #3


****

Apprentice
Сообщений: 122
Регистрация: 14.12.2015
Группа: Пользователи
Наличность: 0
Из: Томск
Пользователь №: 17.745
Возраст: 31



Цитата(Aimed @ 10.11.2016, 16:27) *

50 слой? (IMG:style_emoticons/default/biggrin.gif) Не знаю, честно, правда или нет, но звучит это странно.
Если бутылки кастомные, создаёшь деф для бутылки, там в экшене @OnDoubleClick или как там на Сфере ( Вот тут чуть ниже весь список эвентов что на айтему вешаются ), смотришь время с тега ВыпилБутылкуХ на src ( тот кто дабл кликает ), если прошло 20 секунд ( твоя задержка ) ( тоест сравниваешь разницу во времени, настало ли уже время для питья следующей банки или нет), то продолжаешь алгоритм и выполняешь эффект бутылки, записываешь текущее время + задержку в тот-же тег, либо, если время ещё не прошло, выводишь сообщение что осталось столько-то секугд ( время что в теге - текущее время ).


я имел ввиду что то типо это:
[function consumepotion]
consumeone
serv.newitem i_bottle_empty
new.bounce
serv.newitem =i_handr_1
new.layer =50
new.type =t_spell
new.cont =<src.uid>
new.link =<src.uid>
new.attr =attr_magic | attr_move_never | attr_decay
new.timer =12
return 1
а вообще меня больше интересует как работают бутылки по дефолтным скриптам, весь процесс вот к примеру есть деф на итем:
[itemdef i_potion_agility]
id =i_bottle_empty
name =agility
type =t_potion
weight =2
resources=i_reag_blood_moss 2, i_bottle_empty
skillmake =alchemy 15.1

tdata1 =i_bottle_empty on=@create
color =05b
more1 =s_agility
more2 =30.0
CATEGORY =#_craft
SUBSECTION =potions
DESCRIPTION =agility

где сама функция/евент, которая имеет дабл клик, таймер и т.д.?
проще говоря, если я захочу изменить время между использованием бутылок, мне придется писать отдельно функцию?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 10.11.2016, 19:05
Сообщение #4


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8431
Пользователь №: 15.607



Цитата(ScorpDL @ 10.11.2016, 15:04) *

я имел ввиду что то типо это:
[function consumepotion]
consumeone
serv.newitem i_bottle_empty
new.bounce
serv.newitem =i_handr_1
new.layer =50
new.type =t_spell
new.cont =<src.uid>
new.link =<src.uid>
new.attr =attr_magic | attr_move_never | attr_decay
new.timer =12
return 1
а вообще меня больше интересует как работают бутылки по дефолтным скриптам, весь процесс вот к примеру есть деф на итем:
[itemdef i_potion_agility]
id =i_bottle_empty
name =agility
type =t_potion
weight =2
resources=i_reag_blood_moss 2, i_bottle_empty
skillmake =alchemy 15.1

tdata1 =i_bottle_empty on=@create
color =05b
more1 =s_agility
more2 =30.0
CATEGORY =#_craft
SUBSECTION =potions
DESCRIPTION =agility

где сама функция/евент, которая имеет дабл клик, таймер и т.д.?
проще говоря, если я захочу изменить время между использованием бутылок, мне придется писать отдельно функцию?


Это в ядре.
Смотри со строки 1750, в комментах ниже обьяснение
В more1 написано название функции хила, как и у заклинания маленького хила, оно будет работать как эффект. ПОтом в ядре ляжет на слой ( энумерацию на самом деле, под номером 50, ничего общего со слоями в УО не имеет ) флаг что банка выпита и там реальный таймер, один на все банки.

Так что в кратце - да, пиши для своих банок свои скрипты, по-моему все на Сфере именно так и делают. А там уж разделить можешь на столько разных типов, сколько сам захочешь.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ScorpDL
сообщение 10.11.2016, 19:13
Сообщение #5


****

Apprentice
Сообщений: 122
Регистрация: 14.12.2015
Группа: Пользователи
Наличность: 0
Из: Томск
Пользователь №: 17.745
Возраст: 31



благодарю
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 16.6.2024, 18:07
Designed by Nickostyle