- Сообщения
- 322
- Реакции
- 72
- Сообщения
- 280
- Реакции
- 46
НУ смотри.. У меня корабли..
Нужно чтобы было так - Нажимаешь на кнопку - отправляешь их в рейс. Время рейса к примеру 20 секунд. Нужно чтобы после нажатия кнопки через 20 секунд корабли типа прилетали и отгружали ресурсы на склад. Потом опять можно отправлять.
Чтобы нельзя было их отправить до того времени пока не пройдет 20 секунд я сделал. А нужно еще сделать чтобы ресурсы отгружались не сразу после нажатия кнопки (как сейчас) а после 20 секунд.
Нужно чтобы было так - Нажимаешь на кнопку - отправляешь их в рейс. Время рейса к примеру 20 секунд. Нужно чтобы после нажатия кнопки через 20 секунд корабли типа прилетали и отгружали ресурсы на склад. Потом опять можно отправлять.
Чтобы нельзя было их отправить до того времени пока не пройдет 20 секунд я сделал. А нужно еще сделать чтобы ресурсы отгружались не сразу после нажатия кнопки (как сейчас) а после 20 секунд.
- Сообщения
- 322
- Реакции
- 72
- Сообщения
- 280
- Реакции
- 46
Ну вот, сделал так:
if(isset($_POST["item_a"])){
$sbor_a = (20 - (time() - $user_data["last_sbor_a"]));
if ($sbor_a <=0){
if ($user_data["a_t"] > 0){
if ($mesto_a <= $canput){
$db->Query("UPDATE db_users_b SET reis_a_t = '$hangar_a' WHERE id = '$usid' LIMIT 1");
echo "<center><font color = 'red'><b>Корабли успешно отправлены в рейс! До возврата: 20 секунд! </b></font></center><BR />";
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
if ($time_a >= 20){
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
# Добавляем привезенные ресурсы на склад
Все как раньше - после нажатия на кнопку ресурсы сразу на склад капают. if ($time_a >= 20){ - вообще не работает или игнорируется
if(isset($_POST["item_a"])){
$sbor_a = (20 - (time() - $user_data["last_sbor_a"]));
if ($sbor_a <=0){
if ($user_data["a_t"] > 0){
if ($mesto_a <= $canput){
$db->Query("UPDATE db_users_b SET reis_a_t = '$hangar_a' WHERE id = '$usid' LIMIT 1");
echo "<center><font color = 'red'><b>Корабли успешно отправлены в рейс! До возврата: 20 секунд! </b></font></center><BR />";
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
if ($time_a >= 20){
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
# Добавляем привезенные ресурсы на склад
Все как раньше - после нажатия на кнопку ресурсы сразу на склад капают. if ($time_a >= 20){ - вообще не работает или игнорируется
- Сообщения
- 322
- Реакции
- 72
Freeman18rus
Участник
- Сообщения
- 26
- Реакции
- 3
<?PHP
# Сколько привезут корабли
$mesto_a = (($user_data["a_t"]*$sonfig_site["a_in_h"]));
# Запуск кораблей
if(isset($_POST["item_a"])){
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
if ($time_a <= 20){
if ($user_data["a_t"] > 0){
if ($mesto_a <= $canput){
$db->Query("UPDATE db_users_b SET reis_a_t = '$hangar_a' WHERE id = '$usid' LIMIT 1");
echo "<center><font color = 'red'><b>Корабли успешно отправлены в рейс! До возврата: 20 секунд! </b></font></center><BR />";
# Добавляем привезенные ресурсы на склад
$res_a = ($sonfig_site["a_in_h"]*$user_data["a_t"]);
$db->Query("UPDATE db_users_b SET a_b = a_b + '$res_a' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
} else echo "<center><font color = 'red'><b>На складе не хватает места!</b></font></center><BR />";
} else echo "<center><font color = 'red'><b>У вас нет кораблей данного типа для отправки</b></font></center><BR />";
} else echo "<center><font color = 'red'><b>Корабли еще не вернулись из рейса! До возврата: {$time_a} секунд! </b></font></center><BR />";
}
?>
Я так примерно понимаю, не могу сам проверить, пробуй
# Сколько привезут корабли
$mesto_a = (($user_data["a_t"]*$sonfig_site["a_in_h"]));
# Запуск кораблей
if(isset($_POST["item_a"])){
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
if ($time_a <= 20){
if ($user_data["a_t"] > 0){
if ($mesto_a <= $canput){
$db->Query("UPDATE db_users_b SET reis_a_t = '$hangar_a' WHERE id = '$usid' LIMIT 1");
echo "<center><font color = 'red'><b>Корабли успешно отправлены в рейс! До возврата: 20 секунд! </b></font></center><BR />";
# Добавляем привезенные ресурсы на склад
$res_a = ($sonfig_site["a_in_h"]*$user_data["a_t"]);
$db->Query("UPDATE db_users_b SET a_b = a_b + '$res_a' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
} else echo "<center><font color = 'red'><b>На складе не хватает места!</b></font></center><BR />";
} else echo "<center><font color = 'red'><b>У вас нет кораблей данного типа для отправки</b></font></center><BR />";
} else echo "<center><font color = 'red'><b>Корабли еще не вернулись из рейса! До возврата: {$time_a} секунд! </b></font></center><BR />";
}
?>
Я так примерно понимаю, не могу сам проверить, пробуй
- Сообщения
- 322
- Реакции
- 72
У тебя тоже ошибка.Freeman18rus написал(а):<?PHP
# Сколько привезут корабли
$mesto_a = (($user_data["a_t"]*$sonfig_site["a_in_h"]));
# Запуск кораблей
if(isset($_POST["item_a"])){
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
if ($time_a <= 20){
if ($user_data["a_t"] > 0){
if ($mesto_a <= $canput){
$db->Query("UPDATE db_users_b SET reis_a_t = '$hangar_a' WHERE id = '$usid' LIMIT 1");
echo "<center><font color = 'red'><b>Корабли успешно отправлены в рейс! До возврата: 20 секунд! </b></font></center><BR />";
# Добавляем привезенные ресурсы на склад
$res_a = ($sonfig_site["a_in_h"]*$user_data["a_t"]);
$db->Query("UPDATE db_users_b SET a_b = a_b + '$res_a' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
} else echo "<center><font color = 'red'><b>На складе не хватает места!</b></font></center><BR />";
} else echo "<center><font color = 'red'><b>У вас нет кораблей данного типа для отправки</b></font></center><BR />";
} else echo "<center><font color = 'red'><b>Корабли еще не вернулись из рейса! До возврата: {$time_a} секунд! </b></font></center><BR />";
}
?>
Я так примерно понимаю, не могу сам проверить, пробуй
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
$user_data["last_sbor_a"]) у тебя равно time();
Поэтому всегда $time_a будет равно нулю
Freeman18rus
Участник
- Сообщения
- 26
- Реакции
- 3
- Сообщения
- 322
- Реакции
- 72
Вроде верно у него тоже было, надо лишь чуть-чуть подправитьFreeman18rus написал(а):Да да я уже понял но в остальном вроде верно
- Сообщения
- 280
- Реакции
- 46
Сделал так:
# Запуск кораблей
if(isset($_POST["item_a"])){
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1"); // перенес данные о переменной time_a сюда
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
$sbor_a = (20 - (time() - $user_data["last_sbor_a"]));
if ($sbor_a <=0){
if ($user_data["a_t"] > 0){
if ($mesto_a <= $canput){
$db->Query("UPDATE db_users_b SET reis_a_t = '$hangar_a' WHERE id = '$usid' LIMIT 1");
echo "<center><font color = 'red'><b>Корабли успешно отправлены в рейс! До возврата: 20 секунд! </b></font></center><BR />";
if ($time_a >= 20){
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
# Добавляем привезенные ресурсы на склад
И потом для проверки поставил вместо sbor_a - time_a:
} else echo "<center><font color = 'red'><b>Корабли еще не вернулись из рейса! До возврата: {$time_a} секунд! </b></font></center><BR />";
До возврата увеличивается от 0 до 20 и потом можно опять запускать. Т.е. time_a работает и отсчет каждую секунду идет.
НО! ресурсы все так же отгружаются сразу после нажатия на кнопку а не через 20 секунд
# Запуск кораблей
if(isset($_POST["item_a"])){
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1"); // перенес данные о переменной time_a сюда
$user_data = $db->FetchArray();
$time_a = (time() - $user_data["last_sbor_a"]);
$sbor_a = (20 - (time() - $user_data["last_sbor_a"]));
if ($sbor_a <=0){
if ($user_data["a_t"] > 0){
if ($mesto_a <= $canput){
$db->Query("UPDATE db_users_b SET reis_a_t = '$hangar_a' WHERE id = '$usid' LIMIT 1");
echo "<center><font color = 'red'><b>Корабли успешно отправлены в рейс! До возврата: 20 секунд! </b></font></center><BR />";
if ($time_a >= 20){
$db->Query("UPDATE db_users_b SET last_sbor_a = '".time()."' WHERE id = '$usid' LIMIT 1");
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
# Добавляем привезенные ресурсы на склад
И потом для проверки поставил вместо sbor_a - time_a:
} else echo "<center><font color = 'red'><b>Корабли еще не вернулись из рейса! До возврата: {$time_a} секунд! </b></font></center><BR />";
До возврата увеличивается от 0 до 20 и потом можно опять запускать. Т.е. time_a работает и отсчет каждую секунду идет.
НО! ресурсы все так же отгружаются сразу после нажатия на кнопку а не через 20 секунд
Freeman18rus
Участник
- Сообщения
- 26
- Реакции
- 3
- Сообщения
- 280
- Реакции
- 46
Ну это по сути оно и есть.. НО:Freeman18rus написал(а):Сделай кнопку собрать и отправить
Когда я только купил корабль - получается я сразу же могу собрать ресурсы, а нужно чтобы сначала корабль полетел и прилетел, а потом только ресурсы добавились
- Сообщения
- 280
- Реакции
- 46
Freeman18rus
Участник
- Сообщения
- 26
- Реакции
- 3
- Сообщения
- 280
- Реакции
- 46
Это не подходит. Суть в том, что время полета корабля 12 часов. Во время полета я могу докупить еще корабль или корабли, но они не могут отправиться, пока не прилетели другие. Как-то так..
Думаю может сделать 2 кнопки - сбора и отправки в полет. Только нужно сделать, чтобы сбор не совершался, пока полет не окончился. Тоже та еще задачка..
Думаю может сделать 2 кнопки - сбора и отправки в полет. Только нужно сделать, чтобы сбор не совершался, пока полет не окончился. Тоже та еще задачка..
Freeman18rus
Участник
- Сообщения
- 26
- Реакции
- 3
- Сообщения
- 280
- Реакции
- 46
Это нужно время полета заносить в бд и чтобы оно там считалось как-то.. В общем это для меня наверное еще очень сложноFreeman18rus написал(а):Лучше сделать чтоб нельзя было купить пока не вернутся корабли, так проще задачу решать помоему это принцып фф
- Сообщения
- 280
- Реакции
- 46
Freeman18rus
Участник
- Сообщения
- 26
- Реакции
- 3
- Сообщения
- 280
- Реакции
- 46
в фф не купишь ни чего пока сбор не произведешь
это все прописано той же переменной last_sbor - удали ее и все что к ней относится - и покупай что хочешь когда хочешь..
Принцип php нажал кнопку выполнил действие, т.е. собрал и отправил
что-то мне кажется что это не так.. при чем тут php? это просто язык..
это все прописано той же переменной last_sbor - удали ее и все что к ней относится - и покупай что хочешь когда хочешь..
Принцип php нажал кнопку выполнил действие, т.е. собрал и отправил
что-то мне кажется что это не так.. при чем тут php? это просто язык..