room['file']=='an/znahar'){ if($c['znahar']==true){$raspst=99999;$kr=0;$price = 1;}else{$raspst=0;$kr=0;$price = 0;} //Платно или бесплатно if(date('w') == 6 || date('w') == 0) { $price = 1; } function add_narkoz($tm,$name) { global $u; if($name != '') { $name = ': '.$name; } //mysql_query('INSERT INTO `eff_users` (`uid`,`id_eff`,`name`,`data`,`overType`,`timeUse`) VALUES ( // "'.$u->info['id'].'","50","Наркоз'.mysql_real_escape_string($name).'","" //)'); $name = 'Наркоз'.$name; $stat=rand(1, 3); // пока без духовности if($tm == 3) { $timeEnd=rand(2,5);// время травмы от 12 до 6 часов $timeEnd = $timeEnd * 3600; }elseif($tm == 1 || $tm == 2) { $timeEnd=rand(1,2);// время травмы от 5 до 10 мин $timeEnd = $timeEnd * (60*5); }else{ $tm = round($tm*60); } $timeEnd = rand(1,3);// время травмы от 5 до 15 мин $timeEnd = $timeEnd * (60*5); //$timeEnd = 0; $data='add_s'.$stat.'=-'.($u->info['level']*rand(3,5)); $v1=3; $img = 'eff_travma3.gif'; mysql_query('INSERT INTO `eff_users` (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ("0","'.time().'","-1","'.$name.'","'.$data.'","'.$u->info['id'].'", "4", "'.$img.'","'.$timeEnd.'", "'.$v1.'")'); } function test_skills() { global $u; $r = 0; $sp = mysql_query('SELECT * FROM `levels` WHERE `upLevel` < "'.$u->info['upLevel'].'" ORDER BY `upLevel` ASC'); while( $pl = mysql_fetch_array($sp) ) { $r += $pl['skills']; } $r += $u->rep['add_skills']; return $r; } function test_skills2() { global $u; $r = 0; $sp = mysql_query('SELECT * FROM `levels` WHERE `upLevel` < "'.$u->info['upLevel'].'" ORDER BY `upLevel` ASC'); while( $pl = mysql_fetch_array($sp) ) { $r += $pl['nskills']; } $r += $u->rep['add_skills2']; return $r; } function test_ability() { global $u; $r = 0; $sp = mysql_query('SELECT * FROM `levels` WHERE `upLevel` < "'.$u->info['upLevel'].'" ORDER BY `upLevel` ASC'); while( $pl = mysql_fetch_array($sp) ) { $r += $pl['ability']; } //$r += 3*3; $r += $u->rep['add_stats']; return $r; } function test_s5() { global $u; $r = 0; $i = 0; $bns = array( 3,1,1,1,1,1,1,1,1,2,3,5,30 ); while( $i <= $u->info['level'] ) { $r += $bns[$i]; $i++; } return $r; } $c['znahar1'] = 1; //сброс навыков $c['znahar2'] = 1; //сброс особенностей $c['znahar3'] = 1; //сброс статов $c['znahar4'] = 1; //сброс пристрастия $c['znahar5'] = 1; //перераспределение статов if($price == 0) { $last_zn = mysql_fetch_array(mysql_query('SELECT `time` FROM `aaa_znahar` WHERE `uid` = "'.$u->info['id'].'" ORDER BY `time` DESC LIMIT 1')); $last_zn = $last_zn['time']; $u->info['znahar'] = mysql_fetch_array(mysql_query('SELECT SUM(`point`) FROM `aaa_znahar` WHERE `uid` = "'.$u->info['id'].'" LIMIT 1')); $u->info['znahar'] = $u->info['znahar'][0]; $u->info['znahar'] = 15 - $u->info['znahar']; $last_zn = (time()-$last_zn); $last_zn = floor($last_zn/( 60*60*24*7 )); $u->info['znahar'] += $last_zn; if($u->info['znahar'] > 15) { $u->info['znahar'] = 15; } $raspst = $u->info['znahar']; // $i = 1; $pr = array(0, 25, 15, 75, 25, 5 ); $pr_free = array(0, 5, 3, 5, 5, 1 ); while($i <= 5) { if( $pr_free[$i] > $u->info['znahar'] ) { $c['znahar'.$i] = 0; } $i++; } } function zact($i,$x = 1) { global $price, $c, $u, $pr, $pr_free; $point = 0; $price1 = 0; $r = 0; $bad = 0; if( $price == 1 ) { //бесплатно $point = 0; $price1 = 0; }else{ //платно $point = $pr_free[$i]*$x; if($point > $u->info['znahar']) { $price1 = $pr[$i]*$x; $point = 0; if($price1 > $u->info['money']) { $bad = 1; } } } if($bad == 0) { mysql_query('INSERT INTO `aaa_znahar` (`act`,`price`,`point`,`uid`,`time`,`city`) VALUES ("'.$i.'","'.$price1.'","'.$point.'","'.$u->info['id'].'","'.time().'","'.$u->info['city'].'")'); if($price1 > 0) { if($price1 < 0) { $price1 = 0; } $u->info['money'] -= $price1; mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); } $u->info['znahar'] -= $point; $r = array(1,$price1,$point); while($i <= 5) { if( $pr_free[$i] > $u->info['znahar'] ) { $c['znahar'.$i] = 0; } $i++; } }else{ $r = array(0,'У вас недостаточно денег для этого действия.'); } return $r; } #------------------Запросы и прочее $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); $vinos = array( /* level,summvinos*/ "0" => 3, "1" => 4, "2" => 5, "3" => 6, "4" => 7, "5" => 8, "6" => 9, "7" => 10, "8" => 11, "9" => 13, "10" => 16, "11" => 21, "12" => 41, "21" => 41 ); //минимальный уровень для статов $minlvl = array( 1=>0, 2=>0, 3=>0, 4=>0, 5=>4, 6=>7, 7=>10, 8=>12, 9=>15, 10=>20, 11=>0 ); $tst_trvm = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE (`id_eff` = 4 OR `id_eff` = 5) AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" LIMIT 1')); if(isset($tst_trvm['id'])) { $err = 'У вас травма "'.$tst_trvm['name'].'". Вы не можете пользоваться услугами знахаря!'; }elseif(isset($_GET['unprist'])) { $epr = mysql_fetch_array(mysql_query('SELECT `a`.`id`,`b`.`mname` FROM `eff_users` AS `a` LEFT JOIN `eff_main` AS `b` ON `b`.`id2` = `a`.`id_eff` WHERE ((`a`.`id_eff` >= 301 AND `a`.`id_eff` <= 304) OR (`a`.`id_eff` >= 321 AND `a`.`id_eff` <= 332)) AND `a`.`uid` = "'.$u->info['id'].'" AND `a`.`id` = "'.mysql_real_escape_string((int)$_GET['unprist']).'" LIMIT 1')); if(isset($epr['id'])) { $z_na = zact(4); if($z_na[0] == 1) { //сброс пристрастия mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.mysql_real_escape_string($epr['id']).'" LIMIT 1'); $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); add_narkoz(2,'Сброс пристрастий'); $err = 'Вы заплатили '.$kr.' кр. Все прошло успешно, но вам необходим отдых...'; }else{ $err = ''.$z_na[1].''; } }else{ $err = 'Пристрастие не найдено...'; } }elseif(isset($_POST['dropstats'])) { $z_na = zact(3); if($z_na[0] == 1) { //сброс статов $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); $st['s1'] = 3; $st['s2'] = 3; $st['s3'] = 3; $st['s4'] = test_s5(); $st['s5'] = 0; $st['s6'] = 0; $st['s7'] = 0; $st['s8'] = 0; $st['s9'] = 0; $st['s10'] = 0; $st['s11'] = 0; $st['s12'] = 0; $st['s13'] = 0; $st['s14'] = 0; $st['s15'] = 0; $st = \Core\ConversionHelper::arrayToDataString($st); $n1 = test_ability(); $n2 = $u->info['skills']; $n3 = $u->info['sskills']; $n4 = $u->info['nskills']; mysql_query('UPDATE `stats` SET `wipe`="0",`stats`="'.$st.'",`ability`="'.$n1.'",`skills`="'.$n2.'",`sskills`="'.$n3.'",`nskills`="'.$n4.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); //$u->info['wipe'] = 2; //$u->wipe(); $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); add_narkoz(1,'Сброс характеристик'); $err = 'Вы заплатили '.$kr.' кр. Все прошло успешно, но вам необходим отдых...'; }else{ $err = ''.$z_na[1].''; } }elseif(isset($_POST['dropmastery'])) { $z_na = zact(1); if($z_na[0] == 1) { //сброс статов $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); $st['a1'] = 0; $st['a2'] = 0; $st['a3'] = 0; $st['a4'] = 0; $st['a5'] = 0; $st['a6'] = 0; $st['mg1'] = 0; $st['mg2'] = 0; $st['mg3'] = 0; $st['mg4'] = 0; $st['mg5'] = 0; $st['mg6'] = 0; $st['mg7'] = 0; $st = \Core\ConversionHelper::arrayToDataString($st); $n1 = $u->info['ability']; $n2 = test_skills(); $n3 = $u->info['sskills']; $n4 = $u->info['nskills']; mysql_query('UPDATE `stats` SET `wipe`="0",`stats`="'.$st.'",`ability`="'.$n1.'",`skills`="'.$n2.'",`sskills`="'.$n3.'",`nskills`="'.$n4.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); //$u->info['wipe'] = 2; //$u->wipe(); $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); add_narkoz(1,'Сброс умений'); $err = 'Вы заплатили '.$kr.' кр. Все прошло успешно, но вам необходим отдых...'; }else{ $err = ''.$z_na[1].''; } }elseif(isset($_POST['dropmastery'])) { //Старая версия $z_na = zact(1); if($z_na[0] == 1) { //сброс характеристик $u->info['wipe'] = 3; $u->wipe(); $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); $err = 'Умения покину вас... вам плохо...'; }else{ $err = ''.$z_na[1].''; } }elseif(isset($_POST['dropperks'])) { $z_na = zact(1); if($z_na[0] == 1) { //сброс особенностей $u->info['wipe'] = 3.5; $u->wipe(); $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); add_narkoz(1,'Сброс навыков'); $err = 'Особенности покинули вас... вам плохо...'; }else{ $err = ''.$z_na[1].''; } }elseif(isset($_GET['movestat'])){ //общее кол-во статов $allStats = $st['s1']+$st['s2']+$st['s3']+$st['s4']+$st['s5']+$st['s6']+$st['s7']+$st['s8']+$st['s9']+$st['s10']; $allStatsTesto = $st['s1']+$st['s2']+$st['s3']+$st['s4']+$st['s5']+$st['s6']+$st['s7']+$st['s8']+$st['s9']+$st['s10']; $no = 0; $st_l = 0; for($i=1;$i<=10;$i++){ if(isset($_GET['s'.$i]) && ($st['s'.$i]+(int)$_GET['s'.$i]) > 0 && $i <= 10){ if($minlvl[$i] > $u->info['level'] && $st['s'.$i] < (int)$_GET['s'.$i]) { $no++; }else{ if((int)$_GET['s'.$i] > 0) { $st_l += (int)$_GET['s'.$i]; } $st['s'.$i] += (int)$_GET['s'.$i]; $allStatsNew+=(int)$_GET['s'.$i]; $allStatsTesto += (int)$_GET['s'.$i]; } } } if( $allStatsTesto != $allStats ) { $no++; } //echo "Статы:
".$st['s1']."=3
".$st['s2']."=3
".$st['s3']."=3
".$st['s4']."=3
".$st['s5']."=0
".$st['s6']."=0
".$st['s7']."=0
".$st['s8']."=0
".$st['s9']."=0
".$st['s10']."=0
"; if($no==0){ $z_na = zact(5,(int)$st_l); if($z_na[0] == 1) { if( ($st['s5'] > 0 && $u->info['level'] < 4) || ($st['s6'] > 0 && $u->info['level'] < 7) || ($st['s7'] > 0 && $u->info['level'] < 9) || ($st['s8'] > 0 && $u->info['level'] < 11) || ($st['s9'] > 0 && $u->info['level'] < 12) || ($st['s10'] > 0 && $u->info['level'] < 13) ) { }elseif($st['s1']>=3 && $st['s2']>=3 && $st['s3']>=3 && $st['s4']>=test_s5() && $st['s5']>=0 && $st['s6']>=0 && $st['s7']>=0 && $st['s8']>=0 && $st['s9']>=0 && $st['s10']>=0){ //Желательно проверку на статы по уровню (можно ли этот стат поднимать на текущем уровне перса) $u->info['stats'] = \Core\ConversionHelper::arrayToDataString($st); if(mysql_query('UPDATE `stats` SET `stats` = "'.mysql_real_escape_string($u->info['stats']).'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1')) { add_narkoz(2,'Переброс характеристик'); //Надо добавить UPDATE в базе свободных статов $u->stats = $u->getStats($u->info['id'],0,1); $u->testItems($u->info['id'],$u->stats,0); $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); } } }else{ $err = ''.$z_na[1].''; } } } #------------------Запросы и прочее ?>
Комната Знахаря
error != '') { echo '
'.$u->error.''; } if($re!=''){ echo '
'.$re.''; } ?>
Запахи трав наполняют помещение, непонятные и пугающие предметы скрываются в пляшущих тенях...
Говорят, здесь можно изменить свою судьбу. Стать кем-то иным... кем раньше был лишь в мечтах...


Деньги: info['money'];?> кр.
Бесплатных перераспределений: Сегодня - неограничено!info['znahar']); } ?>
Торговый зал
Характеристики Пристрастия Прочее
= 301 AND `a`.`id_eff` <= 304) OR (`a`.`id_eff` >= 321 AND `a`.`id_eff` <= 332)) AND `a`.`uid` = "'.$u->info['id'].'" AND `a`.`delete` = "0"'); $txtl = 'бесплатно'; if($c['znahar4'] == 0) { $txtl = ' за '.$pr[4].' кр.'; } while($pl = mysql_fetch_array($sp)) { $prs .= ' вылечить '.$txtl.'
'; } if($prs == '') { $prs = '



У вас нет пристрастий
'; } echo $prs; ?>

Навыки владения оружием и магией ()
' onClick="return confirm('Вы действительно хотите сбросить умения?')">
Особенности персонажа ()
' onClick="return confirm('Вы действительно хотите сбросить особенности?')">
Характеристики (/)
' onClick="return confirm('Вы действительно хотите сбросить все характеристики до минимального уровня?')">
Каждые 7 дней после последнего использования комнаты знахаря вы получаете 1 бесплатное перераспределение, но не более 15
Исцеление пристрастия, cброс умений или особенностей стоят 5 перераспределений
Изменение Характеристик досрочно завершает некоторые эффекты