<?php
if ($speak) {
if ($speak==1 || ((substr($speak,0,2)=='u.' || substr($speak,0,2)=='n.') && isset($loc_i[$loc][$speak]))) {
if (substr($speak,0,2)=='u.') {$to=$speak; $speak=1;} // чат
if ($speak!=1) $tchar=explode("|",$loc_i[$loc][$speak]["char"]);
if ($char[8] && substr($speak,0,2)=="n." && substr($speak,0,4)!="n.h." && substr($speak,0,5)!="n.cap") msg("<p>Вы призрак и поэтому не можете ни с кем говорить, найдите лекаря или камень воскрешения");
if ($speak==1) {
include "f_speak1.dat";
} else // с квестовым NPC
if (substr($speak,0,4)=="n.q.") include "f_speakq.dat";
else // со своим
if (substr($speak,0,4)=="n.o.") include "f_speako.dat";
else
if ($loc_i[$loc][$speak]["owner"]) {
$owner=explode("|",$loc_i[$loc][$speak]["owner"]);
if ($owner[0]==$login) include "f_speakowner.dat"; else msg($tchar." принадлежит другому персонажу");
} else // с npc
if (file_exists("speak/".$speak) || substr($speak,0,4)=="n.g.") {
if ($tchar[7]==$login) msg("<p>Вы не можете разговаривать с ".$tchar[0].", т.к. он вас атакует");
// диалог загрузится в $dialog (у стражи тоже)
if (substr($speak,0,4)=="n.g.") include "speak/n.g.guard"; else include "speak/".$speak;
if ($char[7]==$speak) {$char[7];$loc_i[$loc][$login]["char"]=implode("|",$char);};
if ($id=='buy' || $id=='sell') {
if (!$dialog[$id]) msg($tchar[0]." торговать не будет");
if($speak=="n.Natan" && strpos($loc_i[$loc][$login]["items"],"i.q.hagen:")===false && strpos($loc_i[$loc][$login]["items"],"i.q.ditrih:")===false) msg("Прости, но я продаю палладинское оружие и броню только стражникам барона Дитриха или тем кто имеет грамоту от Лорда Хагена");
$trader=explode("|",$dialog[$id]);
if (!$to) include "f_speak".$id.".dat"; else include "f_speak".$id."to.dat";
}
if ($id=='tobank' || $id=='frombank') {
if (!isset($dialog["bank"])) msg($tchar[0]." не банкир");
if (!$to) include "f_speak".$id.".dat"; else include "f_speak".$id."to.dat";
}
if (!$id) $id="begin"; // FIX: начальная тема "begin"
if (!isset($dialog[$id])) msg("Отсутствует тема \"$id\" в диалоге \"$speak\", сообщите разработчику игры, спасибо","Ошибка");
$dialog=explode("#",$dialog[$id]);
$title=$dialog[0]; // может быть переназначен в "eval: "
if (substr($title,0,6)=="eval: ") eval(substr($title,6));
if (substr($title,0,5)=="skill") include "f_speakskillup.dat";
$stmp="<p>".$title;
for($i=1;$i<count($dialog);$i+=2) {
$title=$dialog[$i];
$id=$dialog[$i+1];
if (substr($title,0,6)=="eval: ") eval(substr($title,6));
if ($title) $stmp.="\n<br/><a href=\"$PHP_SELF?sid=$sid&speak=$speak&id=".$id."\">".$title."</a>";
}
if (count($dialog)==1) $stmp.="\n<br/><a href=\"$PHP_SELF?sid=$sid\">[Конец диалога]</a>";
$stmp=str_replace("<name>",$char[0],$stmp); // заменяем <name> на имя игрока
msg($stmp,$tchar[0],1);
}else addjournal($loc,$login,$tchar[0]." не может с вами разговаривать");
}else addjournal($loc,$login,"Не с кем говорить");
}