{% else-1 %}
Обновить
* Тема закрыта!
1. [автор] (27 мар 2017, 06:29) [0/0] [0] [спам] [под]

Ув мастера ! Помогите реализовать систему, а то уж башку сломал... поспать бы!
Вообщем тема такая:
есть битва игроку доступно 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']));

}

}
?>
Мож с него че слепить?

2. (27 мар 2017, 06:36) [0/0] [0] [спам] [под]

$time_boy=время последнего боя;
- это из бд
потом типо
$dostupno_boev=(time()-$time_boy)/180;
if ($dostupno_boev > 15) $dostupno_boev=15;

чет типо этого
- это че в бошку пришло *

3. [автор] (27 мар 2017, 06:36) [0/0] [0] [спам] [под]

так то все в нем ясно ..
Кроме расчета
<?php

$_hp = (((time() - $Viking['last_update']) / $_times) - 1 );

if($_hp > $Viking['e_max']) {

$_hp = $Viking['e_max'] - $Viking['e'];

}

?>

4. [автор] (27 мар 2017, 06:37) [0/0] [0] [спам] [под]

а как ж + 1 бой (или скажем+3) просчитать?

5. (27 мар 2017, 06:39) [0/0] [0] [спам] [под]

ск-ко боёв далось за время?

6. [автор] (27 мар 2017, 06:41) [0/0] [0] [спам] [под]

ну чтоб скажем каждые 3 мин +1 бой начислялся

7. (27 мар 2017, 06:46) [0/0] [0] [спам] [под]

ну так $dostupno_boev - счетает

8. [автор] (27 мар 2017, 06:47) [0/0] [0] [спам] [под]

Гм надо протестировать..

9. [автор] (27 мар 2017, 06:48) [0/0] [0] [спам] [под]

ЗэК, ну да реал в твоем куске есть смысл.. щас напишу поробую!
Добавлено 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']));
}
}
?>

10. [автор] (27 мар 2017, 07:25) [0/0] [0] [спам] [под]

Работает вообще огонь!

  • 1 из 1
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений