Скрипты в ПЗ. - Версия для печати +- Город Джунов (https://www.gipat.ru/forum) +-- Форум Аддон для Проклятых Земель (https://www.gipat.ru/forum/forum-20.html) +--- Форум Все остальное (https://www.gipat.ru/forum/forum-4.html) +--- Темы: Скрипты в ПЗ. (/thread-1236.html) |
Скрипты в ПЗ. - CAHEK7 - 21.03.2003 Люди, помогите кто-нибуть со скриптами плиз. Как в них можно делать циклы, условия и прочую нелинейность? И как работает команда @addunittoserver?:work: Скрипты в ПЗ. - sun - 22.03.2003 Достаточно емкий у тебя вопрос. Я не могу на рассказ тратить много времени, тем более что ты бродяга. Кратко будет так… AddUnitToServer( NameUnitMap : string , NameUnitRes : string , NameUnitControl : string , x : float , y : float , z : float ) Устанавливает юнит-объект: NameUnitRes на текущую карту в точку (x,y,z) из базы данных ресурсов игры. Объект будет иметь внутреннее имя: NameUnitMap и имя, отображаемое в инфоокнах: NameUnitControl. Большие и маленькие буквы внутреннего имени: NameUnitMap не различаются. Системная функция преобразования имени: (NameUnitMap : string) в код (idUnit : float) представляет все строчные символы имени как прописные - к верхнему регистру. Не рекомендуется возвращать код: idUnit от объекта добавленного на карту командой: AddUnitToServer с помощью функции: GetObjectId. Полученный на карте объект командой: AddUnitToServer будет иметь код - 10 символов, а команда: GetObjectId работает с ошибкой с десятизначными силами. Команда правильно работает только с объектами прописанными в таблице NPCs, так как добавленный объект будет иметь контейнер с переменными переменными совойств персонажа игрока, со всеми дополнительными параметрами, навыками и умениями. При этом, если имя: NameUnitMap совпадает с именем файла в таблице ресурсов: texts.res (textslmp.res) с предиктором: "pers", например, "Nalo", и оствлен параметр: NameUnitControl пустым, то из базы данных локализации: texts.res (textslmp.res) будет взято имя имя этого объекта. Например, Сингл, ввести в консоли команду использование расширенных консольных команд, затем следующую строрку: @AddUnitToServer( "Nalo","Human Hadagan Pretty","",GetX(GetLeader()), GetY(GetLeader()),0) Скрипты в ПЗ. - CAHEK7 - 24.03.2003 Во-первых, спасибо. Во-вторых, я не бродяга, а зарегистрировался. В-третьх, я бы хотел чем-нибуть вам помочь, хотя думаю, что тут и без меня справятся сами (не очень великий я программер да и VB мало кому нужно, но все же...). Скрипты в ПЗ. - sun - 24.03.2003 CAHEK7. пожалуйста. Помогай, конечно. Мы сами программисты «не очень» Вот сейчас нам нужны идеи по менджеру модов. Мы к стартеру делаем программу, которая будет совмещать моды игроков с ПЗ, чтобы эти моды уживались друг с другом и со стандартной игрой. А то ведь после установки мода нужно игру переустанавливать, чтобы снова поиграть в стандартную игру. Скрипты в ПЗ. - sun - 24.03.2003 Ну да..., извини, какой же ты бродяга, ты неизвестный. Кстати, а почему неизвестный?, это у нас такие имена к новичкам? Мдя... :drug: Скрипты в ПЗ. - Jet - 24.03.2003 Цитата:Ну да..., извини, какой же ты бродяга, ты неизвестный. Кстати, а почему неизвестный?, это у нас такие имена к новичкам?На новом форуме уже придуманы новые ранги. Это будет сюрпризом. Скрипты в ПЗ. - CAHEK7 - 02.04.2003 Можете кинуть MOB Reversing Tools или хотя бы один mob файл расшифрованный? Очень хочется посмотреть что там внутри... Скрипты в ПЗ. - sun - 02.04.2003 CAHEK7 Что внутри мобов можно будет посмотреть в нашем проекте "Энциклопедия ПЗ". Этот проект тестировался в прошлом году, но пока мы его заморозили, из-за большого количества неточностей и «белых пятен». Сейчас мы знаем о ПЗ гораздо больше, чем на момент "заморозки". Непосредственно над "Энциклопедией ПЗ" мы пока не работаем. Сейчас мы заняты проектом «Паргелий». Скрипты в ПЗ. - Jet - 02.04.2003 Цитата:Можете кинуть MOB Reversing Tools или хотя бы один mob файл расшифрованный?В ПЗ версии 1.06 есть незашифрованные файлы: zonemainmenunew.mob и zone20.mob В демо-версии все файлы незашифрованные. Скрипты в ПЗ. - CAHEK7 - 03.04.2003 Спасибо пошел я разбираться Скрипты в ПЗ. - [Sauron] - 13.04.2003 У меня тоже вопрос Как мне задать дипломатию созданию на карте не по номеру группы а по личному ИД создания? :upset: Ну чтобы задать ее только для одного а не для целой кучи? Скрипты в ПЗ. - [Sauron] - 14.04.2003 Ну что? Никто незнает? :drug: Скрипты в ПЗ. - sun - 14.04.2003 Сначала переопредели дипломатическую группу для юнита. А потом для этой группы уситанови нужную дипломатию. Всего дипгрупп может быть от 32 (0-31). Скрипты в ПЗ. - [Sauron] - 15.04.2003 Пасиба , но есть махонькая проблемка - я понятия не имею как установить дипломатическую группу группу для юнита... Скрипты в ПЗ. - CAHEK7 - 16.04.2003 можно сделать так: @setplayer(getobject(id),n) n-номер игрока к которому будет принадлежать юнит getobject(id). меняешь дипломатию между разными игроками и все будет работать. Скрипты в ПЗ. - [Sauron] - 16.04.2003 Спасибо Скрипты в ПЗ. - CAHEK7 - 16.04.2003 а еще можно @setenemy(unit:onject,nplayer:float) зайди на http://www.gipat.ru/forum/index.php?showto...t=0&#entry19938 я там написал как она работает Скрипты в ПЗ. - [Sauron] - 03.06.2003 Гм, оказывается подробных разьяснений комуто мало По многочисленным прозьбам всех читеров ПЗ выкладываю скрипт по вызову поросенка Пятачка @AddUnitToServer("","LMP Unique Pig Boryka 1","",GetX(GetLeader()),GetY(GetLeader()),0) Пятачек будет без названия, если хотите с именем то вот так: @AddUnitToServer("","LMP Unique Pig Boryka 1","Boryka",GetX(GetLeader()),GetY(GetLeader()),0) Но имя можно писать только английскими буквами Скрипты в ПЗ. - sun - 04.06.2003 AddUnitToServer( NameUnitMap : STRING , NameUnitRes : STRING , NameUnitControl : STRING , x : FLOAT , y : FLOAT , z : FLOAT ) Устанавливает юнит-объект: NameUnitRes на текущую карту в точку (x,y,z) из базы данных ресурсов игры. Объект будет иметь внутреннее имя: NameUnitMap и имя, отображаемое в инфоокнах: NameUnitControl. Большие и маленькие буквы внутреннего имени: NameUnitMap не различаются. Системная функция преобразования имени: (NameUnitMap : string) в код (idUnit : float) представляет все строчные символы имени как прописные - к верхнему регистру. Не рекомендуется возвращать код: idUnit от объекта добавленного на карту командой: AddUnitToServer с помощью функции: GetObjectId. Полученный на карте объект командой: AddUnitToServer будет иметь код - 10 символов, а команда: GetObjectId работает с ошибкой с десятизначными симвалами. Команда правильно работает только с объектами прописанными в таблице NPCs, так как добавленный объект будет иметь контейнер с переменными совойств персонажа игрока - со всеми дополнительными параметрами, навыками и умениями. При этом, если имя: NameUnitMap совпадает с именем файла в таблице ресурсов: texts.res (textslmp.res) с предиктором: "pers", например, "Nalo", и оствлен параметр: NameUnitControl пустым, то из базы данных локализации: texts.res (textslmp.res) будет взято имя этого объекта. Например, Сингл, ввести в консоли команду использование расширенных консольных команд, затем следующую строрку: @AddUnitToServer( "Nalo","Human Hadagan Pretty","",GetX(GetLeader()), GetY(GetLeader()),0) Не забывайте, если нужно динамически добавлять персонажей из консоли, то сначала нужно создать файл с локализованным именем персонажа и запаковать файл с соответствующим иенем в базе данных локализаций texts.res. Получаемый персонаж будет иметь расширенную структуру с дополнительными характеристиками персонажа, а не простого юнита. По этому нужно в теаблице NPCs добавить новую строку с именем будущего перса и заполнить его характеристики, иначе у перса будет 0. Можно и консольными командами заполнить некоторые характеристики нового персонажа и затем полечить его… Пятачок не персонаж, его имени нет в списке персонажей, но есть «Свинья»… @AddUnitToServer("Pig","LMP Unique Pig Boryka 1","Boryka",GetX(GetLeader()),GetY(GetLeader()),0) Скрипты в ПЗ. - sun - 07.06.2003 Jaroslav Я могу только предполагать… Так вот, я думаю что: команда «AddUnitToServer», это старая команда и возможно вообще предназначена для конструктора ПЗ, а не для самой игры, или что-то в этом роде. Команда «AddUnitToServer» работает правильно, но только с объектами-персонажами. Разумеется, можно предварительно прописать кого угодно в таблице NPCs, и добавлять нового «перса» динамически на игровую зону. Но, проблемы вывода полноценного персонажа останутся и будут не только, как говорится, с «простыми юнитами», но и вообще с любыми юнитами которых нет в базе текстур "redress.res" или может быть даже тех, чьи имена текстур не начинаются на «unhu…». То есть, полноценно добавляться будут только человекообразные, к ним относятся только Люди и Орки. Только людей и Орков, в обычной ПЗ можно добавить этой командой на игровую зону, так как графические ресурсы Людей и Орков находятся в отдельном контейнере ресурсов, В общем, разработчики так реализовали эту функцию, и текстуры других юнитов (из других ресурсов) эта команда не загружает. Хотя можно попробовать перенести нужные текстуры из textures.res в контейнер redress.res/ Ну, или попросить продвинутого модера, чтобы он используя наш стартер, прописал в пути поиска ядром ПЗ ресурса redress.res - искать сначала в textures.res,… Это только теория, но можно поэкспериментировать…. Вообще-то, в чем собственно цель, или даже, в чем задача? Добавлять динамично юнитов на игровую зону, по каким-то критериям? Если грамотно поставить задачу, то можно на нынешнем движке реализовать вполне достойное решение. Например, если есть та же задача: реализовать динамическую загрузку каких-то юнитов на игровую зону, то для этого не нужна команда «AddUnitToServer». Можно сделать библиотечный моб-файл, который и будем в последствии загружаться из других мобов командой ADDMOB(NAME.mob). В этом моб–файле нужно реализовать защиту от повторений и проверку, что такой-то перс уже существует и динамично добавлять/удалять, именовать сколько угодно (сколько выдержит комп) юнитов. Но вот вопрос, а будет ли это играбельно, Нивал такого метода не использовал…. |