game/modules_data/location/dungeons/trap.php

89 lines
5.1 KiB
PHP
Raw Normal View History

2022-06-06 21:30:34 +00:00
<?php
if(!defined('GAME'))die();
if(isset($file) && $file[0]=='dungeons/trap.php'){
$actions = array();
$action = explode('|',$file[1]);
//id_bot:col |
foreach( $action as $value ) {
$temp = explode(':',$value);
$actions[$temp[0]]= $temp[1];
}
# attackBot:1|left=1|right=1
if( isset($actions['attackBot']) && $actions['attackBot'] != '' ) {
$attackBot = array();
if( isset($actions['left']) ) $attackBot[] = array( 'x' => (int)$u->info['x']-1, 'y' => (int)$u->info['y'] );
if( isset($actions['right']) ) $attackBot[] = array( 'x' => (int)$u->info['x']+1, 'y' => (int)$u->info['y'] );
if( isset($actions['top']) ) $attackBot[] = array( 'x' => (int)$u->info['x'], 'y' => (int)$u->info['y']+1 );
if( isset($actions['bottom']) ) $attackBot[] = array( 'x' => (int)$u->info['x'], 'y' => (int)$u->info['y']-1 );
$action = '';
foreach ($attackBot as $temp) {
if($action!='') $action .= ' OR ';
$action .= '(`x` = "'.$temp['x'].'" AND `y` = "'.$temp['y'].'")';
}
#$test = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_actions` WHERE `dn` = "'.$u->info['dnow'].'" AND `vars` = "obj_nakova2_use" LIMIT 1'));
$temp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `dn` = "'.$u->info['dnow'].'" AND ('.$action.') AND `delete`=\'0\' AND `inBattle`=\'0\' LIMIT 10');
2023-01-10 16:29:32 +00:00
#echo '<INPUT TYPE="button" value="Обновить" onclick="location =\''.$_SERVER['REQUEST_URI'].'\';"> Если страница не сработала, обновитесь ';
2022-06-06 21:30:34 +00:00
while($t = mysql_fetch_array($temp)){
if( isset($t['id_bot']) ) $d->botAtack($t,$u->info,2);
}
/*
if( $u->info['sex'] == 0 ) {
2023-01-10 16:29:32 +00:00
$d->sys_chat('<b>'.$u->info['login'].'</b> сделав необдуманый шаг, подвергся нападению ');
2022-06-06 21:30:34 +00:00
}else{
2023-01-10 16:29:32 +00:00
$d->sys_chat('<b>'.$u->info['login'].'</b> воспользовалась &quot;Наковальней&quot;, другим данный обьект стал недоступен');
2022-06-06 21:30:34 +00:00
}
mysql_query('INSERT INTO `dungeon_actions` (`dn`,`uid`,`time`,`vars`) VALUES (
"'.$u->info['dnow'].'","'.$u->info['id'].'","'.time().'","obj_nakova2_use"
)');
*/
#var_info($attackBot);
} elseif(isset($actions['lossLife']) && $actions['lossLife'] != '' ) {
if( (int)$actions['lossLife'] > 1 ) $actions['lossLife'] = $actions['lossLife']; else $actions['lossLife'] = 1;
$vad['count_uses'] = mysql_fetch_array(mysql_query('SELECT COUNT(*), id, vals FROM `dungeon_actions` WHERE `dn` = "'.$u->info['dnow'].'" AND `x` = "'.$u->info['x'].'" AND `y` = "'.$u->info['y'].'" AND `vars` = "trap_act" LIMIT '.$actions['lossLife'].''));
if( (int)$actions['lossLife'] > 1 && (int)$actions['lossLife'] >= $vad['count_uses'][0] ) {
$vad['count_uses'] = mysql_fetch_array(mysql_query('SELECT COUNT(*) , id, vals FROM `dungeon_actions` WHERE `dn` = "'.$u->info['dnow'].'" AND `uid` = "'.$u->info['id'].'" AND `x` = "'.$u->info['x'].'" AND `y` = "'.$u->info['y'].'" AND `vars` = "trap_act" LIMIT 1'));
}
$vad['count_uses']['vals'] = explode(':', $vad['count_uses']['vals']);
if( $vad['count_uses'][0] == 0 ) {
if( isset($actions['hp']) && $actions['hp'] !='' ){
$vad['hp'] = $actions['hp'];
} elseif( isset($actions['hpMax'])) {
if( !isset($actions['hpMin']) ) $actions['hpMin'] = 0;
$vad['hp'] = rand($actions['hpMin'],$actions['hpMax']);
}
if(isset($vad['hp']) && $vad['hp'] != '' ){
$vad['hp'] = round($u->stats['hpAll']*($vad['hp']/100));
if(($u->info['hpNow']-$vad['hp']) > 0){
mysql_query('UPDATE `stats` SET `hpNow` = "'.($u->info['hpNow']-$vad['hp']).'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
$vad['text']='damage:'.$vad['hp'].'';
} else {
mysql_query('UPDATE `stats` SET `hpNow` = "-1000" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
$vad['text']='die:'.$vad['hp'].'';
}
mysql_query('INSERT INTO `dungeon_actions` (`dn`,`time`,`x`,`y`,`uid`,`vars`,`vals`) VALUES ("'.$u->info['dnow'].'","'.time().'","'.$u->info['x'].'","'.$u->info['y'].'","'.$u->info['id'].'","trap_act","ready_'.$vad['text'].'")');
header('location: main.php');
}
} elseif( isset($vad['count_uses']) && ( $vad['count_uses']['vals'][0]=='ready_die' OR $vad['count_uses']['vals'][0]=='ready_damage')) {
if($vad['count_uses']['vals'][0]=='ready_damage'){
2023-01-10 16:29:32 +00:00
$d->error = 'Вы попали в ловушку и получили повреждения на -'.$vad['count_uses']['vals'][1].'HP...';
2022-06-06 21:30:34 +00:00
}
if($u->info['sex'] == 0) {
2023-01-10 16:29:32 +00:00
$vad['text'] = '[img[items/trap.gif]] <b>'.$u->info['login'].'</b> угодил в ловушку оставленную одним из обитателей подземелья. <b>-'. $vad['count_uses']['vals'][1].'HP</b>';
2022-06-06 21:30:34 +00:00
}else{
2023-01-10 16:29:32 +00:00
$vad['text'] = '[img[items/trap.gif]] <b>'.$u->info['login'].'</b> угодила в ловушку оставленную одним из обитателей подземелья. <b>-'. $vad['count_uses']['vals'][1].'HP</b>';
2022-06-06 21:30:34 +00:00
}
$d->sys_chat($vad['text']);
mysql_query('UPDATE `dungeon_actions` SET `vals` = "end" WHERE `id` = "'.$vad['count_uses']['id'].'" LIMIT 1');
if($vad['count_uses']['vals'][0]=='ready_die'){
header('location: main.php');
}
} else {
$d->testDie();
}
}
unset($temp,$actions,$r,$vad);
}