View file game/1/f_useskill.dat

File size: 6.33Kb
<?php
// использование скиллов

		$skills=explode("|",$l_i[$loc][$login]["skills"]);
		if ($use=='skill.necro') include "f_necro.dat";
		if ($use=='skill.meditation') {
			if ($char[3]>=$char[4]) msg("Ваш запас маны полон");
			if ($skills[5]==0) msg("Ваш навык медитации равен нулю, вы не умеете медитировать");
			$char[6]=time()+5;
			$l_i[$loc][$login]["char"]=implode("|",$char);
			require "f_time.dat";
			if ($time >= 06.00 and $time <= 11.00) $z+=25; else $z=0;
			if (rand(0,100)<=$skills[5]*12+$z) {$mana=rand(1,$skills[5]); if ($char[3]+$mana>$char[4]) $mana=$char[4]-$char[3]; $char[3]+=$mana; $l_i[$loc][$login]["char"]=implode("|",$char); addjournal($loc,$login,"Мана +".$mana);} else addjournal($loc,$login,"Медитация прервалась");
			}
		if ($use=='skill.animaltaming') {
			if (!$to) {$list='all';} else {
			if (!isset($l_i[$loc][$to]) || substr($to,0,4)!="n.a.") msg("<p>Нет цели или вы пытаетесь приручить не животное");
			$tchar=explode("|",$l_i[$loc][$to]["char"]);
			if ($tchar[8]) {
				$tame=10*($skills[7]+1-$tchar[8]);
				if ($tame>0 && $skills[20]>0) {
					$char[6]=time()+5;
					$l_i[$loc][$login]["char"]=implode("|",$char);
	require "f_time.dat";
	if ($time >= 09.00 and $time <= 18.00) $z+=10; else $z-=5;
					if (rand(0,100)<=$tame+$z) { 
					$st=explode("|",$l_i[$loc][$login]["st"]);
					$st[8]++; // +1 игрок
					$l_i[$loc][$login]["st"]=implode("|",$st);					$l_i[$loc][$to]["owner"]=$login."|".$login."||".(time()+60+rand(0,$skills[20]*10*60))."|0"; addjournal($loc,$login,"Вы приручили ".$tchar[0]); addexp($loc,$login,rand(0,$tchar[8]));} else addjournal($loc,$login,"Не удалось приручить ".$tchar[0]);
					}else addjournal($loc,$login,"У вас слишком низкие навыки изучения и/или приручения животных");
				}else addjournal($loc,$login,"Это существо не приручаемо");
			}
			}
		if ($use=='skill.steal') {
			if (!$to) {$list='all';} else {
			if ($to==$login) msg("<p><small><b>Нельзя воровать у самого себя</b></small>");
			if ($loc=='x30x30') msg("<p><small><b>В банке воровать нельзя</b></small>");
			if ($loc=='arena') msg("<p><small><b>Нельзя воровать на арене</b></small>");
			if (isset($l_i[$loc][$to]) && (substr($to,0,2)=="n." || substr($to,0,2)=="u.")) {
			if (substr($to,0,2)!='n.' && substr($to,0,2)!='u.') msg("<p><small><b>Воровать можно только у других игроков и NPC</b></small>");
			if (substr($to,0,2)=='u.') {$tskills=explode("|",$l_i[$loc][$to]["skills"]); $tskills=$tskills[18];} else $tskills=3; // у npc наблюдательность всегда 3
			$tchar=explode("|",$l_i[$loc][$to]["char"]);
			if ($tchar[7]!=$login && $char[7]!=$to) {

			if (!$id) {	// список инвентори
//***мод***//
        $zakladka=time()+60;
				$char[6]=time()+5;
				$l_i[$loc][$login]["char"]=implode("|",$char);
				if (rand(0,100)<6*($skills[1]+$skills[19]-$tskills)) {//***мод***//if (rand(0,100)<7*($skills[1]+$skills[19]-$tskills))
					if (!$l_i[$loc][$to]["items"]) msg("<p>У ".$tchar[0]." нет ни одного предмета.");
					$stmp="<p>Предметы:";
					$items=explode("|",$l_i[$loc][$to]["items"]);
					foreach(array_keys($items) as $i) if ($items[$i]) {
						$k=explode(":",$items[$i]);
						if (strpos($k[0],"_")!==false) $ti=substr($k[0],0,strpos($k[0],"_")); else
						if (strpos($k[0],"-")!==false) $ti=substr($k[0],0,strpos($k[0],"-")); else $ti=$k[0];
						if (substr($k[0],0,5)=="i.rr.") $title_v=explode("|","руна|50"); else if (file_exists("items/".$ti)) {$title_v=explode("|",implode("",file("items/".$ti)));} else continue;
						$stmp.="<br/><a href=\"$PHP_SELF?sid=$sid&use=skill.steal&to=".$to."&id=".$k[0]."&vk=".$zakladka."\">";
						if (strpos($k[0],"..")!==false) $title_v[0].=" *";
						if ($k[1]>1) $stmp.=$title_v[0]." (".$k[1].")"; else $stmp.=$title_v[0];
						$stmp.="</a>";
						}
					msg($stmp,$char[0],0);
					} else {docrim($loc,$login,"вор",600); addjournal($loc,$login,"<small><b>Вас заметили!</b></small>"); addjournal($loc,$to,$char[0]." пытался подглядеть в ваш рюкзак!"); addjournal($loc,"all",$char[0]." пытался подглядеть в рюкзак ".$tchar[0]."!",$login,$to); if (substr($to,0,2)=="n.") {$tchar[7]=$login;$l_i[$loc][$to]["char"]=implode("|",$tchar);}}
//***мод***//
        } else if(time()<$vk && time()>$vk-60) {	// воруем предмет $id (все что есть)
					$char[6]=time()+10;
					$l_i[$loc][$login]["char"]=implode("|",$char);
					$steal=4*($skills[1]+$skills[6]-$tskills); //***мод***//$steal=5*($skills[1]+$skills[6]-$tskills);
					if (strpos($l_i[$loc][$to]["equip"],$id)!==false) $steal=$steal/2;
					if ($steal>0) {
						if (rand(0,100)<$steal) {
							$count=intval(preg_replace('/.*'.$id.':(\d+).*/',"\\1",$l_i[$loc][$to]["items"]));
							if (strpos($id,"_")!==false) $ti=substr($id,0,strpos($id,"_")); else
							if (strpos($id,"-")!==false) $ti=substr($id,0,strpos($id,"-")); else $ti=$id;
							if (substr($id,0,5)=="i.rr.") $item=explode("|","руна|50"); else if (file_exists("items/".$ti)) {$item=explode("|",implode("",file("items/".$ti)));} else $count=0;
							if ($count==0) msg("<p>У ".$tchar[0]." нет этого предмета");
							additem($loc,$to,$login,$id,$count,"items","items",0,-1,1);//не сообщая в журнал
$st=explode("|",$l_i[$loc][$login]["st"]);
$st[3]++; // +1 игрок
$l_i[$loc][$login]["st"]=implode("|",$st);	
							addjournal($loc,$login,"Вы украли у ".$tchar[0]." ".$count." ".$item[0]."!");
							if ($tskills && $loc_c[1]) addexp($loc,$login,rand(0,$tskills));
							}else {docrim($loc,$login,"вор",600); addjournal($loc,$login,$tchar[0]. " застал вас за воровством!"); addjournal($loc,$to,$char[0]." пытался вас обворовать!"); addjournal($loc,"all",$char[0]." пытался обворовать ".$tchar[0]."!",$login,$to); if (substr($to,0,2)=="n.") {$tchar[7]=$login;$l_i[$loc][$to]["char"]=implode("|",$tchar);}}
						}else addjournal($loc,$login,"У вас слишком низкие навыки воровства и подглядывания");
         } else { docrim($loc,$login,"вор",600); addjournal($loc,$login,$tchar[0]. " заметил что вы хотите его обворовать, в следующий раз будьте побыстрей и не пользуйтись закладками ;-)"); addjournal($loc,$to,$char[0]." пытался вас обворовать!"); addjournal($loc,"all",$char[0]." пытался обворовать ".$tchar[0]."!",$login,$to); if (substr($to,0,2)=="n.") {$tchar[7]=$login;$l_i[$loc][$to]["char"]=implode("|",$tchar);}}
			} else msg("Нельзя воровать у того, кто вас атакует или кого атакуете вы");
			} else msg("<p>Не у кого воровать");
			}
			}//skill.steal