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

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> сцп для ивента раз в день
neiL
сообщение 22.4.2012, 15:17
Сообщение #1


****

Apprentice
Сообщений: 239
Регистрация: 18.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.395



кто-нибудь может подсказать, как сделать так, чтобы столб (тот же цтф) появлялся бы раз в день, к примеру, в 14:00 ?

Буду очень благодарен =)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 22.4.2012, 17:28
Сообщение #2


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



В f_onserver_timer делай проверку

Тока естественно в sphere.ini надо включить:

// Amount of minutes to call f_onserver_timer (0 disables this, default)
TimerCall=5 //1


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
neiL
сообщение 22.4.2012, 17:43
Сообщение #3


****

Apprentice
Сообщений: 239
Регистрация: 18.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.395



спасибо! =) а если по подробнее, то как это все делать-то надо?

Типо, как я понимаю, создаешь, к примеру, раунд шылд с аттр 090 и привязываешь к ниму этот самый f_onserver_timer (это event, я понимаю?) и дальше

on=@dclick
src.event f_onserver_timer
src.add i_stone_ctf

как-то так, да?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Wap
сообщение 22.4.2012, 18:06
Сообщение #4


**********

Администратор Форума
Сообщений: 3.003
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31651
Пользователь №: 9.227



f_onserver_timer запускается сам с интервалом(в минутах), указанным в sphere.ini.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
neiL
сообщение 22.4.2012, 18:12
Сообщение #5


****

Apprentice
Сообщений: 239
Регистрация: 18.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.395



Цитата(wap @ 22.4.2012, 17:06) *

f_onserver_timer запускается сам с интервалом(в минутах), указанным в sphere.ini.


что-то не доходит (IMG:style_emoticons/default/dry.gif) можно пример, пожалуйста? (IMG:style_emoticons/default/unsure.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WRWR
сообщение 22.4.2012, 18:21
Сообщение #6


*******

Adept
Сообщений: 986
Регистрация: 17.7.2007
Группа: Пользователи
Наличность: 0
Из: Город герой
Пользователь №: 9.946
Возраст: 33



сам напиши
[FUNCTION f_onserver_timer]
f_event_start блабала, тут же можешь проверку на время суток включить и тп


--------------------
Sphere56/Muls
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
neiL
сообщение 22.4.2012, 18:26
Сообщение #7


****

Apprentice
Сообщений: 239
Регистрация: 18.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.395



Цитата(WRWR @ 22.4.2012, 17:21) *

сам напиши
[FUNCTION f_onserver_timer]
f_event_start блабала, тут же можешь проверку на время суток включить и тп


это-то ясно, а вот как с этим временем? я это хочу увидеть(

типо, что надо писать тут:

[FUNCTION f_onserver_timer]
if< (!! время суток или что тут писать вообще? !!)
f_event_start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 22.4.2012, 18:46
Сообщение #8


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Ну как то так:

Код
[FUNCTION f_onserver_timer]
REF1=<UID.столб>
IF (<EVAL <SERV.RTime.Format %H>>==16) // показываем только в 4 часа, в пять часов пропадает
    IF (<REF1.ATTR>&attr_invis)
        REF1.ATTR &=~attr_invis
    ENDIF
ELSE
    IF !(<REF1.ATTR>&attr_invis)
        REF1.ATTR |=attr_invis
    ENDIF
ENDIF


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
neiL
сообщение 22.4.2012, 19:57
Сообщение #9


****

Apprentice
Сообщений: 239
Регистрация: 18.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.395



Цитата(Ozzy Osbourne @ 22.4.2012, 17:46) *

Ну как то так:

[FUNCTION f_onserver_timer]
REF1=<UID.столб>
IF (<EVAL <SERV.RTime.Format %H>>==16) // показываем только в 4 часа, в пять часов пропадает
IF (<REF1.ATTR>&attr_invis)
REF1.ATTR &=~attr_invis
ENDIF
ELSE
IF !(<REF1.ATTR>&attr_invis)
REF1.ATTR |=attr_invis
ENDIF
ENDIF
remove 1


а в конце такое не надо?

З.Ы. Вообще, изначально я думал получить сцп на то, чтобы столбик просто тупо появляся бы раз в 4 часа, к примеру... Ну думаю такое тоже покатит)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 22.4.2012, 20:16
Сообщение #10


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Зачем там remove? что ты собрался удалять?

Объясняю что из себя делает функция выше:
т.к. она запускается у нас по таймеру самой сферы, например каждые 5 минут - значит надо проверять какой текущий час идет. Если нужный нам час - удаляем у столбика который заведомо стоит где надо, атрибут invis. Если время сфере (час) не равняется заданному нами - значит надо проверить есть ли у столбика атрибут invis (скрыт ли столбик), если не скрыт - скрываем. Вот собственно и все.

Таким образом каждый день в 16-00 по указанному выше скрипту, указанный в REF1=<UID.столб> столб будет появлятся, а в 17 часов - он пропадет до следующих 16-00.

Погрешность +-TimerCall


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
neiL
сообщение 22.4.2012, 20:19
Сообщение #11


****

Apprentice
Сообщений: 239
Регистрация: 18.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.395



Цитата(Ozzy Osbourne @ 22.4.2012, 19:16) *

Зачем там remove? что ты собрался удалять?

Объясняю что из себя делает функция выше:
т.к. она запускается у нас по таймеру самой сферы, например каждые 5 минут - значит надо проверять какой текущий час идет. Если нужный нам час - удаляем у столбика который заведомо стоит где надо, атрибут invis. Если время сфере (час) не равняется заданному нами - значит надо проверить есть ли у столбика атрибут invis (скрыт ли столбик), если не скрыт - скрываем. Вот собственно и все.

Таким образом каждый день в 16-00 по указанному выше скрипту, указанный в REF1=<UID.столб> столб будет появлятся, а в 17 часов - он пропадет до следующих 16-00.

Погрешность +-TimerCall


все, понял! Огромное тебе спасибо! =)

У тебя есть может скайп?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 23.4.2012, 0:13
Сообщение #12


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Сори, но я не помогаю по скриптингу )) Мне в скайпе пол шарда поработать не дает) Так что создавай тему на этом форуме, там по наличию времени помогу я или другие (IMG:style_emoticons/default/smile.gif)


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
neiL
сообщение 23.4.2012, 23:40
Сообщение #13


****

Apprentice
Сообщений: 239
Регистрация: 18.12.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.395



Цитата(Ozzy Osbourne @ 22.4.2012, 23:13) *

Сори, но я не помогаю по скриптингу )) Мне в скайпе пол шарда поработать не дает) Так что создавай тему на этом форуме, там по наличию времени помогу я или другие (IMG:style_emoticons/default/smile.gif)


хорошо =)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Famous
сообщение 10.5.2012, 20:20
Сообщение #14


******

Expert
Сообщений: 635
Регистрация: 12.4.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 3.499



можно как то поставить опреденно в минутах?
например каждый день в 12:20 ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WRWR
сообщение 10.5.2012, 22:06
Сообщение #15


*******

Adept
Сообщений: 986
Регистрация: 17.7.2007
Группа: Пользователи
Наличность: 0
Из: Город герой
Пользователь №: 9.946
Возраст: 33



можно


--------------------
Sphere56/Muls
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Famous
сообщение 11.5.2012, 0:38
Сообщение #16


******

Expert
Сообщений: 635
Регистрация: 12.4.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 3.499



МОЖНО )))))))))

не проверял, так? IF (<EVAL <SERV.RTime.Format %H %M>>==12:20)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 11.5.2012, 0:45
Сообщение #17


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Я писал выше как. По аналогии работать с минутами

IF ((<EVAL <SERV.RTime.Format %H>>==12)&&(<EVAL <SERV.RTime.Format %M>>==20))
...
ENDIF


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Wap
сообщение 11.5.2012, 1:23
Сообщение #18


**********

Администратор Форума
Сообщений: 3.003
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31651
Пользователь №: 9.227



Цитата(Famous @ 10.5.2012, 22:38) *

МОЖНО )))))))))

не проверял, так? IF (<EVAL <SERV.RTime.Format %H %M>>==12:20)
Famous, ты меня удивляешь. Ты сколько уже скриптер, лет 10? И при этом такую чушь пишешь...


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Famous
сообщение 11.5.2012, 1:57
Сообщение #19


******

Expert
Сообщений: 635
Регистрация: 12.4.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 3.499



(IMG:style_emoticons/default/laugh.gif) я даже не знаю почему я так написал, наверно был не я

кстати, как дни тут выщитываются? %D цифры ? от 1 до 7 ? или ставится тупо число например 15ое %d 15 ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 11.5.2012, 13:20
Сообщение #20


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Естественно как порядковый номер дня в месяце, а не номер числа в неделе. Кстати эти все вопросы что б не ждать ответа на форуме очень легко проверить написав в игре

.SAY <EVAL <SERV.RTime.Format %D>>


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

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

 

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