![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 2.05.2011 Ostrzeżenie: (30%) ![]() ![]() |
Mam system walki w grze, niestety wygląda to fatalnie. Gdy u gracza uruchamia się walka, od razu wyświetla wszystkie kolejki (ile on zadał dmg mobowi i ile mob mu), dzieje się to od razu.
Nie chodzi mi np. o to by co określoną liczbę sekund ładował się element z pętli odpowiadający za obliczenie wywieranego dmg na mobie - Tylko po prostu żeby co określony czas np. pół sekundy wyświetlało się echo z informacją o tym ile gracz zadał DMG mobowi / mob graczowi. W skrócie: ma to działać po stronie przeglądarki, nie serwera... samo odkrywanie "echo"... dla samego efektu. Edit, mam już to: Kod <script type="text/javascript"> function display() { document.getElementById("graczatak").innerHTML += ""; } window.setInterval(display, 1000);</script> </script> i potem w kodzie mma tak: echo "<div id='graczatak'> + Zadałeś przeciwnikowi <font color = '#7ffa88'>".$dam."</i></font> DMG<br></div>"; niestety nie pojawia mi się te echo w odstępach czasowych mimo poprawności kodu, dodam że te echo jest w pętli while, to może być tego przyczyną ? cały kod wygląda tak: Kod $bonus = floor($oGracz['atak'] / $potwor['obrona']); if($bonus > 2) $bonus = 2; $oGracz['omin'] = floor($oGracz['omin'] * $bonus); $oGracz['omax'] = floor($oGracz['omax'] * $bonus); $bonus = floor($potwor['atak'] / $oGracz['obrona']); if($bonus > 2) $bonus = 2; $potwor['omin'] = floor($potwor['omin'] * $bonus); $potwor['omax'] = floor($potwor['omax'] * $bonus); while(($oGracz['zycie'] > 0) && ($potwor['zycie'] > 0)){ $czas ++; $dam =rand($oGracz['omin'],$oGracz['omax']) - $potwor['absorpcja']; if($dam < 1) $dam = 1; $potwor['zycie'] -=$dam; echo "<div id='graczatak'> + Zadałeś przeciwnikowi <font color = '#7ffa88'>".$dam."</i></font> DMG<br></div>"; co w tym powoduje to że nie wyświetla danego echa w odstępach czasowych ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 2.05.2011 Ostrzeżenie: (30%) ![]() ![]() |
aha rozumiem, ale chce by było jednak obowiązkowe JS bo i tak gracz nawet jak by miał wyłączone JS dostanie potem raport o tym że odbyła się walka z częściowym jej opisem
aha i ten kod nie działa jednak, nic się nie pojawia Kod <?php $aKomunikat = array(); while(($oGracz['zycie'] > 0) && ($potwor['zycie'] > 0)){ $czas ++; $dam =rand($oGracz['omin'],$oGracz['omax']) - $potwor['absorpcja']; if($dam < 1) $dam = 1; $potwor['zycie'] -=$dam; $aKomunikat[] = "\"<div id='graczatak'> + Zadałeś przeciwnikowi <font color = '#7ffa88'>".$dam."</i></font> DMG<br></div>\""; // DODAŁEM JESZCZE CYCTATY W WYŚWIETLANYM KODZIE HTML - ZOSTANIE WYŚWIETLONY PÓŹNIEJ } ?> <script type="text/javascript"> var aKomunikaty = [ <?php echo implode(',', $aKomunikat);?> ]; var i = 0, iL = aKomunikaty.length; var interval; function display() { if(i<iL) document.getElementById("graczatak").innerHTML += aKomunikaty[i++]; if(i===iL) clearInterval(interval); }; interval = setInterval(display, 1000); </script> to w ogóle nie działa Ten post edytował nakers2 31.05.2011, 17:48:13 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 19:58 |