Все посты %s в %S - AMK Team
Перейти к контенту

[CoP] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

Для тех, кто ковыряет файлы для создания новых квестов в ЗП, вот здесь есть небольшой мануал...

Изменено пользователем Vagrant

Поделиться этим сообщением


Ссылка на сообщение

Guzerus, Vano_Santuri,

Совершенно верно, все познается опытным путем :)

 

ViRUS, ZeeK,

Есть мысль, что где-то еще прорисан скрипт на проверку наличия научного костюма у ГГ. Возможно стоит посмотреть в файле dialogs_pripyat.xml какие акшены запускаются, соответсвенно можно попробовать вычислить какие-нибудь дополнительные условия для квеста.

Поделиться этим сообщением


Ссылка на сообщение

ViRUS,

Всмысле? Ты не нашел скрипт проверяющий наличие костюма?

Поделиться этим сообщением


Ссылка на сообщение

ViRUS,

Тут есть такой момент, что некоторые функции прописаны не в файлах dialogs_(локация).script, а в сопутствующих... условия выполнения квеста "Артефакты под заказ" прописаны в отдельном файле. Когда разбирал для своих нужд квесты, тоже сначала казалось, что чего-то не хватает, но всё как всегда оказалось до банальности просто... Может здесь надо расковыривать файлы, которые, на первый взгляд, никакого отношения к квесту не имеют.

Поделиться этим сообщением


Ссылка на сообщение

ViRUS,

Похоже какой-то инфопоршень возвращает тебя к первоначальной цели квеста... Давай посмотрим, что менял?

[квест]

title = здесь?

descr = здесь?

 

condlist_0 = а здесь?

 

Кстать... а что если менять не научный на экзо, а экзоскелет сделать в файле outfits научным костюмом?

Изменено пользователем Vagrant

Поделиться этим сообщением


Ссылка на сообщение

Ребята, подскажиет такой момент: спавню через скрипт новые предметы на чердак здания, но они проваливаются через пол и оказываются на первом этаже... Как победить эту проблему? :huh:

Поделиться этим сообщением


Ссылка на сообщение

Горчаков Антон,

Пробовал, координата высоты там где стою - 15. поднимал до 33 и результат тот же...

Поделиться этим сообщением


Ссылка на сообщение

Горчаков Антон,

 

function spawn_test_item_1 ()
local obj
local a = vector() 
local dir    = db.actor:direction()
a.x = -312.5688	-- координата X
a.y = 13.3738	-- высота Y
a.z = 426.6534	-- координата Z
obj = alife():create("test_item_1",a,323264,0)

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

42903761572at.jpg

Поделиться этим сообщением


Ссылка на сообщение
Vagrant, поробуй вместо 0 поставить 1 ... Я так понимаю ты новую вещь хочешь заспавнить которой в игре небыло, может быть её неправильно настроил или прописать где нибудь забыл

Дело не в новом предмете, он спавнится, только не там где надо... Если бы с ним что-то было бы не так, то, скорее всего, был бы вылет. Еденичку пробовал ставить - то же самое...

Поделиться этим сообщением


Ссылка на сообщение

Горчаков Антон,

разобрался :) заспавнил предмет на ящик, стоящий на полу - всё получилось, но только не все ящики подходят, на некоторых предметы все равно "проваливаются" вниз.

 

Перец,

Cпавн через скрипт. (статья из Wiki)

...На каждом уровне много объектов, все объекты состоят из полигонов, у каждого полигона есть вершины – вертексы. Именно они и должны здесь указываться, зачем - не особо понимаю, скорее всего, для точного позиционирования объекта. Например, можно получить вертекс ближайший к актору - db.actor:level_vertex() Дальше идет гораздо более интересный параметр game_vertex, это почти то же самое, что и level_vertex, но (!) это глобальные величины! Если level_vertex считается для уровня, то game_vertex - для всей игры, и нужен он для того, чтобы указать на какой карте спавнить объект...

подробнее здесь

Изменено пользователем Vagrant

Поделиться этим сообщением


Ссылка на сообщение

Уважаемый Перец,

Прочтите статью, думаю, многие вопросы сами собой отпадут. Что качается level_vertex локации Затон, то эти значения разные для разных мест локации; а узнать значения можно разными способами - в этой теме об этом говорилось не раз - если поискать, то можно найти: здесь или здесь ;)

Поделиться этим сообщением


Ссылка на сообщение

psevdoгринго, попробуй так...

function твое_имя_функции (first_speaker, second_speaker)

local item_sections = {"medkit"}

local needed = 20

local count = 0

local item_section

local function calc(temp, item)

if item:section() == item_section then

count = count + 1

end

end

for k,v in pairs(item_sections) do

item_section = v

get_story_object("actor"):iterate_inventory(calc, actor)

end

return count >= needed

end

 

Камрады, помогите, кто может, с некоторыми непонятками...

1. Пытаюсь заспавнить отряд, но в нужном мест он не появляется, а только в некоторых определенных местах. Есть подозрение, что спавн в определенных областях запрещен. Вопрос: как это можно выяснить? (где смотреть, ковырять).

2. В параметрах сквада есть такие строки :

spawn_smart

target_smart =

spawn_point =

вопрос: что значат эти параметры? spawn_point это то же самое что и smart_id? тогда что значат spawn_smart и target_smart?

3. Можно ли, не затрагивая all.spawn, прописывать свои места для спавна предметов, неписей не по кординатам, а по названиям мест?

 

Поделиться этим сообщением


Ссылка на сообщение
...spawn_point - по ходу чтока где должна спавниться группа.
Эт понятно, но spawn_point это то же самое что и smart_id? Или эта точка имеет отличные от смарта координаты и прочие параметры?

 

3. предметы, отдельные неписи спавняться через create , а там нужны координаты другое дело что можно сделать табличку соответствия

название места - координаты

Ну в общем я почти об этом же :) только с небольшой разницей: названия места - айди смарта (координаты). Опять же, если я снял с некоторого места координаты, обозвал это место как-либо - можно ли это место где то прописать в качестве еще одного смарта (но не трогая all.spawn)? Изменено пользователем Vagrant

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...