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

> Требуется помощь..
oda128
сообщение 23.11.2013, 2:53
Сообщение #1


***

Группа: Пользователи
Наличность: 0
Пользователь №: 15.797



Доброго времени суток, форумчане.
Поставил себе задачу сделать следующую функцию:
Код

    Var Seconds := GetObjProperty( who, "onlinetimer" );

    Var Days;
    Var Hours;
    Var Minutes;

    //CalculateUpTime( Seconds, Days, Hours, Minutes );

    CalculateUpTime ( Seconds, Days, Hours, Minutes );

    If( !Seconds )
    Minutes := 0;
    Hours   := 0;
    Days    := 0;
    Endif

    var i;
    var create_zm;

  If( !GetObjProperty( who, "@Recieved" ) )
    if( Hours >= 5 )
//        for (i := Hours; i <= Hours; i := i + i)
    create_zm := CreateItemInBackpack( who, "СУВЕНИР", 1);
    SendSysMessage( who, "бла-бла-бла", 3, 55 );
    SetObjProperty( who, "@Recieved", 1 );
    print( "Recieved 1" );
//    endfor
    endif
  elseIf( GetObjProperty( who, "@Recieved" ) == 1 )
    if( Hours >= 10 )
//        for (i := Hours; i <= Hours; i := i + i)
    create_zm := CreateItemInBackpack( who, "СУВЕНИР", 1);
    SendSysMessage( who, "бла-бла-бла", 3, 55 );
    SetObjProperty( who, "@Recieved", 2 );
    print( "Recieved 2" );
//    endfor
    endif
  elseIf( GetObjProperty( who, "@Recieved" ) == 2 )
    if( Hours >= 15 )
//        for (i := Hours; i <= Hours; i := i + i)
    create_zm := CreateItemInBackpack( who, "СУВЕНИР", 1);
    SendSysMessage( who, "бла-бла-бла", 3, 55 );
    SetObjProperty( who, "@Recieved", 3 );
    print( "Recieved 3" );
//    endfor
    endif
endif


Как вы видите, данный кусок содержит следующее:
Если у чара нет проперти "@Recieved" и если его онлайн больше или равен 5 часам, мы дарим ему "СУВЕНИР".

Меня интересует, как сделать, чтобы каждые +5 часов, чару выдавался сувенир не прибегая к
elseif( GetObjProperty( who, "@Recieved" ) == 2 )
if( Hours >= 15 )
и т.п.

Ведь если таким образом прописать 500 часов онлайна - это во-первых огромный флуд, во-вторых геморой и нагрузка на скрипт.
Возможно ли это сделать с помощью for ? Если да, то пожалуйста, не затруднитесь и напишите мне этот кусок т.к. с фор не дружу..

Или может быть с case? Кто знает, подскажите как написать это...

С уважением.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
PolDev
сообщение 8.12.2013, 19:20
Сообщение #2


****

Группа: Пользователи
Наличность: 0
Пользователь №: 14.164
Возраст: 22



Да, но он сможет быть оффлайн до момента выдачи приза, а потом зайти перед выдачей...


--------------------
Оказываю услуги по скриптингу Pol серверов.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
RL_ka
сообщение 9.12.2013, 16:10
Сообщение #3


*****

Разработчик Injection
Сообщений: 472
Регистрация: 13.7.2013
Группа: Модераторы
Наличность: 14390
Из: Екатеринбург
Пользователь №: 16.211



Цитата(PolDev @ 8.12.2013, 17:20) *

Да, но он сможет быть оффлайн до момента выдачи приза, а потом зайти перед выдачей...


Не могу не согласиться, баг присутствует.
Правда я не совсем уверен что твоя проверка его исправит, но в любом случае нужно проверить(IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
oda128   Требуется помощь..   23.11.2013, 2:53
RL_ka   не совсем понял что значит "Меня интересует, ...   23.11.2013, 16:26
oda128   RL_ka, скрипт должен работать следующим образом: ...   23.11.2013, 17:17
RL_ka   Так ведь тогда это будет простейший скрипт while...   23.11.2013, 20:18
oda128   А как к этому всему добавить проверку на количеств...   23.11.2013, 21:11
RL_ka   для чего? скрипт запускается после входа в игру, ...   23.11.2013, 21:29
oda128   Чар зашел в игру, получил свой сувенир и вышел. Че...   23.11.2013, 21:32
RL_ka   Чар зашел в игру, получил свой сувенир и вышел. Ч...   23.11.2013, 21:49
oda128   RL_ka, а как мне привязать его к общему счетчику в...   23.11.2013, 21:52
RL_ka   Я тебе со всей уверенностью говорю что мой скрипт ...   23.11.2013, 21:59
oda128   Вот скрипт: logon.src use os; use uo; program Ch...   23.11.2013, 22:31
RL_ka   Так у тебя он почему спит то 15 секунд, а не new_s...   23.11.2013, 22:40
oda128   Это я ставил специально, чтобы посмотреть, изменит...   23.11.2013, 22:42
RL_ka   А, все понятно. Logon это критический скрипт, в не...   23.11.2013, 22:46
oda128   В своем исходнике, ты написал: i ++; Э...   23.11.2013, 22:53
RL_ka   В своем исходнике, ты написал: i ++; ...   23.11.2013, 22:54
oda128   Убрал пробел, та же самая ситуация.. А, все поня...   23.11.2013, 23:01
RL_ka   Параметры в скрипт нужно передать массивом. Буду д...   23.11.2013, 23:21
RL_ka   Собрал тебе пакет, всё проверено, всё работает. Р...   24.11.2013, 4:24
oda128   RL_ka, благодарю тебя за помощь. Всё работает как...   24.11.2013, 18:00
RL_ka   Вот, перечитай всё несколько разиков чтобы понять ...   25.11.2013, 3:38
oda128   Да, уже проанализировал. Скажи пожалуйста, я знаю ...   25.11.2013, 21:22
RL_ka   А для чего он тебе вообще сдался то? :blink: Его...   25.11.2013, 21:39
oda128   Дело в том, что я использую некоторые скрипты с 09...   25.11.2013, 23:33
RL_ka   Просто удалить парметр и использовать SystemFindOb...   26.11.2013, 0:00
oda128   RL_ka, понял, благодарю.   26.11.2013, 14:37
PolDev   Если на чара зациклить скрипт, то он при логауте ч...   27.11.2013, 17:30
RL_ka   Нет особой необходимости. CreateItemImBackpack вер...   28.11.2013, 11:56
PolDev   Я именно такой глупой проверкой его исправил у себ...   20.12.2013, 9:12


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

 

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