Utf8 convert
This commit is contained in:
+110
-110
@@ -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")');
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user