Союз | Union

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Союз | Union » Картостроение и скриптовка » Делаем карту (с грехом пополам)


Делаем карту (с грехом пополам)

Сообщений 91 страница 120 из 693

91

Zigfrid написал(а):

На панели инструментов есть самая правая копка сверху, ввиде значка Блицкрига.Ее нажимаеш- и загружается блицкриг с твоей картой. Только скрипты при таком запуске, насклько я знаю, не работают. Просто можно танками покататься по  карте и т п.

Для этого необходимо сохранить карту в каталог data\maps иначе она не запустится через run blitzcrieg.

Reks написал(а):

Методом тыка. Создай тестовую карту 8*8 к примеру. Поставь в угол пушку, и запусти эту миссию из редактора. Уже в игре посмотри дальность ее стрельбы. В качестве ориентиров поставь какие нить простые объекты. Потом посчитай по ориентиру кол-во квадратов (дистанцию) сетки

Zigfrid написал(а):

(Show units fair renges

Ванек ты чего ^_^ я лолка и то знаю..я неверю что ты забыл про эту кнопку:-)

0

92

simeo написал(а):

А команда про прперемещение компом артиллерии?
Срабатывает и как выглядит?

Вот с этим не эксперементировал.
Стартовая команда на отцепку орудия от грузовика "Deploy artileri"  ( если не ошибся в написании) работает нормально, а вот заскриповать , чтобы прицепить обратно и уехать у меня не вышло. Там правда есть такая мулька, как Задание боевых позиций артиллерийских установок,
Если для артиллерийского орудия указана боевая позиция, то при необходимости стрельбы (то есть когда AI считает, что существует такая необходимость) оно сначала транспортируется в указанное место, а затем начинает обстрел. По окончании обстрела орудие возвращается на исходную позицию. Артиллерийская установка может иметь только одну боевую позицию.

Чтобы задать или отредактировать боевые позиции артиллерии, откройте свиток Objects, Fences, Bridges (Объекты, ограждения, мосты)панели Workspace (Режим). Затем выберите пункт Artillery positions (Позиции артиллерии) меню Unit (Юнит) либо нажмите кнопку Toggle (ON or OFF) editing artillery positions (Режим редактирования артиллерийских позиций (Вкл./Выкл.)). На экране будут зелеными линиями и кругами отображены заданные ранее связи между орудиями, транспортом и боевыми позициями (для самоходной артиллерии — между установкой и боевой позицией, так как самоходная артиллерия не нуждается в транспорте).Чтобы задать новые связи, щелкните по связываемым объектам в следующем порядке:

щелчок левой кнопкой мыши по орудию;
щелчок левой кнопкой мыши по транспорту для задания связи между транспортом и орудием (по умолчанию размещенное на карте орудие не связано ни с каким транспортом);
двойной щелчок на точке местности, которая будет являться боевой позицией.
Для изменения существующих связей выделите связанный юнит или точку на местности и дважды щелкните по другому юниту или точке на местности.

Аналогичным образом задаются и редактируются боевые позиции для самоходных и железнодорожных артиллерийских установок.

но я не знаю как она в игре работает. Хотелось бы услышать отзывы от тех кто применял ее.

Отредактировано Zigfrid (2008-11-01 18:00:50)

0

93

Zigfrid
Вот и я об этой мульке хотел знать
На карте я сделал это, при чем в другом толковании это звучит не как выход на огневую позицию, а как задание второй, перемещение на которую выбирается компом при необходимости
Т.е никто не знает как работает и работает ли :-)
Ладно, посмотрим по карте

0

94

Такой вопрос -  Нужен скрипт патруля, но хотелось бы попроще чем в Блицмастере, все равно в него не врубился
Юнит один, зоны, между которыми должен перемещаться 2

И объясните попроще, что это за команда: SetSGlobalVar

Отредактировано simeo (2008-11-02 01:56:28)

0

95

Да в Блицмастере, как я говорил скрипты не очень понятные.
Я вот так реализовал и не жалуюсь. Только желательно чтобы в скриптовой групе патруля был один юнинт или несколько юнитов но с разными скриптовыми номерами.
function PatrulA1()
if(GetNScriptUnitsInArea(177, "P1")>= 1)  then
Cmd(3, 177, GetScriptAreaParams("P2"));
RunScript("PatrulA2", 3000);
Suicide();
end;
end;
function PatrulA2()
if(GetNScriptUnitsInArea(177, "P2")>= 1)  then
Cmd(3, 177, GetScriptAreaParams("P3"));
RunScript("PatrulA3", 9000);
Suicide();
end;
end;
function PatrulA3()
if(GetNScriptUnitsInArea(177, "P3")>= 1)  then
Cmd(3, 177, GetScriptAreaParams("P4"));
RunScript("PatrulA4", 8000);
Suicide();
end;
end;
function PatrulA4()
if(GetNScriptUnitsInArea(177, "P4")>= 1)  then
Cmd(3, 177, GetScriptAreaParams("P1"));
RunScript("PatrulA1", 12000);
Suicide();
end;
end;

Работало -не жаловался.

Отредактировано Zigfrid (2008-11-02 09:06:33)

+1

96

Zigfrid
Спасибо, введу у себя

А как связать окончание миссии с выполнением всех заданий?

Отредактировано simeo (2008-11-02 14:41:12)

0

97

Зависит от того как у тебя задания выдаются.
Если новое задание выдаеться после выполнения предыдущего- тогда в последнем задании прописываешь, что после выполнения условий запускатся команда Win(0), тоесть победа игрока.
Если же выдаются отдновременно( что конечно хуже, так как дает возможность игроку действовать как ему вздумается, выполять задания не в том порядке, как хотел автор ), тогда можно создать отдельную функцию для победы. В которой будет прописано условия выполнения всех зданий через "and" после чего будет запущена команда Win(0).
Например, в миссии два задаия
условие первого задания
(GetNUnitsInArea (1, "101") == 0)
Второго
(GetNUnitsInArea (1, "102") == 0)
Тогда функция победы
function Pobeda()
if ((GetNUnitsInArea (1, "101") == 0) and (GetNUnitsInArea (1, "102") == 0)) then
    Win(0);
    Suicide();
end;
end;

0

98

function Attack2321() 
if ( GetNUnitsInArea(0, "pilastrino")  < 1)  then                                                 
Cmd(3,232, GetScriptAreaParams("pilastrino"));
else
Cmd(3,232, GetScriptAreaParams("airenti"));
Suicide();                                                                                         
end;
end;

Правильно ли построено?

0

99

Вообщем скрипт вроде как написал
Теперь попытаюсь собрать миссию

0

100

Ты решил проблему запуска на GZm 5.55?

0

101

Ее нажимаеш- и загружается блицкриг с твоей картой. Только скрипты при таком запуске, насклько я знаю, не работают. Просто можно танками покататься по  карте и т п.

Скрипты работают. Единственный минус - не пишутся тексты заданий. Просто пишет - получена неизвестное задание в текстовой строке.

Ванек ты чего ^_^ я лолка и то знаю..я неверю что ты забыл про эту кнопку:-)

Странно. О этой функции я знаю, но она у меня почему то не работает. Я думал у всех так...  o.O

0

102

scorpion_ss_
Дык странное вот дело- у меня открывается, у других нет
Правда открылся самый начальный вариант карты у Алекса
Так что буду пока работать по двум направлениям- поиске ошибки в карте и отладке и тестированию миссии
Попробую её сегодня собрать и запустить

Возник такой вот вопрос: какие изменения еще нужно сделать в файле 1.xml кроме названия и координатов заданий миссии?

Я просто взял файл из миссии Зигфрида Харьков 1943 и тупо заменил названия миссии в каждом задании, добавил свои и т.д

Сам скрипт могу выслать желающим, чтоб взглянули, нет ли ошибок, у меня то глаз замылися, могу и не заметить, тем более я писал методом копирования, вставки и изменения

0

103

Не цепляется скрипт к карте

Т.е делаю в редакторе ресурсов и миссия даже не появляется в дополнительных
Потому что требует создавать папку сценарий просто в дате
Если же перенести эту папку в мапс, то миссия появляется в дополнительных, но задания не запускаются, только сама карта

0

104

А что нельзя без редактора ресурсов обойтись? o.O
Я им вообще не пользуюсь... Так карты создаю...

0

105

Да вот так:
Создаю карту в редакторе карт, создаю скрипт, пихаю эти файлы в папку maps. Затем создаю папку по пути Scenarios\Custom\Missions. В эту папку копирую такие файлы (из других карт): 1.xml, header и файлы команд 0.txt и 0h.txt  и тд. И редактирую эти файлы под себя.

0

106

Разобрался, дело в скрипте, не запускается
Кстати проверил, просто взяв чужой скрипт и переименовав его: ведь практически везде есть первая задача)

Заметил, как работает фича про артиллерийские позиции: просто комп при опасности эвакуирует их на указанные позиции, но делает это не быстро и неохотно :-)
А потом возвращает (у меня правда одна пушка из двух не отцепилась, видно из-за сложного рельефа)

Т-34 обр. 41 г.
Да в итоге так и сделал

0

107

Не цепляется скрипт к карте

Т.е делаю в редакторе ресурсов и миссия даже не появляется в дополнительных
Потому что требует создавать папку сценарий просто в дате
Если же перенести эту папку в мапс, то миссия появляется в дополнительных, но задания не запускаются, только сама карта

1) 100% что то не так сделал. В руководстве Blitzmaster 1.4 подробно расписано как надо собирать миссию в редакторе ресурсов. Все что там написано - работает. Главное внимательно читать и делать что там говорят. Тогда все будет ок. А в переделывании чужих ХМЛ файлов, я - не помошник, так как подобными манипуляциями никогда не занимаюсь.

2) Скрипт правильно прицепил к карте? Он должен лежать в папке maps, там где и карта. И цепляется к карте не в редакторе ресурсов, а в редакторе карт.

3) Скрипт может содержать синтаксические ошибки, и по-этому не работать. Его работоспособность можно проверить следующим образом:

В скрипте в ините прописываем запуск служебной ф-ции, которая поможет нам понять, работает скрипт или нет. Назовем ее к примеру - CheckErrors. В ините будет следующая строка:

RunScript("CheckErrors",1000);

После инита прописываем саму ф-цию:

function CheckErrors()
DisplayTrace("Ура-а-а-а!!!! Он рабатает!!!");
Suicide();
end;

Суть этой ф-ции в том, что если скрипт не содержит ошибок (синтаксических), то через 1 секунду после запуска миссии на экране появится строка: Ура-а-а-а!!!! Он рабатает!!! По крайней мере это покажет, что игра его загамала.

Если строка не выскакивает, значит ошибки есть, и игра скрипт вообще не прочитала.

4) Если ошибки все таки есть, а скрипт достаточно большой (сотни строк), рекомендую проверять его частями:
   4.1) Сперва надо создать копию этого скрипта, и дать ему другое название.
   4.2) В старом скрипте сотри все, кроме первых, ну скажем 4-5 ф-ций (которые будем проверять). Естественно в их числе должны обязательно быть Инит и ф-ция CheckErrors.
   4.3) Через редактор карт запускай свою миссию с урезанным скриптом. Если работает (появляется строка Ура-а-а-а!!!! Он рабатает!!!) то эти 4-5 ф-ций не содержат ошибок. Если нет, то по крайней мере область поиска ошибок сузится со 100 ф-ций (это я к примеру, сколько у тебя не знаю) до выбраных 4-5 ф-ций.
        Если ошибки есть, проверяем и правим выбранные 4-5 ф-ций до тех пор, пока они не заработают.
   4.4) Как только первые 4-5 ф-ций исправлены, добавляем в скрипт следующие 4-5 ф-ций, и начинаем всю процедуру по новой. Таким образом мы постоянно проверяем только небольшую часть скрипта, а не его всего. И так до самого конца.

Подобная проверка поможет избавиться от синтаксических ошибок. Скрипт будет работать. Это еще не значит, что он будет работать правильно, но работать будет (игра по крайней мере уже будет его читать). Возможные ошибки в составлении алгоритма скрипта - это уже другой вопрос (его можно рассматривать только после удаления всех синтаксических ошибок), так как что бы их увидеть, нужно по меньшей мере что бы скрипт работал.

+1

108

To Simeo:

Если ошибки есть (а я на 99% уверен что они есть  :D, и это норм. ) но найти не можешь, выкладывай "трудные" куски скрипта сдесь, будем всем форумом проверять (те кто умеет).

0

109

Я тут карту делаю по прорыве линии Маннергейма, и скрипт пишу. У меня скрипт работает, но он меня немного не устраивает. У меня второе задание - уничтожить два бетонных дота, а скрипт я смог сделать несколько иной. Так вот можете написать функцию, по уничтожению 2-х дотов? :question:

0

110

Reks
Ошибки коечно есть и именно в скрипте
Я просто для проверки взял скрипт от другой карты (там тоже есть первое задание и подкреп с этим же номером), переименовал его и заменил свой
Задание появилось и именно моё

Проще говоря, чем связываться  с редактором ресурсов, миссию проще собрать самому, отредактировав в блокноте файл 1 от любой миссии

0

111

Проще говоря, чем связываться  с редактором ресурсов, миссию проще собрать самому, отредактировав в блокноте файл 1 от любой миссии

Ну не скажи. Мороки на порядок больше. У меня на сборку миссии в редакторе ресурсов от силы 15-30 минут уходит. Не сравнить с прочей работой по карте и скрипту - 1-2 месяца. Не пойму, что там сложного в этой сборке то?

Но это пока не важно. Проверь скрипт для начала.

0

112

Reks
Гы, мистика
Написано вроде правильно, а не работает, даже с примитивными несколькими функциями
Взял опять чужой скрипт, ввел пару своих- работает
Теперь по несколько функций своих ввожу и удаляю чужие, затем проверяю работу.
Выявилась странность в начальных командах юнитов, например для подкрепления некоторые едут через всю карту, а не к ближайшему складу
И еще, при создании защитной группы через вкладку AI, все эти юниты расползлись по карте как тараканы ( :-), в натуре так)

Выявил зацикленность появления подкрепления
Команда суицид почему-то не убивает их (подобное кажется в "Серых тиграх" было)

По редактору ресурсов: совсем нет, и отредактировать  файл  1 проще, чем заниматься тягомотиной с редактором
Пример- в блице-1 нет папок maps и scenarios
А если их нет, то он начинает создавать папку scenarios где попало, требует файл гамма.cfg или подобное....
Вот поэтому и редактура одного таки файла занимает гораздо меньше времени, там то всего нужно отредактировать два пути к файлам и поставить координаты заданий да название карты заменить (ну и добавить , если не хватает)

Отредактировано simeo (2008-11-04 21:23:22)

0

113

simeo написал(а):

По редактору ресурсов: совсем нет, и отредактировать  файл  1 проще, чем заниматься тягомотиной с редакторомПример- в блице-1 нет папок maps и scenariosА если их нет, то он начинает создавать папку scenarios где попало, требует файл гамма.cfg или подобное....Вот поэтому и редактура одного таки файла занимает гораздо меньше времени, там то всего нужно отредактировать два пути к файлам и поставить координаты заданий да название карты заменить (ну и добавить , если не хватает)

Абсолютно поддерживаю... :flag:

0

114

Вообщем по чуть-чуть ввожу части скрипта
Ни как не пойму, на какой строчке всё обрубается

Отредактировано simeo (2008-11-05 15:04:54)

0

115

Гы, мистика
Написано вроде правильно, а не работает, даже с примитивными несколькими функциями

Иногда ошибка настолько мелкая, что будучи перед самим носом, она все равно остается незамеченной. У меня по такому поводу больше всего "психов" происходит. Вроде не дурак, а порой с ходу разобраться не удается! Приходится каждую строчку по буковкам разбирать, и в итоге ошибка таки находится. xD

Выявилась странность в начальных командах юнитов, например для подкрепления некоторые едут через всю карту, а не к ближайшему складу

Куски скриптов, которые не работают, или неправильно работают, копируй, и выкладывай сюда на форум. Будем смотреть и разбираться вместе. Заодно на собственных ошибках офигенно эффективно учиться (по крайней мере мне).

И еще, при создании защитной группы через вкладку AI, все эти юниты расползлись по карте как тараканы ( :-), в натуре так)

Либо не задал зону-"отстойник" для защитной группы, либо что то не так задал. По-любому ошибка в редакторе карт. Это конечно, если ты в скриптах на эту группу ничего не по навешивал.

Выявил зацикленность появления подкрепления
Команда суицид почему-то не убивает их (подобное кажется в "Серых тиграх" было)

Текст скрипта подкрепления в студию!!!

По редактору ресурсов: совсем нет, и отредактировать  файл  1 проще, чем заниматься тягомотиной с редактором
Пример- в блице-1 нет папок maps и scenarios
А если их нет, то он начинает создавать папку scenarios где попало, требует файл гамма.cfg или подобное....
Вот поэтому и редактура одного таки файла занимает гораздо меньше времени, там то всего нужно отредактировать два пути к файлам и поставить координаты заданий да название карты заменить (ну и добавить , если не хватает)

Ну смотри сам как те удобней. Главное что б работало, и без ошибок.

Вообщем по чуть-чуть ввожу части скрипта
Ни как не пойму, на какой строчке всё обрубается

А те что уже проверил в порядке? Запускаются? Если все норм, то продолжай далее. Рано или поздно - найдешь!

П.С.: Мой первый скрипт тоже так туго шел. Точно помню, что только синтаксические ошибки больше недели искал xD! Вторую карту уже в разы легче делать было.

0

116

Таг, по порядку
Насчет стартовых команд:
Грузовики оказывается едут к начальным координатам- я или промахнулся или забыл, получилися координаты начальных команд по нулям
А что там склад вражеский просто совпало :-)

Насчет групп оборонительных, созданных через AI - удалил
Сделано всё правильно: сформирована группа из нескольких in с единым Id
Мне не понравилось, что они разбежались, думаю, что так задумано, в итоге получилось, что они могут помешать другим юнитам

Теперь по самому скрипту, дошёл тихим методом до третьего задания;
Если функция запускается из тела другой функции, то она должна сработать после выполнения первой?

function Attack600()                                                                   
if ((GetNUnitsInArea(1,"ariete")< 1) and (GetNUnitsInArea(0,"ariete")> 1)) then
Cmd(3,601, GetScriptAreaParams("bran1"));
--RunScript("Attack601",5000);
--RunScript("Attack2321",5000);
--RunScript("Retreat2321",5000);
--RunScript("Shturmavia3",5000);
Suicide();                                                                                         
end;
end;

Это был пример атаки, хотелось бы еще чтоб пехота в зоне бран1 вылазила из бтр
Скрипт срабатывает, но!
Все эти бтр перемещаются сразу в зону ariete, минуя зону bran1, причем сама эта функция должна запускаться после выполнения задания (взять определенную зону, эту самую ariete:
function Objective1()                                           
if ((GetNUnitsInArea(1,"ariete")< 1) and (GetNUnitsInArea(0,"ariete")> 1)) then                             
ObjectiveChanged(1,1);
RunScript("Attack600",4000);
RunScript("Reinf4",15000)
RunScript("Patrol1",10000);
Suicide();
end;
end;)
А она запускается сама, хотя задание еще не выполнено

Примерно тоже самое происходит и здесь:
Мне нужно, чтобы контратака начиналась только когда в определенной зоне находится не менее 3 моих танков

function RevealObjective1()                                         
ObjectiveChanged(1, 0);
RunScript("Objective1",5000);
RunScript("Shturmavia",10000);
RunScript("AttackInt",15000);
Suicide();
end;

Штурмавиа срабатывает как надо и по времени
а вот функция AttackInt срабатывает сразу, без условия выполнения:

if ((GetNUnitsInArea (0,"defariete")> 3 ) and (GetNUnitsInScriptGroup(401, 1)> 1)) then
RunScript("Attack4011",5000);
RunScript("Attack4021",5000);
RunScript("Attack2411",5000);
RunScript("Artbomb4070",6000);
RunScript("Retreat4010",6000);
RunScript("Retreat4020",6000);
RunScript("Retreat2410",6000);
----RunScript("Ahtung",7000);
Suicide();
end;
end;

Т.е условие функции не выполняется, атака просто начинается без него, что ломает мне порядок :-)
Все последующие функции выполняются правильно, условия соблюдаются, например:
function Retreat4020()                                                                 
if (GetNUnitsInScriptGroup(402, 1) < 3) then
Cmd(3,402, GetScriptAreaParams("cariete"));
--KillScript("Attack4022");   
--KillScript("Attack4023");                                                       
Suicide();
end;
end;

Не срабатывает функция арт подготовки
Вернее работает только её первая часть:
function Artbomb4070()                                                                                                         
Cmd( 16, 407, GetScriptAreaParams("ja"));
RunScript("Artbomb4071",60000);
Suicide();
end;

function Artbomb4071()                                                                       
Cmd( 16, 407, GetScriptAreaParams("jb"));
RunScript("Artbomb4072",60000);
Suicide();
end;           и т.д.
Должен заметить, что если делать зоны небольшими, то это менее муторно, чем закладывать координаты в каждую пушку
( у меня в батарее 2 пушки 10,5см, разброс снарядов вполне приемлем, бъет отнюдь не по одной точке, т.е. не по центру зоны)

Пока вот так :-)    бьюсь

Отредактировано simeo (2008-11-05 18:42:15)

0

117

Всё-таки мистика есть!
Как пример: не работает вовсе скрипт, состоящий только из этого: (стырено из Блицмастера, вернее перекопировано)

function Won()
if ( GetNUnitsInParty(1) < 1) then
Win(0);
Suicide();
end;
end;

function ToDefead()
if ( GetNUnitsInParty(0) < 1) then
Loose(0);
Suicide();
end;
end;

function CheckErrors()
DisplayTrace("Ура-а-а-а!!!! Он работает!!!");
Suicide();
end;

function Init()
RunScript( "Won",2000);
RunScript( "ToDefead",2000);
RunScript( "CheckErrors",1000);
end;
даже когда так, тоже не работает :-)

function CheckErrors()
DisplayTrace("Ура-а-а-а!!!! Он работает!!!");
Suicide();
end;

function Init()
RunScript( "CheckErrors",1000);
end;

А вставляю в чужой скрипт- работает
а вы говорите, что приведений не бывает :-)

0

118

Если функция запускается из тела другой функции, то она должна сработать после выполнения первой?

function Attack600()                                                                   
if ((GetNUnitsInArea(1,"ariete")< 1) and (GetNUnitsInArea(0,"ariete")> 1)) then
Cmd(3,601, GetScriptAreaParams("bran1"));
--RunScript("Attack601",5000);
--RunScript("Attack2321",5000);
--RunScript("Retreat2321",5000);
--RunScript("Shturmavia3",5000);
Suicide();                                                                                         
end;
end;

Все зависит от содержания ф-ции, которая вызывает другую ф-цию. В твоем случае - да. Все РанСкрипты сработают только когда выполнится условие в ИФе, и будет отдана команда группе 601. Они запустят 4е ф-ции через 5 секунд. Эти ф-ции запустятся в положенное время, не зависимо от того, успеет ли выполнить команду "3" группа 601, или она будет еще в процессе выполнения.

Все эти бтр перемещаются сразу в зону ariete, минуя зону bran1

Догадываюсь где подводные камни. После выдачи команды Cmd(3,601, GetScriptAreaParams("bran1")); у тебя наверное через 5 сек. запускается ф-ция, в которой эта команда перебивается командой следования в зону ariete.

причем сама эта функция должна запускаться после выполнения задания (взять определенную зону, эту самую ariete:

В твоем скрипте function Attack600 вызывается только из function Objective1? Может еще где то ее случайно прописал?

а вот функция AttackInt срабатывает сразу, без условия выполнения

не видя карты, конечно трудно сказать. Но либо у тебя что то не так с условием (задал условие, которое уже выполнено), либо ф-ции атак вызываются из других ф-ций.

Не срабатывает функция арт подготовки
Вернее работает только её первая часть:

Странно. Сегодня создал маленькую тестовую карту. Скопировал приведенный кусок скрипта прямо с форума. И этот кусок работает. Что то у тебя там странное происходит...

А вставляю в чужой скрипт- работает
а вы говорите, что приведений не бывает

Догадываюсь, что у тебя за привидение...

В чем пишешь скрипты?

0

119

Reks
В блокноте
Возможно на ту часть влияли оставшиеся куски чужого скрипта, хотя посмотрел, там скриптовые номера не совпадали, вот и была такая фигня
Нашёл самый маленький скрипт в Блице, выпотрошил до нуля и потихоньку переношу свой, всё работает...пока...кроме
команды вызова штурмовиков

function Shturmavia()                                                                                               
SwitchWeatherAutomatic(0);
SwitchWeather(0);
Cmd(36, 10000, 1, GetScriptAreaParams("birsuesi"));
RunScript("Artbomb4070",6000);
Suicide();
end;

Возможно, из-за обилия в начале миссии авиации, команда в теле запускается и исполнятся полностью, стрельба двумя пушками последовательно по пяти зонам, а вот штурмовики не хотят вылетать, странно, в прошлый раз идеально работала
Правда работаю медленно, дошёл только до пятого задания, просто редактирую еще и войска (баланс)

И еще, нужен скрипт фиксации камеры на время в определенной области
В справочнике есть такой, но после него скрипт отказывается работать

AskClient (“SetCamera(x, y)”) - Установить точку обзора с координатами x,y

Отредактировано simeo (2008-11-06 17:55:17)

0

120

В блокноте

Иногда бывают непонятные проблемы то ли с шрифтом, то ли с кодировкой в этом самом блокноте. У меня точно так же один раз было. Написано идеально, просто, и 100% ошибки быть не должно. А скрипт не работает. Попробовал открыть прогой, а в ней пол скрипта вообще как просто текст/комент отображается. Видимо по этому части скрипта или весь скрипт целиком и не работает.

Попробуй через прогу - Blitzkrieg SciTe Editor. Сам с ней работаю, и таких проблем больше не испытываю. Плюс она довольно удобная как в написании, так и в проверке. К примеру все команды и операторы, если написаны правильно, то автоматом выделяются зеленым маркером. Сразу видишь, правильно написал, или нет. Да и куча других нюансов и удобств в ней есть. Эта прога есть в архиве, который я выложил в "школе картоделов".

кроме
команды вызова штурмовиков

Проверяй следующее:
1) Вызвалась ли вообще ф-ция Shturmavia. Может ты где то что то не так прописал. Где то не большую, а маленькую букву поставил, и т.п.
2) Доступна ли в этот момент авиация противника. Если 1 мин. назад она вызывалась, а время отдыха авиации скажем 5 мин, то естессно она не вызовется.
3) У компа задана точка вылета?
4) Если у тебя дождь на карте, то перемена погоды не успеет мгновенно произойти. Надо дать время хотя бы пару секунд. Ниже пример:

function A23151()
SwitchWeatherAutomatic(0);
SwitchWeather(0);
EnableAviation(1,4);
RunScript("A23152",5000);
Suicide();
end;

function A23152()
Cmd(36,10000,1,13813,23619);
RunScript("A23153",550000);
Suicide();
end;

И еще, нужен скрипт фиксации камеры на время в определенной области
В справочнике есть такой, но после него скрипт отказывается работать

AskClient (“SetCamera(x, y)”) - Установить точку обзора с координатами x,y

Проверил. Ф-ция работает, хотя немного криво как то координаты ставятся.
Значит у тебя ошибка где то.

0


Вы здесь » Союз | Union » Картостроение и скриптовка » Делаем карту (с грехом пополам)