Обучение/Помощь новичкам | Помогите мастера
<?php
include_once("files/zag.php");
include_once("files/data.php");
include_once("files/ini.php");
include_once("files/data.php");
$polz=mysql_query("SELECT * FROM `users` WHERE `udata0`='$log' AND `udata1`='$pas' LIMIT 1");
if(mysql_num_rows($polz)==0){
header ("Location: index.php?error");
echo'<div class="p">Ошибка! Пользователь с таким логином и паролем не зарегистрирован, или пароль/логин неверен! <a href="index.php">На главную</a><br>';exit;
}else{
/*if($udata37!="Goddard"){
*/
/*if($udata37!=""){
*/
switch(@$go) {
default:
$qi = mysql_query("SELECT * FROM `osada` WHERE `mesto` = '$udata20' ");
while($row=mysql_fetch_array($qi))
{
if($udata20=="Talking Island Village" or $udata20=="Dark Elven Village" or $udata20=="Elven Village" or $udata20=="Orc Village" or $udata20=="Dwarven Village" or $udata20=="Gludin Village" or $udata20=="" or $udata20=="Hunters Village" or $udata20=="Town of Goddard" or $udata20=="Town of Dion" or $udata20=="Town of Gludio" or $udata20=="Rune Township" or $udata20=="Town of Aden" or $udata20=="Town of Oren" or $udata20=="" or $udata20=="Town of Schuttgart"){
echo' <a href="osada.php?go=osada&id='.$row['id'].'">'.$row['mesto'].' </a><br />';
mysql_query("UPDATE `users` SET `osada`='".$udata20."' WHERE `udata0`='$log'");
}}
include_once("files/down.php");
break;
case 'osada':
$osada=mysql_query("SELECT * FROM `osada` WHERE `mesto` = '".$osada."' ");
while($inf=mysql_fetch_assoc($osada)){
echo' <a href="osada.php?go=atack&id='.$inf['id'].'">Атаковать </a><br />';
echo' Хп Стены '.$inf['hpmin'].'/'.$inf['hpmax'].' ';
}
include_once("files/down.php");
break;
case 'atack':
$osada1=mysql_query("SELECT * FROM `osada` WHERE `id` = '".$id."' ");
while($inf1=mysql_fetch_assoc($osada1)){
$id=$inf1['id'];
$udar=rand(10,1000);
$hpmin=$inf1['hpmin']-$udar;
$minhp=$inf1['hpmin'];
if($minhp <= '0'){
mysql_query(" UPDATE osada SET `hpmin`='".$inf1['hpmax']."' WHERE `id`='$id' ");
}else{
mysql_query(" UPDATE osada SET `hpmin`='".$hpmin."' WHERE `id`='$id' ");
}
header ("Location: osada.php?go=osada&id=$id");
}
include_once("files/down.php");
break;
}}
/*}}*/
При выполнении кода из касы atack
При нажатии кнопки атаковать хп отнимаются нормально но при последнем ударе хп заходят в минус и потом нужно ещё раз нажать атаковать чтобы хп восстановились.
include_once("files/zag.php");
include_once("files/data.php");
include_once("files/ini.php");
include_once("files/data.php");
$polz=mysql_query("SELECT * FROM `users` WHERE `udata0`='$log' AND `udata1`='$pas' LIMIT 1");
if(mysql_num_rows($polz)==0){
header ("Location: index.php?error");
echo'<div class="p">Ошибка! Пользователь с таким логином и паролем не зарегистрирован, или пароль/логин неверен! <a href="index.php">На главную</a><br>';exit;
}else{
/*if($udata37!="Goddard"){
*/
/*if($udata37!=""){
*/
switch(@$go) {
default:
$qi = mysql_query("SELECT * FROM `osada` WHERE `mesto` = '$udata20' ");
while($row=mysql_fetch_array($qi))
{
if($udata20=="Talking Island Village" or $udata20=="Dark Elven Village" or $udata20=="Elven Village" or $udata20=="Orc Village" or $udata20=="Dwarven Village" or $udata20=="Gludin Village" or $udata20=="" or $udata20=="Hunters Village" or $udata20=="Town of Goddard" or $udata20=="Town of Dion" or $udata20=="Town of Gludio" or $udata20=="Rune Township" or $udata20=="Town of Aden" or $udata20=="Town of Oren" or $udata20=="" or $udata20=="Town of Schuttgart"){
echo' <a href="osada.php?go=osada&id='.$row['id'].'">'.$row['mesto'].' </a><br />';
mysql_query("UPDATE `users` SET `osada`='".$udata20."' WHERE `udata0`='$log'");
}}
include_once("files/down.php");
break;
case 'osada':
$osada=mysql_query("SELECT * FROM `osada` WHERE `mesto` = '".$osada."' ");
while($inf=mysql_fetch_assoc($osada)){
echo' <a href="osada.php?go=atack&id='.$inf['id'].'">Атаковать </a><br />';
echo' Хп Стены '.$inf['hpmin'].'/'.$inf['hpmax'].' ';
}
include_once("files/down.php");
break;
case 'atack':
$osada1=mysql_query("SELECT * FROM `osada` WHERE `id` = '".$id."' ");
while($inf1=mysql_fetch_assoc($osada1)){
$id=$inf1['id'];
$udar=rand(10,1000);
$hpmin=$inf1['hpmin']-$udar;
$minhp=$inf1['hpmin'];
if($minhp <= '0'){
mysql_query(" UPDATE osada SET `hpmin`='".$inf1['hpmax']."' WHERE `id`='$id' ");
}else{
mysql_query(" UPDATE osada SET `hpmin`='".$hpmin."' WHERE `id`='$id' ");
}
header ("Location: osada.php?go=osada&id=$id");
}
include_once("files/down.php");
break;
}}
/*}}*/
При выполнении кода из касы atack
При нажатии кнопки атаковать хп отнимаются нормально но при последнем ударе хп заходят в минус и потом нужно ещё раз нажать атаковать чтобы хп восстановились.
Прошу помогите. Как сделать так чтобы вот допустим хп осталось 100 а удар 350 и при нажатии сразу восстанавливалось хп а не сначала заганяло в минус а потом восстанавливалось.
SlavaLegend ,
If ($minhp <= 0) $minhp = 0;
If ($minhp <= 0) $minhp = 0;
Kemel , Можете ещё объяснить что выполняет даная функция
SlavaLegend , чтобы жизнь в минус не уходила) хотя там вроде другая переменная заносится , надо глянуть ещё раз
SlavaLegend (20.05.2018 в 17:41)
Kemel , Можете ещё объяснить что выполняет даная функция
Kemel , Можете ещё объяснить что выполняет даная функция
Не даёт загнать хп в минус ниже 0 нельзя
SlavaLegend , сейчас комп включу напишу как надо )
SlavaLegend , можно сделать еще короче код, по быстрому накидал
________
посл. ред. 20.05.2018 в 18:19; всего 1 раз(а); by Kemel
case 'atack'://attack правильно пишется :)
$osada1 = mysql_query("SELECT * FROM `osada` WHERE `id` = '".$id."' ");//проверка нужна еще на наличие mysql_num_rows либо count(*)
$inf1 = mysql_fetch_assoc($osada1);//Незнаю зачем у тебя там был цикл
$udar = mt_rand(10,1000);
$hpmin = $inf1['hpmin'] - $udar;
if ($hpmin <= 0) {
$hpmin = $inf1['hpmax'];
// Здесь твой код наверно на уничтожение осады
}
mysql_query("UPDATE `osada` SET `hpmin`='".$hpmin."' WHERE `id` = '{$id}'");
header ("Location: osada.php?go=osada&id=".$id);
include_once("files/down.php");// - это к чему не знаю тебе
break;
________
посл. ред. 20.05.2018 в 18:19; всего 1 раз(а); by Kemel
Спасибо очень помогли мне. А как сделать так что есле хп 0 и стена осады убита так скажем то чтобы переносилось на другую страницу ну типо с поздравлением о захвате и тд.
Kemel ,
А вот есле допустим осада прошла замок захвачен но время осады ещё не вышло как сделать так чтобы другие игроки заходили и им писало замок захвачен а на след день в тоже время замок был доступен для захвата но не функцией отсчёта времени.
А вот есле допустим осада прошла замок захвачен но время осады ещё не вышло как сделать так чтобы другие игроки заходили и им писало замок захвачен а на след день в тоже время замок был доступен для захвата но не функцией отсчёта времени.