View file wofh/speak.php

File size: 3.48Kb
<?
if ($speak) {			//linkСказать
	if (($speak!=1 && substr($speak,0,5)!='user.' && substr($speak,0,4)!='npc.') || !isset($game["loc"][$player["loc"]][$speak])) msg("<p>Говорить можно только с игроками и NPC");
	if (substr($speak,0,5)=='user.') {$to=$game["loc"][$game["players"][$speak]][$speak]["title"]; $speak=1;}	// разговор с игроком, подставим его имя в поле в расширенном экране разговора
	if ($player["ghost"] && $speak!=1) msg("<p>Вы призрак и поэтому не можете ни с кем говорить, найдите лекаря или камень воскрешения");
	if ($speak==1) {
			require"speak1.php";
		} else 		// проверим, не наш ли это npc
		if ($game["loc"][$player["loc"]][$speak]["owner"]==$login) {
			require"speakowner.php";
		} else 		// проверим npc
		if (isset($game["loc"][$player["loc"]][$speak]["speak"])) {
			// $to содержит id предмета
			if ($id=='buy') require"speakbuy.php";
			if ($id=='sell') require"speaksell.php";
			if ($id=='tobank') require"speaktobank.php";
			if ($id=='frombank') require"speakfrombank.php";
			if ($id=='razb') require "speakrazb.php";
			if ($id=='gor') require "speakgor.php";
			if ($id=='kill') require "speakdie.php";
			if ($id=='news') require "speakpop.php";
			if ($id=='klan_in') require "speak_klan_in.php";
            if ($id=='klan_in_sen') require "speak_klan_insen.php";
			if ($id=='ok') require "speakgild.php";
			if ($id=='ok1') require "speakgildexit.php";
			if ($id=='klan_rang') require "speak_klan_rang.php";
			if ($id=='castle_to') require "speak_castle_to.php";
			if ($id=='castle_from') require "speak_castle_from.php";
			if ($id=='klan_smen') require "speak_klan_smen.php";
			
	     require "./data/speak/".$speak;
     $arr_speak=array_merge($dialog); 
			$dialog=$arr_speak[$game["loc"][$player["loc"]][$speak]["speak"]];

			if ($dialog) {
				if ($game["loc"][$player["loc"]][$speak]["attack"]==$login) msg("<p>Вы не можете разговаривать с персонажем, т.к. он вас атакует");
				unset($player["attack"]);		// сбрасываем, если мы атакуем
				if (!$id) $id="begin";	//FIX: если не указан id, то начнем с темы "begin"
				$dialog=split("\|",$dialog[$id]);;
				if ($dialog[0]=='magic') {			// добавляем магию
					require"speakmagic.php";
					}
				if ($dialog[0]=='skill') {			// увеличиваем скилл
					require"speakskillup.php";
					}	


				if ($dialog[0]=='q1') {       //стартуем квест
                                        require"speakqueststart.php";
                                        }
                                 if ($dialog[0]=='q2') {      //кончаем квест
                                        require"speakqueststop.php";
                                        }					//обычный диалог
				$stmp="<p>".$dialog[0];
				for($i=2;$i<count($dialog);$i+=2) $stmp.="<br/><a href=\"$PHP_SELF?sid=$sid&speak=$speak&id=".$dialog[$i]."\">".$dialog[$i-1]."</a>";
				if (count($dialog)==1) $stmp.="<br/><a href=\"$PHP_SELF?sid=$sid\">[Конец диалога]</a>";
				$stmp=str_replace("<name>",$player["title"],$stmp);	// заменяем <name> на имя игрока
				msg($stmp,$game["loc"][$player["loc"]][$speak]["title"],1);
				}
			}
	}
?>