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].'';
}
}
}
#------------------Запросы и прочее
?>
Комната Знахаря
=$err;?>error != '') {
echo ''.$u->error.''; } if($re!=''){ echo ' '.$re.''; } ?> Запахи трав наполняют помещение, непонятные и пугающие предметы скрываются в пляшущих тенях... Говорят, здесь можно изменить свою судьбу. Стать кем-то иным... кем раньше был лишь в мечтах... Деньги: =$u->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 = ' |
Навыки владения оружием и магией (=test_skills()?>) Особенности персонажа (=test_skills2()?>) Характеристики (=test_ability()?>/=(9+test_s5())?>) |