PAINKILLER: Cooperative mod Это не Альфа- и даже не Бета-версия,читаем внимательно описание!!! Цель: создание кооперативного режима по типу Serious Sam - прохождение сингловой кампании в мультиплеере. Создаю на базе Black Edition v1.64 Начало разработки: 28.09.2011
Меню Пейнкиллера видит новый режим и может загружать список карт. Игрок может реснуться на карте. Появляется золото, монстры видят и атакуют игрока. Музыка меняется на боевую и обратно, есть шепот вначале карты. Второй режим хлеборезки подкидывает противников. Колья исчезают позже, таким образом не будет фейла при убийстве врага с колострела, что кола нет, а тело пришпилено. Работает фонарик. Огнемет теперь все-таки огнемет))) А то раньше он огнем не стрелял) Работает комбо электропушки. Добавлены некоторые специальные консольные команды для облегчения тестирования (coopweapons,coopgod,coopammo,coopdemon - работают аналогично чит-кодам из сингла, coopdifficulty - позволяет менять сложность, coopnextmap - следующая карта, coopmap загружает карту с указанным индексом из маплиста) Игрок ресается на последнем чекпоинте
Важные: Клиент не может подключиться к серверу - ошибка "different client scripts". Проблема в загрузке сингловой карты на сервер. Из-за ошибки физики часть уровней непроходима, часть секретов недостижима. Из-за физики игра может неподетски тормозить в мультиплеере. Можно проходить сквозь предметы и мобов. При прохождении через моба возникает глюк отображения следа атаки и фриз (подтормаживание) На уровне Анклав игрок проходит сквозь землю. На уровне Аластор есть ОЧЕНЬ большой фэйл.... Будут исправлены позже: Список карт: если удалить карту из списка, то вернуть ее назад будет сложно (нужно будет менять конфиги вручную) поэтому просто перемещайте карты на нужную вам позицию. Исправлять не буду т.к. в настройках кооператива можно будет только выбрать начальную карту. Игрок ресается смотря куда-то в сторону (нет угла на который он должен быть повернут). Неисправимо (неоткуда брать оный угол, он разный для разных карт) Не открываются двери, таким образом после первой смерти карта становиться непроходимой. Некоторые проблемы с режимом Демона Морфа на уровне Ад. Мобы на некоторых уровнях ресаются раньше времени (возможно ошибка расчета "этажей" карты, пока замечено было только на снежном мосту). Мобы на некотором расстоянии "не видят" игрока. При достижении конца уровня игра выходит на карту. По завершении времени грузится следующая карта. Время, фраги, ресающиеся патроны\броня и прочие элементы дезматча. Не удается загрузить начальную конфигурацию оружия игрока для карты.
Придумать способ все-таки загрузить сингловые карты на сервер. Исправить ошибку физики. Помощь в работе со скриптами
Даже не альфа! Ссылка. Работает только у сервера! Установка: 1: распаковываем в папку игры 2: запускаем батник 3: играем Замена файлов не производится. Выделенный сервер: ссылка Установка и подготовка к тестированию мода: 1: распаковываем в папку /bin 2: создаем батник с текстом Bin\PainServer.exe -lscripts ..\COOP.pak 3: запускаем созданный батник, нажимаем кнопочку старт 4: для перехода в режим кооператива набираем в консоли \gamemode coop
Я люблю людей... особенно - убивать!^__^
Сообщение отредактировал ItramariN - Четверг, 20.06.2013, 18:42
ItramariN, Привет! То, что ты создаёшь, действительно интересно! У меня у самого подобные мысли были
Quote (ItramariN)
Разработать систему респов без изменения карт
Ох, вот тут я, к сожелению, пока ничем не могу помочь. Сам не особо разбираюсь в скриптах и кодинге
Quote (ItramariN)
Персонаж после загрузки карты не может реснутся - негде
Можно поподробнее? Если ты брал скрипт коопа из Resurrection, то нужно ещё и осмотреть какие были использованы энтити на карте для респа, скорее всего это стандартная PlayerRespawn для десматча. Потом посмотрю и отпишусь.
Quote (ItramariN)
Пак LScripts оригинального Пейнкиллера и Пейнкиллера с установленным battle out of hell.
Если ты имеешь ввиду разархивированый, то его можно и самому распаковать. В PainEditor, нажми File=>Extract Game Data (вроде как-то так, извини, эдитора нет пока под рукой). Также есть ещё пара способов, но о них я позже напишу. __________________________ Вобщем, с радостью тебе помогу чем смогу. Могу предоставить ссылки на остальные PK сайты с полезной инфой, а также с созданием карт.
То, что ты создаёшь, действительно интересно! У меня у самого подобные мысли были
Мысли у многих были, да вот только что-то никто еще не сделал...
Quote (Str_Ghost)
Сам не особо разбираюсь в скриптах и кодинге
Я тоже в скриптах не разбирался, пока не открыл их... а Lua - это вылитый Pascal... так что затем осталось только подключить фантазию. А если менять карты, то мод будет весить за триста метров, вместо четырех. А если брать только измененные файлы, то там может метр от силы.
Quote (Str_Ghost)
Если ты брал скрипт коопа из Resurrection, то нужно ещё и осмотреть какие были использованы энтити на карте для респа, скорее всего это стандартная PlayerRespawn для десматча.
Я смотрел скрипт респа банального дезматча оригинала. Ressurection вообще не нужен. Прикол в том, что судя по процедурам для респа вообще нужны только координаты, а PlayerRespawn только задает дополнительные параметры (если вообще задает) и является фиксированной точкой, с которой мы эти координаты и снимаем. Я никак не могу выдрать координаты начального положения на сингловой карте... вернее, выдрать-то могу, но другого типа. Там в векторе они висят, а мне надо три конкретных числа. Еще проблема, что их нужно брать во время инициализации карты, иначе потом они будут меняться и респаться игроки будут неизвестно где, но это мелочи. А если я выдеру координаты положения камеры вначале игры, то дальше останется только периодически выдирать координаты чекпоинтов на которых и будет респаться игрок, благо процедура аналогична. Телекилов при респе не будет - есть процедура задержки, если респ "занят"
Quote (Str_Ghost)
Если ты имеешь ввиду разархивированый, то его можно и самому распаковать.
Мне не важно в каком виде - разархивировать я и сам смогу, главное чтобы были. Потому что у меня стоит Black Edition, а если скрипты немного изменены в ней, то мод может запускаться только на оном Black Edition, что не есть хорошо.
Quote (Str_Ghost)
Могу предоставить ссылки на остальные PK сайты с полезной инфой, а также с созданием карт.
Я и так весь инет облазил, но про код ничего интересного не нашел, в основном только материалы по Эдитору. А создание карт вряд ли поможет - там со скриптами работают редко. Я люблю людей... особенно - убивать!^__^
Мысли у многих были, да вот только что-то никто еще не сделал...
Ну, как говорится, идеи есть у всех, а воплотить в реальность это может не каждый
Quote (ItramariN)
А если менять карты, то мод будет весить за триста метров
Не знаю, знаешь ли ты, но каждая энтитя на карте сохраняется в отдельный файл, поэтому если ты что-то добавил или изменил, то достаточно в моде оставить только изменённые или добавленые файлы, если модифицировались стандартные карты, разумеется...
Quote (ItramariN)
Потому что у меня стоит Black Edition
Это почти тоже самое, что и оригинал. Скрипты одинаковые т.к. скрипт меню Black Edition'а содержится и в обычной версии (но нет дополнительных материалов). Хотя, может есть и ещё изменения, я не сравнивал их, но если надо, могу скинуть скрипты из обычной версии
Quote (ItramariN)
там со скриптами работают редко
Ну, вообще приходится немного поработать, если надо убрать со старта всё оружие, выдать стартовое здоровье, броню, изменить условия для получения карты Таро. _________________________________ Скрипты из оригинала: Narod.ru
Не знаю, знаешь ли ты, но каждая энтитя на карте сохраняется в отдельный файл, поэтому если ты что-то добавил или изменил, то достаточно в моде оставить только изменённые или добавленые файлы, если модифицировались стандартные карты, разумеется...
Это конечно вариант, но еще на каждую карту вешать респы... ИМХО, если можно без этого обойтись, просто выдрать координаты точки респа и система заработает, то можно и без расстановки дополнительных респов. Более того, надо респы активировать и деактивировать вместе с чекпоинтами, чтобы игрок не респался вначале у конца карты, а потом вдруг у начала... Но если мой вариант со скриптами не сработает, то буду расставлять респы, это уже легко...
Quote (Str_Ghost)
Это почти тоже самое, что и оригинал. Скрипты одинаковые т.к. скрипт меню Black Edition'а содержится и в обычной версии (но нет дополнительных материалов). Хотя, может есть и ещё изменения, я не сравнивал их, но если надо, могу скинуть скрипты из обычной версии
Сравнил. Различий не обнаружил=>мод будет работать и на них без проблем спасибо.
Quote (Str_Ghost)
Ну, вообще приходится немного поработать, если надо убрать со старта всё оружие, выдать стартовое здоровье, броню, изменить условия для получения карты Таро.
Все начальные условия и условия получения карт - файлик в пару килобайт с примитивным кодом. Открой LScripts\main\GameMP.lua и ты поймешь с какими скриптами приходиться мне работать. Там все гораздо сложнее, как-никак это большая часть игровой логики и всего-всего-всего... поэтому большая часть моей работы - эксперименты методом ненаучного тыка Я люблю людей... особенно - убивать!^__^
Ну, не согласится не могу Но я уже писал: я не кодер, поэтому иногда я даже задумываюсь над этим файликом Я больше работаю/учусь в 3DS Max, делаю с ещё одним человеком небольшой "маппак", с кодом разбираться буду потом, надо же настроить доску с уровнями и проч.
Quote (ItramariN)
поэтому большая часть моей работы - эксперименты методом ненаучного тыка
Действительно, ты взял на себя нелёгкую работу, учитывая что ты ещё и с нуля всё делаешь... Вобщем, когда создашь мод, ты будешь просто крутым
Quote (ItramariN)
Сравнил. Различий не обнаружил=>мод будет работать и на них без проблем спасибо.
Пожалуйста )) Если что - обращайся.
Quote (ItramariN)
но еще на каждую карту вешать респы
Да лан, это гораздо легче, чем разбираться в скриптах. Если что, могу помочь расставить.
с кодом разбираться буду потом, надо же настроить доску с уровнями и проч.
Это довольно легко, если режим игры стандартный.
Quote (Str_Ghost)
Вобщем, когда создашь мод, ты будешь просто крутым
Вначале надо создатьXD
Quote (Str_Ghost)
Да лан, это гораздо легче, чем разбираться в скриптах. Если что, могу помочь расставить.
А вот это не факт. Респы мультиплеера могут на сингловых картах и не работать. Знаешь, расставь наверное несколько респов на любой сингловой карте, я проверю - может заработает... Я люблю людей... особенно - убивать!^__^
Вообще, да, можно просто подменить уровни. Но я больше всего хочу изменить доску с картами. Думаю как-нибудь попытаться нарисовать свой фон и вот тут-то, скорее всего, придётся подгонять карты под размер + некоторые придётся убрать.
Quote (ItramariN)
расставь наверное несколько респов на любой сингловой карте, я проверю - может заработает...
Ок, расставил три респа в Атриуме, файл прикрепил к этому сообщению. Только у меня почему-то не получилось изменить направление респаунов (точнее, у меня вообще не получается повернуть любую энтити класса CArea). Не знаешь в чём дело?
Но я больше всего хочу изменить доску с картами. Думаю как-нибудь попытаться нарисовать свой фон и вот тут-то, скорее всего, придётся подгонять карты под размер + некоторые придётся убрать.
Нет, придется только разобраться в коде менюшки мультиплеера))
Quote (Str_Ghost)
Только у меня почему-то не получилось изменить направление респаунов (точнее, у меня вообще не получается повернуть любую энтити класса CArea). Не знаешь в чём дело?
Это походу невозможно. Да и потом это же не материальные объекты, их что ворочай, что не ворочай... параметры у них посмотри, зщштеы определяющий место респа тремя координатами - x,y,z,a. Так вот а это похоже направление взгляда игрока при респе.
Добавлено (02.10.2011, 23:28) --------------------------------------------- Итак, с респами реснуться можно, но мобы тебя в упор не видят. Более того, они атакуют в сторону, а по тебе попадают... походу есть разбежка с местом положения игрока и его камерой\моделькой
Нет, придется только разобраться в коде менюшки мультиплеера))
Ну это у тебя У меня ведь только сингл, там придётся подменить уровни и карты Таро.
Quote (ItramariN)
x,y,z,a
А вот направления a я не помню... Пересмотрю позже. Хотя по сути скорее всего так оно и есть.
Quote (ItramariN)
походу есть разбежка с местом положения игрока и его камерой\моделькой
А вот это плохо, видимо, тебя ждёт ещё больше работы. Зато то, что работают респы, это плюс
Quote (ItramariN)
Игрок респается смотря куда-то в сторону (нет угла на который он должен быть повернут)
Насчёт этого, я потом попробую кое-кого спросить на счёт этого (он занимался разработкой RE), может он знает.
P.S. До меня только не давно дошло, а ведь нужно ещё добавить функцию чтобы при респе у игрока сохранялось оружие + если другой игрок взял оружие/патронину/health, то нужно чтобы для других игроков всё это оставалось, как в Serious Sam'е
А вот это плохо, видимо, тебя ждёт ещё больше работы. Зато то, что работают респы, это плюс
Нужно допереть на что мобы агряться\что атакуют. Насчет респа - я брал начальные координаты карты, потом буду их менять на координаты чекпоинтов. Поэтому мне надо проверить, чтобы на уровнях чекпоинты не блокировались дверями. Это намек)
Quote (Str_Ghost)
Насчёт этого, я потом попробую кое-кого спросить на счёт этого
Это тот самый параметр а. Я работаю без респов, а для каждого уровня угол начального положения - свой. Но это не сильно большая проблема.
Quote (Str_Ghost)
P.S. До меня только не давно дошло, а ведь нужно ещё добавить функцию чтобы при респе у игрока сохранялось оружие + если другой игрок взял оружие/патронину/health, то нужно чтобы для других игроков всё это оставалось, как в Serious Sam'е
Так как я использую скрипты мультиплеера, то патроны\броня\здоровье ресаются. Насчет оружия не знаю, тут надо по-моему выдирать начальное оружие из скрипта карты. С душами хуже. Вот тут нужна процедура а-ля Serious Sam. Впрочем, над этим потом подумаем.
Добавлено (03.10.2011, 23:27) --------------------------------------------- Пичалька. У друга при тесте мода случился фейл - почему-то игра не видит новые скрипты. Пробовал в папку кидать, в пак - ничего. Какие-нибудь идеи?
надо проверить, чтобы на уровнях чекпоинты не блокировались дверями. Это намек)
Ок, просмотрю
Quote (ItramariN)
Это тот самый параметр а
В параметрах респа я почему-то не вижу данного направления, да и если редактировать те координаты, что есть, то всё равно почему-то ничего не меняется
Quote (ItramariN)
патроны\броня\здоровье ресаются
Ну, вообще на данный момент это поможет для теста, но всё-таки лучше сделать как в Сэме, а то нечестно как-то, один игрок подберёт, а остальные будут ждать.
Quote (ItramariN)
С душами хуже
А души можно и оставить так, как есть. Самое главное, ИМХО, патроньки/здоровье/броня/оружие.
Quote (ItramariN)
Вот тут нужна процедура а-ля Serious Sam
Для неё есть исходники, можешь просмотреть и сравнить как и что, только там, правда, на C++.
Quote (ItramariN)
координаты чекпоинтов
Дык а что с направлениями? Они же вроде в одну точку смотрят.
Quote (ItramariN)
почему-то игра не видит новые скрипты
Я хз, если честно. У тебя/него с дополнением игра? Одинаковые ли версии? А в пак/папку кидать тут никакой разницы, на этапе разработки лучше кидать в одноимённую папку. А потом, когда уже всё готово будет, там уже лучше в пак заархивировать. Вообще, если хочешь, я могу проверить, у меня версия 1.64 + BooH. Разбазаривать никому не буду, даю слово.
Спустя некоторое время:
Посмотрел чекпоинты на Кладбище, там они все размещены перед слабами т.е. если респы будут на чекпоинтах, то игроки будут появляться за пределами боя.
В параметрах респа я почему-то не вижу данного направления, да и если редактировать те координаты, что есть, то всё равно почему-то ничего не меняется
Потому что редактируешь координаты объекта, а не не респа. Красную линию у респа видишь? вот это параметр А. В свойствах объекта Points\1\A
Quote (Str_Ghost)
Ну, вообще на данный момент это поможет для теста, но всё-таки лучше сделать как в Сэме, а то нечестно как-то, один игрок подберёт, а остальные будут ждать.
Меня пока беспокоит другое - как открывать закрытые двери, чтобы игроки не застревали на уровне...
Quote (Str_Ghost)
Для неё есть исходники, можешь просмотреть и сравнить как и что, только там, правда, на C++.
Ну есть одна мааааааааленькая проблема - разные игровые движки. Так что функцию по любому придется колдовать самому)))
Quote (Str_Ghost)
Дык а что с направлениями? Они же вроде в одну точку смотрят.
Главное - ренсуться, а куда смотреть будешь уже как-то не сильно колышет, ИМХО
Quote (Str_Ghost)
У тебя/него с дополнением игра? Одинаковые ли версии?
Устанавливали с одного диска. Так что все идентично. З.Ы. мобы теперь исправно видят игрока и атакуют. Ура. Зато сквозь любой CItem и собственно мобов мы проходим))) На Анклаве так вообще сквозь землю улетаем-с))) Вдобавок если атаковать вторым режимом хлеборезки, то мобы не улетают как в сингле.
Quote (Str_Ghost)
Вообще, если хочешь, я могу проверить
Про кучу недоработок пока не будем, мне нужно знать только одно - увидит ли игра скрипты. В мультиплеере должен появиться новый режим с забитым списком карт. Если не появиться, потом с этой проблемой разберусь. Главное - запустить карту. Если начнутся ошибки акторов, значит фейл - игра только частично использует новые скрипты... http://narod.ru/disk/27283314001/LScripts.rar.html Я люблю людей... особенно - убивать!^__^
Ты имеешь ввиду слабы? Если да, то у меня идей нет, разве что только чекпоинты передвигать в зону боя.
Quote (ItramariN)
сквозь любой CItem и собственно мобов мы проходим
Похожий баг я замечал в Counter-Strike: Source и Half-Life 2: Deathmatch
Quote (ItramariN)
На Анклаве так вообще сквозь землю улетаем-с
А вот это странно. Там респаун на нулевой точке?
Quote (ItramariN)
если атаковать вторым режимом хлеборезки, то мобы не улетают как в сингле
Видимо, особенность режима мультиплееера т.к. я ещё заметил большой урон от коломёта (в сингле он немного меньше), заодно большую скорость игрока (но мне так даже больше нравится, ИМХО ).
Quote (ItramariN)
увидит ли игра скрипты
У меня всё заработало. Правда, я ещё немножечко потупил с запуском, но всё получилось. Кста, во время игры в коопе, у тебя не было не больших фризов (подтормаживаний)? И кста, иногда от монстров появлялись странные графические глюки, какие-то лучи света появлялись...
В том-то и дело, что от респа такого быть не может! Респ берет координаты начала уровня для сингла! Вначале нужно разобраться с прохождением через мобов\CItem'ы, может глюк и исчезнет.
Quote (Str_Ghost)
Ты имеешь ввиду слабы? Если да, то у меня идей нет, разве что только чекпоинты передвигать в зону боя.
А у меня появилась идея, надо только найти скрипт который их включает и все.
Quote (Str_Ghost)
Похожий баг я замечал в Counter-Strike: Source и Half-Life 2: Deathmatch
Скорее всего для облегчения расчетов в мультиплеере физику частично отключают. Знать бы только как это делают... я с этой физикой с ума сойду<_< В сингле и в мультике процедура респа идентична. Игра "Найди десять отличий" блин...
Quote (Str_Ghost)
я ещё заметил большой урон от коломёта
Quote (Str_Ghost)
заодно большую скорость игрока
Это из-за настроек мультиплеера. Я в менюшке сделаю выбор между мультиплеерными\сингловыми параметрами.
Quote (Str_Ghost)
у тебя не было не больших фризов?
Не-а. Не знаю, надо тестить, тестить,тестить...
Quote (Str_Ghost)
И кста, иногда от монстров появлялись странные графические глюки, какие-то лучи света появлялись...
В основном, когда они атакуют. По цвету это следы от их атак. Почему такие артефакты - хрен его знает. Сейчас их у меня можно увидеть очень и очень редко. Я люблю людей... особенно - убивать!^__^