<?
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);
}
}
}
?>