Utf8 convert

This commit is contained in:
2023-01-10 18:29:32 +02:00
parent 71b759232c
commit 90b9c8325e
3572 changed files with 35191 additions and 395614 deletions
+110 -110
View File
@@ -21,7 +21,7 @@ class BotLogic
static function battle_priems()
{
//èñïîëüçóåì ïðèåìû â áîþ
//используем приемы в бою
if (self::$st['hpNow'] > 0 && self::$bot['battle'] > 0) {
$pr = explode('|', self::$bot['priems']);
@@ -36,7 +36,7 @@ class BotLogic
$i = 0;
while ($i < count($pr)) {
if ($rz[$i] < 1 && $pr[$i] > 0) {
//Ìîæíî èñïîëüçîâàòü ïðèåì, ïîäêëþ÷àåì ëîãèêó
//Можно использовать прием, подключаем логику
BotPriemLogic::start($i, $pr[$i]);
}
$i++;
@@ -48,15 +48,15 @@ class BotLogic
static function clear_bot()
{
//Î÷èñòêà áîòà, îáíóëÿåì åãî äî [0], óäàëÿåì ýôôåêòû, ïðåäìåòû è ò.ä, à òåêóùåìó ñòàâèì ëîãèí delete
//Очистка бота, обнуляем его до [0], удаляем эффекты, предметы и т.д, а текущему ставим логин delete
//Óäàëÿåì ñîîáùåíèÿ â ÷àòå
//Удаляем сообщения в чате
mysql_query('DELETE FROM `chat` WHERE `to` = "' . self::$bot['login'] . '"');
//Óäàëÿåì øìîòêè è ýôôåêòû
//Удаляем шмотки и эффекты
mysql_query('DELETE FROM `items_users` WHERE `uid` = "' . self::$bot['id'] . '"');
mysql_query('DELETE FROM `eff_users` WHERE `uid` = "' . self::$bot['id'] . '"');
//Óäàëÿåì ñòàòû è ïîëå â þçåðñ
//Удаляем статы и поле в юзерс
mysql_query('DELETE FROM `users` WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('DELETE FROM `stats` WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('DELETE FROM `online` WHERE `uid` = "' . self::$bot['id'] . '" LIMIT 1');
@@ -80,13 +80,13 @@ class BotLogic
}
}
//ÏÐîâåðêà íà ôàéòðóì
//ПРоверка на файтрум
static function test_fr($id, $city = 'capitalcity')
{
return $city != 'capitalcity' || $id == 0 || $id == 2 || $id == 4 || $id == 5 || $id == 7 || $id == 377;
}
//Äåéñòâèÿ áîòà âíå áîÿ
//Действия бота вне боя
static function actions()
{
@@ -94,9 +94,9 @@ class BotLogic
if (self::$bot['battle'] == 0 && self::$bot['zv'] == 0 && self::$bot['pass'] == 'saintlucia') {
//Ìîæíî: ñìåíèòü ôóëë, ïåðåéòè â äðóãóþ êîìíàòó, âõîäèòü íàéìîì, äåëàòü áàôû
//Можно: сменить фулл, перейти в другую комнату, входить наймом, делать бафы
//Ïåðåõîäèì â äðóãóþ êîìíàòó
//Переходим в другую комнату
if (true == false && self::$bot['a1'] != 0 && self::$bot['a1'] != self::$bot['room']) {
self::_loc(self::$bot['a1']);
@@ -116,22 +116,22 @@ class BotLogic
mysql_query('UPDATE `stats` SET `exp` = "3500000" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
}
//Äåéñòâèå â êîìíàòå
//Ìàãàçèí
//Ïîêóïàåì êðèñòàëë âå÷íîñòè
//Действие в комнате
//Магазин
//Покупаем кристалл вечности
if (self::$bot['room'] == 10 && self::$bot['level'] == 5 && self::$bot['exp'] >= 12499) {
$cr = mysql_fetch_array(mysql_query('SELECT `id` FROM `items_users` WHERE `item_id` = "1204" AND `uid` = "' . self::$bot['id'] . '" AND `delete` = "0" LIMIT 1'));
if (!isset($cr['id'])) {
//Ïîêóïàåì êðèñòàëë
//Покупаем кристалл
$u->addItem(1204, self::$bot['id']);
}
}
//Ïåðåõîäèì â êîìíàòó äëÿ ñðàæåíèé
//Переходим в комнату для сражений
self::_loc(self::_loc_zv());
}
}
//Åñëè áîò óæå íàáðàë îïûò äëÿ ïåðåõîäà íà 6-îé
//Если бот уже набрал опыт для перехода на 6-ой
if (self::$bot['level'] == 5 && self::$bot['exp'] >= 12499) {
$cr = mysql_fetch_array(mysql_query('SELECT `id` FROM `items_users` WHERE `item_id` = "1204" AND `uid` = "' . self::$bot['id'] . '" AND `delete` = "0" LIMIT 1'));
if (!isset($cr['id'])) {
@@ -139,12 +139,12 @@ class BotLogic
}
}
//Ïîõîæå ÷òî áîòó ïîðà ñìåíèòü êîìïëåêò ))
//Похоже что боту пора сменить комплект ))
if (self::$bot['clss'] == 0) {
//Âûáèðàåì íîâûé êëàññ è øìîòêè :)
//Выбираем новый класс и шмотки :)
//Ìåíÿåì êëàññ
//Меняем класс
self::$bot['clss'] = rand(1, 4);
$x = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `a_bot_tree` WHERE `level` = "' . (self::$bot['level']) . '" '));
@@ -154,7 +154,7 @@ class BotLogic
if ($x[0] > 1) {
$x = rand(1, $x[0]);
//âûáèðàåì 1 èç íåñêîëüêèõ
//выбираем 1 из нескольких
$da = ['ASC', 'DESC', 'DESC', 'ASC'];
$da = $da[rand(0, 5)];
$com = mysql_fetch_array(mysql_query('SELECT * FROM `a_bot_tree` WHERE `level` = "' . (self::$bot['level']) . '" ORDER BY `id` ' . $da . ' LIMIT ' . ($x - 1) . ',1'));
@@ -172,12 +172,12 @@ class BotLogic
mysql_query('UPDATE `users` SET `clss` = "' . self::$bot['clss'] . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
/* Çàáèðàåì ñòàðûå øìîòêè è ýôôåêòû */
/* Забираем старые шмотки и эффекты */
mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `gift` = "" AND `item_id` != "1204" AND `uid` = "' . self::$bot['id'] . '" AND `delete` = "0"');
mysql_query('UPDATE `items_users` SET `iznosNOW` = "0" WHERE `uid` = "' . self::$bot['id'] . '" AND `delete` = "0"');
mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `uid` = "' . self::$bot['id'] . '" AND `delete` = "0"');
/* Îáíîâëÿåì ñòàòû è ïðèåìû */
/* Обновляем статы и приемы */
if ($com['pr'] == '') {
$i = 1;
@@ -193,7 +193,7 @@ class BotLogic
$i = 1;
while ($i <= 20) {
if ($com['e' . $i] > 0) {
//Âûäàåì è íàäåâàåì ïðåäìåò
//Выдаем и надеваем предмет
//$it = $u->addItem($com['e'.$i],self::$bot['id']);
$eff = mysql_fetch_array(mysql_query('SELECT * FROM `eff_main` WHERE `id2` = "' . $com['e' . $i] . '" LIMIT 1'));
mysql_query('INSERT INTO `eff_users` (`overType`,`id_eff`,`uid`,`name`,`timeUse`,`data`,`no_Ace`) VALUES ("' . $eff['oneType'] . '","' . $eff['id2'] . '","' . self::$bot['id'] . '","' . $eff['mname'] . '","' . (time() + 9640000) . '","' . $eff['mdata'] . '","' . $eff['noAce'] . '")');
@@ -204,7 +204,7 @@ class BotLogic
$i = 1;
while ($i <= 20) {
if ($com['w' . $i] > 0) {
//Âûäàåì è íàäåâàåì ïðåäìåò
//Выдаем и надеваем предмет
$it = $u->addItem($com['w' . $i], self::$bot['id']);
$eff1 = mysql_fetch_array(mysql_query('SELECT * FROM `items_shop` WHERE `item_id` = "' . $com['w' . $i] . '" LIMIT 1'));
if ($it > 0) {
@@ -217,7 +217,7 @@ class BotLogic
}
}
//åñëè áîò óæå 1-ûé óðîâåíü, à ñèäèò â íîâè÷êàõ :) êèäàåì åãî â çàëû
//если бот уже 1-ый уровень, а сидит в новичках :) кидаем его в залы
if (self::$bot['city'] == 'capitalcity' && self::$bot['level'] < 2 && self::$bot['room'] == 0 && self::$bot['a1'] == 0) {
self::_loc(self::_loc_zv());
}
@@ -226,7 +226,7 @@ class BotLogic
public $bot_last_action = [];
//Âêëþ÷àåì ëîãèêó áîòà
//Включаем логику бота
static function start($id)
{
if (!isset($bot_last_action[$id])) {
@@ -238,12 +238,12 @@ class BotLogic
self::$st = $u->getStats(self::$bot, 0);
//Çàõîäèì áîòîì â îíëàéí
//Заходим ботом в онлайн
self::_online();
if (self::$bot['battle'] > 0) {
//Äåéñòâèÿ áîòà â ïîåäèíêå
//Действия бота в поединке
self::$btl = mysql_fetch_array(mysql_query('SELECT * FROM `battle` WHERE `id` = "' . mysql_real_escape_string(self::$bot['battle']) . '" AND `team_win` = "-1" LIMIT 1'));
if (isset(self::$btl['id'])) {
@@ -252,16 +252,16 @@ class BotLogic
$a1 = mysql_fetch_array(mysql_query('SELECT `id`,`uid1`,`uid2`,`time` FROM `battle_act` WHERE `battle` = "' . self::$btl['id'] . '" AND `uid1` = "' . self::$bot['id'] . '" ORDER BY `time` ASC LIMIT 1'));
//Ïðîâåðÿåì âîçìîæíîñòü èñïîëüçîâàíèÿ ïðèåìîâ è äåëàåì ñïèñîê ÷òî èñïîëüçîâàòü
//èñïîëüçóåì ïðèåìû
//Проверяем возможность использования приемов и делаем список что использовать
//используем приемы
self::battle_priems();
//Áîò ñäåëàë óäàð, íî íèêòî íå îòâåòèë, ïðîâåðÿåì òàéìàóò è åñëè ÷òî çàõîäèì
//Бот сделал удар, но никто не ответил, проверяем таймаут и если что заходим
if (isset($a1['id']) && $a1['time'] + self::$btl['timeout'] < time()) {
$go_bot = true;
}
//ÒÓÒ test
//ТУТ test
$a2 = mysql_fetch_array(mysql_query('SELECT `id`,`uid1`,`uid2`,`time` FROM `battle_act` WHERE `battle` = "' . self::$btl['id'] . '" AND `uid2` = "' . self::$bot['id'] . '" ORDER BY `time` ASC LIMIT 1'));
if (isset($a2['uid1'])) {
mysql_query('UPDATE `stats` SET `enemy` = "' . $a2['uid1'] . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
@@ -270,41 +270,41 @@ class BotLogic
if (isset($a3['uid2'])) {
mysql_query('UPDATE `stats` SET `enemy` = "' . $a3['uid2'] . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
}
//Ðàçìåí ñ ïðîòèâíèêîì
//Размен с противником
self::$enemy = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `id` = "' . self::$bot['enemy'] . '" LIMIT 1'));
} else {
//Çàõîäèì íà ïåðñîíàæà
//Заходим на персонажа
self::inuser_go_btl(self::$bot);
//Ïîåäèíîê óæå çàâåðøèëñÿ, âûêèäûâàåì èç áîÿ
//Поединок уже завершился, выкидываем из боя
self::$bot['battle'] = 0;
mysql_query('UPDATE `users` SET `battle` = "' . self::$bot['battle'] . '" WHERE `id` = "' . mysql_real_escape_string(self::$bot['id']) . '" LIMIT 1 ');
}
} else {
//Äåéñòâèÿ áîòà âíå ïîåäèíêà
//Действия бота вне поединка
if (self::$bot['timeMain'] < time()) {
mysql_query('UPDATE `chat` SET `time` = "' . time() . '" WHERE `to` = "' . self::$bot['login'] . '" AND `time` = "-1"');
//Äåéñòâèå âîçìîæíî ïðîèçâåñòè
//Действие возможно произвести
if (self::$bot['ipreg'] == 1 || self::$bot['ipreg'] == 2 || self::$bot['ipreg'] == 4) {
//Ïðèíèìàåì òîëüêî õàîòû
//Принимаем только хаоты
self::$bot['ipreg'] = 3;
}
if (self::$bot['ipreg'] == 5) {
//Ïîäàåì òîëüêî õàîòû
//Подаем только хаоты
self::$bot['ipreg'] = 7;
}
//
if (self::$bot['ipreg'] == 0 || !self::test_fr(self::$bot['room'])) {
//Îáíîâëÿåì ýôôåêòû
//Обновляем эффекты
$com = mysql_fetch_array(mysql_query('SELECT * FROM `a_bot_tree` WHERE `level` = "' . (self::$bot['level']) . '" LIMIT 1'));
if (isset($com['id'])) {
$eft = mysql_fetch_array(mysql_query('SELECT `id` FROM `eff_users` WHERE `uid` = "' . self::$bot['id'] . '" AND `delete` = "0" LIMIT 1'));
@@ -313,7 +313,7 @@ class BotLogic
$i = 1;
while ($i <= 20) {
if ($com['e' . $i] > 0) {
//Âûäàåì è íàäåâàåì ïðåäìåò
//Выдаем и надеваем предмет
//$it = $u->addItem($com['e'.$i],self::$bot['id']);
$eff = mysql_fetch_array(mysql_query('SELECT * FROM `eff_main` WHERE `id2` = "' . $com['e' . $i] . '" LIMIT 1'));
mysql_query('INSERT INTO `eff_users` (`overType`,`id_eff`,`uid`,`name`,`timeUse`,`data`,`no_Ace`) VALUES ("' . $eff['oneType'] . '","' . $eff['id2'] . '","' . self::$bot['id'] . '","' . $eff['mname'] . '","' . (time() + 86400 * 7) . '","' . $eff['mdata'] . '","' . $eff['noAce'] . '")');
@@ -324,25 +324,25 @@ class BotLogic
}
if (self::$bot['level'] >= 13 && self::$bot['clan'] == 0 && self::$bot['align'] == 0) {
//îáíóëÿåì áîòà
//обнуляем бота
self::clear_bot();
}
//Òîëüêî-÷òî èç ïîåäèíêà, õèëÿåòñÿ
//Только-что из поединка, хиляется
if (!self::test_fr(self::$bot['room'])) {
//Â êàêîé-òî ëîêàöèè, âèäèìî ÷òî-òî äåëàåì
//В какой-то локации, видимо что-то делаем
} elseif (self::$st['hpNow'] >= self::$st['hpAll']) {
echo 1;
//Ïðèñòóïàåì ê àêòèâíîé äåÿòåëüíîñòè :)
//Приступаем к активной деятельности :)
mysql_query('UPDATE `stats` SET `zv`= "0",`team`= "0",`hpNow` = "' . self::$st['hpNow'] . '",`mpNow` = "' . self::$st['mpNow'] . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `ipreg` = "' . self::new_action() . '",`mod_zvanie` = "Ñòàæåð" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `ipreg` = "' . self::new_action() . '",`mod_zvanie` = "Стажер" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
} else {
if (self::$bot['mod_zvanie'] == 'Ñòàæåð100500') {
//Íàäåâàåì êîìïëåêò + îáíîâëÿåì ýôôåêòû
if (self::$bot['mod_zvanie'] == 'Стажер100500') {
//Надеваем комплект + обновляем эффекты
mysql_query('UPDATE `eff_users` SET `timeUse` = "' . (time() + 7200) . '" WHERE `uid` = "' . self::$bot['id'] . '" AND `delete` = "0" AND `v1` != "priem" LIMIT 12');
mysql_query('UPDATE `items_users` SET `inOdet` = "0" WHERE `uid` = "' . self::$bot['id'] . '" AND `inOdet` > 0 AND `delete` = "0"');
$sp = mysql_query('SELECT `u`.`id`,`st`.`inslot`,`st`.`2too` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `st` ON `st`.`id` = `u`.`item_id` WHERE `u`.`inOdet` = 0 AND `st`.`inslot` > 0 AND `st`.`inSlot` <= 20');
@@ -373,10 +373,10 @@ class BotLogic
mysql_query('UPDATE `items_users` SET `inOdet` = "' . $od . '" WHERE `id` = "' . $pl['id'] . '" AND `uid` = "' . self::$bot['id'] . '" LIMIT 1');
}
}
mysql_query('UPDATE `items_users` SET `mod_zvanie` = "Còaæåð" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('UPDATE `items_users` SET `mod_zvanie` = "Cтaжер" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
}
//Õèëÿåìñÿ äàëüøå
//Хиляемся дальше
if (self::$bot['regHP'] == 0 || self::$bot['regMP'] == 0) {
mysql_query('UPDATE `stats` SET `regHP` = "' . time() . '", `regMP` = "' . time() . '",`hpNow` = "' . self::$st['hpNow'] . '",`mpNow` = "' . self::$st['mpNow'] . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
}
@@ -390,10 +390,10 @@ class BotLogic
} elseif (self::$bot['ipreg'] == 1) {
//Ïðèíÿòü çàÿâêó íà áîé (ôèç.)
//Принять заявку на бой (физ.)
if (self::$bot['zv'] == 0) {
//Âûäåëÿåì ïîäõîäÿùóþ çàÿâêó â ôèç. ïîåäèíêå
//Выделяем подходящую заявку в физ. поединке
$rz = 2;
$zv = 0;
$nozv = 0;
@@ -415,13 +415,13 @@ class BotLogic
if ($uz1st['reting'] <= floor(self::$st['reting'] * 1.27)) {
//Ïðèíèìàåì çàÿâêó
//Принимаем заявку
$sa = '';
if (self::$bot['sex'] == 2) {
$sa = 'à';
$sa = 'а';
}
$text = ' [login:' . self::$bot['login'] . '] ïðèíÿë' . $sa . ' âàøó çàÿâêó íà áîé.[reflesh_main_zv_priem:' . self::$bot['id'] . ']';
$text = ' [login:' . self::$bot['login'] . '] принял' . $sa . ' вашу заявку на бой.[reflesh_main_zv_priem:' . self::$bot['id'] . ']';
mysql_query("INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','" . $uz1['city'] . "','','','" . $uz1['login'] . "','" . $text . "','" . time() . "','6','0')");
mysql_query('UPDATE `stats` SET `zv` = "' . $zv['id'] . '",`team` = "2" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `ipreg` = "8",`timeMain` = "' . self::rnd() . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
@@ -449,19 +449,19 @@ class BotLogic
} elseif (self::$bot['ipreg'] == 2) {
//Ïðèíÿòü çàÿâêó íà áîé (ãðóï.)
//Принять заявку на бой (груп.)
self::bot_group_haot_zv(6);
} elseif (self::$bot['ipreg'] == 3) {
//Ïðèíÿòü çàÿâêó íà áîé (õàîò.)
//Принять заявку на бой (хаот.)
self::bot_group_haot_zv(7);
} elseif (self::$bot['ipreg'] == 4) {
//Ïðèíÿòü çàÿâêó íà áîé (òóðíèð.)
self::e('' . self::$bot['login'] . ', ÿ õî÷ó ïðèíÿòü òóðíèð...');
//Принять заявку на бой (турнир.)
self::e('' . self::$bot['login'] . ', я хочу принять турнир...');
} elseif (self::$bot['ipreg'] == 5) {
//Ïîäàòü çàÿâêó (ôèç.)
//Подать заявку (физ.)
if (self::$bot['zv'] == 0) {
$rz = 2;
@@ -531,34 +531,34 @@ class BotLogic
} elseif (self::$bot['ipreg'] == 8) {
//Îæèäàíèå íà÷àëà ïîåäèíêà
//Ожидание начала поединка
if (self::$bot['zv'] == 0) {
//Ïîåäèíîê íå óäàëîñü íà÷àòü
//Поединок не удалось начать
mysql_query('UPDATE `users` SET `ipreg` = "0",`timeMain` = "' . self::rnd() . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
} else {
$zv = mysql_fetch_array(mysql_query('SELECT * FROM `zayvki` WHERE `id` = "' . self::$bot['zv'] . '" AND `cancel` = "0" AND `start` = "0" LIMIT 1'));
if (!isset($zv['id'])) {
//Îáíóëÿåì äåéñòâèÿ
//Обнуляем действия
mysql_query('UPDATE `users` SET `ipreg` = "0",`timeMain` = "' . self::rnd() . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
} elseif ($zv['razdel'] == 4 || $zv['razdel'] == 5) {
//õàîò èëè ãðóïïà
//хаот или группа
if ($zv['time_start'] + $zv['time'] <= time()) {
self::inuser_go_zv(self::$bot);
}
} else {
//ôèç
//физ
if ($zv['creator'] == self::$bot['id']) {
$uz2 = mysql_fetch_array(mysql_query('SELECT `u`.`sex`,`u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $zv['id'] . '" AND `st`.`team`="2" LIMIT 1'));
if (isset($uz2['id'])) {
//Çàÿâêó êòî-òî ïðèíÿë, ðåàãèðóåì! :)
//Заявку кто-то принял, реагируем! :)
$pr = -1;
$uz2st = $u->getStats($uz2, 0);
@@ -566,12 +566,12 @@ class BotLogic
//btl-cof
if ($uz2st['reting'] > floor(self::$st['reting'] * 1.27)) {
//Îòêàçûâàåì, â 95% ñëó÷àåâ, ïðîòèâíèê ñëèøêîì ñèëåí
//Отказываем, в 95% случаев, противник слишком силен
if (rand(0, 100) > 95) {
//îòïðàâëÿåì áîòà íà èçáèåíèå :D
//отправляем бота на избиение :D
$pr = 1;
} else {
//îòêàç
//отказ
$pr = 0;
}
@@ -579,13 +579,13 @@ class BotLogic
$pr = 1;
}
//Ìîæíî ïðèíÿòü çàÿâêó
//Можно принять заявку
//$pr = 0;
if ($pr == 1) {
//Ïðèåì çàÿâêè
//ñîçäàåì ïîåäèíîê ñ áîòîì
//Прием заявки
//создаем поединок с ботом
$expB = 0;
$btl = ['players' => '', 'timeout' => $zv['timeout'], 'type' => $zv['type'], 'invis' => $zv['invis'], 'noinc' => 0, 'travmChance' => 0, 'typeBattle' => 0, 'addExp' => $expB, 'money' => 0];
$ins = mysql_query('INSERT INTO `battle` (`time_over`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`,`team_win`) VALUES (
@@ -604,13 +604,13 @@ class BotLogic
"-1")');
if ($ins) {
$btl_id = mysql_insert_id();
//îáíîâëÿåì äàííûå î ïîåäèíêå
//обновляем данные о поединке
mysql_query('UPDATE `users` SET `battle`="' . $btl_id . '" WHERE `id` = "' . $uz2['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `battle`="' . $btl_id . '",`ipreg` = "0" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('UPDATE `stats` SET `zv` = "0",`team`="1" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('UPDATE `stats` SET `zv` = "0",`team`="2" WHERE `id` = "' . $uz2['id'] . '" LIMIT 1');
//Åñëè áîé êóëà÷íûé, òî ñíèìàåì âåùè
//Если бой кулачный, то снимаем вещи
if ($btl['type'] == 1) {
mysql_query('UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . self::$bot['id'] . '" AND `inOdet`!=0');
mysql_query('UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . $uz2['id'] . '" AND `inOdet`!=0');
@@ -618,21 +618,21 @@ class BotLogic
mysql_query('UPDATE `zayvki` SET `start` = "' . time() . '",`btl_id` = "' . $btl_id . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1');
//îáíîâëÿåì çàÿâêó, ÷òî áîé íà÷àëñÿ
//обновляем заявку, что бой начался
self::$bot['battle'] = $btl_id;
//Îòïðàâëÿåì ñîîáùåíèå â ÷àò âñåì áîéöàì
//Отправляем сообщение в чат всем бойцам
mysql_query("INSERT INTO `chat` (`city`,`room`,`to`,`time`,`type`,`toChat`,`sound`) VALUES ('" . $u->info['city'] . "','" . $u->info['room'] . "','" . $uz2['login'] . "','" . time() . "','11','0','117')");
}
} elseif ($pr == 0) {
//Îòêàç
//Отказ
$sa = '';
if (self::$bot['sex'] == 2) {
$sa = 'à';
$sa = 'а';
}
$text = ' [login:' . self::$bot['login'] . '] îòêàçàë' . $sa . ' âàì â ïîåäèíêå.';
$text = ' [login:' . self::$bot['login'] . '] отказал' . $sa . ' вам в поединке.';
mysql_query("INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','" . $uz2['city'] . "','','','" . $uz2['login'] . "','" . $text . "','" . time() . "','6','0')");
mysql_query('UPDATE `stats` SET `zv` = "0",`team` = "1" WHERE `id` = "' . $uz2['id'] . '" LIMIT 1');
mysql_query('UPDATE `zayvki` SET `otk` = ( `otk` + 1 ),`bcs` = "' . (time() + rand(30, rand(60, 180))) . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1');
@@ -640,7 +640,7 @@ class BotLogic
} else {
//Çàÿâêó íèêòî íå ïðèíÿë, âîçìîæíî ñòîèò îòìåíèòü çàÿâêó âîîáùå!
//Заявку никто не принял, возможно стоит отменить заявку вообще!
if (self::$bot['timeMain'] < time() - 30 - rand((7 / $zv['otk']), (3 * 49 / $zv['otk']))) {
mysql_query('UPDATE `stats` SET `zv` = "0" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
@@ -655,7 +655,7 @@ class BotLogic
}
//Áîò óæå ñëèøêîì äîëãî æäåò îòâåòà èãðîêà, îòêàçûâàåìñÿ îò çàÿâêè
//Бот уже слишком долго ждет ответа игрока, отказываемся от заявки
if (self::$bot['timeMain'] < time() - rand((30 / $zv['otk']), (135 / $zv['otk'])) && $zv['creator'] != self::$bot['id'] && ($zv['razdel'] == 1 || $zv['razdel'] == 2)) {
$uz1 = mysql_fetch_array(mysql_query('SELECT `u`.`sex`,`u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $zv['id'] . '" AND `st`.`team`="1" LIMIT 1'));
@@ -663,10 +663,10 @@ class BotLogic
$sa = '';
if (self::$bot['sex'] == 2) {
$sa = 'à';
$sa = 'а';
}
$text = ' [login:' . self::$bot['login'] . '] îòîçâàë' . $sa . ' ñâîé çàïðîñ íà áîé.';
$text = ' [login:' . self::$bot['login'] . '] отозвал' . $sa . ' свой запрос на бой.';
mysql_query("INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','" . $uz1['city'] . "','','','" . $uz1['login'] . "','" . $text . "','" . time() . "','6','0')");
}
@@ -709,18 +709,18 @@ class BotLogic
if (self::$bot['level'] < 2) {
if ($r == 2 || $r == 3 || $r == 6 || $r == 7 || $r == 8) {
if (rand(0, 1) == 1) {
$r = 1; //ïðèíèìàåì ôèç
$r = 1; //принимаем физ
} elseif (rand(0, 1) == 0) {
$r = 4; //ïðèíèìàåì òóðíèð
$r = 4; //принимаем турнир
} else {
$r = 5; //ïîäàåì ôèç
$r = 5; //подаем физ
}
}
} elseif (self::$bot['level'] == 0) {
if (rand(0, 1) == 1) {
$r = 1; //ïðèíèìàåì ôèç
$r = 1; //принимаем физ
} else {
$r = 5; //ïîäàåì ôèç
$r = 5; //подаем физ
}
}
@@ -734,9 +734,9 @@ class BotLogic
/*/
Áàçîâûå ôóíêöèè îáó÷åíèÿ áîòà
Базовые функции обучения бота
/*/
//Áîò èùåò çàÿâêó â ãðóïïû èëè õàîò äëÿ ñâîåãî óðîâíÿ è ïîäõîäÿùóþ åìó
//Бот ищет заявку в группы или хаот для своего уровня и подходящую ему
static function bot_group_haot_zv($id)
{
$rz = 5;
@@ -783,7 +783,7 @@ class BotLogic
}
//Ëîãèêà ïðèåìà çàÿâêè
//Логика приема заявки
if ((self::team_zv_cf($pl, $atm) > (self::team_zv_cf($pl, $tmr) + self::$st['reting']) * 1.67 || ($zv['tm2max'] < $zv['tm1max'] / 2) || ($zv['tm1max'] < $zv['tm2max'] / 2)) && rand(0, 100) < 90) {
$go = 0;
}
@@ -840,7 +840,7 @@ class BotLogic
if ($tm > 0 || $rz == 5) {
//Ïðèíèìàåì ó÷àñòèå â çàÿâêå
//Принимаем участие в заявке
mysql_query('UPDATE `stats` SET `zv` = "' . $pl['id'] . '",`team` = "' . $tm . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `login2` = "' . self::$bot['login2'] . '",`ipreg` = "8" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
self::$bot['zv'] = $pl['id'];
@@ -856,7 +856,7 @@ class BotLogic
}
//Äîáàâëÿåì íîâîãî áîòà
//Добавляем нового бота
static function createNewBot($login, $sex)
{
if ($sex != 1) {
@@ -872,7 +872,7 @@ class BotLogic
'real_bot_user',
'0',
'" . mysql_real_escape_string($login) . "',
'" . md5('regnxt#$%^à0.' . time()) . "',
'" . md5('regnxt#$%^а0.' . time()) . "',
'127.0.0.1',
'127.0.0.1',
'capitalcity',
@@ -890,11 +890,11 @@ class BotLogic
}
//Áîò íàõîäèòñÿ â îíëàéíå
//Бот находится в онлайне
static function _online()
{
if (self::$bot['online'] < time() - 60) {
//óðîâåíü/àïï
//уровень/апп
if (self::$bot['battle'] == 0 && self::$bot['zv'] == 0) {
self::_level();
}
@@ -903,7 +903,7 @@ class BotLogic
}
}
//Áîò ìåíÿåò ëîêàöèþ
//Бот меняет локацию
static function _loc_A($a, $b)
{
return $b;
@@ -918,28 +918,28 @@ class BotLogic
$r = rand(1, 4);
}
//áóäóàð
//будуар
if ($r == 4 && self::$bot['sex'] != 1) {
$r = rand(1, 3);
}
if (self::$bot['city'] == 'capitalcity') {
if ($r == 4) {
//áóäóàð
//будуар
$r = 7;
} elseif ($r == 3) {
//ÇÂ 3
//ЗВ 3
$r = 5;
} elseif ($r == 2) {
//ÇÂ 2
//ЗВ 2
$r = 2;
} else {
//ÇÂ 1
//ЗВ 1
$r = 4;
}
if (self::$bot['level'] == 0) {
//Íîâè÷êè
//Новички
$r = 0;
}
@@ -952,20 +952,20 @@ class BotLogic
{
if ($id == self::$bot['room']) {
//íè÷åãî, óæå ïðèøëè
//ничего, уже пришли
self::update('a1', 0);
} else {
//Ïðîêëàäûâàåì ìàðøðóò èç òåêóùåé êîìíàòû
//Прокладываем маршрут из текущей комнаты
$rid_next = self::_loc_A(self::$bot['room'], $id);
if ($rid_next > 0) {
//Èäåì òóäà
//Идем туда
//$rid_next = 377;
mysql_query('UPDATE `users` SET `room` = "' . $rid_next . '" WHERE `id` = "' . self::$bot['id'] . '" LIMIT 1');
return true;
} else {
//Íåâîçìîæíî äîéòè òóäà
//Невозможно дойти туда
return false;
}
@@ -973,7 +973,7 @@ class BotLogic
}
//Áîò ïîëó÷èë óðîâåíü, ëèáî àïï
//Бот получил уровень, либо апп
static function _level()
{
global $u;
@@ -999,11 +999,11 @@ class BotLogic
}
//Âñïîìîãàòåëüíûå ôóíêöèè
//Вспомогательные функции
static function e($t)
{
mysql_query('INSERT INTO `chat` (`text`,`city`,`to`,`type`,`new`,`time`) VALUES ("core #' . date('d.m.Y') . ' %' . date('H:i:s') . ' (Êðèòè÷åñêàÿ îøèáêà): <b>' . mysql_real_escape_string($t) . '</b>","capitalcity",
mysql_query('INSERT INTO `chat` (`text`,`city`,`to`,`type`,`new`,`time`) VALUES ("core #' . date('d.m.Y') . ' %' . date('H:i:s') . ' (Критическая ошибка): <b>' . mysql_real_escape_string($t) . '</b>","capitalcity",
"LEL","6","1","-1")');
}