View file 1/f_macro.dat

File size: 3.33Kb
<?php

$macro = $cm;
if ( $macro )
{ //macro=obj|objv|to|tov|name/..., macrol=obj|objv|to|tov
		if ( $macro == "save" )
		{ // сохраняем
				if ( !$name )
						msg( "Не указано имя макроса, используйте англ. буквы.", "Макросы", 0 );
				if ( $num < 1 || $num > 8 )
						msg( "Диапазон номера от 1 до 8", "Макросы", 0 );
				if ( !isset( $loc_i[$loc][$login]["macro"] ) )
						$m = array( "", "", "", "", "", "", "", "" );
				else
						$m = explode( "/", $loc_i[$loc][$login]["macro"] );
				if ( !isset( $loc_i[$loc][$login]["macrol"] ) )
						$ml = array();
				else
						$ml = explode( "|", $loc_i[$loc][$login]["macrol"] );
				if ( $obj == "curr" )
				{
						$obj = $ml[0];
						$objv = $ml[1];
				}
				if ( $to == "curr" )
				{
						$to = $ml[2];
						$tov = $ml[3];
				}
				if ( $to == "none" )
				{
						$to = "";
						$tov = "";
				}
				$name = substr( preg_replace( '/\W/', "", $name ), 0, 9 );
				$m[$num - 1] = "$obj|$objv|$to|$tov|$name";
				if ( strlen( $loc_i[$loc][$login]["macro"] ) > 300 )
						msg( "Слишком много или слишком длинные макросы" );
				$loc_i[$loc][$login]["macro"] = implode( "/", $m );
				msg( "Макрос с именем $name сохранен.", "Макросы", 0 );

		}

		if ( $macro == "del" )
		{ // удаляем
				if ( $num < 1 || $num > 8 )
						msg( "Диапазон номера от 1 до 8" );
				if ( !isset( $loc_i[$loc][$login]["macro"] ) )
						$m = array( "", "", "", "", "", "", "", "" );
				else
						$m = explode( "/", $loc_i[$loc][$login]["macro"] );
				unset( $m[$num - 1] );
				$loc_i[$loc][$login]["macro"] = implode( "/", $m );
				msg( "Макрос с номером $num удален.", "Макросы", 0 );
		}

		if ( $macro == "new" )
		{ // форма для нового макроса
				$stmp = "Действие:<br/>
		<select name=\"obj\" value=\"curr\">\n<option value=\"curr\">Текущее</option>\n<option value=\"last\">Последнее</option></select>
		Цель:<br/>
		<select name=\"to\" value=\"curr\">\n<option value=\"curr\">Текущая</option>\n<option value=\"last\">Последняя</option>\n<option value=\"none\">Вручную</option></select>
		Имя макроса:<br/>
		<input name=\"name\" value=\"macro\" />
		<br/>Номер:
		<select name=\"num\" value=\"1\">
		";
				if ( !isset( $loc_i[$loc][$login]["macro"] ) )
						$m = array( "", "", "", "", "", "", "", "" );
				else
						$m = explode( "/", $loc_i[$loc][$login]["macro"] );
				for ( $i = 1; $i < 9; $i++ )
				{
						if ( $m[$i - 1] )
						{
								$mn = explode( "|", $m[$i - 1] );
								$mn = $mn[4];
						}
						else
								$mn = "Пусто";
						$stmp .= "\n<option value=\"$i\">$i: $mn</option>";
				}
				$stmp .= "</select>
		<anchor>Сохранить<go href=\"$PHP_SELF?sid=$sid&cm=save&obj=$(obj)&to=$(to)&name=$(name)&num=$(num)\"/></anchor>
		<br/>
		<anchor>Удалить<go href=\"$PHP_SELF?sid=$sid&cm=del&num=$(num)\"/></anchor>
		<br/><br/>
		<anchor>Помощь<go href=\"$PHP_SELF?sid=$sid&cm=help\"/></anchor>
		";


				msg( $stmp, "Макросы", 0 );
		}

		if ( $macro == "help" )
				msg( "Чтобы записать новый макрос, совершите любое действие, например, используйте навык или заклинание и выберите в меню \"макросы\".<br/>\"Текущее\" - это совершенное действие и текущая цель.<br/>\"Последнее\" - последнее действие или цель перед вызовом макроса.<br/>\"Вручную\" - при вызове макроса надо будет вручную указать на кого применить.",
						"Макросы", 0 );

		if ( $macro < 1 || $macro > 8 )
				msg( "Макрос может быть от 1 до 8", "Макросы", 0 );
}