Witam, posiadam gotowy skrypt i działa on praktycznie tak jak powinien... Jedynym mankamentem jest to że gdy doliczy do ostatniej godziny przestaje odliczać do tej pierwszej i cały czas widnieje napis "WAR IS NOW!!". Zaczyna dopiero odliczać na nowo gdy zakończy się dany dzień... :/

+ Skrypt: DF Counter
  1. <?php
  2. $hour_wars = array(14, 20, 02, 08);
  3. sort($hour_wars);
  4. $hour_now = date('H');
  5. $hour_next = 02;
  6.  
  7. foreach($hour_wars as $hour_war) {
  8. if($hour_war > $hour_now) {
  9. $hour_next = $hour_war;
  10. break;
  11. }
  12. }
  13.  
  14. $wartime = (mktime($hour_next, 0, 0) - time());
  15. ?>
  16.  
  17. countdown_x100 = <?=$wartime;?>;
  18. function convert_to_time_x100(secs_x100)
  19. {
  20. secs_x100 = parseInt(secs_x100);
  21. hh_x100 = secs_x100 / 3600;
  22. hh_x100 = parseInt(hh_x100);
  23. mmt_x100 = secs_x100 - (hh_x100 * 3600);
  24. mm_x100 = mmt_x100 / 60;
  25. mm_x100 = parseInt(mm_x100);
  26. ss_x100 = mmt_x100 - (mm_x100 * 60);
  27. if (hh_x100 > 23)
  28. {
  29. dd_x100 = hh_x100 / 24;
  30. dd_x100 = parseInt(dd_x100);
  31. hh_x100 = hh_x100 - (dd_x100 * 24);
  32. } else { dd_x100 = 0; }
  33. if (ss_x100 < 10) { ss_x100 = "0"+ss_x100; }
  34. if (mm_x100 < 10) { mm_x100 = "0"+mm_x100; }
  35. if (hh_x100 < 10) { hh_x100 = "0"+hh_x100; }
  36. if (dd_x100 == 0) { return (hh_x100+":"+mm_x100+":"+ss_x100); }
  37. else {
  38. if (dd_x100 > 1) { return (dd_x100+" days "+hh_x100+":"+mm_x100+":"+ss_x100); }
  39. else { return (dd_x100+" day "+hh_x100+":"+mm_x100+":"+ss_x100); }
  40. }
  41. }
  42. function do_cd_x100()
  43. {
  44. if (countdown_x100 < 0)
  45. {
  46. document.getElementById('war').innerHTML = "<b><span style='color: red;'><blink>WAR IS NOW!!</blink></span></b>";
  47. }
  48. else
  49. {
  50. document.getElementById('war').innerHTML = convert_to_time_x100(countdown_x100);
  51. setTimeout('do_cd_x100()', 1000);
  52. }
  53. countdown_x100 = countdown_x100 - 1;
  54. }
  55. document.write("<span id='war'></span>\n");
  56. do_cd_x100();

Wywołuje go poprzez:
  1. <b>VitalityDK</b> &nbsp; &nbsp; &nbsp; &nbsp;<script language="JavaScript" src="dfcounter.php" type="text/javascript"></script>


Czy jest ktoś wstanie coś z tym zrobić? I czy ewentualnie istnieje taka możliwość żeby godziny były czytane z serwera...

Żeby sprawdzić jak działa i do czego dokładnie jest ten skrypt, proszę wejść w poniższy link.

Cytat
Live Demo: - click -


Edit:
Gdy zamienię to:

  1. if (countdown_x100 < 0)
  2. {
  3. document.getElementById('war').innerHTML = "<b><span style='color: red;'><blink>WAR IS NOW!!</blink></span></b>";
  4. }
  5. else
  6. {
  7. document.getElementById('war').innerHTML = convert_to_time_x100(countdown_x100);
  8. setTimeout('do_cd_x100()', 1000);
  9.  
  10. }


na to:

  1. document.getElementById('war').innerHTML = convert_to_time_x100(countdown_x100);
  2. setTimeout('do_cd_x100()', 1000);


To odlicza dalej lecz nie wyświetla mi w ogóle napisu WAR IS NOW!! gdy zakończy odliczanie do jakiejkolwiek podanej godziny (14:00, 20:00, 02:00, 08:00)... A zależy mi żeby pokazywało sad.gif