[aoth.ru] бои в aoth by FatalitY

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

CyberVit

Ох*енный шустроган
Старейшина
Репутация
593 / 953
В общем проблема такая:
Начинается бой, я наношу удар - пишет что бот повержен, но бой не прекращается, НР у бота опять восстанавливаются и кол-во нанесенного мной урона тоже обновляется
В итоге бой становится бесконечным, выйти из него можно только по тайму.
Подскажите в чем проблема? :)
И вторая - это после боя бот не восстанавливается, пишет что монстр не готов к поединку
Использую версию aoth by FatalitY
 
это после боя бот не восстанавливается, пишет что монстр не готов к поединку

Посмотри в боях где вот эта функция и проверь код:
Код:
// -------- # ЕСЛИ БОТ ТО ВЫКИДЫВАМ ИЗ БОЯ И ВОСТАНАВЛИВАЕМ HP # -------- //
if ($opp_stat['rank'] == 60 && $opponent)
mysql_query("UPDATE players SET losses=losses+1, battle=NULL, hp_now=".$opp_hp_max." WHERE id='".$opp_stat['id']."'");
$endbattle = 1;
$stat['battle'] = '';
// -------- # Снизу продолжение кода # -------- //
Если не хочешь возиться с
Код:
hp_now=".$opp_hp_max."
, то сделай так
Код:
hp_now=hp_now+5000
...Ну это примитивный метод, но иногда помогает)))
 
да с ботами я уже разобрался, там не с жизнями проблема была, а то что после окончания боя, в строку battle не прописывалось 0,
сделал update players set battle=0 и все, все боты готовы к бою


:) кто может подсказать что с боями происходит, почему он не заканчивается?
 
:) в общем словами описать трудно проблему, вот скрин:
boj_scr.jpg
 
в БД в participants тоже не пишет кол-во урона и не отнимает НР :)
 
будь другом, поделись чищенной базой, а то 100 мб комп не хочет даже открывать :)
 
:) ок, завтра выставлю )) рабочий день закончился ))
 
Странно, у меня всё нормально работает, попробуй скачать по новой и почистить базу(сначало думаю базу почисть) и тогда, если что скачай ещё раз
 
да чистил я базу, толку то?
и смысл качать еще раз? :) , один и тот же архив, одни и теже файлы?!
 
Странно, у меня всё нормально работает, попробуй скачать по новой и почистить базу(сначало думаю базу почисть) и тогда, если что скачай ещё раз
залил заново файлы на сервер, залил твою БД чищенную, которую ты выкладывал в соседней теме, результат тот же(((
 
ну незнаю =\ и смысл качать по новой таков, что бывает, что скачаеш или разархивируеш лево! (По личному опыту говорю)

а если выдрать бои с другой версии или с другова аотх ? (для теста)
 
а если выдрать бои с другой версии или с другова аотх ? (для теста)
:) только что этим занимался, поскачивал все версии ИВ, повставлял, до жопы, та же фигня, некоторые вообще синтаксическую ошибку SQL орут

может с сервером что-то, ты на какой сервак ставил?

ЗЫ. прикол еще вот в чем, если я вручную в participants боту поставлю hp=0, то после обновления бой считается завершенным и я выигрываю, следовательно определение на завершение боя работает корректно
значит проблема в этом куске
Код:
// ----- # Отнимаем жизни # ----- /

mysql_query("UPDATE players, participants SET players.hp_now=if(players.hp_now<$damage[1],0,players.hp_now-$damage[1]), participants.hp=if(participants.hp<$damage[1],0,participants.hp-$damage[1]), participants.damage=participants.damage+".$damage['0']." WHERE players.id='".$stat['id']."' AND participants.time='".$stat['battle']."' AND participants.id='".$stat['id']."'");

mysql_query("UPDATE players, participants SET players.hp_now=if(players.hp_now<$damage[0],0,players.hp_now-$damage[0]), participants.hp=if(participants.hp<$damage[0],0,participants.hp-$damage[0]), participants.damage=participants.damage+".$damage['1']." WHERE players.id='".$opp_stat['id']."' AND participants.time='".$stat['battle']."' AND participants.id='".$opp_stat['id']."'");

/*
mysql_query("UPDATE players SET hp_now=if(hp_now<$damage[1],0,hp_now-$damage[1]) WHERE id='".$stat['id']."'");
mysql_query("UPDATE participants SET hp=if(hp<$damage[1],0,hp-$damage[1]), damage=damage+".$damage['0']." WHERE time='".$stat['battle']."' AND id='".$stat['id']."'");

mysql_query("UPDATE players SET hp_now=if(hp_now<$damage[0],0,hp_now-$damage[0]) WHERE id='".$opp_stat['id']."'");
mysql_query("UPDATE participants SET hp=if(hp<$damage[0],0,hp-$damage[0]), damage=damage+".$damage['1']." WHERE time='".$stat['battle']."' AND id='".$opp_stat['id']."'");
*/


$participant['damage'] += $damage['0'];

//echo mysql_error();

if($stat['hp_now'] > $damage['1']) $stat['hp_now']-=$damage['1'];
else $stat['hp_now']=0;

// HP для комментариев
if ($opp_stat['hp_now']<$damage[0]) $comhp_0=0; else $comhp_0=$opp_stat['hp_now']-$damage[0];
$comhp_1=$stat['hp_now'];
//
 
denwer

можно конечно на хостинге попробовать, типо 000webhost если со всеми версиями, то виноват получается не скрипт =(
 
вроде и в коде ошибки нет(((
но в participants упорно не хочет заносить данные (((
в нашей сети, на серваке который я использую стоит старая версия мускула, может из-за этого проблемы?
 
честно, незнаю...

Говорю же, попробуй поставить на 000webhosti.com если там пойдёт, ставь денвер или аппсервер или топсервер, кто что юзает...
 
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

Сверху