Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Темы создавать не могу, потому спрошу тут. вопрос не по этому движку.
Скачал combats2.com. Помоему с дапфа, все вроде нормально настроил. захожу в игру двигаюсь, катаюсь между городами (их там около 7-ми, а рабочих 5). НО есть одно НО, если бой то он происходит быстро, даже лога не видно, просто пишет "Победа. Бой закончен, всего вами нанесено урона 0, получено опыта 0." И так во всех боях. Я пытался из другой сборки (есть рабочая bkwar) вытянуть фал батле и фбатле, но эффект не меняется, бой так и завершается. Думал может в базе ошибка, но нет, приконектил базу из того же бквара, эффект тот же.
Подскажите может еще где есть файл отвечающий за боевку. Или может надо сразу заменить батле, фбатле и еще что-то?.
И еще маленькая просьба, файл таверны если есть у кого, подкиньте в приват.
где-то мельком встречал такую мыль, даже думал тоже самое если честно. Похоже что да, проблема в самом кроне. Хотя не проверял, никак руки не доходят.а бои с ботами или обычными пользователями?
Если с ботами, то:
Возможно ботов надо сажать на крон. Я уверен, что проблема не в самой боевке, а в ботах. Проверь в поединках с обычным игроком, а не с ботом. Если все в порядке, то моя теория верна. Если тоже самое, то тогда ищи проблему в боевке.
ПЫ.СЫ. Вытащил крон из другой сборки, проверил. заработало) боты не отвечают, будем думать.
да. все оказалось до банального просто) крон не работал или неправильно работалЭм. Так я не понял, я прав оказался? Проблема в кроне, то бишь ботов просто надо сажать на крон?
<?php
/* cron file */
//error_reporting(E_ALL);
//ini_set("display_errors", 1);
/*
//Считываем текущее время
$mtime = microtime();
//Разделяем секунды и миллисекунды
$mtime = explode(" ",$mtime);
//Составляем одно число из секунд и миллисекунд
$mtime = $mtime[1] + $mtime[0];
//Записываем стартовое время в переменную
$tstart = $mtime;*/
session_start();
include "connect.php";
include "functions.php";
//addchp ('<font color=red>Внимание!</font> Тест ', '{[]}Система{[]}');
/// BS
include("cron_bs.php");
// hp operations
mysql_query("UPDATE `users` SET `maxhp` = (IFNULL((SELECT SUM(`ghp`) FROM `inventory` WHERE dressed=1 AND owner = `users`.id),0) + (users.vinos*6));");
mysql_query("UPDATE `users` SET `maxmana` = (IFNULL((SELECT SUM(`gmp`) FROM `inventory` WHERE dressed=1 AND owner = `users`.id),0) + (users.mudra*10));");
mysql_query("UPDATE `users` SET `hp` = '0' WHERE `hp` < '0' ");
mysql_query("UPDATE `users` SET `mana` = '0' WHERE `mana` < '0' ");
// ломаем шмот
$its = mysql_query("SELECT `id`,`owner`,`name` FROM `inventory` WHERE `dressed` = 0 AND ((`maxdur` <= `duration`) OR (`dategoden` > 0 AND `dategoden` <= '".time()."'));");
while($it = mysql_fetch_array($its))
{
//destructitem($it['id']);
mysql_query("DELETE FROM `inventory` WHERE `id` = '".$it['id']."' LIMIT 1;");
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`) VALUES ('','0','\"".$it['name']."\" разрушился id:(cap".$it['id'].").',1,'".time()."');");
}
// травмы и хаос
$effs = mysql_query("SELECT * FROM `effects` WHERE `time` <= ".time().";");
mysql_query("DELETE FROM `effects` WHERE `time` <= ".time().";");
while($eff = mysql_fetch_array($effs)) {
switch ($eff['type'])
{
case 11:
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
//deltravma($eff['id']);
break;
case 12:
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
break;
case 13:
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
break;
case 14:
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
break;
case 4:
mysql_query("UPDATE `users` SET `align`='0' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
break;
}
}
$data = mysql_query("SELECT `id`, `fullhptime` FROM `users` WHERE `hp` < `maxhp` AND `battle` = 0;");
while($user = mysql_fetch_array($data)) {
if ((time()-$user[1])/60 > 0)
{
mysql_query("UPDATE `users` SET `hp` = `hp`+((".time()."-`fullhptime`)/60)*(`maxhp`/20), `fullhptime` = ".time()." WHERE `hp` < `maxhp` AND `id` = '".$user[0]."' LIMIT 1;");
}
}
$data = mysql_query("SELECT `id`, `fullmptime` FROM `users` WHERE `mana` < `maxmana` AND `battle` = 0;");
while($user = mysql_fetch_array($data)) {
if ((time()-$user[1])/60 > 0 && $user[1])
{
mysql_query("UPDATE `users` SET `mana` = `mana`+((".time()."-`fullmptime`)/60)*(`maxmana`/30), `fullmptime` = '".time()."' WHERE `id` = '".$user[0]."' LIMIT 1;");
}
}
mysql_query("UPDATE `users` SET `hp` = `maxhp`, `fullhptime` = ".time()." WHERE `hp` > `maxhp` AND `battle` = 0;");
mysql_query("UPDATE `users` SET `mana` = `maxmana`, `fullmptime` = ".time()." WHERE (`mana` > `maxmana` OR `fullmptime` = 0) AND `battle` = 0;");
//============================ LAB HAOS =========================================
/* mysql_query("TRUNCATE TABLE `lab_inv`;");
mysql_query("TRUNCATE TABLE `lab_bots`;");
mysql_query("TRUNCATE TABLE `lab_trap`;");
// cheki
$paymers = rand (50,100);
for($i=1;$i<=$paymers;$i++) {
mysql_query("INSERT INTO `lab_inv` (`id_room`,`type`,`value`) values ('".rand(0,1000)."','1','".(rand(1,10)/100)."');");
}
for($i=1;$i<=50;$i++) {
mysql_query("INSERT INTO `lab_inv` (`id_room`,`type`,`value`) values ('".rand(0,1000)."','2','".(rand(1,10)/100)."');");
}
// roomsi
for($i=1;$i<=1000;$i++) {
mysql_query("UPDATE `lab_rooms` SET p1='".rand(0,1000)."',p2='".rand(0,1000)."',p3='".rand(0,1000)."',p4='".rand(0,1000)."',`exit`=0 WHERE `id` = '".$i."' LIMIT 1;");
}
for($i=1;$i<=800;$i++) {
mysql_query("INSERT INTO `lab_bots` (`id_room`,`id_bot`) values ('".rand(0,1000)."','".(rand(1,4)+78)."');");
}
for($i=1;$i<=5;$i++) {
mysql_query("INSERT INTO `lab_bots` (`id_room`,`id_bot`) values ('".rand(0,1000)."','23333');");
}
for($i=1;$i<=300;$i++) {
mysql_query("INSERT INTO `lab_trap` (`id_room`,`type`) values ('".rand(0,1000)."','".(rand(1,4))."');");
}
mysql_query("UPDATE `lab_rooms` SET `exit`=1 WHERE id = ".rand(1,1000)." LIMIT 1;");
*/
<?php
///Двигаем АРХОВ
$id_arx = 2999;
for($i=0; $i<11; $i++){
$rand_room1 = rand(501,530);
$rand_room2 = rand(530,560);
$id_arx++;
$arxs = mysql_fetch_array(mysql_query("select * from `users` where `room`='".$rand_room1."' AND `in_tower`='1' AND `bs_arx`='1'"));
if(!$arxs['room']){
// echo"OK:".$rand1."<br>";
mysql_query("update `users` set `in_tower`='1', `bs_room`='".$rand_room1."',`room`='".$rand_room1."' where `id`='".$id_arx."'");
}
else{
mysql_query("update `users` set `in_tower`='1', `bs_room`='".$rand_room2."',`room`='".$rand_room2."' where `id`='".$id_arx."'");
}
//echo$id_arx."!".$rand_room."<BR>";
}
/////////////////////////////
// start BS
$tr = mysql_fetch_array(mysql_query("SELECT * FROM `deztow_turnir` WHERE `active` = TRUE"));
$turnirstart = mysql_fetch_array(mysql_query("SELECT `value` FROM `variables` WHERE `var` = 'startbs' LIMIT 1;"));
$dd = mysql_fetch_array(mysql_query("SELECT count(`kredit`) FROM `deztow_stavka`;"));
// AddChatSystem ('1');
if($dd[0] < 2 && $turnirstart[0] <= time()) {
echo"bs_no";
mysql_query('UPDATE `variables` SET `value` = \''.(time()+30*30*6).'\' WHERE `var` = \'startbs\';');
// AddChatSystem ('1');
}
if(!$tr && $turnirstart[0] <= time() && $dd[0] >= 2){
echo"bs_ok";
// AddChatSystem ('2');
// начинаем БС
//mysql_query("LOCK TABLES `shop` WRITE, `deztow_items` WRITE, `deztow_realchars` WRITE, `deztow_charstams` WRITE, `deztow_eff` WRITE, `deztow_gamers_inv` WRITE,`effects` WRITE, `deztow_turnir` WRITE, `deztow_stavka` WRITE, `users` WRITE, `inventory` WRITE, `online` WRITE;");
$minroom = 501;
$maxroom = 560;
///Заносим архов в БС
$id_arx = 1199;
for($i=0; $i<11; $i++){
$rand_room1 = rand(501,530);
$rand_room2 = rand(530,560);
$id_arx++;
$arxs = mysql_fetch_array(mysql_query("select * from `users` where `room`='".$rand_room1."' AND `in_tower`='1' AND `bs_arx`='1'"));
if(!$arxs['room']){
// echo"OK:".$rand1."<br>";
mysql_query("update `users` set `in_tower`='1', `bs_room`='".$rand_room1."',`room`='".$rand_room1."' where `id`='".$id_arx."'");
}
else{
mysql_query("update `users` set `in_tower`='1', `bs_room`='".$rand_room2."',`room`='".$rand_room2."' where `id`='".$id_arx."'");
}
echo$id_arx."!".$rand_room."<BR>";
}
// вычисляем кто прошел в турнир
$data = mysql_query("SELECT dt.owner FROM `deztow_stavka` as dt, `online` as o WHERE (SELECT count(`id`) FROM `effects` WHERE `effects`.`owner` = dt.owner AND ( type=11 OR type=12 OR type=13 OR type=14)) = 0 AND o.id = dt.owner AND room = 31 AND o.`date` >= '".(time()-300)."' ORDER by `kredit` DESC, dt.`time` ASC LIMIT 40;");
$stavka = mysql_fetch_array(mysql_query("SELECT SUM(`kredit`)*0.7 FROM `deztow_stavka`;"));
// удаляем сразу, чтоб другим не повадно было
if($data) {
mysql_query("TRUNCATE TABLE `deztow_stavka`;");
mysql_query("TRUNCATE TABLE `deztow_gamers_inv`;");
}
while($row=mysql_fetch_array($data)) {
// делаем каждому чару бекап в базу специальную, раздеваем и все такое
undressall($row[0]); // раздели
$shmot = mysql_query("SELECT * FROM `inventory` WHERE `owner` = '".$row[0]."';");// бекапим весь шмот
mysql_query("UPDATE `inventory` SET `owner` = 0 WHERE `owner` = '".$row[0]."';");
while($sh = mysql_fetch_array($shmot)) {
mysql_query("INSERT `deztow_gamers_inv` (`id_item`,`owner`) values ('".$sh[0]."','".$row[0]."');");
}
// effects
$effs = mysql_query("SELECT * FROM `effects` WHERE `owner` = '".$row[0]."';"); // бекапим ефекты
while($eff = mysql_fetch_array($effs)) {
mysql_query("INSERT `deztow_eff` (`type`, `name`, `time`, `sila`, `lovk`, `inta`, `vinos`, `owner`)
values ('".$eff[1]."','".$eff[2]."','".$eff[3]."','".$eff[4]."','".$eff[5]."','".$eff[6]."','".$eff[7]."','".$eff[8]."');");
//deltravma($eff['id']);
}
mysql_query("DELETE FROM `effects` WHERE `owner` = '".$row[0]."';");
// stats
$tec = mysql_fetch_array(mysql_query("SELECT * FROM `deztow_charstams` WHERE `owner` = '{$row[0]}' AND `def`='1';"));
if($tec[0] && $row[0] != 83000) {
// умелки
$u = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$row[0]}' LIMIT 1;"));
$master = ($u['noj']+$u['mec']+$u['topor']+$u['dubina']+$u['mfire']+$u['mwater']+$u['mair']+$u['mearth']+$u['mlight']+$u['mgray']+$u['mdark']+$u['master']);
// если есть шаблон - меняем
mysql_query("INSERT `deztow_realchars` (`owner`,`name`,`sila`,`lovk`,`inta`,`vinos`,`intel`,`mudra`,`stats`,`nextup`,`level`,`master`) values
('".$u['id']."','".$u['login']."','".$u['sila']."','".$u['lovk']."','".$u['inta']."','".$u['vinos']."','".$u['intel']."',
'".$u['mudra']."','".$u['stats']."','".$u['nextup']."','".$u['level']."','".$master."');");
//создали запись, теперь выставляем статы))
$stats = ($u['sila']+$u['lovk']+$u['inta']+$u['vinos']+$u['intel']+$u['mudra']+$u['stats'])-
($t['sila']+$t['lovk']+$t['inta']+$t['vinos']+$t['intel']+$t['mudra']);
if ((int)$stats!=0) {
$fffff=fopen('tmpdisk/bs_s.dat','a');
// $tec['sila']=$u['sila']; $tec['lovk']=$u['lovk']; $tec['$inta']=$u['inta'];
// $tec['vinos']=$u['vinos']; $tec['intel']=$u['intel']; $tec['mudra']=$u['mudra'];
fwrite($fffff,print_r($u)."\n");
fwrite($fffff,print_r($tec)."\n");
fwrite($fffff,(int)$stats."\n");
fwrite($fffff,"\n\n\n");
fclose($fffff);
} //".$stats."
mysql_query("UPDATE `users` SET `sila`='".$tec['sila']."', `lovk`='".$tec['lovk']."',`inta`='".$tec['inta']."',`vinos`='".$tec['vinos']."',`intel`='".$tec['intel']."',`mudra`='".$tec['mudra']."',`stats`='0',
`noj`=0,`mec`=0,`topor`=0,`dubina`=0,`mfire`=0,`mwater`=0,`mair`=0,`mearth`=0,`mlight`=0,`mgray`=0,`mdark`=0,`master`='".$master."',`maxhp`='".($tec['vinos']*6)."',`hp`='".($tec['vinos']*6)."'
WHERE `id` = '".$u['id']."' LIMIT 1;");
// закончили
}
// пихаем учасников в БС
$rum = rand($minroom,$maxroom);
$urs[$row[0]] = $rum;
//mysql_query("UPDATE `users` SET `in_tower` = 1, `room` = '".$rum."' WHERE `id` = '".$row[0]."';");
//mysql_query("UPDATE `online` SET `room` = '".$rum."' WHERE `id` = '".$row[0]."' LIMIT 1 ;");
// в список участников
$i++;
if($i>1) { $lors .= ", "; }
$lors .= nick3($row[0]);
}
Я так понимаю что после старта БС в кроне должно появляться сообщение в чате типа " Турнир башни начнется через стока-та"
<?php
/* cron file */
//error_reporting(E_ALL);
//ini_set("display_errors", 1);
/*
//Считываем текущее время
$mtime = microtime();
//Разделяем секунды и миллисекунды
$mtime = explode(" ",$mtime);
//Составляем одно число из секунд и миллисекунд
$mtime = $mtime[1] + $mtime[0];
//Записываем стартовое время в переменную
$tstart = $mtime;*/
session_start();
include "connect.php";
include "functions.php";
//addchp ('<font color=red>Внимание!</font> Тест ', '{[]}Система{[]}');
/// BS
include("cron_bs.php");