А почему вообще вырезали монстров? ведь чем больше разновидностей, тем интересней. И почему они не оставят хоть какие-то материалы по всем вырезанным монстрам для модеров (текстуры, анимацию и пр.)? Может хоть кто-нибудь видел что-нибудь в сети?
Хех, и вправду а почему? я тоже искал что-нибудь по монстрам, но нашел только пару отрывков о них http://www.winline.ru/articles/3517.php?SHOWALL_1=1
Там написано, что в вырезке монстров винят THQ, но многие материалы по ним остались в сети...а вот карлика нет(((
Сложные проблемы всегда имеют простые, легкие для понимания неправильные решения.
Смерти одого человека - трагедия, смерть тысячи - статистика
Очередная партия нупских вопросов по модингу: 1.Как сделать, чтобы в инвентаре ГГ отображались: нож, бинокль, PDA, детектор, фонарик... 2.Искал, искал (значит плохо), но так и не нашел, где у мутантов в конфиге настраивается урон... Вопрос очивиден... 3. Вопрос такой: есть, допустим, файл ui_hud.dds... В нем хранится весь интерфейс (ну почти) игры. Вопрос звучит так: как игра (в конфигах) находит нужный ей кусок этого файла? Ведь там собрано множество элементов интерфейса... Но игра сама их находит... Объясните пожалуйста...
ТАкой вот вопросец вырулил: Я допустим хочу заспавнить флэшку или там костюм улучшеный в трупе НПС (Именно чтобы был еси убьют а не торговал) Прописываю в charecter_desc*** в разделе suplies эту самую вещь и при убийстве непися ее нет! Я с такой фигней раньше как то не сталкивался, а тут вдрег в тупик поставило. Помогите плиз.
Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
Пиплы,хай!
вопросик:
есть функция:
news_manager.send_tip(db.actor, "%c[255,255,128,128]бла-бла-бла:\n%c[default]бла-бла-бла", nil, nil, 9000)
выделеное красным - это название иконки сообщения..а какие ещё есть? или где глянуть на список?
Сообщение было успешно отредактировано Build (02-09-2009 23:49 GMT3 часа, назад)
Цитата#Regi :
где надо править чтобы дверь в саркофаге была открыта (где декодер нужен)???
Идём в gamedata\config\scripts и ищем скрипт нужной двери в саркофаге это sar_door.ltx
и меняем
[logic]
active = ph_door@locked
на
[logic]
active = ph_door@unlocked
ставишь false напротив предмета, чтобы он отображался в инвентаре. Но это не значит, что они будет виден всегда - насколько я помню только при торговле и после смерти - то есть у неписей они будут видны, когда их грохнешь. Соответственно, чтобы можно было продать тот же фонарик или пда - надо ему cost вписывать в конфиг.
2. тут много параметров - в файлах m_snork, m_dog и т.д. (папка creatures)
там смотри секцию immunities, секцию сonditions, отдельный параметр Health, секцию damage, в которой настраивается чувствительность к хитам разных костей \частей тела.
3. В папке config есть такая папочка как ui - вот в ней и лежат файлы в формате hml в которых указаны координаты всех отдельных частей текстур -то есть там id (идентификационное имя) допустим иконки или рамки или еще чего и ее координаты, смещение по оффсет, шрифт для надписи и т.д. Вот так игра и узнает что и где ей показывать и как расставлять элементы интерфейса.
добавлено спустя 9 минут
blackraven6
чтобы после смерти вещь осталась в трупе надо чтобы она была квестовой - для этого поставить ей в конфиг строчку quest_item = true - (квестовые предметы не удаляются скриптом из файла death_manager) и\или вписать вещь в список неудаляемых вещей в файле death_generic.
секция
[keep_items]
Сообщение было успешно отредактировано erlik (03-09-2009 18:03 GMT3 часа, назад) Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Цитата#Kenny1 :
Как поставить свою музыку в меню?
(Извините за повтор, если что)
При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных
вами.
1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой,
например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)
2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем
строку:
<menu_sound random="0" >
и заменить на:
<menu_sound random="1" >
3. В этом же файле найти строку:
<menu_music>music\wasteland2</menu_music>
и ниже нее выставить следующую строку:
<menu_music>music\my_music</menu_music>
4. Сохранить файл.
5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.
Автор идеи -VM
Свойство файла должно быть:
Average bitrate : 60 kbps
Nominal bitrate : 80 kbps
Channels : 1
Sampling rate: 44100 Hz.
Цитата#Kenny1 :
Как поставить свою музыку в меню?
(Извините за повтор, если что)
При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных
вами.
1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой,
например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)
2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем
строку:
<menu_sound random="0" >
и заменить на:
<menu_sound random="1" >
3. В этом же файле найти строку:
<menu_music>music\wasteland2</menu_music>
и ниже нее выставить следующую строку:
<menu_music>music\my_music</menu_music>
4. Сохранить файл.
5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.
Автор идеи -VM
Свойство файла должно быть:
Average bitrate : 60 kbps
Nominal bitrate : 80 kbps
Channels : 1
Sampling rate: 44100 Hz.
пасип))
А как сменить иконку ГГ, а то никак не получается. Только поподробнее...
SAS100500
(Насчет монстров)
Наверное перед релизом гланый ПЫС садится говорит типа показывйте че сделали.
Играет... выскакивает на него ночью пара химер он от нее убегает напарывается на десяток зомби и его бьют бюреры. Пересравшись он кричит разрабам: Убирайте все нахрен!!!
ПС: Все монстры остались вместе с конфигами моделями звуками текстурами и анимацией.
Их просто удалили из спауна.
(Модератору)
Я никого не оскорбляю, привожу свой вариант развития событий.
У каждого свои причуды, но я признаю, что у меня их много. (с)
Вопрос по программированию. Что-то подобное я уже видел, но никак не могу найти, поэтому задаю вопрос.
Представьте, что в инвентаре у ГГ. есть определённый тип предметов в количестве равным n (то есть количество не фиксированное, оно может меняться). Как мне сделать так, чтобы во время диалога, ГГ. отдал все эти предметы?
Например, у ГГ. есть 4 батона колбасы, какую мне нужно написать функцию, чтобы вся колбаса разом передалась другому npc?
Я думал сделать примерно так (в игре ещё не пробовал):
function name(first_speaker, second_speaker) local n = 1 if db.actor:object("имя_объекта") ~= nil then
n = db.actor:object("имя_объекта") -- не уверен, что будет расценено как количество предметов for j = 1, n do
dialogs.relocate_item_section(second_speaker, "имя_объекта", "out") end
n = 1 -- думаю это лишнее end-- либо этот end поместить в другое место end
Максим Р. Всё довольно просто. Есть специальный метод, перебирающий весь инвентарь:
db.actor:iterate_inventory(keep_item, db.actor)
Где, keep_item --имя функции, в которой будут производиться действия над объектами. Должна писаться именно без скобок. Так уж задумано.
Это функция должна выглядеть так:
function keep_item(npc, item)
--действия
end
Где: npc --типа userdata актора item --типа userdata предметов в инвентаре.
Вставляешь в данную функцию проверку на "колбаса", и если она самая, то удалить, или передать. Что тебе там надо.
И у тебя будут удаляться, или передаваться все предметы "колбаса".
Кстати, метод db.actor:object("имя_объекта") возвращает userdata объекта, а не количество.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Максим Р. Только здесь есть один не достаток. Нет возможности передачи userdata непися, которому нужно будет передать предметы. Но можно пойти таким путём. Создать внешнюю переменную, которой будет она назначаться. И с ней уже производить нужные действия. А можно и таким путём. Просто создать двумерную функцию. Типа так:
function name(actor, npc)
function item(actor)
actor:iterate_inventory(keep_item, actor)
end
function keep_item(actor, item)
--действия над преметами
end
item(actor)
end
В данном случае, мы создаём вторую и третью функции, внутри первой функции. Эти две функции смогут использовать переменные созданные в первой функции, внутри которой они находятся.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22, я думаю сделать так: буду во время диалога удалять предметы из инвентаря ГГ., потому как ГГ. будет таскать эти предметы npc чуть ли не в бесконечном количестве. И у npc они будут копиться и копиться, что, на мой взгляд, не есть хорошо.
Вот только не могу сообразить, как сделать так, чтобы npc тоже давал что-нибудь взамен, причём, образно говоря, за 1 колбасу - 1 рубль, за 2 колбасы - 2 рубля и тд.
То есть мне всё равно придётся каким-то образом узнать количество нужных предметов в инвентаре ГГ., чтобы такое же количество раз запустить функцию передачи награды.
А функция keep_item должна так и называться, по-другому никак? А то в скрипте death_manager.script она уже тоже есть...
singapur22
То есть должно типа так выглядеть?
function name(actor, npc)
function item(actor)
actor:iterate_inventory(keep_item, actor)
end
function keep_item(actor, item)
local item = db.actor:object("bread")
if item~= nil then
db.actor:transfer_item(item, npc)
end
item(actor)
end
end
А что если добавить в тотализатор отбор вещей - за долги эктора как думаешь?
Ну то есть сделать так: эктор крупно проиграл. Ему начислен долг. Через какое-то время (если долг не был погашен" к нему приходит сообщение - "ваш долг превысил наше терпение". К эктору заявляется парочка коллекторов (вышибал - твоя кстати идея) и забирают у него все что у есть, предварительно дав ему..ну понятно чего... Жесть будет...
Кстати а можно сделать, что бы эктора смогли найти (вышибалы) где бы он не находился?
хотя можно наверно если их заспавнить скажем по координатам позиция эктора плюс 20-30 метров...
Ну это так мысли на будущее...пока надо основной вариант доделать... функцию то когда сможешь посмотреть?
Сообщение было успешно отредактировано erlik (04-09-2009 00:48 GMT3 часа, назад) Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
function item(actor)
actor:iterate_inventory(keep_item, actor)
end
function keep_item(actor, item)
if item:section() == "bread" then
actor:transfer_item(item, npc)
end
end
item(actor)
end
Идея с отбором инвентаря конечно интересная. И реализовать её будет не трудно. Но это после. Ты сначала сам тотализатор сделай, отрихтуй и протести во всех возможных вариантах.
Ща гляну.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Максим Р.
Вот к примеру такой вариант: (навскидку)
function name()
local item = db.actor:object("bread") --\ создаем лок. переменную: объект в инв. ГГ: хлеб - не важно скока
local summa =1 --\ сумма денег за одну штуку
if item~= nil then --\ если у ГГ есть хлеб
repeat --\ оператор цикла repeat.. until сделает один раз цикл
db.actor:transfer_item(item, npc) --\ забрать одну вещь у ГГ
db.actor:give_money(summa) --\ дать ему указанную сумму
until
item~= nil --\ условие для повторения цикла - хлеб еще есть? Если есть - цикл повторяется.
end
end
таким образом без узнавания кол-ва можно за каждую единицу предмета получить опред. сумму.
если вместо local summa =1 использовать
local summa = math.random(10)
то сумма будет рандомной от 1 до 10 р.
Но это конечно упрощенный вариант, так как для того, чтобы не плодить кучу функций для каждого предмета, надо создать одну функцию, которая будет работать со всеми предметами.
Хотя singapur22 может предложить и другое решение
добавлено спустя 1 минуту
singapur22
не этот вариант, который здесь на форуме - а другой тот я еще не скидывал - кину в личку.
Сообщение было успешно отредактировано erlik (04-09-2009 13:53 GMT3 часа, назад) Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Зачем repeat? Есть более подходящий оператор while:
while db.actor:object("bread") ~= nil do
local item = db.actor:object("bread")
db.actor:transfer_item(item, npc)
db.actor:give_money(summa)
end
Данный оператор будет выполнять действие до тех пор, пока условие выполняется. При этом, действие может не выполняться вообще, в отличии от оператора repeat, где действие выполняется не меньше одного раза, что естественно может привести к вылету, если не прописать дополнительную проверку условий.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Цитата#tolrum :
Уважаемые сталкеры! А не подскажете как добавить ячеек под арты?
У меня солянка от 08.08+ранги
Там их 6(ячеек)
Заранее респект.
В файле system.ltx изменяем параметр max_belt с 5 на 10 (max_belt = 10)
Ищем файл inventory_new.xml и в нём меняем
cell_width = "60" cell_height="60" rows_num="1" cols_num="5"/>
на
cell_width = "52" cell_height="52" rows_num="2" cols_num="5"/>
что соответствует 10 артефактам.
При желании поправив соответствующим образом файлы system.ltx и inventory_new.xml
можно получить 12,14,16 и более слотов под артефакты.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.