Пользователей: 0
Гостей: 677

» Подробно
Привет, гость!








Автор Сообщение
-AGGRESSOR-
    
Посты: 65
Откуда: Nibelungland
Возраст: 43
12-10-2009 19:11 GMT3 час. #1064703   

# white_wind93 :
-AGGRESSOR-, у кого-то в журнале я видел, толи у Сингапура, толи у ДатчикаХабара.

добавлено спустя 14 минут

У singapur22 нашёл - http://stalker-portal.ru/plug.php?e=weblogs&m=page&id=5630



Слушай, брат. Я чего то по ссылке не могу зайти. Пишет что мол доступ запрещён. Глюк?

добавлено спустя 6 минут

А всё нормально. Зашёл.

отредактировал(а) -AGGRESSOR-: 12-10-2009 19:18 GMT3 час.

Пожалеть слабого - значит совершить предательство по отношению к природе
white_wind93
    
Посты: 206
Откуда:
Возраст: 35
12-10-2009 19:22 GMT3 час. #1064713   
Хм... не знаю, у меня ссылка работает... Ну вот тогда статья, думаю Сингапур не обидется :-) :

---------------------------------------------------------------------------------------------------
RESPAWN ITEMS----------------------------------------------------------
---------------------------------------------------------------------------------------------------

Респавн инвентаря в инвентарных ящиках, несколько отличается от способа респавна неписей.

1. Первое, что нам нужно сделать, это создать инвентарный ящик в файле "all.spawn":

----------------------------------------------------

[10000]
; cse_abstract properties
section_name = inventory_box
name = имя ящика
position = координаты x,y,z
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 0
level_vertex_id = левел-вертекс
object_flags = 0xffffffba

story_id = ай-ди ящика

; cse_visual properties
visual_name = equipments\item_box_01

---------------------------------------------------------------------------------------------------

2. Затем, в файле game_story_id.ltx регистрируем id ящика. (выбираем любое свободное число).

---------------------------------------------------------------------------------------------------

3. Создаём респавнер в файле all.spawn. Координаты и размеры зоны респавнера, должны быть такими, чтоб инвентарный ящик поместился внутри зоны респавнера:

---------------------------------------------

[10001]
; cse_abstract properties
section_name = respawn
name = имя респавнера
position = координаты x,y,z
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 2
level_vertex_id = левел-вертекс
object_flags = 0xffffff3e
custom_data = < [respawn]
respawn_section = список вещей респавна
idle_spawn = -1
parent = ай-ди ящика
item_spawn = true
max_count = 7
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 0.5,0,0 (ширина зоны респавнера, по X)
shape0:axis_y = 0,0.5,0 (высота зоны респавнера)
shape0:axis_z = 0,0,1 (ширина зоны респавнера, по Z)
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_respawn properties

----------------------------------------------

Где:

respawn_section = список вещей респавна. Как и в респавнерах неписей, возможна прописка соотношений между вещами. Например:

-----------------------
respawn_section = wpn_pm,2, vodka,2, medkit,1, energy_drink,2, ammo_9x18_fmj,3
------------------------

idle_spawn = тип спавна. Инвентарь не имеет типов спавна, поэтому ставится (-1).

parent = ай-ди инвентарного ящика, в котором производить респавн вещей.

item_spawn = (true\false) возможность включения и отключения респавна. Можно задавать условия.

max_count = количество респав-циклов за определённый период времени. (Пока ГГ находится на уровне. После перехода ГГ на другой уровень, счётчик сбрасывается).

-----------------------------------------------------------------------------------------

4. Создаём вызов респавна. Обычно вызов производится из smart_terrain. В "custom_data" любого подходящего smart_terrain, под секцией [smart_terrain], вписываем вызов респавна:

[smart_terrain]
respawn = имя респавнера

-----------------------------------------------------------------------------------------------------------------
© singapur22


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
12-10-2009 19:32 GMT3 час. #1064728   
-AGGRESSOR-
часть деревянных ящиков можно заполнить через файл ph_box_items_count
точнее ассортимент менять здесь ph_box_items_by_communities
ящики типа сидоровского - синие - можно заполнить через скрипт по sid'у -
в файле game_story_ids есть списки сидов ящиков для каждого уровня
вот пример
; Escape
2000 = "esc_simulation_box_1"
2001 = "esc_simulation_box_2" -- это ящик у костра где новички тусуются - я в него спавнил
2002 = "esc_simulation_box_3"
2003 = "esc_simulation_box_4"
2004 = "esc_simulation_box_5"

остальные проверяй сам - если умеешь спавнить через скрипт.
не умеешь - лезь в allspawn - и там ищи секции ящиков - и заполняй чем хошь.

отредактировал(а) erlik: 12-10-2009 21:01 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
12-10-2009 19:37 GMT3 час. #1064732   
erlik я короче бьюс головой об стенку. самозастреливание чтоли нереально сделать??


создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
ДатчикХабара
    
Посты: 558
Откуда: Saratov
Возраст:
12-10-2009 20:04 GMT3 час. #1064771   
новиков сергей
Тебе же писали что реально.:dry:


Darien Fx
    
Посты: 1372
Откуда:
Возраст: 31
12-10-2009 20:18 GMT3 час. #1064798   
Как повесить активацию функции на диалог? Точнее, куда сувать ?


-AGGRESSOR-
    
Посты: 65
Откуда: Nibelungland
Возраст: 43
12-10-2009 20:32 GMT3 час. #1064822   
Простите нубера, но что за функция game_vertex и level_vertex_id? За что они отвечают?


Пожалеть слабого - значит совершить предательство по отношению к природе
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 31
12-10-2009 20:40 GMT3 час. #1064836   
-AGGRESSOR-
Насколько я знаю левел вертекс - невидимый небольшой "квадрат" на уровне, а гейм вертекс тоже квадрат, но больших размеров, а служат они для спавна чего угодно.


-AGGRESSOR-
    
Посты: 65
Откуда: Nibelungland
Возраст: 43
12-10-2009 20:53 GMT3 час. #1064854   
И ещё вопрос. Как вы определяете позиции куда можно ставить кого-то или чего-то? Где вообще можно и нужно искать координаты?


Пожалеть слабого - значит совершить предательство по отношению к природе
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 31
12-10-2009 21:00 GMT3 час. #1064874   
-AGGRESSOR-
Можешь использовать rs_stats 1(в консоли(самый "плохой вариант")), скачать Position Informer(легко разобраться), или сделать так:
Заходим, предварительно распаковав, в каталог gamedata/scripts/ И там в файле ui_main_menu.script в конце дописываем это:
function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end

Теперь в игре идём на то место (или ногами или деморекордом), где спавним обьект, выходим в меню игры, и жмём на клавишу СОЗДАТЕЛИ (CREDITS) - соответственно нашему взоры не предстаёт никакой список создателей, а мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку.
(Взято со stalkerin.gameru.net/wiki)


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
12-10-2009 21:04 GMT3 час. #1064879   
Futura
пример
agroprom_dialog.krot_give_flash
то есть внутри тэгов пишешь имя_файла.имя_функции

добавлено спустя 57 секунд

и все это вставляешь после нужной фразы
вот как здесь

agr_krot_actor_hasnot_met_seriy_400
agroprom_dialog.krot_give_flash
4000

отредактировал(а) erlik: 12-10-2009 21:04 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 31
12-10-2009 21:05 GMT3 час. #1064882   
erlik
Это я в курсе.
Я не знаю куда запихать этот ***

Всё, понял, спасибо.

А вот вопрос.
Я поставил на диалог с сидорычем(самый стартовый) и на всякий случай с шустрым, чтобы при разговоре с ними мне выдавалась инфа о тайнике, но мне она не выдаётся почему-то.
Функция выдачи тайника:
function get_treasure(npc)
treasure_manager.get_treasure_manager():give_treasure("esc_secret_village_rucksack")
end

А вот в диалоге(с сидорычем, шустрого не пишу):



escape_trader_start_dialog_521211
escape_dialog.have_wounded_flash
escape_dialog.give_wounded_flash
esc_serious_talk
omg.get_treasure(npc)
5212111

Мб кто знает в чём прикол?

Upd. Проблему решил.

отредактировал(а) Futura: 13-10-2009 18:04 GMT3 час.

Slig Vader
    
Посты: 36
Откуда:
Возраст: 41
12-10-2009 22:07 GMT3 час. #1064972   
Подскажите как в ЗП в консоли отодвинуть "камеру" чтобы руки были дальше! Не ругайтесь! Спасибо


Говорят мысли материализуются... Если так много народу думают о Зоне, то может долбанет???
Долбануло, короче...
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
12-10-2009 22:27 GMT3 час. #1064992   
Futura

omg.get_treasure(npc)
то что зеленым - не пиши

в саму функцию добавь переменную эктор
function get_treasure(actor, npc)
treasure_manager.get_treasure_manager():give_treasure("esc_secret_village_rucksack")
end

если порядок переменных такой - то экшен должен быть на фразе эктора.
должно сработать.

добавлено спустя 13 минут

а нет - тут кажись надо наоборот делать - npс, actor
и выдачу с фразу непися - так тайник выдается от непися эктору.

отредактировал(а) erlik: 12-10-2009 22:41 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
ДатчикХабара
    
Посты: 558
Откуда: Saratov
Возраст:
12-10-2009 22:59 GMT3 час. #1065012   
Slig Vader
Тема для теней Чернобыля,а не для зп.


MCHC RAider
    
Посты: 117
Откуда: Минск-сити
Возраст: 36
13-10-2009 00:10 GMT3 час. #1065053   
Сингапур, у тебя в журнале в статье есть скрипт автоиньектора. Можно ли его применить к одному (именно одному) костюму, хочу сделать костюмчик с высокими резистами против всего, хорошим пнв и т.п. Вот у него будут автоиньекции. Немного читерский, но попробую завязать на квест :) Назовем, к примеру, экзоскелет серии "Терминатор" :) в общем да-нет и где чего вбить, немного в скриптах разобрался


Свобода жизни для каждого
Без чьего-либо контроля
Ходить под ярмом - не наше
Мы сами выбираем роли

Пусть нам навязывают что хотят
И делят нас на касты
Не остановить из Свободы ребят!
No gods, no f...n masters!
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
13-10-2009 08:11 GMT3 час. #1065133   
MCHC RAider строка:

if actor:alive() == true and bron and bron:section() == "outfit_exo_m1" then

Меняй outfit_exo_m1 на скриптовое имя своего броника.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
MCHC RAider
    
Посты: 117
Откуда: Минск-сити
Возраст: 36
13-10-2009 09:15 GMT3 час. #1065166   
Мог бы и сам догадаться... Башка не варит уже ;] спасибо тебе, добрый человек!


Свобода жизни для каждого
Без чьего-либо контроля
Ходить под ярмом - не наше
Мы сами выбираем роли

Пусть нам навязывают что хотят
И делят нас на касты
Не остановить из Свободы ребят!
No gods, no f...n masters!
white_wind93
    
Посты: 206
Откуда:
Возраст: 35
13-10-2009 09:51 GMT3 час. #1065194   
Slig Vader, тебе сюда http://stalker-portal.ru/forums.php?m=posts&q=10036


новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
13-10-2009 14:13 GMT3 час. #1065407   
erlik вотурок ты дал для узнавания айди, там везде место id что писать??и это для создания непися через скрипт?? и еще(извиниза мою тупость= ) ) у тебя там в конце скрипт написан, только он нужн для убийства??не через логику??

добавлено спустя 1 минуту

тоесть, id надо на цЫфру менять?? и все где написано id или нет?? давай уже убьем этого непися))) ну или скинь что у тебя получилось и я пороюсь. но лучше самому разобраться

отредактировал(а) новиков сергей: 13-10-2009 14:15 GMT3 час.

создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
13-10-2009 14:45 GMT3 час. #1065424   
новиков сергей
там ниче менять не надо - как есть так и пишем.
только в функции спавна - так где "имя_непися" нужно соответственно поставить айди непися из профиля - из файла там где пишешь его specific_character id (это и есть его как бы имя - или точнее его айди по профилю), группировку, визуал и т.д

что касается самой функции (ложим в xr_effects) - то по идее она должна быть рабочей - хотя 100% гарантии я не даю - не успел еще проверить.
Запустить ее предпочтительнее из логики - в тот момент когда анимка суицида отыграется -
то есть опять же попробовать поставить ее вызов как я писал
on_signal = animation_end | %=make_suicide% --\ первый вариант второй ремарки

если не сработает такой вызов - то попробовать
on_signal = action_end | %=make_suicide% --\ это из того варианта ремарки где есть озвучка сумасшедшего вояки

если и это не сработает -то фиг его знает еще как...

блин щас вспомнил - надо же еще сохраненное значение id непися передать в эту функцию...

function make_suicide()
local obj = level.object_by_id(id_npc)
if obj then
obj:kill(obj)
local snd = xr_sound.get_safe_sound_object([[weapons\t_desert_eagle_shot]]) --\ добавим озвучку - выстрел из пустынного орла
snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
end

надо это у singapur'а поспрашать :-) как правильно сделать - у я то щас не соображу никак.
ты сделай сначала логику неписю с двумя ремарками и проверь будет ли анимка работать (строчку on_signal) не пиши, переход ко второй ремарке делай через поршень (выдавай его в диалоге после нужной фразы) - как там я и писал. а там уже посмотрим.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
13-10-2009 14:51 GMT3 час. #1065430   
проверимс чуть попозже))блин, вот это замарочка)) вродебы всего надо чтобы он отыграл анимацию и хитнул себя досмерти. а такие проблеммы...

добавлено спустя 3 минут


# erlik :
новиков сергей
там ниче менять не надо - как есть так и пишем.
только в функции спавна - так где "имя_непися" нужно соответственно поставить айди непися из профиля - из файла там где пишешь его specific_character id (это и есть его как бы имя - или точнее его айди по профилю), группировку, визуал и т.д



это чтоли в файле charactes_desc_**** ??

отредактировал(а) новиков сергей: 13-10-2009 14:54 GMT3 час.

создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
13-10-2009 15:05 GMT3 час. #1065447   
новиков сергей
да - оттуда.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
13-10-2009 15:05 GMT3 час. #1065448   

# erlik :
новиков сергей
там ниче менять не надо - как есть так и пишем.
только в функции спавна - так где "имя_непися" нужно соответственно поставить айди непися из профиля - из файла там где пишешь его specific_character id (это и есть его как бы имя - или точнее его айди по профилю), группировку, визуал и т.д

что касается самой функции (ложим в xr_effects) - то по идее она должна быть рабочей - хотя 100% гарантии я не даю - не успел еще проверить.
Запустить ее предпочтительнее из логики - в тот момент когда анимка суицида отыграется -
то есть опять же попробовать поставить ее вызов как я писал
on_signal = animation_end | %=make_suicide% --\ первый вариант второй ремарки

если не сработает такой вызов - то попробовать
on_signal = action_end | %=make_suicide% --\ это из того варианта ремарки где есть озвучка сумасшедшего вояки

если и это не сработает -то фиг его знает еще как...

блин щас вспомнил - надо же еще сохраненное значение id непися передать в эту функцию...

function make_suicide()
local obj = level.object_by_id(id_npc)
if obj then
obj:kill(obj)
local snd = xr_sound.get_safe_sound_object([[weapons\t_desert_eagle_shot]]) --\ добавим озвучку - выстрел из пустынного орла
snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
end

надо это у singapur'а поспрашать :-) как правильно сделать - у я то щас не соображу никак.
ты сделай сначала логику неписю с двумя ремарками и проверь будет ли анимка работать (строчку on_signal) не пиши, переход ко второй ремарке делай через поршень (выдавай его в диалоге после нужной фразы) - как там я и писал. а там уже посмотрим.




ты меня сильно запутал. что мне делать?? то что я процитировал на пердыдущих страницах??АААА.дай номер аськи в лс...

добавлено спустя 1 минуту

или все что ты написал на этой??или они ничем не отличаются???кстати, то что ты прям вот написал что в функции айди надо прописать, это где???блин..моск взорвется щас

добавлено спустя 1 минуту

где в этой функции прописать??блин, я ваще нубок в скриптах и логике...

отредактировал(а) новиков сергей: 13-10-2009 15:08 GMT3 час.

создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
13-10-2009 15:27 GMT3 час. #1065460   
новиков сергей
Эх ... давай я лучше сам проверю все - а потом уж рабочий вариант скину - а то так мы полфорума испишем пояснениями куда и что.
а ты прочитай статьи по логике - хотя бы часть - пусть все не поймешь, все равно вопросов меньше будет - ну никто же не будет пояснять что такое инфопоршень или экшен и куда это прописывать.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
white_wind93
    
Посты: 206
Откуда:
Возраст: 35
13-10-2009 16:55 GMT3 час. #1065545   
Всем привет. Не мог бы мне кто-нибудь объяснить, как отслеживать действия неписей? Я хочу сделать так, что бы при смерти НПС выскакивало сообщение (Погиб сталкер: Клан, Причина). Что мне вообще нужно для этого использовать?


-Q-W-E-R-T-Y-
    
Посты: 57
Откуда:
Возраст:
13-10-2009 17:28 GMT3 час. #1065587   
[sr_idle]
on_actor_inside = {+инфопоршень1} nil %+инфопоршень2%
Правильно?
Нужно чтоб при входе в рестриктор,если есть инфопоршень1,выдавался инфопоршень2.


Текст выше - моя ИМХА.
--- Я - Исключение из всех правил! ---
Struck
    
Посты: 1946
Откуда:
Возраст:
13-10-2009 17:39 GMT3 час. #1065601   
white_wind93 писать функцию на смерти объектов с проверкой,и засовывать в xr_motivator на death_callback...во всяком случае у меня так работает)


Снова в строю.

l
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
13-10-2009 17:42 GMT3 час. #1065603   
новиков сергей
Ну и заставил ты меня попотеть - если бы сам проверил мои варианты было бы проще верный сделать.
В общем сделал я самоубийцу - функция с убийством по айди работает - а вот в логике у меня была допущены мелкая ошибка (вот это {%+suicide%} нужно исправить на это {+suicide} случайно вписал лишние тут знаки %) - и никто даже не поправил - из-за нее непись и не переходил во вторую ремарку.
в общем выяснил что вот это
on_signal = animation_end| %=make_suicide% - не работает
использовал on_signal = action_end| %=make_suicide%
вариант со второй ремаркой где идет анимация и озвучка - и на конец действия чувак с криком "я дурак и у меня справка есть" приставляет ствол к башке мочит себя :-)

singapur22

большое спасибо за твой вариант - но я его для себя оставлю - а другие пусть думают сами как улучшить это дело.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
13-10-2009 17:55 GMT3 час. #1065621   
erlik Твоё право. Но если по уму, то можно было просто подправить анимацию suicide так, чтоб непись нажимал на курок, когда пистолет оказывается на уровне головы. Я не знаю как это делается, (не связывался). Но в NLC есть такая анимация (бандит закидывает на плечо двустволку и палит в воздух). Из чего следует, что есть такая возможность, синхронизировать один эпизод анимации с другим.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.


Форумы Архив » Свалка Вопросы и ответы (по 04.12.09)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»