Файл: speak.php
Строк: 39
<?
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);
                }
            }
    }
?>