Плмлгите Пожалуйста

Статус
В этой теме нельзя размещать новые ответы.

demonxx

Новичок
Репутация
0 / 42
echo"</td></tr></table>

<table width=100% cellspacing=0 cellpadding=5><tr><td align=center>
Вы можете перековать Ваши золотые монеты в слитки золота..
";
if ($stat[proff]<>2) {
echo "<font color=red>Для перековки золотых монет в слитки золота необходимо иметь определенные навыки в кузнечном деле..</font>";
} else {
if ($stat['o_time']>$now) {
echo"Процесс производства начат! По окончанию производства у вас будет на 1 слиток больше...
<script src='i/time.js'></script>
<center><table cellspacing=0 cellpadding=3>
<tr><td><font color=red>Оставшееся время производства:</font></td>
<td id=repair style='COLOR: red; FONT-WEIGHT: Bold; TEXT-DECORATION: Underline'></td></tr></table>
<script>ShowTime('repair','".($stat['o_time']-$now)."','2');</script>";
} else {
mysql_query("UPDATE players set o_time=0 where id=$stat[id]");
echo "<TABLE cellspacing=0 cellpadding=0 border=0 width=60%>
<FORM ACTION='' METHOD=GET>
<TR><TD align=left>
<FIELDSET><LEGEND>Доступные для выковки слитки</LEGEND>
<TABLE border=0 cellpadding=0 cellspacing=0 width=100%><TR>
<TR><TD align=center valign=center>Время производства: 3 минуты</TD></TR>
<TR><TD align=center>Выковано слитков: ".$stat['f_counter']."</TD></TR>
<TR><TD align=center valign=center><INPUT type=submit class=input value='Выковать 1 слиток' style='WIDTH: 130px' name=CreateSlitok></TD></TR>
</TABLE></FIELDSET></TD></TR></FORM></TABLE>"


какая Тут ошибка что не выдаёт эту функцию в кузницэ. а обновляет экран постоянно есле нетрудно помогите.. я просто не знаю что именно искать,
буду блогодарен :) соединение вроде есть :)
 
Код:
echo"</td></tr></table>

<table width=100% cellspacing=0 cellpadding=5><tr><td align=center>
[b]Вы можете перековать Ваши золотые монеты в слитки золота..[/b]
";
if ($stat[proff]<>2) {
echo "<font color=red>Для перековки золотых монет в слитки золота необходимо иметь определенные навыки в кузнечном деле..</font>"; 
} else {
if ($stat['o_time']>$now) {
echo"Процесс производства начат! По окончанию производства у вас будет на [b]1[/b] слиток больше...
<script src='i/time.js'></script>
<center><table cellspacing=0 cellpadding=3>
<tr><td><font color=red>[b]Оставшееся время производства:[/b]</font></td>
<td id=repair style='COLOR: red; FONT-WEIGHT: Bold; TEXT-DECORATION: Underline'></td></tr></table>
<script>ShowTime('repair','".($stat['o_time']-$now)."','2');</script>";
} else { 
mysql_query("UPDATE players set o_time=0 where id='$stat[id]'");
echo "<TABLE cellspacing=0 cellpadding=0 border=0 width=60%>
<FORM ACTION='' METHOD=GET>
<TR><TD align=left>
<FIELDSET><LEGEND>Доступные для выковки слитки</LEGEND>
<TABLE border=0 cellpadding=0 cellspacing=0 width=100%><TR>
<TR><TD align=center valign=center>Время производства: [b]3[/b] минуты</TD></TR>
<TR><TD align=center>Выковано слитков: [B]".$stat['f_counter']."[/B]</TD></TR>
<TR><TD align=center valign=center><INPUT type=submit class=input value='Выковать 1 слиток' style='WIDTH: 130px' name=CreateSlitok></TD></TR>
</TABLE></FIELDSET></TD></TR></FORM></TABLE>"
 
Код:
echo"</td></tr></table>

<table width=100% cellspacing=0 cellpadding=5><tr><td align=center>
[b]Вы можете перековать Ваши золотые монеты в слитки золота..[/b]
";
if ($stat[proff]<>2) {
echo "<font color=red>Для перековки золотых монет в слитки золота необходимо иметь определенные навыки в кузнечном деле..</font>"; 
} else {
if ($stat['o_time']>$now) {
echo"Процесс производства начат! По окончанию производства у вас будет на [b]1[/b] слиток больше...
<script src='i/time.js'></script>
<center><table cellspacing=0 cellpadding=3>
<tr><td><font color=red>[b]Оставшееся время производства:[/b]</font></td>
<td id=repair style='COLOR: red; FONT-WEIGHT: Bold; TEXT-DECORATION: Underline'></td></tr></table>
<script>ShowTime('repair','".($stat['o_time']-$now)."','2');</script>";
} else { 
mysql_query("UPDATE players set o_time=0 where id='$stat[id]'");
echo "<TABLE cellspacing=0 cellpadding=0 border=0 width=60%>
<FORM ACTION='' METHOD=GET>
<TR><TD align=left>
<FIELDSET><LEGEND>Доступные для выковки слитки</LEGEND>
<TABLE border=0 cellpadding=0 cellspacing=0 width=100%><TR>
<TR><TD align=center valign=center>Время производства: [b]3[/b] минуты</TD></TR>
<TR><TD align=center>Выковано слитков: [B]".$stat['f_counter']."[/B]</TD></TR>
<TR><TD align=center valign=center><INPUT type=submit class=input value='Выковать 1 слиток' style='WIDTH: 130px' name=CreateSlitok></TD></TR>
</TABLE></FIELDSET></TD></TR></FORM></TABLE>"
Я зделал как у тебя . и мне выдоёт ошибку
Parse error: syntax error, unexpected T_BREAK, expecting ',' or ';' in \www\repair.php on line 400
 
вот целый Код
я ошибся добовляя в начале

echo"</td></tr></table>

<table width=100% cellspacing=0 cellpadding=5><tr><td align=center>
Вы можете перековать Ваши золотые монеты в слитки золота..
";
if ($stat[proff]<>2) {
echo "<font color=red>Для перековки золотых монет в слитки золота необходимо иметь определенные навыки в кузнечном деле..</font>";
} else {
if ($stat['o_time']>$now) {
echo"Процесс производства начат! По окончанию производства у вас будет на 1 слиток больше...
<script src='i/time.js'></script>
<center><table cellspacing=0 cellpadding=3>
<tr><td><font color=red>Оставшееся время производства:</font></td>
<td id=repair style='COLOR: red; FONT-WEIGHT: Bold; TEXT-DECORATION: Underline'></td></tr></table>
<script>ShowTime('repair','".($stat['o_time']-$now)."','2');</script>";
} else {
mysql_query("UPDATE players set o_time=0 where id=$stat[id]");
echo "<TABLE cellspacing=0 cellpadding=0 border=0 width=60%>
<FORM ACTION='' METHOD=GET>
<TR><TD align=left>
<FIELDSET><LEGEND>Доступные для выковки слитки</LEGEND>
<TABLE border=0 cellpadding=0 cellspacing=0 width=100%><TR>
<TR><TD align=center valign=center>Время производства: 3 минуты</TD></TR>
<TR><TD align=center>Выковано слитков: ".$stat['f_counter']."</TD></TR>
<TR><TD align=center valign=center><INPUT type=submit class=input value='Выковать 1 слиток' style='WIDTH: 130px' name=CreateSlitok></TD></TR>
</TABLE></FIELDSET></TD></TR></FORM></TABLE>";
}
}
 
А где в начале проверка на входящие данные get запросом
Что-то типа

if !empty(GET_['CreateSlitok']){
Тут уже выполняеться скрипт переплавки
}
 
А где в начале проверка на входящие данные get запросом
Что-то типа

if !empty(GET_['CreateSlitok']){
Тут уже выполняеться скрипт переплавки
}
там нету проверочки..
 
Я не любитель ИВ но примерно так, я с телефона пишу так что поправь
Там что-бы провирялось скока слитков хотел сделать, сколько есть и.т.д
Код:
echo"</td></tr></table>

<table width=100% cellspacing=0 cellpadding=5><tr><td align=center>
[b]Вы можете перековать Ваши золотые монеты в слитки золота..[/b]
";


if !empty(GET_['kolvo']){
if ($stat[proff]<>2) {
echo "<font color=red>Для перековки золотых монет в слитки золота необходимо иметь определенные навыки в кузнечном деле..</font>"; 
} else {
if ($stat['o_time']>$now) {
echo"Процесс производства начат! По окончанию производства у вас будет на [b]1[/b] слиток больше...
<script src='i/time.js'></script>
<center><table cellspacing=0 cellpadding=3>
<tr><td><font color=red>[b]Оставшееся время производства:[/b]</font></td>
<td id=repair style='COLOR: red; FONT-WEIGHT: Bold; TEXT-DECORATION: Underline'></td></tr></table>
<script>ShowTime('repair','".($stat['o_time']-$now)."','2');</script>";
} else { 
mysql_query("UPDATE players set o_time=0 where id=$stat[id]");
}
}
}
echo "<TABLE cellspacing=0 cellpadding=0 border=0 width=60%>
<FORM ACTION='' METHOD=GET>
<TR><TD align=left>
<FIELDSET><LEGEND>Доступные для выковки слитки</LEGEND>
<TABLE border=0 cellpadding=0 cellspacing=0 width=100%><TR>
<TR><TD align=center valign=center>Время производства: [b]3[/b] минуты</TD></TR>
<TR><TD align=center>Выковано слитков: [B]".$stat['f_counter']."[/B]</TD></TR>
<TR><TD align=center><input type='text' name='kolvo'>[/B]</TD></TR>
<TR><TD align=center valign=center><INPUT type=submit class=input value='Выковать слитки' style='WIDTH: 130px' name=CreateSlitok></TD></TR>
</TABLE></FIELDSET></TD></TR></FORM></TABLE>";
И я вобще не вижу где в коде обращение к базе, где убираются монеты, и появляются слитки
 
<div class='codemain' style='height:200px;white-space:pre;overflow:auto'>if !empty(GET_['CreateSlitok']){
if ($stat[proff]<>2) {
echo "<font color=red>Для перековки золотых монет в слитки золота необходимо иметь определенные навыки в кузнечном деле..</font>";
} else {
if ($stat['o_time']>$now) {
echo"Процесс производства начат! По окончанию производства у вас будет на 1 слиток больше...
<script src='i/time.js'></script>
<center><table cellspacing=0 cellpadding=3>
<tr><td><font color=red>Оставшееся время производства:</font></td>
<td id=repair style='COLOR: red; FONT-WEIGHT: Bold; TEXT-DECORATION: Underline'></td></tr></table>
<script>ShowTime('repair','".($stat['o_time']-$now)."','2');</script>";
} else {
mysql_query("UPDATE players set o_time=0 where id=$stat[id]");
}
}
}
echo "<TABLE cellspacing=0 cellpadding=0 border=0 width=60%>
<FORM ACTION='' METHOD=GET>
<TR><TD align=left>
<FIELDSET><LEGEND>Доступные для выковки слитки</LEGEND>
<TABLE border=0 cellpadding=0 cellspacing=0 width=100%><TR>
<TR><TD align=center valign=center>Время производства: 3 минуты</TD></TR>
<TR><TD align=center>Выковано слитков: ".$stat['f_counter']."</TD></TR>
<TR><TD align=center><input type='text' name='kolvo'>[/B]</TD></TR>
<TR><TD align=center valign=center><INPUT type=submit class=input value='Выковать слитки' style='WIDTH: 130px' name=CreateSlitok></TD></TR>
</TABLE></FIELDSET></TD></TR></FORM></TABLE>";
я вставил вот токой код.. который ты написал но у меня пишет *синтаксичискую* ошибку
 
а вот ещё начало *чуть не забыл <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>if (@$_GET['CreateSlitok']) {
$chkcod = mysql_fetch_array(mysql_query("SELECT credits,f_credits,f_counter FROM players WHERE id='".$stat['id']."'"));
if ($stat['credits']>=100) {
mysql_query("UPDATE players set o_time=".($now+180)." where id=".$stat['id']);
mysql_query("UPDATE players set credits=".($chkcod['credits']-100)." where id=".$stat['id']);
mysql_query("UPDATE players set f_credits=".($chkcod['f_credits']+1)." where id=".$stat['id']);
mysql_query("UPDATE players set f_counter=".($chkcod['f_counter']+1)." where id=".$stat['id']);
unset($_GET['CreateSlitok']);
unset($stat);
header("Location: repair.php");
}
else
$msg = "У Вас недостаточно денег для перековки в золотой слиток.";
}</div>


но это уже сама команда.. она находитса в другом месте..
 
в форме где поле актион постаь адрес вот етого скрипта:
Код:
if (@$_GET['CreateSlitok']) {
    $chkcod = mysql_fetch_array(mysql_query("SELECT credits,f_credits,f_counter FROM players WHERE id='".$stat['id']."'"));
      if ($stat['credits']>=100) {
        mysql_query("UPDATE players set o_time=".($now+180)." where id=".$stat['id']);
        mysql_query("UPDATE players set credits=".($chkcod['credits']-100)." where id=".$stat['id']);
        mysql_query("UPDATE players set f_credits=".($chkcod['f_credits']+1)." where id=".$stat['id']);
        mysql_query("UPDATE players set f_counter=".($chkcod['f_counter']+1)." where id=".$stat['id']);
        unset($_GET['CreateSlitok']);
        unset($stat);
        header("Location: repair.php"); 
      }
      else
        $msg = "У Вас недостаточно денег для перековки в золотой слиток.";
}
 
<script src='i/show_inf.js'></SCRIPT>
";


print"<table width=100% cellspacing=0 cellpadding=6 border=0><tr>
<td align=left>У Вас на счету: ".$stat['credits']." зм.

У Вас на счету: ".$stat['f_credits']." сз.
</td>

<td align=right valign=top>

<img src='i/refresh.gif' style='CURSOR: Hand' alt='Обновить' onclick='window.location.href=\"repair.php?tmp=\"+Math.random();\"\"'>

<img src='i/back.gif' style='CURSOR: Hand' alt='Вернуться' onclick='window.location.href=\"street1.php?room=101&tmp=\"+Math.random();\"\"'>

</td>
</tr>
</table>";



echo"
<body background='i/town/bgg2.gif'>
<link rel=stylesheet type='text/css' href='city.css'>

<table width='100%' border='0' cellspacing='0' cellpadding='0' align=center >
<tr height='22'>
<td width='20' align='right' valign='bottom'><img src='i/town/tbl-shp_sml-corner-top-left.gif' width='20' height='22' /></td>
<td class='tbl-shp_sml-top' valign='top' align='center'>
<table border='0' cellspacing='0' cellpadding='0' >
<tr height='22'>
<td width='27'><img src='i/town/tbl-usi_label-left.gif' width='27' height='22'/></td>
<td align='center' class='tbl-usi_label-center'>Кузница</td>
<td width='27'><img src='i/town/tbl-usi_label-right.gif' width='27' height='22'/></td>
</tr>
</table>
</td>
<td width='20' align='left' valign='bottom'><img src='i/town/tbl-shp_sml-corner-top-right.gif' width='20' height='22'/></td>
</tr>
<tr>
<td class='tbl-usi_left'></td>
<td class='tbl-usi_bg' valign='top' style='padding: 6 4 6 4'>

<table width=100% height=100% border=0 cellpadding=0 cellspacing=0>
<tr>
<td valign=top align=center colspan=3 width=100%>";

if ($stat['o_time']>$now) {
echo"<script src='i/time.js'></script>";
echo"<center><table cellspacing=0 cellpadding=3>
<tr>
<td><font color=red>Оставшееся время:</font></td>
<td id=know style='COLOR: red; FONT-WEIGHT: Bold; TEXT-DECORATION: Underline'></td>
</tr>
</table>
<script>ShowTime('know',",$stat['o_time']-$now,",1);</script>";
}

if (!empty($msg)) echo"<center><font color=red>$msg</font></center>
";

echo"
<table width=100% cellspacing=0 cellpadding=6>
<tr>

<td align=center width=16%><A"; if ($otdel == 1) echo" disabled>"; else echo" HREF='repair.php?otdel=1'>"; echo"Огранка камней</A></td><td width=1% align=center>|</td>
<td align=center width=16%><A"; if ($otdel == 2) echo" disabled>"; else echo" HREF='repair.php?otdel=2'>"; echo"Починка</A></td><td width=1% align=center>|</td>
<td align=center width=16%><A"; if ($otdel == 4) echo" disabled>"; else echo" HREF='repair.php?otdel=4'>"; echo"Создание предметов</A></td><td width=1% align=center>|</td>
<td align=center width=20%><A"; if ($otdel == 5) echo" disabled>"; else echo" HREF='repair.php?otdel=5'>"; echo"Гравировка и модернизация</A></td><td width=1% align=center>|</td>
<td align=center width=16%><A"; if ($otdel == 3) echo" disabled>"; else echo" HREF='repair.php?otdel=3'>"; echo"Кузнечное дело</A></td>
</tr>";

if (!empty($_GET['otdel'])) {
echo"<TR><TD COLSPAN=9 ALIGN=CENTER><HR COLOR='#CCCCCC'>";

switch ($_GET['otdel']) {
case 1: show(1); break;
case 2: show(2); break;
case 3: show(3); break;
case 4: include('inc/shop/_otdels_repair.php'); break;
case 5: show(5); break;
case 6: show(6); break;
default: echo"<B STYLE='COLOR: Red'>Что-то тут не так...[/B]"; break;
}

echo"</TD></TR>";
}


echo"
</table>
</td>
</tr>
</table>

</td><td class='tbl-usi_right' align=left></td>
</tr>

<tr height='18'>
<td width='20' align='right' valign='top'><img src='i/town/tbl-shp_sml-corner-bottom-left.gif' width='20' height='18' /></td>
<td class='tbl-shp_sml-bottom' valign='top' align='center'> </td>
<td width='20' align='left' valign='top'><img src='i/town/tbl-shp_sml-corner-bottom-right.gif' width='20' height='18'/></td>
</tr>

</table>";






echo"</td>
</tr>
</table>";

}
?>
вот
 
Или можете мне просто скинуть готовый скрипт repair.php
где чтобы создать золотой слиток нужно время пример

для окончание создание слитка осталось 1 минута

буду очень благодарен
 
Скинь весь скрипт с базой. (если он пабликовский)
 
У меня сервера щас нет на компе поэтому накодить сложно будет.
Насколько я понял нужен таймер который по истечению времени выполнял бы скрипт.
Есть в принципе один вариант, можно текущую дату перевести в миллисекунды, получаем переменную 1
Затем к полученному результату прибавить какое то значение например 10 минут (в миллисекундах), получаем переменную 2.
Потом в цикле прибавляем к переменной 1, одну секунду (в миллисекундах), и так до тех пора пока не достигнем значения переменной 2.
(А можно и вычитать из переменной 2, кому как нравится.)
Так же можно оперировать с датами, но это уже другой вариант, думаю сам додумаешь.
Потом пишем условие, если переменная 1 равна переменной 2, то выполняется скрипт:
Из бд получаем число золотых монет, потом идут условия и проверки, типа если оно меньше нужного для переплавки, то шлем нафиг, если больше, то вычитаем и выполняем запрос на добавление в бд 1 слитка, и обновление инфы о монетах.
Ну примерно так.
Таймер лучше написать на JS, т.к. страница не будет обновляться, а все остальное на пхп.

Вот полазил в гугле нашел какой то скрипт таймера, думаю поможет:
Код:
<?php
// we will be sending Javascript codes, remember...
header('Content-Type: text/javascript'); 

// select the timezone for your countdown
$timezone = trim($_GET['timezone']);
putenv("TZ=$timezone");

// Counting down to New Year's on 2020
$countdown_to = trim($_GET['countto']); // 24-Hour Format: YYYY-MM-DD HH:MM:SS"

// Getting the current time
$count_from = date("Y-m-d H:i:s"); // current time -- NO NEED TO CHANGE

// Date difference function. Will be using below
function datediff($interval, $datefrom, $dateto, $using_timestamps = false) {
  /*
    $interval can be:
    yyyy - Number of full years
    q - Number of full quarters
    m - Number of full months
    y - Difference between day numbers
      (eg 1st Jan 2004 is "1", the first day. 2nd Feb 2003 is "33". The datediff is "-32".)
    d - Number of full days
    w - Number of full weekdays
    ww - Number of full weeks
    h - Number of full hours
    n - Number of full minutes
    s - Number of full seconds (default)
  */
  
  if (!$using_timestamps) {
    $datefrom = strtotime($datefrom, 0);
    $dateto = strtotime($dateto, 0);
  }
  $difference = $dateto - $datefrom; // Difference in seconds
   
  switch($interval) {
   
    case 'yyyy': // Number of full years

      $years_difference = floor($difference / 31536000);
      if (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom), date("j", $datefrom), date("Y", $datefrom)+$years_difference) > $dateto) {
        $years_difference--;
      }
      if (mktime(date("H", $dateto), date("i", $dateto), date("s", $dateto), date("n", $dateto), date("j", $dateto), date("Y", $dateto)-($years_difference+1)) > $datefrom) {
        $years_difference++;
      }
      $datediff = $years_difference;
      break;

    case "q": // Number of full quarters

      $quarters_difference = floor($difference / 8035200);
      while (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom)+($quarters_difference*3), date("j", $dateto), date("Y", $datefrom)) < $dateto) {
        $months_difference++;
      }
      $quarters_difference--;
      $datediff = $quarters_difference;
      break;

    case "m": // Number of full months

      $months_difference = floor($difference / 2678400);
      while (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom)+($months_difference), date("j", $dateto), date("Y", $datefrom)) < $dateto) {
        $months_difference++;
      }
      $months_difference--;
      $datediff = $months_difference;
      break;

    case 'y': // Difference between day numbers

      $datediff = date("z", $dateto) - date("z", $datefrom);
      break;

    case "d": // Number of full days

      $datediff = floor($difference / 86400);
      break;

    case "w": // Number of full weekdays

      $days_difference = floor($difference / 86400);
      $weeks_difference = floor($days_difference / 7); // Complete weeks
      $first_day = date("w", $datefrom);
      $days_remainder = floor($days_difference % 7);
      $odd_days = $first_day + $days_remainder; // Do we have a Saturday or Sunday in the remainder?
      if ($odd_days > 7) { // Sunday
        $days_remainder--;
      }
      if ($odd_days > 6) { // Saturday
        $days_remainder--;
      }
      $datediff = ($weeks_difference * 5) + $days_remainder;
      break;

    case "ww": // Number of full weeks

      $datediff = floor($difference / 604800);
      break;

    case "h": // Number of full hours

      $datediff = floor($difference / 3600);
      break;

    case "n": // Number of full minutes

      $datediff = floor($difference / 60);
      break;

    default: // Number of full seconds (default)

      $datediff = $difference;
      break;
  }    

  return $datediff;
}

// getting Date difference in SECONDS
$diff = datediff("s", $count_from, $countdown_to);
?>

// Here’s where the Javascript starts
countdown = <?=$diff?>;

// Converting date difference from seconds to actual time
function convert_to_time(secs)
{
    secs = parseInt(secs);    
    hh = secs / 3600;    
    hh = parseInt(hh);    
    mmt = secs - (hh * 3600);    
    mm = mmt / 60;    
    mm = parseInt(mm);    
    ss = mmt - (mm * 60);    
        
    if (hh > 23)    
    {    
       dd = hh / 24;    
       dd = parseInt(dd);    
       hh = hh - (dd * 24);    
    } else { dd = 0; }    
        
    if (ss < 10) { ss = "0"+ss; }    
    if (mm < 10) { mm = "0"+mm; }    
    if (hh < 10) { hh = "0"+hh; }    
    if (dd == 0) { return (hh+":"+mm+":"+ss); }    
    else {    
        if (dd > 1) { return (dd+" дней "+hh+":"+mm+":"+ss); }
        else { return (dd+" день "+hh+":"+mm+":"+ss); }
    }    
}

// Our function that will do the actual countdown
function do_cd()
{
    if (countdown < 0)    
    {     
        <?php
            if(strtolower(trim($_GET['do'])) == 'r' )
            {
        ?>
        // redirect web page
        document.location.href = "<?=$_GET['data']?>";
        <?php } ?>

        <?php
            if(strtolower(trim($_GET['do'])) == 't' )
            {
        ?>
        // change text
        document.getElementById('cd').innerHTML = "<?=$_GET['data']?>";
        <?php } ?>

    }    
    else    
    {    
        document.getElementById('cd').innerHTML = convert_to_time(countdown);
        setTimeout('do_cd()', 1000);
    }    
    countdown = countdown - 1;    
}

document.write("<div id='cd'></div>\n");

do_cd();

<? exit(); ?>
Вот еще один пример из другой игры.
http://www.multiupload.com/UWHYG0OKML
 
У меня сервера щас нет на компе поэтому накодить сложно будет.
Насколько я понял нужен таймер который по истечению времени выполнял бы скрипт.
Есть в принципе один вариант, можно текущую дату перевести в миллисекунды, получаем переменную 1
Затем к полученному результату прибавить какое то значение например 10 минут (в миллисекундах), получаем переменную 2.
Потом в цикле прибавляем к переменной 1, одну секунду (в миллисекундах), и так до тех пора пока не достигнем значения переменной 2.
Потом пишем условие, если переменная 1 равна переменной 2, то выполняется скрипт:
Из бд получаем число золотых монет, потом идут условия и проверки, типа если оно меньше нужного для переплавки, то шлем нафиг, если больше, то вычитаем и выполняем запрос на добавление в бд 1 слитка, и обновление инфы о монетах.
Ну примерно так.
Таймер лучше написать на JS, т.к. страница не будет обновляться, а все остальное на пхп.

Вот полазил в гугле нашел какой то скрипт таймера, думаю поможет:
Код:
<?php
// we will be sending Javascript codes, remember...
header('Content-Type: text/javascript'); 

// select the timezone for your countdown
$timezone = trim($_GET['timezone']);
putenv("TZ=$timezone");

// Counting down to New Year's on 2020
$countdown_to = trim($_GET['countto']); // 24-Hour Format: YYYY-MM-DD HH:MM:SS"

// Getting the current time
$count_from = date("Y-m-d H:i:s"); // current time -- NO NEED TO CHANGE

// Date difference function. Will be using below
function datediff($interval, $datefrom, $dateto, $using_timestamps = false) {
  /*
    $interval can be:
    yyyy - Number of full years
    q - Number of full quarters
    m - Number of full months
    y - Difference between day numbers
      (eg 1st Jan 2004 is "1", the first day. 2nd Feb 2003 is "33". The datediff is "-32".)
    d - Number of full days
    w - Number of full weekdays
    ww - Number of full weeks
    h - Number of full hours
    n - Number of full minutes
    s - Number of full seconds (default)
  */
  
  if (!$using_timestamps) {
    $datefrom = strtotime($datefrom, 0);
    $dateto = strtotime($dateto, 0);
  }
  $difference = $dateto - $datefrom; // Difference in seconds
   
  switch($interval) {
   
    case 'yyyy': // Number of full years

      $years_difference = floor($difference / 31536000);
      if (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom), date("j", $datefrom), date("Y", $datefrom)+$years_difference) > $dateto) {
        $years_difference--;
      }
      if (mktime(date("H", $dateto), date("i", $dateto), date("s", $dateto), date("n", $dateto), date("j", $dateto), date("Y", $dateto)-($years_difference+1)) > $datefrom) {
        $years_difference++;
      }
      $datediff = $years_difference;
      break;

    case "q": // Number of full quarters

      $quarters_difference = floor($difference / 8035200);
      while (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom)+($quarters_difference*3), date("j", $dateto), date("Y", $datefrom)) < $dateto) {
        $months_difference++;
      }
      $quarters_difference--;
      $datediff = $quarters_difference;
      break;

    case "m": // Number of full months

      $months_difference = floor($difference / 2678400);
      while (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom)+($months_difference), date("j", $dateto), date("Y", $datefrom)) < $dateto) {
        $months_difference++;
      }
      $months_difference--;
      $datediff = $months_difference;
      break;

    case 'y': // Difference between day numbers

      $datediff = date("z", $dateto) - date("z", $datefrom);
      break;

    case "d": // Number of full days

      $datediff = floor($difference / 86400);
      break;

    case "w": // Number of full weekdays

      $days_difference = floor($difference / 86400);
      $weeks_difference = floor($days_difference / 7); // Complete weeks
      $first_day = date("w", $datefrom);
      $days_remainder = floor($days_difference % 7);
      $odd_days = $first_day + $days_remainder; // Do we have a Saturday or Sunday in the remainder?
      if ($odd_days > 7) { // Sunday
        $days_remainder--;
      }
      if ($odd_days > 6) { // Saturday
        $days_remainder--;
      }
      $datediff = ($weeks_difference * 5) + $days_remainder;
      break;

    case "ww": // Number of full weeks

      $datediff = floor($difference / 604800);
      break;

    case "h": // Number of full hours

      $datediff = floor($difference / 3600);
      break;

    case "n": // Number of full minutes

      $datediff = floor($difference / 60);
      break;

    default: // Number of full seconds (default)

      $datediff = $difference;
      break;
  }    

  return $datediff;
}

// getting Date difference in SECONDS
$diff = datediff("s", $count_from, $countdown_to);
?>

// Here’s where the Javascript starts
countdown = <?=$diff?>;

// Converting date difference from seconds to actual time
function convert_to_time(secs)
{
    secs = parseInt(secs);    
    hh = secs / 3600;    
    hh = parseInt(hh);    
    mmt = secs - (hh * 3600);    
    mm = mmt / 60;    
    mm = parseInt(mm);    
    ss = mmt - (mm * 60);    
        
    if (hh > 23)    
    {    
       dd = hh / 24;    
       dd = parseInt(dd);    
       hh = hh - (dd * 24);    
    } else { dd = 0; }    
        
    if (ss < 10) { ss = "0"+ss; }    
    if (mm < 10) { mm = "0"+mm; }    
    if (hh < 10) { hh = "0"+hh; }    
    if (dd == 0) { return (hh+":"+mm+":"+ss); }    
    else {    
        if (dd > 1) { return (dd+" дней "+hh+":"+mm+":"+ss); }
        else { return (dd+" день "+hh+":"+mm+":"+ss); }
    }    
}

// Our function that will do the actual countdown
function do_cd()
{
    if (countdown < 0)    
    {     
        <?php
            if(strtolower(trim($_GET['do'])) == 'r' )
            {
        ?>
        // redirect web page
        document.location.href = "<?=$_GET['data']?>";
        <?php } ?>

        <?php
            if(strtolower(trim($_GET['do'])) == 't' )
            {
        ?>
        // change text
        document.getElementById('cd').innerHTML = "<?=$_GET['data']?>";
        <?php } ?>

    }    
    else    
    {    
        document.getElementById('cd').innerHTML = convert_to_time(countdown);
        setTimeout('do_cd()', 1000);
    }    
    countdown = countdown - 1;    
}

document.write("<div id='cd'></div>\n");

do_cd();

<? exit(); ?>
Вот еще один пример из другой игры.
http://www.multiupload.com/UWHYG0OKML
если бы я умел писать JS написал бы :)
 
если бы я умел писать JS написал бы
Ну так зачем лесть в дебри, если надо с начало понять основы.
Вот у тебя уже есть задача, попробуй её сам немного разобрать, если что не понятно тебе подскажут.
 
Ну так зачем лесть в дебри, если надо с начало понять основы.
Вот у тебя уже есть задача, попробуй её сам немного разобрать, если что не понятно тебе подскажут.
я нашол причину почему он обновлял он не может показать "Оставшееся время производства:"
как заходиш в кузницу он сразу пытаетса создать слиток. Как это исправить?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху