Четверг, 26.05.2022, 18:17


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

Форум » Модификации Painkiller » Разработка модификаций и контента к ним » Идеи для карт (а где бы вы хотели постреляться?)
Идеи для карт
EvgeniyПонедельник, 28.05.2012, 23:21 | Сообщение # 106





А вот не подскажите как разрабы первого Пк сделали в уровне Ад такой геймплей(призраки,режим демона после 66 убийств)?
 
dilettanteЧетверг, 31.05.2012, 07:53 | Сообщение # 107
PK_GOD_and_KING
Сообщений: 170
Награды: 33
Репутация: 139
Статус: Offline
Quote (Evgeniy)
А вот не подскажите как разрабы первого Пк сделали в уровне Ад такой геймплей(призраки,режим демона после 66 убийств)?


Если ещё интересно то так:

============================================
МОНСТРЫ-ПРИЗРАКИ

Функция "SpawnRandomMonster" (Data\Levels\C5L4_Hell\C5L4_Hell.lua), порождающая монстров на уровне "Ад", добавляет объект класса "CSpawnPoint" и присваивает свойству "_EnableDemonic" значение "истина":
function C5L4_Hell:SpawnRandomMonster()
...
...
local obj = AddObject("Spawn.CSpawnPoint",nil,pos,nil,true)
obj._EnableDemonic = true
...
end

Вызов соответствующего режима отрисовки находится непосредственно в классе CSpawnPoint (Data\LScripts\Classes)
function CSpawnPoint:Spawn()
...
if self._EnableDemonic then
ENTITY.EnableDemonic(obj._Entity,true,true) - native функция (реализована на уровне движка)
...
end
...
end

============================================
РЕЖИМ ДЕМОНА ПО УБИЙСТВУ 66 МОНСТРОВ

Реализован естественно в C5L4_Hell.lua (Data\Levels\C5L4_Hell)

Начальные условия:
killsToDemon = 66 - количесто убийств, чтобы стать демоном.
demonTimer = 60.0 - время пребывания в режиме демона в секундах.
_kills = Game.BodyCountTotal - количество убитых монстров, начальное значение равно нулю.

Подсчёт убитых монстров ведётся в классе CActor(Data\LScripts\Classes), экземплярами которого являются все монстры:
function CActor:OnDamage()
...
if <expr> then
Game.BodyCountTotal = Game.BodyCountTotal + 1
...
end
...
end

Выполнение условия по количеству убитых монстров запускает Люцифера:
function C5L4_Hell:Tick(delta)
if... ...self._kills + self.killsToDemon <= Game.BodyCountTotal... then
...
self:ToLucifer()
...
end

Функция запуска Люцифера включает режим демона на 60сек:
function C5L4_Hell:ToLucifer()
...
self._demonfx = Game:EnableDemon(true, self.demonTimer, true)
...
end
 
EvgeniyЧетверг, 31.05.2012, 08:53 | Сообщение # 108





Ого-го!! :D
Огромное спасибо dilettante!!!
 
Str_GhostЧетверг, 31.05.2012, 15:34 | Сообщение # 109





dilettante, Спасибо огромное! Я, конечно, всё это находил в каких-то файлах, но тут всё так разжёвано! Кстати:
Quote (dilettante)
AddObject("Spawn.CSpawnPoint",nil,pos,nil,true)

Там, где выделенно жирным, стоит что-либо изменять/дополнять?
 
Doctor20Четверг, 31.05.2012, 16:09 | Сообщение # 110
Painkiller
Сообщений: 2307
Награды: 37
Репутация: 146
Статус: Offline
Дилетант на самом деле МАСТЕР!
 
dilettanteЧетверг, 31.05.2012, 22:01 | Сообщение # 111
PK_GOD_and_KING
Сообщений: 170
Награды: 33
Репутация: 139
Статус: Offline
Quote (Str_Ghost)
Там, где выделенно жирным, стоит что-либо изменять/дополнять?


Функция AddObject, с помощью которой создается новый объект класса определена в CObject (Data\LScripts\Classes) как:

function AddObject(template,scale,pos,rot,collect)

Имена параметров функции говорят сами за себя, а именно:
1. Задаёт шаблон объекта.
2. Определяет, менять масштаб объекта или нет.
3. Задаёт место (координаты) появления объекта.
4. Задаёт пространственную ориентацию (разворот).
5. Определяет, следует ли добавить объект в набор(массив) игровых объектов или нет.

Решай сам какие параметры передавать функции, а какие нет. В данном случае необходимо передать координаты, так как pos не равно nil.
 
EvgeniyЧетверг, 31.05.2012, 23:34 | Сообщение # 112





Вопросец по той же теме:можно ли сделать бесперерывное появление монстров вокруг героя?
Появляться будут только определённые виды,или можно поставить своих монстров-призраков?
Можно ли сделать монстров с другим эффектом,кроме призрачного?
 
Doctor20Суббота, 02.06.2012, 00:50 | Сообщение # 113
Painkiller
Сообщений: 2307
Награды: 37
Репутация: 146
Статус: Offline
Знаете а можно ли драть локации с....... квестов? Например с MYST 5?
 
Str_GhostСуббота, 02.06.2012, 02:34 | Сообщение # 114





Doctor20, Если там локации сделаны 3D моделями, то может быть ;)
 
EvgeniyСуббота, 02.06.2012, 22:44 | Сообщение # 115





А в каком формате уровни в Сталкере,очень неплохо смотрелась бы ЧАЭС или Лиманск в Пк. :D
Да там вообще все уровни подходят под Пк!
 
Str_GhostВоскресенье, 03.06.2012, 02:11 | Сообщение # 116





Evgeniy, Хз, но где-то на форуме была ссылка на скачивание карт из Сталкера в формате .3ds, вроде. Текстуры в комплект не входили, к сожалению
 
EvgeniyВторник, 05.06.2012, 19:22 | Сообщение # 117





А не подскажите ли,какие файлы ,связанные с оружием,надо переносить,допустим,для зелёной головы,чтобы в супернатурале она работала нормально?
 
LexaRПонедельник, 11.06.2012, 02:11 | Сообщение # 118
Аластор
Сообщений: 489
Награды: 17
Репутация: 107
Статус: Offline


Будет не хуже чем в сталкере :)

Но делается долго достаточно, атк что на много не рассчитывайте , кое что сделаю, но не все явно...





 
EvgeniyПонедельник, 11.06.2012, 02:19 | Сообщение # 119





Главное чтобы выглядело мрачно и пугающе :D
Уже видно,что круче выглядит чем в сталкере
 
SviatoslavПонедельник, 11.06.2012, 16:11 | Сообщение # 120
Люцифер
Сообщений: 537
Награды: 22
Репутация: 128
Статус: Offline
LexaR, этот скриншот сделан уже в Painkiller? Невероятно.

Модификации: Painkiller: Supernatural и Portal: Supernatural
 
Форум » Модификации Painkiller » Разработка модификаций и контента к ним » Идеи для карт (а где бы вы хотели постреляться?)
Поиск: