1339 lines
45 KiB
PHP
1339 lines
45 KiB
PHP
<?php
|
|
if( !defined('GAME') ) {
|
|
die();
|
|
}
|
|
|
|
class botLogic {
|
|
|
|
static $bot = array(),
|
|
$st = array(),
|
|
$btl = array(),
|
|
$enemy = array(),
|
|
$pr = false;
|
|
|
|
static function inuser_go_btl( $id , $txt = '' ) {
|
|
if(isset($id['id'])) {
|
|
$ctx = stream_context_create(array('https'=>
|
|
array(
|
|
'timeout' => 30
|
|
)
|
|
));
|
|
$val = file_get_contents('https://new-combats.com/jx/battle/refresh_bot.php?uid='.$id['id'].'&cron_core='.md5($id['id'].'_brfCOreW@!_'.$id['pass']).'&pass='.$id['pass'].'&'.$txt,false,$ctx);
|
|
echo '['.$val.']<hr>';
|
|
unset( $val );
|
|
}
|
|
}
|
|
|
|
static function battle_priems() {
|
|
|
|
//èñïîëüçóåì ïðèåìû â áîþ
|
|
if(self::$st['hpNow'] > 0 && self::$bot['battle'] > 0) {
|
|
|
|
$pr = explode('|',self::$bot['priems']);
|
|
$rz = explode('|',self::$bot['priems_z']);
|
|
$i = 0;
|
|
while($i < count($pr)) {
|
|
if($pr[$i] > 0) {
|
|
self::$pr[$pr[$i]] = $rz[$i];
|
|
}
|
|
$i++;
|
|
}
|
|
$i = 0;
|
|
while($i < count($pr)) {
|
|
if($rz[$i] < 1 && $pr[$i] > 0) {
|
|
//Ìîæíî èñïîëüçîâàòü ïðèåì, ïîäêëþ÷àåì ëîãèêó
|
|
botPriemLogic::start( $i, $pr[$i] );
|
|
}
|
|
$i++;
|
|
}
|
|
self::$pr = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
static function clear_bot() {
|
|
|
|
//Î÷èñòêà áîòà, îáíóëÿåì åãî äî [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');
|
|
mysql_query('DELETE FROM `actions` WHERE `uid` = "'.self::$bot['id'].'" LIMIT 1');
|
|
//Äîáàâëÿåì ñòàòû è þçåðñ
|
|
//mysql_query('UPDATE `users` SET `login` = "delete",`login2` = `login` WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
//self::createNewBot(self::$bot['login'],self::$bot['sex']);
|
|
/*
|
|
$ins = mysql_query("INSERT INTO `users` (`fnq`,`id`,`host_reg`,`room`,`login`,`pass`,`ipreg`,`ip`,`city`,`cityreg`,`a1`,`q1`,`mail`,`name`,`bithday`,`sex`,`city_real`,`icq`,`icq_hide`,`deviz`,`chatColor`,`timereg`) VALUES (
|
|
'0',
|
|
".self::$bot['id'].",
|
|
'0',
|
|
'0',
|
|
'".self::$bot['login']."',
|
|
'".self::$bot['pass']."',
|
|
'0',
|
|
'".self::$bot['ip']."',
|
|
'capitalcity',
|
|
'capitalcity',
|
|
'0',
|
|
'0',
|
|
'".self::$bot['mail']."',
|
|
'".self::$bot['name']."',
|
|
'".self::$bot['bithday']."',
|
|
'".self::$bot['sex']."',
|
|
'".self::$bot['city_real']."',
|
|
'0',
|
|
'1',
|
|
'".self::$bot['deviz']."',
|
|
'".self::$bot['chatColor']."',
|
|
'".time()."')");
|
|
if($ins) {
|
|
$uid = self::$bot['id'];
|
|
mysql_query("INSERT INTO `online` (`uid`,`timeStart`) VALUES ('".$uid."','".time()."')");
|
|
mysql_query("INSERT INTO `stats` (`id`,`stats`) VALUES ('".$uid."','s1=3|s2=3|s3=3|s4=3|rinv=40|m9=5|m6=10')");
|
|
}
|
|
*/
|
|
}
|
|
|
|
static function inuser_go_main( $id , $txt = '' ) {
|
|
if(isset($id['id'])) {
|
|
$ctx = stream_context_create(array('https'=>
|
|
array(
|
|
'timeout' => 1
|
|
)
|
|
));
|
|
file_get_contents('https://new-combats.com/main_bot.php?uid='.$id['id'].'&cron_core='.md5($id['id'].'_brfCOreW@!_'.$id['pass']).'&pass='.$id['pass'].'&'.$txt,false,$ctx);
|
|
}
|
|
}
|
|
|
|
static function inuser_go_zv( $id , $txt = '' ) {
|
|
if(isset($id['id'])) {
|
|
$ctx = stream_context_create(array('https'=>
|
|
array(
|
|
'timeout' => 1
|
|
)
|
|
));
|
|
file_get_contents('https://new-combats.com/main_bot.php?zayvka=1&r=4&uid='.$id['id'].'&cron_core='.md5($id['id'].'_brfCOreW@!_'.$id['pass']).'&pass='.$id['pass'].'&'.$txt,false,$ctx);
|
|
}
|
|
}
|
|
|
|
//ÏÐîâåðêà íà ôàéòðóì
|
|
static function test_fr( $id , $city = 'capitalcity' ) {
|
|
$r = true;
|
|
if( $city == 'capitalcity' ) {
|
|
if( $id != 0 && $id != 2 && $id != 4 && $id != 5 && $id != 7 && $id != 377 ) {
|
|
$r = false;
|
|
}
|
|
}
|
|
return $r;
|
|
}
|
|
|
|
//Äåéñòâèÿ áîòà âíå áîÿ
|
|
static function actions() {
|
|
|
|
global $u;
|
|
|
|
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'] );
|
|
|
|
}else{
|
|
|
|
self::update('a1',0);
|
|
|
|
//CAPITAL
|
|
if( self::$bot['city'] == 'capitalcity' ) {
|
|
|
|
|
|
if( self::test_fr(self::$bot['room']) == false ) {
|
|
|
|
if( self::$bot['exp'] > 400000 && self::$bot['level'] == 8 ) {
|
|
self::$bot['exp'] = 400000;
|
|
mysql_query('UPDATE `stats` SET `exp` = "400000" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}elseif( self::$bot['exp'] > 3500000 && self::$bot['level'] == 9 ) {
|
|
self::$bot['exp'] = 3500000;
|
|
mysql_query('UPDATE `stats` SET `exp` = "3500000" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}
|
|
|
|
//Äåéñòâèå â êîìíàòå
|
|
//Ìàãàçèí
|
|
if( self::$bot['room'] == 10 ) {
|
|
|
|
//Ïîêóïàåì êðèñòàëë âå÷íîñòè
|
|
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']) ) {
|
|
//Ïîêóïàåì êðèñòàëë
|
|
$u->addItem(1204,self::$bot['id']);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//Ïåðåõîäèì â êîìíàòó äëÿ ñðàæåíèé
|
|
self::_loc( self::_loc_zv() );
|
|
|
|
}else{
|
|
|
|
//Ñòîèì íà ìåñòå, áî ñðàæàåòñÿ ))
|
|
|
|
|
|
}
|
|
|
|
}
|
|
//CAPITAL
|
|
|
|
}
|
|
|
|
//Åñëè áîò óæå íàáðàë îïûò äëÿ ïåðåõîäà íà 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']) ) {
|
|
self::update('a1',10);
|
|
}
|
|
}
|
|
|
|
//Ïîõîæå ÷òî áîòó ïîðà ñìåíèòü êîìïëåêò ))
|
|
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']).'" '));
|
|
|
|
if( $x[0] > 0 ) {
|
|
|
|
if( $x[0] > 1 ) {
|
|
|
|
$x = rand( 1 , $x[0] );
|
|
//âûáèðàåì 1 èç íåñêîëüêèõ
|
|
$da = array('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'));
|
|
}else{
|
|
$com = mysql_fetch_array(mysql_query('SELECT * FROM `a_bot_tree` WHERE `level` = "'.(self::$bot['level']).'" LIMIT 1'));
|
|
}
|
|
|
|
if(!isset($com['id'])) {
|
|
|
|
$com = mysql_fetch_array(mysql_query('SELECT * FROM `a_bot_tree` WHERE `level` < "'.(self::$bot['level']).'" ORDER BY `id` DESC LIMIT 1'));
|
|
|
|
}
|
|
|
|
if(isset($com['id'])) {
|
|
|
|
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;
|
|
while( $i <= 18 ) {
|
|
$com['pr'] .= $com['p'.$i].'|';
|
|
$i++;
|
|
}
|
|
$com['pr'] .= '0';
|
|
}
|
|
|
|
mysql_query('UPDATE `stats` SET `stats` = "'.$com['stats'].'",`priems` = "'.$com['pr'].'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
|
|
/* Âûäàåì íîâûå ïðåäìåòû è ýôôåêòû */
|
|
/*
|
|
$e = explode(',',$com['eff']);
|
|
$i = 0;
|
|
while($i < count($e)) {
|
|
if( $e[$i] > 0 ) {
|
|
//Êàñòóåì ýôôåêò íà ïåðñîíàæà áåç ñðîêà ãîäíîñòè
|
|
|
|
}
|
|
$i++;
|
|
}
|
|
*/
|
|
|
|
$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'].'")');
|
|
}
|
|
$i++;
|
|
}
|
|
|
|
$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) {
|
|
mysql_query('UPDATE `items_users` SET `inOdet` = "'.$i.'",`delete` = "0", `1price` = "'.$eff1['price_1'].'" WHERE `uid` = "'.self::$bot['id'].'" AND `id` = "'.$it.'" LIMIT 1');
|
|
}else{
|
|
|
|
}
|
|
}
|
|
$i++;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}else{
|
|
//æîïà, íåò êîìïëåêòîâ! õîäèì â ñòàðîì
|
|
}
|
|
|
|
}
|
|
|
|
//åñëè áîò óæå 1-ûé óðîâåíü, à ñèäèò â íîâè÷êàõ :) êèäàåì åãî â çàëû
|
|
if( self::$bot['city'] == 'capitalcity' ) {
|
|
|
|
if( self::$bot['level'] < 2 && self::$bot['room'] == 0 && self::$bot['a1'] == 0) {
|
|
|
|
self::_loc( self::_loc_zv() );
|
|
|
|
}else{
|
|
|
|
//Åñëè êóäà-òî íóæíî - ïåðåõîäèì
|
|
|
|
if( self::$bot['a1'] > 0 ) {
|
|
|
|
//Òîïàåì â ýòó êîìíàòó
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
//
|
|
|
|
|
|
|
|
/* ÇÀÂÅÐØÅÍÈÅ ÄÅÉÑÒÂÈÉ ÂÍÅ ÁÎß */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public $bot_last_action = array();
|
|
|
|
//Âêëþ÷àåì ëîãèêó áîòà
|
|
static function start( $id ) {
|
|
if(!isset($bot_last_action[$id])) {
|
|
global $u;
|
|
$bot_last_action[$id]++;
|
|
self::$bot = mysql_fetch_array(mysql_query('SELECT `u`.*,`st`.* FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON `st`.`id` = `u`.`id` WHERE `u`.`id` = "'.mysql_real_escape_string( $id ).'" AND `u`.`banned` = "0" LIMIT 1'));
|
|
|
|
if( isset( self::$bot['id'] ) ) {
|
|
|
|
//self::e(self::$bot['id'].'<<['.$bot_last_action[$id].']');
|
|
|
|
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'] ) ) {
|
|
|
|
$go_bot = false;
|
|
$go_txt = '';
|
|
|
|
$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'] ) ) {
|
|
|
|
//Áîò ñäåëàë óäàð, íî íèêòî íå îòâåòèë, ïðîâåðÿåì òàéìàóò è åñëè ÷òî çàõîäèì
|
|
if( $a1['time'] + self::$btl['timeout'] < time() ) {
|
|
$go_bot = true;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/*$a2_sp = 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 5');
|
|
|
|
while( $a2 = mysql_fetch_array( $a2_sp ) ) {
|
|
|
|
//Áîòà óäàðèëè - äåëàåì îòâåòíûé óäàð è çàõîäèì
|
|
if( $a2['time'] + self::$btl['timeout'] < time() ) {
|
|
//Çàõîäèì íà ïåðñîíàæà
|
|
$go_bot = true;
|
|
}else{
|
|
mysql_query('UPDATE `stats` SET `enemy` = "'.$a2['uid1'].'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
$go_bot = true;
|
|
$a = array(
|
|
0 => rand(1,5),
|
|
1 => rand(1,5),
|
|
2 => rand(1,5),
|
|
3 => rand(1,5),
|
|
4 => rand(1,5)
|
|
);
|
|
$a = $a[0].'_'.$a[1].'_'.$a[2].'_'.$a[3].'_'.$a[4];
|
|
$b = rand(1,5);
|
|
$go_txt .= '&atack='.$a.'&block='.$b.'';
|
|
}
|
|
|
|
}*/
|
|
|
|
//ÒÓÒ 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');
|
|
}
|
|
$a3 = 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($a3['uid2']))
|
|
{
|
|
mysql_query('UPDATE `stats` SET `enemy` = "'.$a3['uid2'].'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}
|
|
//Ðàçìåí ñ ïðîòèâíèêîì
|
|
|
|
|
|
$a1 = mysql_fetch_array(mysql_query('SELECT `id` FROM `battle_act` WHERE `battle` = "'.self::$btl['id'].'" AND `uid1` = "'.self::$bot['id'].'" AND `uid2` = "'.self::$bot['enemy'].'" LIMIT 1'));
|
|
self::$enemy = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `id` = "'.self::$bot['enemy'].'" LIMIT 1'));
|
|
/*if( !isset( $a1['id'] ) && self::$bot['hpNow'] >0 && self::$enemy['hpNow'] >0) {
|
|
$go_bot = true;
|
|
$a = array(
|
|
0 => rand(1,5),
|
|
1 => rand(1,5),
|
|
2 => rand(1,5),
|
|
3 => rand(1,5),
|
|
4 => rand(1,5)
|
|
);
|
|
$a = $a[0].'_'.$a[1].'_'.$a[2].'_'.$a[3].'_'.$a[4];
|
|
$b = rand(1,5);
|
|
$go_txt .= '&atack='.$a.'&block='.$b.'';
|
|
}
|
|
|
|
|
|
unset($a1,$a2_sp,$a2);
|
|
//Çàõîäèì íà ïåðñîíàæà
|
|
if( $go_bot == true ) {
|
|
self::inuser_go_btl( self::$bot , $go_txt );
|
|
}*/
|
|
|
|
}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']) == false ) {
|
|
|
|
/*if( self::$bot['exp'] > 0 && self::$bot['exp'] < 30000 ) {
|
|
$u->addItem(1204,self::$bot['id']);
|
|
mysql_query('UPDATE `stats` SET `exp` = "270000" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}*/
|
|
|
|
//Óäàëÿåì òðàâìó è îñëàáó
|
|
//mysql_query('UPDATE `eff_users` SET `timeUse` = "'.(time()-86400*3).'" WHERE `uid` = "'.self::$bot['id'].'" AND `id_eff` = "4" LIMIT 100');
|
|
|
|
//Îáíîâëÿåì ýôôåêòû
|
|
$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'));
|
|
if(!isset($eft['id'])) {
|
|
mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `uid` = "'.self::$bot['id'].'" AND `delete` = "0"');
|
|
$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'].'")');
|
|
}
|
|
$i++;
|
|
}
|
|
}
|
|
}
|
|
|
|
if( self::$bot['level'] >= 13 && self::$bot['clan'] == 0 && self::$bot['align'] == 0 ) {
|
|
//îáíóëÿåì áîòà
|
|
self::clear_bot();
|
|
}
|
|
|
|
//Òîëüêî-÷òî èç ïîåäèíêà, õèëÿåòñÿ
|
|
if( self::test_fr(self::$bot['room']) == false ) {
|
|
|
|
//Â êàêîé-òî ëîêàöèè, âèäèìî ÷òî-òî äåëàåì
|
|
|
|
}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');
|
|
|
|
}else{
|
|
|
|
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');
|
|
$in = array();
|
|
while($pl = mysql_fetch_array($sp)) {
|
|
$od = $pl['inslot'];
|
|
|
|
if($od == 10 && $in[10] > 0) {
|
|
if($in[11] > 0) {
|
|
if($in[12] == 0) {
|
|
$od = 12;
|
|
}
|
|
}else{
|
|
$od = 11;
|
|
}
|
|
}
|
|
|
|
if($od == 3 && $in[3] > 0 && $pl['2too'] > 0) {
|
|
if( $in[14] > 0 ) {
|
|
mysql_query('UPDATE `items_users` SET `inOdet` = "0" WHERE `uid` = "'.self::$bot['id'].'" AND `inOdet` = "14" AND `delete` = "0" LIMIT 1');
|
|
$in[14] = 0;
|
|
}
|
|
$od = 14;
|
|
}
|
|
|
|
if( $in[$od] == 0 ) {
|
|
$in[$od] = $pl['id'];
|
|
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');
|
|
}
|
|
|
|
//Õèëÿåìñÿ äàëüøå
|
|
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');
|
|
}
|
|
|
|
$reg = $u->regen( self::$bot['id'] , self::$st , 0 );
|
|
}
|
|
|
|
self::actions();
|
|
|
|
self::update( 'timeMain', self::rnd() );
|
|
|
|
}elseif( self::$bot['ipreg'] == 1 ) {
|
|
|
|
//Ïðèíÿòü çàÿâêó íà áîé (ôèç.)
|
|
if( self::$bot['zv'] == 0 ) {
|
|
|
|
//Âûäåëÿåì ïîäõîäÿùóþ çàÿâêó â ôèç. ïîåäèíêå
|
|
$rz = 2;
|
|
$zv = 0;
|
|
$nozv = 0;
|
|
|
|
if( self::$bot['level'] == 0 ) {
|
|
$rz = 1;
|
|
}
|
|
|
|
$zv = mysql_fetch_array(mysql_query('SELECT * FROM `zayvki` WHERE `city` = "'.self::$bot['city'].'" AND `otk` < "'.rand( 2, 6 ).'" AND `time` < "'.( time() - rand( 15, 25 ) ).'" AND `bcs` < "'.time().'" AND `start` = "0" AND `razdel` = "'.$rz.'" AND `cancel` = "0" AND `time` > "'.( time() - 1111).'" AND `money3` = 0 ORDER BY `time` DESC LIMIT 1'));
|
|
|
|
if( isset( $zv['id'] ) ) {
|
|
|
|
$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'));
|
|
$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( $uz1['id'] ) && !isset( $uz2['id'] ) ) {
|
|
|
|
$uz1st = $u->getStats($uz1,0);
|
|
|
|
if( $uz1st['reting'] <= floor(self::$st['reting']*1.27) ) {
|
|
|
|
//Ïðèíèìàåì çàÿâêó
|
|
$sa = '';
|
|
if( self::$bot['sex'] == 2 ) {
|
|
$sa = 'à';
|
|
}
|
|
|
|
$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');
|
|
|
|
}else{
|
|
$nozv = 1;
|
|
}
|
|
|
|
unset ($uz1st);
|
|
|
|
}else{
|
|
$nozv = 1;
|
|
}
|
|
}else{
|
|
$nozv = 1;
|
|
}
|
|
|
|
if( $nozv == 1 ) {
|
|
|
|
if( self::$bot['timeMain'] < time() - rand(1,3)*60 ) {
|
|
mysql_query('UPDATE `users` SET `ipreg` = "0",`timeMain` = "'.self::rnd().'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}
|
|
|
|
}
|
|
|
|
unset($rz);
|
|
}
|
|
|
|
|
|
}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'].', ÿ õî÷ó ïðèíÿòü òóðíèð...');
|
|
}elseif( self::$bot['ipreg'] == 5 ) {
|
|
|
|
//Ïîäàòü çàÿâêó (ôèç.)
|
|
if( self::$bot['zv'] == 0 ) {
|
|
|
|
$rz = 2;
|
|
if( self::$bot['level'] == 0 ) {
|
|
$rz = 1;
|
|
}
|
|
|
|
$ins = mysql_query('INSERT INTO `zayvki` (`bot1`,`bot2`,`time`,`city`,`creator`,`type`,`time_start`,`timeout`,`min_lvl_1`,`min_lvl_2`,`max_lvl_1`,`max_lvl_2`,`tm1max`,`tm2max`,`travmaChance`,`invise`,`razdel`,`comment`,`money`,`withUser`,`tm1`,`tm2`) VALUES (
|
|
"0",
|
|
"0",
|
|
"'.time().'",
|
|
"'.self::$bot['city'].'",
|
|
"'.self::$bot['id'].'",
|
|
"0",
|
|
"0",
|
|
"300",
|
|
"0",
|
|
"21",
|
|
"0",
|
|
"21",
|
|
"1",
|
|
"1",
|
|
"0",
|
|
"0",
|
|
"'.$rz.'",
|
|
"",
|
|
"",
|
|
"","'.( 0 + self::$bot['reting'] ).'","0")');
|
|
$zid = mysql_insert_id();
|
|
mysql_query('UPDATE `stats` SET `zv` = "'.$zid.'", `team` = "1" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
mysql_query('UPDATE `users` SET `ipreg` = "8",`timeMain` = "'.self::rnd().'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}
|
|
|
|
}elseif( self::$bot['ipreg'] == 6 || self::$bot['ipreg'] == 7 ) {
|
|
|
|
self::bot_group_haot_zv( self::$bot['ipreg'] );
|
|
|
|
//Ïîäàòü çàÿâêó (ãðóï.) èëè õàîòîâ
|
|
//$test_zv = mysql_fetch_array(mysql_query('SELECT * FROM `zayvki` WHERE `creator` = '.self::$bot['id'].' AND `cancel` = 0 AND `start` = 0 LIMIT 1'));
|
|
|
|
//self::e('SELECT * FROM `zayvki` WHERE `creator` = '.self::$bot['id'].' AND `cancel` = 0 AND `start` = 0 LIMIT 1');
|
|
|
|
if( self::$bot['zv'] == 0 ) {
|
|
|
|
$rz = 4;
|
|
|
|
if( self::$bot['ipreg'] == 7 ) {
|
|
$rz = 5;
|
|
}
|
|
|
|
$rz = 5;
|
|
|
|
$zv_c = array(
|
|
|
|
'time_start' => ( 60 * 5 ),
|
|
'tm1' => rand( 2, 6 ),
|
|
'tm2' => rand( 2, 6 ),
|
|
'l1min' => 0,
|
|
'l1max' => 21,
|
|
'l2min' => 0,
|
|
'l2max' => 21,
|
|
'timeout' => ( 60 * rand( 1, 3 ) )
|
|
|
|
);
|
|
|
|
if( self::$bot['ipreg'] == 7 ) {
|
|
$zv_c['tm1'] = 99;
|
|
}
|
|
|
|
$zv_c['tm2'] = $zv_c['tm1'];
|
|
$zv_c['l1min'] = self::$bot['level'];
|
|
$zv_c['l1max'] = self::$bot['level'];
|
|
|
|
if($zv_c['l1min'] < 2) {
|
|
$zv_c['l1min'] = 2;
|
|
}
|
|
if($zv_c['l1max'] >21) {
|
|
$zv_c['l1max'] = 21;
|
|
}
|
|
|
|
$zv_c['l2min'] = $zv_c['l1min'];
|
|
$zv_c['l2max'] = $zv_c['l1max'];
|
|
/*
|
|
$ins = mysql_query('INSERT INTO `zayvki` (`bot1`,`bot2`,`time`,`city`,`creator`,`type`,`time_start`,`timeout`,`min_lvl_1`,`min_lvl_2`,`max_lvl_1`,`max_lvl_2`,`tm1max`,`tm2max`,`travmaChance`,`invise`,`razdel`,`comment`,`money`,`withUser`,`tm1`,`tm2`,`maxplayers`) VALUES (
|
|
"0",
|
|
"0",
|
|
"'.time().'",
|
|
"'.self::$bot['city'].'",
|
|
"'.self::$bot['id'].'",
|
|
"0",
|
|
"'.$zv_c['time_start'].'",
|
|
"'.$zv_c['timeout'].'",
|
|
"'.$zv_c['l1min'].'",
|
|
"'.$zv_c['l1max'].'",
|
|
"'.$zv_c['l2min'].'",
|
|
"'.$zv_c['l2max'].'",
|
|
"'.$zv_c['tm1'].'",
|
|
"'.$zv_c['tm2'].'",
|
|
"0",
|
|
"0",
|
|
"'.$rz.'",
|
|
"",
|
|
"",
|
|
"","'.( 0 + self::$bot['reting'] ).'","0",
|
|
"12")');
|
|
$zid = mysql_insert_id();
|
|
mysql_query('UPDATE `stats` SET `zv` = "'.$zid.'", `team` = "1" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
mysql_query('UPDATE `users` SET `ipreg` = "8",`timeMain` = "'.self::rnd().'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
*/
|
|
}
|
|
|
|
}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);
|
|
|
|
//btl-cof
|
|
if( $uz2st['reting'] > floor(self::$st['reting']*1.27)) {
|
|
|
|
//Îòêàçûâàåì, â 95% ñëó÷àåâ, ïðîòèâíèê ñëèøêîì ñèëåí
|
|
if( rand( 0, 100 ) > 95 ) {
|
|
//îòïðàâëÿåì áîòà íà èçáèåíèå :D
|
|
$pr = 1;
|
|
}else{
|
|
//îòêàç
|
|
$pr = 0;
|
|
}
|
|
|
|
}else{
|
|
$pr = 1;
|
|
}
|
|
|
|
//Ìîæíî ïðèíÿòü çàÿâêó
|
|
//$pr = 0;
|
|
|
|
if( $pr == 1 ) {
|
|
|
|
//Ïðèåì çàÿâêè
|
|
//ñîçäàåì ïîåäèíîê ñ áîòîì
|
|
$expB = 0;
|
|
$btl = array('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 (
|
|
"0",
|
|
"'.self::$bot['city'].'",
|
|
"'.time().'",
|
|
"'.$btl['players'].'",
|
|
"'.$btl['timeout'].'",
|
|
"'.$btl['type'].'",
|
|
"'.$btl['invis'].'",
|
|
"'.$btl['noinc'].'",
|
|
"'.$btl['travmChance'].'",
|
|
"'.$btl['typeBattle'].'",
|
|
"'.$btl['addExp'].'",
|
|
"'.$btl['money'].'",
|
|
"-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');
|
|
}
|
|
|
|
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 = 'à';
|
|
}
|
|
$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');
|
|
}else{
|
|
//×åãî-òî æäåì...
|
|
}
|
|
|
|
}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');
|
|
mysql_query('UPDATE `users` SET `ipreg` = "0",`timeMain` = "'.self::rnd().'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
mysql_query('UPDATE `zayvki` SET `cancel` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//Áîò óæå ñëèøêîì äîëãî æäåò îòâåòà èãðîêà, îòêàçûâàåìñÿ îò çàÿâêè
|
|
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'));
|
|
if( isset( $uz1['id'] ) ) {
|
|
|
|
$sa = '';
|
|
if( self::$bot['sex'] == 2 ) {
|
|
$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')");
|
|
}
|
|
|
|
mysql_query('UPDATE `zayvki` SET `otk` = ( `otk` + 1 ),`bcs` = "'.( time() + rand( 30, rand( 60, 180 ) ) ).'" WHERE `id` = "'.$zv['id'].'" LIMIT 1');
|
|
mysql_query('UPDATE `stats` SET `zv` = "0",`team` = "1" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
mysql_query('UPDATE `users` SET `ipreg` = "1",`timeMain` = "'.self::rnd().'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}
|
|
|
|
}
|
|
|
|
}elseif( self::$bot['ipreg'] == 9 ) {
|
|
|
|
//Ïîäàòü çàÿâêó (õàîò.)
|
|
|
|
}elseif( self::$bot['ipreg'] == 10 ) {
|
|
|
|
//Ñâîáîäíûå õàðàêòåðèñòèêè èëè óìåíèÿ
|
|
|
|
}elseif( self::$bot['ipreg'] == 11 ) {
|
|
|
|
//Ìåíÿåì êîìïëåêò
|
|
|
|
}elseif( self::$bot['ipreg'] == 12 ) {
|
|
|
|
//Ïîëó÷èëè íîâûé óðîâåíü
|
|
|
|
}elseif( self::$bot['ipreg'] == 13 ) {
|
|
|
|
//Ïîìî÷ü ïåðñîíàæó â áîþ
|
|
|
|
}elseif( self::$bot['ipreg'] == 14 ) {
|
|
|
|
//Âûëå÷èòü ïåðñîíàæà îò òðàâì
|
|
|
|
}elseif( self::$bot['ipreg'] == 15 ) {
|
|
|
|
//Ñäåëàòü êàñò ïåðñîíàæó (Ñîêðóøåíèå, Õîëîäíûé ðàçóì, Çàùèòà îò ìàãèè, Çàùèòà îò îðóæèÿ)
|
|
|
|
}elseif( self::$bot['ipreg'] == 16 ) {
|
|
|
|
//Âûïèòü ýëèêñèðû
|
|
|
|
}else{
|
|
self::update('ipreg',0);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}else{
|
|
|
|
return false;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
static function team_zv_cf( $zv , $tm ) {
|
|
$r = mysql_fetch_array(mysql_query('SELECT SUM(`btl_cof`) FROM `stats` WHERE `zv` = "'.$zv['id'].'" AND `team` = "'.$tm.'" LIMIT 1'));
|
|
$r = 0+round($r[0]);
|
|
return $r;
|
|
}
|
|
|
|
static function new_action() {
|
|
|
|
$r = rand( 1 , 7 );
|
|
|
|
if( self::$bot['level'] < 2 ) {
|
|
if( $r == 2 || $r == 3 || $r == 6 || $r == 7 || $r == 8 ) {
|
|
if( rand(0,1) == 1 ) {
|
|
$r = 1; //ïðèíèìàåì ôèç
|
|
}elseif( rand(0,1) == 0 ){
|
|
$r = 4; //ïðèíèìàåì òóðíèð
|
|
}else{
|
|
$r = 5; //ïîäàåì ôèç
|
|
}
|
|
}
|
|
}elseif( self::$bot['level'] == 0 ) {
|
|
if( rand(0,1) == 1 ) {
|
|
$r = 1; //ïðèíèìàåì ôèç
|
|
}else{
|
|
$r = 5; //ïîäàåì ôèç
|
|
}
|
|
}else{
|
|
//Äîñòóïíû ëþáûå çàÿâêè
|
|
|
|
}
|
|
|
|
if( $r == 4 ) {
|
|
$r = 1;
|
|
}
|
|
|
|
return $r;
|
|
|
|
}
|
|
|
|
|
|
/*/
|
|
Áàçîâûå ôóíêöèè îáó÷åíèÿ áîòà
|
|
/*/
|
|
//Áîò èùåò çàÿâêó â ãðóïïû èëè õàîò äëÿ ñâîåãî óðîâíÿ è ïîäõîäÿùóþ åìó
|
|
static function bot_group_haot_zv( $id ) {
|
|
|
|
if($id == 6) {
|
|
//ãðóïïû
|
|
$rz = 4;
|
|
}elseif($id == 7) {
|
|
//õàîòû
|
|
$rz = 5;
|
|
}
|
|
|
|
//
|
|
$rz = 5;
|
|
//
|
|
|
|
|
|
$sp = mysql_query('SELECT * FROM `zayvki` WHERE `razdel` = "'.$rz.'" AND `cancel` = "0" AND `start` = "0" AND `invise` = "0" AND `money3` = 0 AND (
|
|
( `min_lvl_1` <= '.self::$bot['level'].' AND `max_lvl_1` >= '.self::$bot['level'].' ) OR ( `min_lvl_2` <= '.self::$bot['level'].' AND `max_lvl_2` >= '.self::$bot['level'].' )
|
|
)');
|
|
|
|
$pr = 0;
|
|
|
|
while($pl = mysql_fetch_array( $sp )) {
|
|
|
|
if( $pr == 0 ) {
|
|
|
|
$go = 1;
|
|
$tm = array(0,0,0);
|
|
|
|
if( $rz == 4 ) {
|
|
|
|
$tm1c = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `zv` = "'.$pl['id'].'" AND `team` = "1" LIMIT 1'));
|
|
$tm2c = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `zv` = "'.$pl['id'].'" AND `team` = "2" LIMIT 1'));
|
|
|
|
if($tm1c[0] < $pl['tm1max']) {
|
|
if( $pl['min_lvl_1'] <= self::$bot['level'] && $pl['max_lvl_1'] >= self::$bot['level']) {
|
|
$tm[1] = 1;
|
|
}
|
|
}
|
|
|
|
if($tm2c[0] < $pl['tm2max']) {
|
|
if( $pl['min_lvl_1'] <= self::$bot['level'] && $pl['max_lvl_1'] >= self::$bot['level']) {
|
|
$tm[2] = 1;
|
|
}
|
|
}
|
|
|
|
$atm = 1;
|
|
$tmr = 0;
|
|
if( $tm[1] == 1 && $tm[2] == 0 ) {
|
|
$tmr = 1;
|
|
}elseif( $tm[1] == 0 && $tm[2] == 1 ) {
|
|
$tmr = 2;
|
|
}else{
|
|
$tmr = rand(1,2);
|
|
}
|
|
|
|
if($tmr > 0) {
|
|
if($tmr == 1) {
|
|
$atm = 2;
|
|
}
|
|
|
|
|
|
//Ëîãèêà ïðèåìà çàÿâêè
|
|
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) ) {
|
|
//self::e(self::$bot['login'].', ÿ î÷êóþ '.$pl['id'].' , '.self::team_zv_cf($pl,$atm).' VS '.(self::team_zv_cf($pl,$tm) + self::$st['reting'] ).' ...');
|
|
if(rand(0,100) < 90) {
|
|
$go = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
}elseif( $rz == 5 ) {
|
|
/*
|
|
if( $pl['min_lvl_1'] <= self::$bot['level'] && $pl['max_lvl_1'] >= self::$bot['level']) {
|
|
$tm[1] = 1;
|
|
}
|
|
*/
|
|
//Òîëüêî 8-êè
|
|
/*if( self::$bot['level'] <= 8 ) {
|
|
if( $pl['min_lvl_1'] <= 8 && $pl['max_lvl_1'] <= 8) {
|
|
$tm[1] = 1;
|
|
}
|
|
}else{*/
|
|
if( $pl['min_lvl_1'] == self::$bot['level'] && $pl['max_lvl_1'] == self::$bot['level'] ) {
|
|
$tm[1] = 1;
|
|
}
|
|
$col_p = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `zv` = "'.$pl['id'].'"'));
|
|
$cols = $col_p[0];
|
|
if( $cols >= $pl['maxplayers'] ) {
|
|
$go = 0;
|
|
}
|
|
//}
|
|
}
|
|
|
|
|
|
if($go == 1 && ( $tm[1] != 0 || $tm[2] != 0 )) {
|
|
|
|
if( $tm[1] == 1 && $tm[2] == 0 ) {
|
|
$tm = 1;
|
|
}elseif( $tm[1] == 0 && $tm[2] == 1 ) {
|
|
$tm = 2;
|
|
}else{
|
|
$tm = rand(1,2);
|
|
}
|
|
|
|
if( $rz == 5 ) {
|
|
$tm = 1;
|
|
}
|
|
|
|
//self::e(self::$bot['login'].', ïðèíÿë ó÷àñòèå â çàÿâêå #'.$pl['id'].', çà êîìàíäó ¹'.$tm.' ');
|
|
|
|
if( $rz == 5 ) {
|
|
/* ñ÷èòàåì áàëàíñ */
|
|
if($pl['tm1'] > $pl['tm2'])
|
|
{
|
|
$tm = 2;
|
|
}elseif($z['tm1']<$z['tm2'])
|
|
{
|
|
$tm = 1;
|
|
}else{
|
|
$tm = rand(1,2);
|
|
}
|
|
|
|
$tm = rand(1,2);
|
|
|
|
if($pl['invise']==0)
|
|
{
|
|
$nxtID = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `zv` = "'.$pl['id'].'"'));
|
|
$nxtID = $nxtID[0];
|
|
//$u->info['login2'] = 'Áîåö ('.($nxtID+1).')';
|
|
self::$bot['login2'] = '';
|
|
}else{
|
|
self::$bot['login2'] = '';
|
|
}
|
|
|
|
$blnc = 100*self::$bot['level']+self::$st['reting'];
|
|
|
|
$pl['tm'.$tm] += $blnc;
|
|
|
|
mysql_query('UPDATE `zayvki` SET `tm1` = "'.$pl['tm1'].'", `tm2` = "'.$pl['tm2'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1');
|
|
|
|
}
|
|
|
|
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'];
|
|
$pr = $pl['id'];
|
|
|
|
}
|
|
|
|
} //if
|
|
|
|
} // while
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//Äîáàâëÿåì íîâîãî áîòà
|
|
static function createNewBot($login,$sex) {
|
|
if($sex != 1) {
|
|
$sex = 0;
|
|
}else{
|
|
$se = 1;
|
|
}
|
|
|
|
$r = array(
|
|
'name' => '_',
|
|
'city_real' => '',
|
|
'deviz' => '',
|
|
'chatColor' => 'Black'
|
|
);
|
|
|
|
$ins = mysql_query("INSERT INTO `users` (`fnq`,`host_reg`,`room`,`login`,`pass`,`ipreg`,`ip`,`city`,`cityreg`,`name`,`sex`,`city_real`,`deviz`,`chatColor`,`timereg`) VALUES (
|
|
'0',
|
|
'real_bot_user',
|
|
'0',
|
|
'".mysql_real_escape_string($login)."',
|
|
'".md5('regnxt#$%^à0.'.time())."',
|
|
'127.0.0.1',
|
|
'127.0.0.1',
|
|
'capitalcity',
|
|
'capitalcity',
|
|
'".$r['name']."',
|
|
'".mysql_real_escape_string($sex)."',
|
|
'".$r['city_real']."',
|
|
'".$r['deviz']."',
|
|
'".$r['chatColor']."',
|
|
'".time()."')");
|
|
if($ins){
|
|
$uid = mysql_insert_id();
|
|
mysql_query("INSERT INTO `online` (`uid`,`timeStart`) VALUES ('".$uid."','".time()."')");
|
|
mysql_query("INSERT INTO `stats` (`id`,`stats`) VALUES ('".$uid."','s1=3|s2=3|s3=3|s4=3|rinv=40|m9=5|m6=10')");
|
|
mysql_query("UPDATE `users` SET `online`='".time()."' WHERE `uid` = '".$uid."' LIMIT 1");
|
|
}
|
|
|
|
}
|
|
|
|
//Áîò íàõîäèòñÿ â îíëàéíå
|
|
static function _online() {
|
|
if( self::$bot['online'] < time() - 60 ) {
|
|
//óðîâåíü/àïï
|
|
if( self::$bot['battle'] == 0 && self::$bot['zv'] == 0) {
|
|
self::_level();
|
|
}
|
|
self::update( 'online', time() );
|
|
//self::$bot['online'] = time();
|
|
//mysql_query( 'UPDATE `users` SET `online` = "'.self::$bot['online'].'" WHERE `id` = "'.mysql_real_escape_string(self::$bot['id']).'" LIMIT 1 ' );
|
|
|
|
}
|
|
}
|
|
|
|
//Áîò ìåíÿåò ëîêàöèþ
|
|
static function _loc_A( $a, $b ) {
|
|
$r = $b;
|
|
|
|
return $r;
|
|
}
|
|
|
|
static function _loc_zv() {
|
|
|
|
if( rand(0,100) < 5 ) {
|
|
|
|
$r = 1;
|
|
|
|
}else{
|
|
|
|
$r = rand(1,4);
|
|
|
|
}
|
|
|
|
if( $r == 4 ) {
|
|
|
|
//áóäóàð
|
|
if( self::$bot['sex'] != 1 ) {
|
|
$r = rand(1,3);
|
|
}
|
|
|
|
}
|
|
|
|
if( self::$bot['city'] == 'capitalcity' ) {
|
|
if($r == 4) {
|
|
//áóäóàð
|
|
$r = 7;
|
|
}elseif( $r == 3 ) {
|
|
//ÇÂ 3
|
|
$r = 5;
|
|
}elseif( $r == 2 ) {
|
|
//ÇÂ 2
|
|
$r = 2;
|
|
}else{
|
|
//ÇÂ 1
|
|
$r = 4;
|
|
}
|
|
|
|
if( self::$bot['level'] == 0 ) {
|
|
//Íîâè÷êè
|
|
$r = 0;
|
|
}
|
|
|
|
}
|
|
|
|
return $r;
|
|
}
|
|
|
|
static function _loc( $id ) {
|
|
|
|
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;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//Áîò ïîëó÷èë óðîâåíü, ëèáî àïï
|
|
static function _level() {
|
|
global $u;
|
|
$lvl = mysql_fetch_array(mysql_query('SELECT `upLevel`,`nextLevel`,`exp`,`money`,`money_bonus1`,`money_bonus2`,`ability`,`skills`,`nskills`,`sskills`,`expBtlMax`,`hpRegen`,`mpRegen`,`money2` FROM `levels` WHERE `upLevel`="'.(self::$bot['upLevel']+1).'" LIMIT 1'));
|
|
if( isset($lvl['upLevel']) ) {
|
|
|
|
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']) ) {
|
|
$u->addItem(1204,self::$bot['id']);
|
|
self::$bot['exp'] = 12500;
|
|
}
|
|
}
|
|
//self::$bot['exp'] = 300000;
|
|
if($lvl['exp'] <= self::$bot['exp']) {
|
|
//mysql_query('UPDATE `stats` SET `exp` = "300000" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
//self::e('test');
|
|
//Ïîëó÷àåì óðîâåíü
|
|
self::inuser_go_main( self::$bot );
|
|
mysql_query('UPDATE `users` SET `clss` = "0" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
|
|
}
|
|
|
|
}else{
|
|
self::e(self::$bot['login']);
|
|
}
|
|
|
|
}
|
|
|
|
//Âñïîìîãàòåëüíûå ôóíêöèè
|
|
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",
|
|
"LEL","6","1","-1")');
|
|
|
|
}
|
|
|
|
static function rnd() {
|
|
return time() + rand(3,14) + rand(0,14) + rand(7,21);
|
|
}
|
|
|
|
static function update( $n, $v, $t = 'users' ) {
|
|
self::$bot[$n] = $v;
|
|
mysql_query('UPDATE `'.$t.'` SET `'.$n.'` = "'.self::$bot[$n].'" WHERE `id` = "'.self::$bot['id'].'" LIMIT 1');
|
|
}
|
|
|
|
}
|
|
?>
|