Просмотр файла f_macros.dat

Размер файла: 3.48Kb
  1. if ($macros) { //linkМакросы // идет первым, т.к. подставляем в переменные значения из макроса
  2. // просто создадим переменные согласно данным из макроса
  3. if ($macros=='list') { // выведем список макросов и форму для создания новых
  4. $stmp="<p><a href=\"#add\">[Добавить]</a>";
  5. $count=0;
  6. for ($i=1;$i<10;$i++) if (isset($player["macros"][$i])) {
  7. $count++;
  8. $objtmp = $player["macros"][$i]["obj"]; $objtmp=str_replace("\"","",$objtmp);
  9. $totmp = $player["macros"][$i]["to"]; $totmp=str_replace("\"","",$totmp);
  10. $stmp.="\n<br/><anchor>".$player["macros"][$i]["name"]."<go href=\"#add\"><setvar name=\"num\" value=\"".$i."\"/><setvar name=\"name\" value=\"".$player["macros"][$i]["name"]."\"/><setvar name=\"act\" value=\"".$player["macros"][$i]["act"]."\"/><setvar name=\"obj\" value=\"".$objtmp."\"/><setvar name=\"to\" value=\"".$totmp."\"/></go></anchor> <a href=\"$PHP_SELF?sid=$sid&macros=delete&num=".$i."\">Удалить</a>";
  11. }
  12. if ($num) $num=" value=\"$num\""; // это если открываем части чно заполненные
  13. if ($act) $act=" value=\"$act\"";
  14. if ($obj) $obj=" value=\"$obj\"";
  15. if ($use) $obj=" value=\"$use\""; // это если выбирали предмет, магию или скилл
  16. if ($to) $to=" value=\"$to\"";
  17. if ($name) $name=" value=\"$name\""; else $name=" value=\"Macros".($count+1)."\"";
  18.  
  19. $stmp.="\n</p>\n</card>\n<card id=\"add\" title=\"Макросы\">\n<p>
  20. Номер (0..9): <input name=\"num\" size=\"1\"$num/>
  21. <br/>Имя (без пробелов):
  22. <br/><input name=\"name\"$name/>
  23. <br/>Действие: <select name=\"act\"$act>
  24. <option value=\"last\">Последнее</option>
  25. <option value=\"attack\">Атаковать</option>
  26. <option value=\"use\">Использовать</option>
  27. <option value=\"say\">Сказать</option>
  28. </select>
  29. <br/><a href=\"$PHP_SELF?sid=$sid&macro=1&list=inv&num=$(num)&name=$(name)&act=$(act)&obj=$(obj)&to=$(to)\">Предметы</a> <a href=\"$PHP_SELF?sid=$sid&macro=1&list=magic&macro=1&num=$(num)&name=$(name)&act=$(act)&obj=$(obj)&to=$(to)\">Магия</a> <a href=\"$PHP_SELF?sid=$sid&macro=1&list=skill&num=$(num)&name=$(name)&act=$(act)&obj=$(obj)&to=$(to)\">Навыки</a>
  30. <br/><input name=\"obj\"$obj/>
  31. <br/>Цель: <select name=\"to\"$to>
  32. <option value=\"last\">Последняя</option>
  33. <option value=\"self\">На себя</option>
  34. </select>
  35. ";
  36. $stmp.="\n<br/><a href=\"$PHP_SELF?sid=$sid&macros=save&num=$(num)&name=$(name)&act=$(act)&obj=$(obj)&to=$(to)\">Сохранить</a>";
  37.  
  38.  
  39. msg($stmp,"Макросы");
  40. }
  41. if ($macros=='save' && $num) {// сохраним, $num = номер, $name=имя $act=action, $obj = объект, $to=цель
  42. if ($num<1 || $num>9) msg("<p>Номер макроса должен быть в пределах от 1 до 9");
  43. if (!$name) msg("<p>Задайте макросу имя!");
  44. $player["macros"][$num]["name"]=$name;
  45. $player["macros"][$num]["act"]=$act;
  46. $player["macros"][$num]["obj"]="\"".$obj."\"";
  47. $player["macros"][$num]["to"]="\"".$to."\"";
  48. msg("<p>Макрос ".$name." сохранен");
  49. }
  50. if ($macros=='delete' && $num) {// удалим $num
  51. unset($player["macros"][$num]);
  52. msg("<p>Макрос ".$num." удален");
  53. }
  54. if ($macros>0 && $macros<10) { // сам макрос
  55. $act = $player["macros"][$macros]["act"];
  56. if ($act=='last') $act=$player["macros"]["last"]["action"];
  57. $obj = $player["macros"][$macros]["obj"];
  58. if ($obj=='"last"') $obj=$player["macros"]["last"]["object"];
  59. $to = $player["macros"][$macros]["to"];
  60. if ($to=='"last"') $to=$player["macros"]["last"]["target"];
  61. if ($to=='"self"') $to=$login;
  62. // переназначаем переменные
  63. if ($act && $obj) eval('$'.$act."=".$obj.";");
  64. if ($to) eval('$to='.$to.";");
  65. } else msg("<p>Нет такого макроса");
  66. }
  67.