Просмотр файла 1/f_speak.dat

Размер файла: 4.31Kb
<?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, "Не с кем говорить" );
}

?>