Ув мастера ! Помогите реализовать систему, а то уж башку сломал... поспать бы!
Вообщем тема такая:
есть битва игроку доступно 10 ударов
кулдаун 30мин
но я хочу сделать так чтоб каждые 3мин начисляло +1 бой
и скажем зашел через час а у тебя +10 боёв как положено
а если через скажем 15мин +5...
ну вообщем была бы задача!
Так то можно на условиях написать километр говнокода но если его ставить то можно прыгать смело с крыши
Мож кто сталкивался с подобным и поможет.. КРОНОПОТАМ не вариант!
Добавлено 27.03.17 в 06:34:42:
Есть такой кусок (начисление енергии):
<?php
$_times = 2;
if($Viking['last_update'] < (time() - $_times)){
$Go_last = $db->query("UPDATE `users` SET `last_update`= ? WHERE `id`= ?",array(time(),$Viking['id']));
}
if((time() - $Viking['last_update']) > $_times) {
$Go_last1 = $db->query("UPDATE `users` SET `last_update`= ? WHERE `id`= ?",array(time(),$Viking['id']));
if($Viking['e'] < $Viking['e_max']) {
$_hp = (((time() - $Viking['last_update']) / $_times) - 1 );
if($_hp > $Viking['e_max']) {
$_hp = $Viking['e_max'] - $Viking['e'];
}
$Go_last_e = $db->query("UPDATE `users` SET `e`= ? WHERE `id`= ?",array(($Viking['e']+$_hp),$Viking['id']));
}
if($Viking['e'] > $Viking['e_max']) {
$Go_la_e = $db->query("UPDATE `users` SET `e`= ? WHERE `id`= ?",array(($Viking['e']=$Viking['e_max']),$Viking['id']));
}
if($Viking['e'] < 0) {
$Go_la_e0 = $db->query("UPDATE `users` SET `e`= ? WHERE `id`= ?",array(($Viking['e']=0),$Viking['id']));
}
}
?>
Мож с него че слепить?
$time_boy=время последнего боя;
- это из бд
потом типо
$dostupno_boev=(time()-$time_boy)/180;
if ($dostupno_boev > 15) $dostupno_boev=15;
чет типо этого
- это че в бошку пришло
так то все в нем ясно ..
Кроме расчета
<?php
$_hp = (((time() - $Viking['last_update']) / $_times) - 1 );
if($_hp > $Viking['e_max']) {
$_hp = $Viking['e_max'] - $Viking['e'];
}
?>
ЗэК, ну да реал в твоем куске есть смысл.. щас напишу поробую!
Добавлено 27.03.17 в 07:25:19:
Вот так написал:
<?php
$Upboi = (time()-$Tur_sys['ar_update'])/300;
if(($Upboi+$Tur_sys['boi'])>10){
$Up_boi = 10;
}else{
$Up_boi = round($Upboi);
}
if($Tur_sys['boi'] < 10 && $Upboi > 0 ){
$up_arena_boi = $db->query("UPDATE `tur` SET `boi`=? WHERE `user`=?",array(($Tur_sys['boi']+$Up_boi),$Viking['id']));
}
}
?>