#pun-title h1 span {display: none;}

Союз | Union

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

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


Вы здесь » Союз | Union » Картостроение и скриптовка » "Школа картоделов"


"Школа картоделов"

Сообщений 961 страница 978 из 978

961

Перестала запускатся карта а map editor. Наверно через обьект какой то... Как исправить ошибку, через пустой мод?? А то не могу найти план действий...

0

962

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

Перестала запускатся карта а map editor. Наверно через обьект какой то... Как исправить ошибку, через пустой мод?? А то не могу найти план действий...

Как понять через объект какой-то? Чтобы карта не запускалась на ней можно просто накосячить.

+1

963

sid, посмотрите в "Личные сообщения".
В последнем "Личном сообщении" вместо "ГЗМ-9.1" читать "ГЗМ-9.21"

Отредактировано yersinia (2020-03-22 19:22:27)

+1

964

Леонид88 написал(а):

Как понять через объект какой-то?

Это не утверждение, а предположение.

Леонид88 написал(а):

Чтобы карта не запускалась на ней можно просто накосячить

Ну зачем же так с кондачка? К людям нужно помякше, а на вопросы смотреть ширше… Неужели у вас не было косяков на лично вами нарисованных картах, а у Сида их не менее четырех полноценных...

+1

965

Вообще если карта вдруг перестала грузиться в редакторе, то это несомненно косяк автора. Среди наших ресурсов нет ничего, что могло бы привести к  такому результату только своим наличием на карте. Но при неправильном обращении с некоторыми объектами, такое вполне может случится. Например есть у нас в заборах широкие поля пшеницы. Вот если несколько элементов этих заборов слились или пересеклись, то карта может нормально сохранить, но второй раз уже не загрузится. Если при подобных косяках она была сохранена в формате bzm, то это уже никак не исправить. Карту можно удалить - вся работа коту под хвост. Если она в xml, то можно просто найти там все подозрительные объекты в тестовом виде и удалить. Во время создания карты лучше всего делать ее резервные копии то в bzm, то в xml.

0

966

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

Ну зачем же так с кондачка? К людям нужно помякше, а на вопросы смотреть ширше… Неужели у вас не было косяков на лично вами нарисованных картах, а у Сида их не менее четырех полноценных...

Там не было никаких "наездов". Человек просто не так выразился, а имел ввиду, что такое могло случиться запросто и всё. И это случалось у всех, я думаю.
И, да, самое плохое, что, возможно, уже ничего с этим не поделать и придется начинать всё снова.
А вообще, чаще всего, такую "подлянку" подкидывает вода на картах. Имея печальный опыт, перед нанесением воды, делаю копию, которая работает, а потом продолжаю. Так есть вероятность, что не придется делать вообще с нуля, а только с какого то этапа.
Ещё, есть вероятность, что это при смене тайлов на альтернативные. Я знаю, что Sid, последнее время, много карт переделывает с новыми тайлами.
Жаль, если открыть так и не получится, но это тоже опыт. Надо делать копии. Это пока единственный вариант.

0

967

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

Это не утверждение, а предположение.

Так я и пишу что не понял что человек имеет ввиду. Намекаю чтобы уточнил.

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

Ну зачем же так с кондачка? К людям нужно помякше, а на вопросы смотреть ширше… Неужели у вас не было косяков на лично вами нарисованных картах, а у Сида их не менее четырех полноценных...

Косяки у меня постоянно, и на каждой миссии были. Всё решалось с помощью старших товарищей. У меня лично две карты "сломались" во время работы. Поэтому и хотел уточнить симптомы.
Но тут оказалось к кому-то другому обращались, видимо шифрами или кодовыми словами... Надо хотя бы уточнять в таких случаях, а лучше вообще в личку писать.

0

968

Давайте, хоть в этой теме не будем ср..., ну, вы поняли.
Резюме: все хотели только помочь, и спрашивали, чтобы конкретно понять, что было. Не стоит сразу на эмоции. В этой теме, как раз общаются только те, кто сам что то делает и имеет опыт.
Всё, проехали, забыли...

0

969

Может кому-нибудь будет полезным.

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

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

+2

970

Декоративный поезд (с не сцепленными вагонами) отказывается становиться на рельсы:
https://i.ibb.co/25Py5qh/shot0313.jpg
Хотелось бы узнать, как с этим справляться.

0

971

Стоит сцепить вагоны. Без сцепки игра будет их ставить на некотором расстоянии. Особенность ж/д-юнитов.

0

972

Решив вспомнить былое и поиграть в свой полуторагодичной давности "Автобан", столкнулся с, казалось бы, изжитой проблемой: карта снова вылетает по непонятной причине. Я уже перепробовал все: и отодвигал юниты в подкрепах от края карты, и следил, чтобы скриптовый номер не получил куст - ничего не помогло. При этом, если сделать сохран и тут же его загрузить, вылеты прекращаются.
https://yadi.sk/d/e8gmJTEU3aEX8w

0

973

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

если сделать сохран и тут же его загрузить, вылеты прекращаются.

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

- запуск функций с некорректным временем RunScript("Casualities_fail",0); ... выполнение функций циклично, тем самым вы предлагаете программе каждые 0 секунд пересчитать наличие юнитов у игрока... зачем же? явная перегрузка исполняющего  механизма, ... понятно что программа не посчитает это каждые ноль секунд, но будет пытаться в минимальный такт исполнить функцию, бесполезную по сути... достаточно и раз в пять минут ее запустить... а так как функций якобы мега-срочных в скрипте много, это уже не хорошо, такты могут сбиваться исполняться с разной частотой и т.п....

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

-еще более вредная команда Qcmd... процессор обычно ожидает ее выполнения, и все что ниже ее рискует быть проигнорировано вовсе...
например внутренний цикл:
for a=1,5 do
Cmd(3,a,x,y)
Qcmd(3,a,x1,y2)
end

будет выполнен только для первого скрипт номера, хотя в синтаксисе ошибок нет и мы ждем того же для номеров 2-5... вот такая особенность у долгоиграющих команд..

function SA_obhod_1()

в этой записи много обращений для вызова координаты зоны, хорошо бы защитить их от случайного задвоения временной ячейки памяти, которую может использовать процессор оперируя необьявленными переменными, по форме local x,y= GetScriptAreaParams("зона") вы получите более стабильную работу функции... доказанная полезность данного метода при управлении авиацией...

да и вообще, хорошим тоном будет обьявлять переменные в каждой функции, указывая перед ними local a,b,c,x; будем уверенны, что операции идут именно с теми переменными что нам нужны... например

a=2

function sum
b=4
z=a+b
a=3
end

переменная z у нас будет равна 6, а не 7 как нам наверное хотелось бы когда мы писали функцию sum, а если поставить первой строкой функции  local a,b,z программа выдаст ошибку (оперируем переменной без значения)... и тогда легко найдется, что перепутали строки и а=3 должно быть выше...

тоже касается и глобальных переменных, наверное самая распространенная ошибка в скриптах, еще и вредная, на тестах она никак не находится, затем приводит к неправильным сработкам... Люди!!! переменная в команде SetIGlobalVar("temp.a",а); должна быть ВРЕМЕННАЯ через приставку temp. тогда она будет обнулена перед выполнением вашей карты, не будет мешать на других картах и засорять память Блица... элементарная вещь, которая тратит море нервов игрокам и тестерам... глобальная переменная без такой приставки почти никогда вам не понадобится, только для развилок в кампаниях и если вы делаете серию из нескольких карт, в которых события на одной влияют на следующую (к сожалению таких серий у нас нет (?))....

function Exit2094()

плохая структура проверки, сначала мы ищем координату, а потом заставляем нарисовать зону от нее, проверить наличие в ней юнита, и только потом проверяем есть ли сам юнит... хм... логично ведь наоборот, сначала проверить есть ли юнит, нет = убить скрипт, да = выполнить остальное... а так процессор рисует зону дальностью 1500 начиная от x=-1,y=-1... это ЗА КАРТОЙ... возможен критический вылет...

Будьте внимательны и логичны в написании скриптов, хорошего ГЗМ!

+7

974

Может кто-то доработает эти карты и сделает к ним скрипт?  https://yadi.sk/d/L95R-rxmQmdjvQ

0

975

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

Может кто-то доработает эти карты и сделает к ним скрипт?  https://yadi.sk/d/L95R-rxmQmdjvQ

А может сами сделаете?

+1

976

Можем даже научить))

0

977

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

А может сами сделаете?

Так, я просто предложил  8-)

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

Можем даже научить))

Нет спасибо, я уже сам самообучился  :glasses:

+1

978

Прошу глянуть и оценить сделанную мной в редакторе Б1 карту.
Задумка была примерно следующей. Игрок - СССР, ИИ - Германия. Войска игрока врываются в город внизу карты, дальше необходимо выдержать контратаку и захватывать потихоньку карту при подавляющем преимуществе противника прежде всего в артиллерии. Минимум своих сил на большой карте, но с оставлением возможности захвата вражеской техники на вражеских складах/рем базах/заводах, в том числе и танков с грузовиками снабжения(все вражеское). Промучавшись с неделю в попытках понять создание скрипта, понял, что это точно не моё, и всё потихоньку стало скатываться к альтернативной истории - СССР против всех. Если кто-то решит помочь с изначальной реализацией, заранее спасибо. Если карта пригодна под ГЗМ, используйте в дальнейших обновлениях.

https://anonfiles.com/R2Q911L5oa/Revo_pak

0


Вы здесь » Союз | Union » Картостроение и скриптовка » "Школа картоделов"