Четверг, 05.12.2024, 05:17


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Painkiller: кооператив by ItramariN
ItramariNСуббота, 01.10.2011, 17:44 | Сообщение # 1
Аластор
Сообщений: 591
Награды: 12
Репутация: 55
Статус: Offline
PAINKILLER: Cooperative mod
Это не Альфа- и даже не Бета-версия,читаем внимательно описание!!!
Цель: создание кооперативного режима по типу Serious Sam - прохождение сингловой кампании в мультиплеере.
Создаю на базе Black Edition v1.64
Начало разработки: 28.09.2011






Я люблю людей... особенно - убивать!^__^

Сообщение отредактировал ItramariN - Четверг, 20.06.2013, 18:42
 
Legion_PheonixЧетверг, 19.01.2012, 22:40 | Сообщение # 46
Новичок
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
ItramariN
В общем попробовали кооператив, на скрине все видно что происходит когда пытаемся приконектиться к друг другу.
То есть я делал сервер и он делал, результат ошибки присоединение клиента одинаковый.

http://img.picsa.ru/pictures/0/000/105/495/105495.jpg

Когда заходишь на Join Game в списке Internet видно создавшего кооператив. Да и еще когда выходишь из игры (являешься при этом сервером) игрок видит в списке тебя (то видно то не видно то есть при Refresh может не виден сервер или снова появится) до сих пор, пока по новой не сделаешь север с другим названием, только тогда старый исчезает.


Сообщение отредактировал Legion_Pheonix - Четверг, 19.01.2012, 22:56
 
ItramariNПятница, 20.01.2012, 13:56 | Сообщение # 47
Аластор
Сообщений: 591
Награды: 12
Репутация: 55
Статус: Offline
Legion_Pheonix, Теоретически (по аналогии с PK++) это лечится созданием пака. Создаешь в папке с игрой бат файл (<название_файла>.bat) с текстом
bin\Painkiller.exe -script FS.CreatePack('../Data/COOP.pak','../Data/LScripts', true)
rmdir /s /q Data\LScripts
pause
Запускаешь. Он создаст пак и удалит папку LScripts. Затем меняешь текст на
Bin\Painkiller.exe -lscripts COOP.pak
Вот тебе и файлик запуска мода готов...


Я люблю людей... особенно - убивать!^__^
 
Legion_PheonixПятница, 20.01.2012, 15:44 | Сообщение # 48
Новичок
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
К сожалению ни разу не делал паки и моды к painkiller'у. Делаю все как по вашей инструкции. Первый раз создается файл COOP.pak но он весит 1 кб (пытался открыть расспаковщиком сразу выдало ошибку и не открылось).
Затем сделал второй батник
Bin\Painkiller.exe -lscripts COOP.pak
rmdir /s /q Data\LScripts
pause
После запуска выдает что не находит эту папку "LScripts".


Удалось решить проблему методом удаления из первого батника строчки:
rmdir /s /q Data\LScripts
pause
То есть оставил только первую строку.
Запустил первый батник COOP.pak весит 1 469 214 байт и открывается расспаковщиком, то есть содержимое видно.
Затем второй батник запустил и игра запустилась без каких-либо ошибок. Выкл игру удалил папку LScripts и вкл снова игру, режим кооператив на месте.

Вечером уже с другом будем снова тестить присоединение к друг другу.


Сообщение отредактировал Legion_Pheonix - Пятница, 20.01.2012, 15:57
 
Str_GhostПятница, 20.01.2012, 17:57 | Сообщение # 49





К этому посту я прикрепил: уже заархивированный LScripts мода (COOP.pak, кидаем в "папка с игрой/Data/"), батник (кидаем в папку с игрой, запускать только через него) и несколько уровней с уже валяющимися оружиями (по стандарту выдаётся только коломёт).
Прикрепления: PKCooperative.zip (1.41 Mb)
 
Legion_PheonixПятница, 20.01.2012, 22:02 | Сообщение # 50
Новичок
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Вспомнил еще кое что благо друг напомнил, есть же известный сайт по модингу http://www.moddb.com/ очень рекомендую туда зарегистрироваться и создать свой раздел на тему коопа в пайне. Многие захотят участвовать в разработке и вам как раз помогут в реализации самостоятельного мода. Там многие моды до сих пор живы благодаря сообществу MODDB. Даже если ваш мод кустарный это не помешает сделать его адекватно работающим.

Добавлено (20.01.2012, 22:02)
---------------------------------------------
Попробовали еще раз кооператив. Все тоже самое ничего не изменилось. То есть та же ошибка скрипта. Скрипт взяли выше постом.


Сообщение отредактировал Legion_Pheonix - Пятница, 20.01.2012, 22:16
 
ItramariNСуббота, 21.01.2012, 19:40 | Сообщение # 51
Аластор
Сообщений: 591
Награды: 12
Репутация: 55
Статус: Offline
Quote (Legion_Pheonix)
Попробовали еще раз кооператив. Все тоже самое ничего не изменилось. То есть та же ошибка скрипта. Скрипт взяли выше постом.

Никак не могу понять, в чем проблема. Вернее, в чем проблема понятно, но почему она возникла - нет. Буду думать.


Я люблю людей... особенно - убивать!^__^
 
JohnFerrasВоскресенье, 22.01.2012, 15:44 | Сообщение # 52
Некрогигант
Сообщений: 104
Награды: 3
Репутация: 15
Статус: Offline
Привет всем, так, скачал ваш архив со скриптами, совершенно не понимаю как что работает, но могу сказать следующее, сам занимался попытаками сделать кооператив на PK:BooH, и вот что вышло, я получил работающий целиком уровень, т.е. работающие чекпоинты, триггеры, спауны монстров, но появились следующие проблемы двери могли закрываться но не открываться а монстры появлялись но не нападали, что интересно Zombie и Zombie_Soldier при это между собой взаимодействовали, плюс ко всему не замечая игрока монстры шли в какую то одну точку, что позволяет утверждать что мультиплеер игнорирует waypoints. Оружие при правильной настройке скриптов работает нормально, монстры убиваются, но все это только на компьютере сервера. После того как ко мне подключился другой человек он не видел дверей, монстров и.т.д и вообще работа клиента была жестко глюченой.

Сообщение отредактировал JohnFerras - Воскресенье, 22.01.2012, 15:47
 
LexaRПонедельник, 23.01.2012, 22:59 | Сообщение # 53
Аластор
Сообщений: 489
Награды: 17
Репутация: 107
Статус: Offline
Клиент - Сервер - большая разница. даже на уровне Физики, у сервера в картах бьется допустим стекло, а у клиента его ваще нету ....

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





 
ItramariNЧетверг, 26.01.2012, 00:52 | Сообщение # 54
Аластор
Сообщений: 591
Награды: 12
Репутация: 55
Статус: Offline
Quote (JohnFerras)
совершенно не понимаю как что работает

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


Я люблю людей... особенно - убивать!^__^

Сообщение отредактировал ItramariN - Четверг, 26.01.2012, 01:06
 
JohnFerrasЧетверг, 26.01.2012, 13:21 | Сообщение # 55
Некрогигант
Сообщений: 104
Награды: 3
Репутация: 15
Статус: Offline
Я не знаю кто пытался, но я переименовывал уровень C1L4_Cemetery в DM_Cemetery с карта становилась доступной для загрузки из игры, возникали ошибки с монстрами так как игра не находила их, но я их запихнул в уровень локально.
 
Str_GhostЧетверг, 26.01.2012, 20:14 | Сообщение # 56





Quote (JohnFerras)
я переименовывал уровень C1L4_Cemetery в DM_Cemetery с карта становилась доступной для загрузки из игры

Ну тогда ясно от чего у тебя были такие баги biggrin
Quote (ItramariN)
кто хотя бы пытался создавать модификации для пэйнкиллера?

На данный момент много людей делают модификации. Sviatoslav сейчас делает продолжение Supernatural'а, причем изменений скриптов там много, достаточно взглянуть на трейлер, на pkzone.org HV и GreenTechB делают маппак (с изменением скриптов там хз что будет), ну и я, Deemka (Vandal) и LexaR делаем мод, правда, изменять в скриптах вряд ли что будем. Также на форуме "Беседы у Камина" есть человек, который начал изменять скрипты, его ник theleo_ua.
 
ItramariNСуббота, 28.01.2012, 01:59 | Сообщение # 57
Аластор
Сообщений: 591
Награды: 12
Репутация: 55
Статус: Offline
Quote (Str_Ghost)
На данный момент много людей делают модификации. Sviatoslav сейчас делает продолжение Supernatural'а, причем изменений скриптов там много, достаточно взглянуть на трейлер, на pkzone.org HV и GreenTechB делают маппак (с изменением скриптов там хз что будет), ну и я, Deemka (Vandal) и LexaR делаем мод, правда, изменять в скриптах вряд ли что будем. Также на форуме "Беседы у Камина" есть человек, который начал изменять скрипты, его ник theleo_ua.

Вот надо бы узнать, не сталкивался ли кто с подобной ошибкой скриптов как у меня...
Quote (Str_Ghost)
Ну тогда ясно от чего у тебя были такие баги

Только частично. Тормоза, двери и прочие баги у клиента несколько... настораживают)


Я люблю людей... особенно - убивать!^__^
 
Str_GhostВоскресенье, 29.01.2012, 22:51 | Сообщение # 58





ItramariN, Насчёт физики в коопе, сегодня лазил в Game.lua и нашёл такую функцию:
Code
function Game:SwitchPlayerToPhysics(onlyEnable)

     if not Player and self.GMode == GModes.SingleGame then self:CreatePlayerSP() end
      
     if not Player then  
         MOUSE.Lock( not MOUSE.IsLocked() )
         return  
     end
      
     local po = ENTITY.PO_IsEnabled(Player._Entity)
     if onlyEnable and po then return end
     if not po and not Player._died then
         local x,y,z = CAM.GetPos()
         ENTITY.PO_SetPawnHeadPos(Player._Entity,x,y,z)
         ENTITY.SetVelocity(Player._Entity,0,0,0)
         if Player:GetCurWeapon() then WORLD.AddEntity(Player:GetCurWeapon()._Entity) end
         Player.Pos:Set(ENTITY.GetPosition(Player._Entity))
         ENTITY.EnableDeathZoneTest(Player._Entity,true)
     else
         ENTITY.EnableDeathZoneTest(Player._Entity,false)
         PX,PY,PZ = 0,-400,0
         ENTITY.SetPosition(Player._Entity,0,-400,0)
         if Player:GetCurWeapon() then WORLD.RemoveEntity(Player:GetCurWeapon()._Entity) end         
     end         
     ENTITY.PO_Enable(Player._Entity,not po)
     if( R3D.IsFullscreen() ) then
   INP.Reinit(true)
  else
   INP.Reinit(not po)
  end
     MOUSE.Lock(not po)
end

Это случайно не то что нужно?
 
ItramariNВторник, 31.01.2012, 20:29 | Сообщение # 59
Аластор
Сообщений: 591
Награды: 12
Репутация: 55
Статус: Offline
Quote (Str_Ghost)
Это случайно не то что нужно?

Это то, что уже известно)

Небольшой фикс, может быть исправит ошибку что клиент не может соединится с сервером, а может вообще ничего не изменитО_о Но все равно прошу протестить.
ссылка


Я люблю людей... особенно - убивать!^__^

Сообщение отредактировал ItramariN - Воскресенье, 19.02.2012, 04:02
 
Str_GhostПятница, 23.03.2012, 12:52 | Сообщение # 60





Ой, тут нужно было что-то протестить? blink Вот блин, я к сожелению уже не могу быть сервом, поэтому придётся кого-то другого просить. А вообще, работа над модом идёт или приостановлено всё?
 
Поиск: