Доброго времени суток, форумчане.
Поставил себе задачу сделать следующую функцию:
Код
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? Кто знает, подскажите как написать это...
С уважением.