Форма входа
 
Приветствуем тебя, корсар Юнга!

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


Купить игры
 



Чат
 
500


Статистика
 
Пользователи, посетившие сайт за текущий день:
korsary4, AndryKrol, Andrey__3010, ukdouble1
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Модератор форума: NikK  
Вопросы по созданию модификаций
Jack94Дата: Четверг, 29.12.2016, 11:46 | Сообщение # 1941
Матрос
Группа: Пират
Сообщений: 21
Награды: 2
Репутация: 2
Статус: В открытом море
korsar01, у меня в новых колониях зависает диалог если поговорить с жителями и губернатором, и в Порт Рояле если переместится из любого заведения в порт, то гг оказывается не там где надо. И солдат по пиратской линейке не спавнится. Хотя уже не надо, я решил забросить корсары.

Сообщение отредактировал Jack94 - Четверг, 29.12.2016, 12:43
upuserДата: Четверг, 29.12.2016, 16:22 | Сообщение # 1942
Матрос
Группа: Корсар
Сообщений: 39
Награды: 1
Репутация: 10
Статус: В открытом море
Попробовал создать остров, сделал следующее: смоделил для теста квадрат (остров), назвал mein.gm, создал islands.gm, наполнил его локаторами: test_area>locator3, islands>test, сделал test_locators с локаторами: reload>reload1, IslandShips1> ship1, в islands_init добавил
Код
    n = n + 1;
  Islands[n].id = "test";
  Islands[n].model = "test";
  Islands[n].filespath.models = "islands\test";
  Islands[n].refl_model = "test";
  Islands[n].locators = "test_locators";
  Islands[n].visible = true;
  Islands[n].colonyquantity = 0;
  Islands[n].LoadGroup.g1 = "IslandShips1";
  Islands[n].jungle.patch = "Terks_jungle";
  Islands[n].jungle.texture = "junglesprites";
  Islands[n].jungle.scale = 10;
  //Islands[n].ImmersionDistance = 4000;
  //Islands[n].ImmersionDepth = 250;
  Islands[n].TexturePath = "IslaMona";

  Islands[n].reload.l1.label = "Shore57";
  Islands[n].reload.l1.name = "reload_2";
  Islands[n].reload.l1.go = "Shore57";
  Islands[n].reload.l1.emerge = "sea";
  Islands[n].reload.l1.radius = 600.0;
  Islands[n].reload.l1.pic = 0;
  Islands[n].reload.l1.tex = "t1";

        Islands[n].Trade.Contraband.id1 = GOOD_SLAVES;
        
  Islands[n].InterfaceTextures.t1 = "battle_interface\moor_7.tga";
  Islands[n].InterfaceTextures.t1.h = 4;
  Islands[n].InterfaceTextures.t1.v = 1;

В world_init
Код
worldMap.islands.test.position.x = 30.0;
    worldMap.islands.test.position.z = 30.0;
    worldMap.islands.test.SentJons_town.position.x = 30;
    worldMap.islands.test.SentJons_town.position.z = 30;

В архипелаге появился остров, в море если около него выйти он тоже есть, но при этом в море все ужасно тормозит и камера двигается еле-еле, в меню доплыть до есть 2 бухты, одна без названия, при телепорте к ним, естественно, ничего там нет. Мозг кипит, не могу понять к чему приступить дальше, чтобы сделать порт и возможность высадиться на остров(пусть даже взять готовую локу улиц\пляжа) и убрать существующие тормоза. Просто тупняк идет:\
И интересный момент, при выключеных энкаутерах, появился на карте 1 пиратский люггер около этого острова, при сближении вылет.
maflaytДата: Среда, 04.01.2017, 13:24 | Сообщение # 1943
Пороховая обезьяна
Группа: Пират
Сообщений: 19
Награды: 1
Репутация: 10
Статус: В открытом море
C Толкнулся с проблемой
При замене офицера на другого персонажа, текстуры разлетаются Но это понятно что из за анимации
Все перерыл и не могу сообразить как привязать к этому офицеру новую анимацию man3 *К3 ВС
NathanielДата: Среда, 04.01.2017, 15:08 | Сообщение # 1944
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата maflayt ()
не могу сообразить как привязать к этому офицеру новую анимацию man3 *К3 ВС

Например, вот так...

Код
ref def;
def = CharacterFromID("<здесь укажите ID офицера, его ключевое имя в скриптах>");
def.model.animation = "man3";

Для вступления изменений в силу смените или перезагрузите локацию. И лучше проделать эту процедуру до "поломки" модели.


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
Джин-БейнДата: Среда, 04.01.2017, 16:00 | Сообщение # 1945
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды: 40
Репутация: 197
Статус: В открытом море
Цитата maflayt ()
текстуры разлетаются

В каком смысле текстуры разлетаются Текстура это раскраска на модели, а модель состоит из мешей, которые и могут разлететься при неподходящей анимации у привязанного к модели скелета. И на будущее. Когда слышишь выражение, что кто то застрял в текстуре и подобное, знай, этот человек ничего не знает о создании игр OldPirat В раскраске нельзя застрять, потому что 3D модели не рисуют а создают.




Сообщение отредактировал Джин-Бейн - Среда, 04.01.2017, 16:02
maflaytДата: Среда, 04.01.2017, 16:41 | Сообщение # 1946
Пороховая обезьяна
Группа: Пират
Сообщений: 19
Награды: 1
Репутация: 10
Статус: В открытом море
Цитата Nathaniel ()
ref def;
def = CharacterFromID("<здесь укажите ID офицера, его ключевое имя в скриптах>");
def.model.animation = "man3";

Думаю стоит бросить эту затею, игра Корсары Ветер свободы. Все перерыв не смогу найти куда прописать эту команду
в файле Character.init пробывал добавить Characters[GetCharacterIndex("Officer_3")].model.animation = "man3"; (офицер_3 это переименованый файл Дэви Джонса)
Команды подобные надо прописывать где то в других файлов, но в скриптах и в файле ОФИЦЕР я не нашел отдельных строк на каждого офицера.
С другими вещами в игре получается пока что разбираться с не большим разгоном, так корабли,оружие из ТДМ в ВС и многое другое переменял а вот тут вот завис.

Добавлено (04.01.2017, 16:41)
---------------------------------------------

Цитата Джин-Бейн ()
И на будущее. Когда слышишь выражение, что кто то застрял в текстуре и подобное, знай, этот человек ничего не знает о создании игр

Но ведь где то текстура ложится не так как надо и получается персонаж по текстуре на сквозь проходит или же на половину в ней и эфект что застрял -cool-
А я выразился выше не знаю правильно или нет, но хотя правильней было сказать Анимация персонажа разлетается, тскажается jokingly
NathanielДата: Среда, 04.01.2017, 16:58 | Сообщение # 1947
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата maflayt ()
не смогу найти куда прописать эту команду

В любой диалог, который сможете прокрутить. Я записываю в MainHero_dialog.c в любой кейс, который могу прокрутить сразу же...


Цитата maflayt ()
текстура ложится не так как надо...

Нет, ломается-то как раз в данном случае скелет самой модели!


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!


Сообщение отредактировал Nathaniel - Среда, 04.01.2017, 17:42
maflaytДата: Среда, 04.01.2017, 17:13 | Сообщение # 1948
Пороховая обезьяна
Группа: Пират
Сообщений: 19
Награды: 1
Репутация: 10
Статус: В открытом море
Цитата Nathaniel ()
В любой диалог, который сможете прокрутить. Я записываю в MainHero_dialog.c в любой кейс, который могу прокрутить сразу же..

Так я могу прописать Команду
ref def;
def = CharacterFromID("officer_3");
def.model.animation = "man3";
Даже в Файл Диалогов и тогда у него анимация вправится?
Кстат если я выбираю этого перса как Главного героя то таких проблем нет.
NathanielДата: Среда, 04.01.2017, 17:20 | Сообщение # 1949
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата maflayt ()
и тогда у него анимация вправится?

Нет, не исправится! :)

Она сменится на ту, которую вы используете! Вы же заменили модель с одной анимацией на модель с другой, так? Снимите офицера из абордажников, перезагрузите локацию так, чтобы его модель в локацию не загрузилась. Выполните скрипт... Затем назначьте офицера абордажником, перезагрузите локацию. По идее, должно работать без проблем.

Анимация сменится только в том случае, если вы правильно укажете в скрипте ID офицера.


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
Джин-БейнДата: Среда, 04.01.2017, 17:40 | Сообщение # 1950
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды: 40
Репутация: 197
Статус: В открытом море
Цитата maflayt ()
Но ведь где то текстура ложится не так как надо и получается персонаж по текстуре на сквозь проходит или же на половину в ней и эфект что застрял



maflaytДата: Среда, 04.01.2017, 17:47 | Сообщение # 1951
Пороховая обезьяна
Группа: Пират
Сообщений: 19
Награды: 1
Репутация: 10
Статус: В открытом море
Цитата Nathaniel ()
Она сменится на ту, которую вы используете! Вы же заменили модель с одной анимацией на модель с другой, так? Снимите офицера из абордажников, перезагрузите локацию так, чтобы его модель в локацию не загрузилась. Выполните скрипт... Затем назначьте офицера абордажником, перезагрузите локацию. По идее, должно работать без проблем.


Вообще не чего не изменилось
Видать поздняя версия и по другому надо действовать
Хотя не пойму как этот DavydJons в К3 ТДМ свободно передвигался по кораблю в квесте но сделеать его офицером проблема, анимация его прописана в файле character.init Characters[GetCharacterIndex("DavyJones")].model.animation = "man2";
man2 а я выше man3 сказал но не важн я в файле записывал на man2
Так вот раз код его записан так и я пробывал делать Characters[GetCharacterIndex("officer_3")].model.animation = "man2";
Мне не чего не дало
А вот при смене (была такая проверка) сменить решил торговца, прописал модель Дэвида Джонса Анимация полетела также но после того как сменил еще и его ID на Дэви Джонса То все идеально сошлось
Вот это:
ch.id = "Guadeloupe_trader";
ch.model = "trader_5";

На это:

ch.id = "DavyJones";
ch.model = "DavyJones";

Но это в файле ГВАДЕЛУПА где прописаны все персонажи, торговцы ростовщики и т.д
Для офицеров такого я не наблюдал не в одном файле подобного


Сообщение отредактировал maflayt - Среда, 04.01.2017, 17:51
NathanielДата: Среда, 04.01.2017, 18:00 | Сообщение # 1952
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата maflayt ()
Вообще не чего не изменилось...

Цитата maflayt ()
CharacterFromID("officer_3")

Очень странно... А "officer_3" - это название модели вашего офицера? Или всё-таки его ID? Скриншот модели в студию. Может, это обычный офицер с анимашкой "man"...

Ещё раз... Это очень важно! Анимация чётко привязана к своей модели. Поэтому прикрутить анимацию "man2" к модели Белтропа, например, вы никогда не сможете. Естественно, без правки и изменения скелета модели Белтропа!


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!


Сообщение отредактировал Nathaniel - Среда, 04.01.2017, 18:04
maflaytДата: Четверг, 05.01.2017, 01:20 | Сообщение # 1953
Пороховая обезьяна
Группа: Пират
Сообщений: 19
Награды: 1
Репутация: 10
Статус: В открытом море
Цитата Nathaniel ()
Скриншот модели в студию.

[spoiler] https://pp.vk.me/c636716/v636716889/452af/nSA2Puu7vEc.jpg
https://pp.vk.me/c638927/v638927889/151dc/EUhTPG4AfFc.jpg

Добавлено (04.01.2017, 18:25)
---------------------------------------------
Чтот ссылка в фото не трансформировалась но должна вроде показывать))

Добавлено (04.01.2017, 18:27)
---------------------------------------------
Цитата maflayt ()
[spoiler] https://pp.vk.me/c636716/v636716889/452af/nSA2Puu7vEc.jpg
https://pp.vk.me/c638927/v638927889/151dc/EUhTPG4AfFc.jpg
Добавлено (04.01.2017, 18:25)
---------------------------------------------
Чтот ссылка в фото не трансформировалась но должна вроде показывать))

Текстуры у меня не показывает)

Добавлено (04.01.2017, 18:30)
---------------------------------------------
Подробнее о снимках:
Файл DavyJones.gm переименованный в officer_3.gm
У DavyJones анимация должна быть man2

Добавлено (04.01.2017, 19:06)
---------------------------------------------
Нашел файл LandEnc_init.c в котором такие строчки

LandEncounters[n].id = "ENC_OFFICER";

[spoiler]
LandEncounters[n].char1.model1 = "officer_1";
LandEncounters[n].char1.model1.ani = "man";
LandEncounters[n].char1.model2 = "officer_2";
LandEncounters[n].char1.model2.ani = "man";
LandEncounters[n].char1.model3 = "officer_3";
LandEncounters[n].char1.model3.ani = "man";
LandEncounters[n].char1.model4 = "officer_4";
LandEncounters[n].char1.model4.ani = "man";
LandEncounters[n].char1.model5 = "officer_5";
LandEncounters[n].char1.model5.ani = "man";
LandEncounters[n].char1.model6 = "officer_6";
LandEncounters[n].char1.model6.ani = "man";
LandEncounters[n].char1.model7 = "officer_7";
LandEncounters[n].char1.model7.ani = "man";
LandEncounters[n].char1.model8 = "officer_8";
LandEncounters[n].char1.model8.ani = "man";
LandEncounters[n].char1.model9 = "officer_9";
LandEncounters[n].char1.model9.ani = "man";
LandEncounters[n].char1.model9 = "officer_10";
LandEncounters[n].char1.model9.ani = "man";
LandEncounters[n].char1.model10 = "officer_11";
LandEncounters[n].char1.model10.ani = "man";
LandEncounters[n].char1.cont = false;
LandEncounters[n].char1.pistol = false;
LandEncounters[n].char1.sword = true;
LandEncounters[n].char1.type = "sit";
LandEncounters[n].char1.Dialog = "Enc_Officer_dialog.c";

Но и при изменении и добавлении не чего почему то не дало.

Добавлено (05.01.2017, 01:20)
---------------------------------------------
И вправду это не ID а модель оказалась
Прост у Моргана и DavyJones оказался ID такой же как и Название Модель
А у остальных не так
ЕСТЬ ЛИ СПОСОБ УЗНАТЬ ID Офицеров, в файлах или же врубить через консоль как нибудь ?)


Сообщение отредактировал maflayt - Четверг, 05.01.2017, 01:22
kb31Дата: Четверг, 05.01.2017, 15:51 | Сообщение # 1954
Матрос
Группа: Корсар
Сообщений: 28
Награды: 1
Репутация: 17
Статус: В открытом море
Подскажите если тут кто-то знает, каким образом связан сейв со скриптами? почему их изменение не влияет на уже начатую игру? не могут же они кэшироваться в сейв, слишком жирно было бы
И второй вопрос: если я запакую измененные скрипты обратно в Dll'ку, ситуация не изменится?
P.S на всякий случай, речь о ККС, хотя не думаю что есть большая разница


Сообщение отредактировал kb31 - Четверг, 05.01.2017, 15:52
korsary4Дата: Пятница, 06.01.2017, 01:13 | Сообщение # 1955
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
kb31, все дело в движке. Некоторые массивы загоняются именно в сейв, и потом он не видит новые записанные данные. Например, те же новые локации, предметы, некоторые скриптовые вызовы. Поэтому как вариант добавить кучу пустышек в такое дело, а потом скриптовыми методами вносить изменения и дописать в уже объявленные функции, что возможно позволит избегать НИ при правке игры.

Цитата kb31 ()
если я запакую измененные скрипты обратно в Dll'ку

Да разницы то особой нет.
А ты умеешь запаковывать?



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
kb31Дата: Пятница, 06.01.2017, 13:25 | Сообщение # 1956
Матрос
Группа: Корсар
Сообщений: 28
Награды: 1
Репутация: 17
Статус: В открытом море
korsary4,
спасибо, примерно так и представлял. но хочется знать чуть поконкретнее - что пишится в сейв, а что нет. что можно поменять в скриптах чтобы оно работало, а что бессмысленно
вообще изначальной целью ставил сделать примитивный редактор сейвов, но даже на распаковщик скриптов ушло 3 трезвых праздника =/

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

вообще эта мысль в голову пришла потому что при работе со скриптами зашитыми в Dll, stormext не проксирует вызовы к ядру как с другими скриптами, а предоставляет скрипты из архива(это проверено, а вот дальше начинается догадка)
т.е. если в сейве жестко зашит путь к какому-то скрипту из PROGRAM, то если не пропатчить stormext, не перепаковать stormex2 или не поправить сейв, работать он будет с оригинальным скриптом
но это всего лишь догадка, реально путь скриптов может быть не причем :)

P.S. да, кстати, по поводу анпакера, у кого-нибудь есть stormex2.dll с более старых(<1.5.0) версий ККС потестить?
upuserДата: Пятница, 06.01.2017, 15:29 | Сообщение # 1957
Матрос
Группа: Корсар
Сообщений: 39
Награды: 1
Репутация: 10
Статус: В открытом море
Отредактировал глобалку, в island_init добавил

В worldmap.ini
Код
    worldMap.islands.testisland.position.x = 60.0;
    worldMap.islands.testisland.position.z = 60.0;
    worldMap.islands.testisnald.SentJons_town.position.x = 30;
    worldMap.islands.testisland.SentJons_town.position.z = 30;

При переходе на глобалку черный экран, локаторы вроде в норме, вот что system лог пишет:
pavel_86regДата: Пятница, 06.01.2017, 16:32 | Сообщение # 1958
Пороховая обезьяна
Группа: Пират
Сообщений: 9
Награды: 0
Репутация: 0
Статус: В открытом море
Подскажите пожалуйста как сделать после диалога переход в каюту?Если просто использовать локатор my_cabine ,то при попытке выйти на карту мы выходим просто куда то в темноту,а если начать гулять по кораблю,например перейти в трюм,то возникает прикольный баг в виде нашего клона
kb31Дата: Суббота, 07.01.2017, 23:26 | Сообщение # 1959
Матрос
Группа: Корсар
Сообщений: 28
Награды: 1
Репутация: 17
Статус: В открытом море
Вроде получилось, но создаваемый оверлей на 1.5кб больше оригинального :) в лоб не проверить - в оригинале они запакованы не попорядку... может версия компрессора разная, в любом случае игра пока его не кушает - вылетает =(

P.S неужели ни у кого нету файлов старой игры? хотя бы от ГПК последней где program закрыли скиньте)

Добавлено (07.01.2017, 16:11)
---------------------------------------------
Проблема оказалось в другом, просто забыл в engine.ini вернуть run =)
Выходит запаковка работает, теперь нужно думать как проверить

Добавлено (07.01.2017, 16:21)
---------------------------------------------
На гпк тоже работает, значит, скорее всего, подходит для всех аддонов на 2 шторме

Добавлено (07.01.2017, 19:12)
---------------------------------------------
MOD_BETTATESTMODE включилась, консоль работает
что можно проверить из того, что не должно работать на существующем сейве?

Добавлено (07.01.2017, 19:50)
---------------------------------------------
Да, действительно, сейвы содержат путь к папке скриптов и к главному файлу(run), но в него реально по непонятной причине запаковано слишком много, даже часть диалогов
Дело это, конечно, поправимое, но гораздо более сложное)
Но все, что не запаковано можно изменить и пользоваться
Жалко, что никто так и не помог :(

Добавлено (07.01.2017, 23:26)
---------------------------------------------
Скиньте кто-нибудь, пожалуйста, папку PROGRAM из ГПК 1.2 или младше =)

maflaytДата: Вторник, 10.01.2017, 15:13 | Сообщение # 1960
Пороховая обезьяна
Группа: Пират
Сообщений: 19
Награды: 1
Репутация: 10
Статус: В открытом море
КТО ЗНАЕТ В КАКИХ ФАЙЛАХ ИСКАТЬ КОМАНДУ *ОБЫСК ТРУПОВ, ОБЫСК СУНДУКОВ*
interface ?
Поиск:

Copyright Pirates-Life.Ru © 2008-2024


Семь Футов под Килем - Бухта Корсаров и Пиратов!