Пользователей: 3
Гостей: 653

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








Автор Сообщение
VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 28
21-06-2011 19:57 GMT3 час. #1494371   
У меня вот такой вопрос: я заспавнил space_restrictor и в его скрипт вставил:
[spawner]
cond = {+mil_shugan2_start -mil_shugan2_done}

[logic]
active = sr_idle1

[sr_idle1]
on_actor_inside = %+mil_shugan2_done =play_snd(characters_voice\scenario\radar\rad_hat_2)%

Он как бы действует, но работает он даже перед выполненением инфопоршня mil_shugan2_start. И не перестаёт работать после выполнения этого инфопоршня mil_shugan2_done. Может где-то нужно ещё раз прописать?



# Struck :
VOva-VIP попробуй set_desired_direction()


Где это попробывать нужно? Куда именно вписывать?


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-06-2011 20:18 GMT3 час. #1494384   
VOva-VIP Всё просто. Алгоритм инициализации секции "**5006618d69873ce82a42**ar"
"se_monster"
"se_stalker"[/code]
Вот и делай выводы.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 28
21-06-2011 20:21 GMT3 час. #1494386   
singapur22 ну вот я в эту зону ещё добавил голос (звук). Он повторяется каждые полсекунды. Это же ведь как-нибудь можно убрать? Ну то есть чтобы этот звук воспроизводился только один раз?


Struck
    
Посты: 1946
Откуда:
Возраст:
21-06-2011 20:24 GMT3 час. #1494387   
Назрело два вопроса:

1 Как вырезать выдачу информации? Это та которая в энциклопедию пда заносится, вырезать радикально путем чистки xr_info.script особого желания нет(да и не уверен что поможет, хотя если другого выхода нет...). Она выдается при смертях(по моему), но в death_callback'ах(и зверей, и людей) ничего подобного не увидел.

2 Как запоминать выданное из таблицы значение "навечно", т.е. выдавать это значение единожды за всю игру.


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

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-06-2011 20:31 GMT3 час. #1494389   
VOva-VIP Разумеется, он будет воспроизводиться постоянно. Более того, у тебя происходит постоянный вызов функции play_snd(...), пока ты находишьс


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Angel from Hell
    
Посты: 23
Откуда: Гомель
Возраст: 28
21-06-2011 20:39 GMT3 час. #1494393   
Так-с, я конечно в своей жизни видел много, но не до такой же степени! Я хочу узнать как РЕНДЕР игры влияет на Диалоговые окна??? Каким образом он влияет на расположение статических объектов в нем, для наглядности приведу пример моего диалогового окна на рендере "Статическое освещение" и рендере "Полное динамическое освещение":

Статическое освещение

Полное динамическое освещение


1) Почему в статическом освещении строки в скролле налеплены друг на друга, а в полном динамическом все нормально?
2) Почему в статике главное меню убирается, а в динамическом нет?
3) Ну и собственно почему тексты самопроизвольно меняют свое месторасположение в зависимости от рендера?
Ответы на эти вопросы мне очень интересны и как их вообще исправить?


Труд свободных скриптеров-любителей тяжел и утомителен, полон ошибок и багов, но в то же время интересен, захватывающ и благороден.
Upgrades mod build 1.006 готов. В журнале есть новое видео.
Подробнее в журнале.
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-06-2011 20:42 GMT3 час. #1494395   
Struck 1. Без понятия. Последний раз работал с ПДА, как минимум, год назад. Поэтому, если чтото и знал, то даже выражение "не помню", будет не верным. Скорее "не знаю".

2. Используй pstor, раз не находишь другого выхода.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
21-06-2011 20:58 GMT3 час. #1494400   
singapur22 тут такая ситуация что мне надо будет выдавать очень много раз, и как бы одним десятком псторов не обойдешься


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

l
Максим Р.
    
Посты: 1025
Откуда:
Возраст:
21-06-2011 20:58 GMT3 час. #1494401   
Struck, попробуй убрать из xr_info.script в методе loadInfo() всё после комментария "-- Загрузка из генератора" (достаточно только убрать вызов метода give_npc_info(npc, ii) (826 строчка в оригинале)).
В этой части кода npc получает инфу для энциклопедии из таблиц info_by_community и info_by_rank.


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-06-2011 21:04 GMT3 час. #1494405   
Angel from Hell Чёта ты гонишь
На статике:

На динамике:

На полной динамике:

Как видишь, никаких различий. Абсолютно.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Artos
    
Посты: 4176
Откуда:
Возраст: 66
21-06-2011 21:12 GMT3 час. #1494410   
singapur22
По поводу '{f()}' - это уже 'привязка по местности' и зависит от контекста и задач.
Немало готовых функций, выдающих уже таблицы и 'усовершенстрование' не требуется.
Любой подобный список можно засовывать в таблицу как на выходе, так и на входе ...
Вспомним:
function func(...)
  local arg = {...}
  --/ ну и далее
end

Struck
Кода по захвату целей 'аля-бинокль' имеются как в АМК (amk_target.script), так и в Симюионе (m_debug.script).
С выдачей энциклопедической информации ты бы определился сам. При смерти неписей она не выдается (не заносится в энциклопедию в КПК) если на то нет записи в секции 'on_death'.
О чем ты конкретно вопрошаешь - не ясно.

Прежде чем задаться целью 'как сохранить' (тем более большие объемы) , ты бы почитал на эту тему тему, хотя бы о том же pstor'е.
Ресурсы игры не резиновые! Хотя размазать можно очень немало. Все зависит от того, что же ты собираешься сохранять 'навечно' и когда и как это сохраненное (по)требуется использовать вновь.

Не задавай 'детских' вопросов, конкретизируй их, если ждешь не общего словоблудия, а конкретного ответа/совета.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
21-06-2011 21:24 GMT3 час. #1494416   
Artos

1 Смотрел amk_target, но ведь Zen это первый сделал...вот думаю може**5003618d69873ce82a42**l tbl = {"info1", "info2", "info3"...и т.д.}[/code]

Вот их тут несколько десятков(около сотни), и мне эти инфопоршни надо выдавать рандомно с запоминанием выданного, и не повторением выдачи оного(за весь процесс игры).


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

l
Angel from Hell
    
Посты: 23
Откуда: Гомель
Возраст: 28
21-06-2011 21:36 GMT3 час. #1494421   
singapur22,
Странно, видимо у меня что-то с компом... Или я не знаю. Может мне свой скрипт выложить, чтобы кто-нибудь попробовал подгрузить себе и проверить?


Труд свободных скриптеров-любителей тяжел и утомителен, полон ошибок и багов, но в то же время интересен, захватывающ и благороден.
Upgrades mod build 1.006 готов. В журнале есть новое видео.
Подробнее в журнале.
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
21-06-2011 21:53 GMT3 час. #1494425   
С изломом всё проще, он нормально работает под гулагом или при спавне функцией. так что никакие скрипты курочить не надо, в них и ошибки то нету, хэ хэ.
Так что я его нафиг удалил из алл.спавна и заспанил через функцию.


Artos
    
Посты: 4176
Откуда:
Возраст: 66
21-06-2011 21:55 GMT3 час. #1494428   
Struck
Вариантов сделать захват цели в прицеле 'аля-бинокль' два: правка движка или скриптами.
Zen это сделал для прицелов оружия первым, подправив dll'ку для 1.0004. Готовые dll'ки для всех трех версий ТЧ можешь взять и посмотреть в аддоне 'SMB-SHOC_Zen-crosshair' для Симбиона (годится и для всех других модов).
Но твой вопрос:

По логике отсканировать все живое и вешать на них статики, но как отследить именно находимся ли мы "в прицеле"?
- уже говорит о потреьности обработки скриптами (хотя до конца понять похотелку трудновато ...).
Тебе дал скриптовые наработки именно в этом направлении.


... эти инфопоршни надо выдавать рандомно с запоминанием выданного ...
- и чего тут проблемного?
Любой инфополшень, будучи выданным один раз, запоминается в игре 'навечно' (если его не удалять).
Чтобы не пытаться выдавать вторично всего лишь требуется узнать банальной проверкой, а не выдан ли он уже:
  if not has_alife_info("info1") then ...
- и в чем тут может быть затруднение?

отредактировал(а) Artos: 21-06-2011 22:05 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
21-06-2011 22:03 GMT3 час. #1494433   
Artos в том что таких проверок будет до черта, или перебрать таблицу с инфопоршнями, получить все инфопоршни в переменную и проверять?...то есть получится

"если не выдали какой-то инфопоршень из таблицы, то..."


А похотелка состоит в том, что бы когда прицеливаемся то захватывались бы цели(в амк это привязано на кость), да мне хотелось бы соорудить подобное скриптом(на примере амк, понял только алгоритм, и даже не понял как его "подсоединить" или по другому "задействовать"), ибо в движок мне нехрена соваться.


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 66
21-06-2011 22:15 GMT3 час. #1494438   
Struck
Залог успеха в написании хорошего рабочего кода - правильный алгоритм, который прежде и требуется обмозговать!
1. Если ты неважно как запомнишь выданные инфопоршни из своей таблицы - все одно(!) тебе требуется в этом случае перед выдачей очередного делать проверку на "не выдан ли ...".
Ну а каким способом проверять - вторично. Все за раз иль по-отдельности каждую ...

2. (снимаем шоры!).
- Имеется табличка своих инфопоршней (вероятно в конфиг-файле).
- Считываем в таблицу свои инфопоршни.
- Сразу же (при загрузке игры) проходимся по ней и удаляем все уже выданные.
- ...
- При необходимости выдать очередной инфопоршень выбираем его (хоть рандомно) и выдаем.
- Тут же удаляем его из нашей таблицы!

т.о. тебе ничего не требуется сохранять или перепроверять! Таблица по сути всегда будет содержать только НЕ выданные инфопоршни (если конечно они не выдаются и какими-то сторонними скриптами, которые тоже можно обязать чистить выданные в твоей табличке).
Если инфопоршни в конфиге - можно даже при считывании инфопоршней в таблицу - сразу проверять их 'выданность' и не заносить в таблицу.

Какая же у тебя каша в голове ... (это относительно прицела)

отредактировал(а) Artos: 21-06-2011 22:36 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
21-06-2011 22:42 GMT3 час. #1494448   
Artos с таблицами я мало работал...как удалить выданное значение?(возможно по индексу?)


А что с прицелом не так?:-)


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 66
21-06-2011 23:04 GMT3 час. #1494453   
Struck
Ну если тебе требуется разжевывать как удалять/добавлять в таблицу типа:
  local tbl = {"info1", "info2", "info3"...и т.д.}
- то ... извини, почитай азбуку LUA.
На подобные вопросы я давно НЕ отвечаю, считаю это обязателням для прочтения и запоминания любому модмейкеру с самого начала до ковыряния в скриптах.

Struck: да мне хотелось бы соорудить подобное скриптом
Когда так заявляют, то:
а) Если на первом месте 'Я сам хочу сделать' - то следует позаботиться о своих базовых знаниях и навыках или умерить аппетит.
б) Если первично 'лишь бы получить желаемое' - следует или иметь знакомого кодера или просить ... может кто и сделает.
У тебя же получается - 'я хочу сам сделать, но по сути чужими головами'. В этом случае бОльшая часть усилий у 'чужих' уходит на банальные разъяснялки ... И выходит по сути, делаешь то не ты сам.
Следует все же сразу определиться:
а) тебе требуется чтобы тебя обучали;
б) тебе требуется помощь в незнакомых/непонятных вещах, а не обучение;

По варианту а) - я пас, есть немало литературы, статей и пр. ...
по варианту б) - тебе в первую очередь требуется получить знания по азам, по крайней мере касательно твоей пожелалки.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
22-06-2011 00:33 GMT3 час. #1494474   
Gun12 спасибо, далее я в


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

l
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
22-06-2011 00:47 GMT3 час. #1494476   
Struck
Вот такой долже


Знание assembler, C/C++, Pascal, Lua.
Struck
    
Посты: 1946
Откуда:
Возраст:
22-06-2011 01:00 GMT3 час. #1494480   
Ma$ter, у Gun12 оптимальней код, но всё равно спасибо:-)


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 66
22-06-2011 01:17 GMT3 час. #1494485   
Что то вы тут глупостями занялись.
См. [url=http://stalker-portal.ru/forums.php?m=posts&p=1488643#1488643]#14886**5001618d69873ce82a42**en --/ инфопртшень не последний?
rand_info = tbl[math.random(#tbl)] --/ выбираем рандомный
end
oActor:give_info_portion(rand_info) --/ выдаем актору
end
end[/code]
( жаль, что всего то прошло пара недель а в головах уже пусто ... :-( )


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
22-06-2011 01:25 GMT3 час. #1494487   
Artos глупый вопрос...но почему ты сначала удаляешь, а потом выдаешь?

P.S. касаемо меня...я всё забываю образно говоря "на следующий день", помню только то, с чем плотно работаю опять таки образно говоря "каждый божий день".


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

l
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
22-06-2011 01:34 GMT3 час. #1494488   
Artos
Жаль что я не читал последнии посты Вопросов и Ответов, которые пошли в склад, поэтому и написал этот код

Да, признаю, твой код получился на порядок лучше. Мастерство не пропьешь

отредактировал(а) Ma$ter: 22-06-2011 01:52 GMT3 час.

Знание assembler, C/C++, Pascal, Lua.
Artos
    
Посты: 4176
Откуда:
Возраст: 66
22-06-2011 01:40 GMT3 час. #1494489   
Struck
А где ложка лежит ты всегда помнишь иль с собою всегда таскаешь? ;-)

Знания - это не только то, что запомнилось в голове, но и (ИМХО, в первую очередь) - умение самому найти и получить нужную информацию!
А для тех у кого в голове не держиться не даром имеется правило топика:

1. **5031618d69873ce82a42**

отредактировал(а) Artos: 22-06-2011 01:49 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
22-06-2011 01:53 GMT3 час. #1494490   
Artos ладно, по ходу буду пытаться запоминать/понимать, т.к. сейчас если что-то пытаться делать(в этом направлении) - будет метод тыка, что не есть хорошо.



Как отвести Гарика(охранника в Баре) от его точки(пустить ГГ в потайную комнату) без исп. all.spawn, вроде бы есть функция чтобы НПС отошел от своей точки метров на 5, а потом(по условию) вернулся, некогда вроде бы использовалась в моде "Напарники"(за авт. Red75).

P.S. Ковырял NLC, там помоему с помощью путя сделано.(Не исключено, что хреново ковырял).


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 66
22-06-2011 02:16 GMT3 час. #1494492   
Struck
Гарику прописана в логике схема: 'walker'.
Он тупо стоит на точке, преграждает проход и при подходе к нему актора заучено бубнит одно и то же.
Думаем, что нужно сделать чтобы он отошел?
1. (классика)
Даем ему еще условие, что например, при получении некоего инфопоршня - уйти в другую точку (потребуется доступная точка/путь), ну и после второго (иль по времени) - вернуться обратно.
В NLC прописано условие освободить дверь по получению инфопоршня '+bar_barman_need_room' и возврат по его удалению.

2. Используем смекалку, вспомнив, что некоторые схемы имеют приоритет над 'штатными':
а) В АМК есть выброс - все неписи во время выброса (и Гарик в том числе) - прячатся от выброса ...
б) Имеется схема 'собирательства', когда непись идет подбирать предмет. Если она доступна и Гарик не исключен из нее - кидаем ему 'кость' и ждем, когда он за ней пойдет, освободив проход.
в) В схеме напарников можно того же Гарика взять в напарники, тем самым отключив от его 'на страже'.
... и т.д.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
karavan
    
Посты: 940
Откуда:
Возраст:
22-06-2011 02:18 GMT3 час. #1494493   
Struck Гарик (если не ошибаюсь):


[3340]
; cse_abstract properties
section_name = stalker
name = bar_bar_guard
position = 126.514854431152,-4.81453084945679,23.8163642883301
direction = 1.39329529247334e-006,-1.57078802585602,-1.38376108225202e-005

; cse_alife_trader_abstract properties
money = 5000
character_profile = bar_barman_guard

; cse_alife_object properties
game_vertex_id = 1236
distance = 4.90000009536743
level_vertex_id = 35569
object_flags = 0xffffffff
custom_data = < [smart_terrains]
none = true

[logic]
active = walker@guard_door

[walker@guard_door]
path_walk = bar_bar_guard_door_walk
path_look = bar_bar_guard_door_look
def_state_standing = ward
def_state_moving1 = walk
def_state_moving2 = walk
def_state_moving3 = walk
on_info = {+bar_barman_need_room} walker@guard_nodoor
;soundgroup = bar_visitors1
danger = danger_ignore
on_actor_in_zone = bar_bar_room_area | walker@guard_nodoor
meet = meet@1

[meet@1]
meet_state = 2 | ward@{+bar_barman_need_room} bar_guard_enter,bar_guard_stop
meet_state_wpn = 2 | ward@{+bar_barman_need_room} bar_guard_enter,bar_guard_stop
victim = nil
victim_wpn = nil
use = false
use_wpn = false
abuse = false


[danger_ignore]
ignore_distance = 0

[walker@guard_nodoor]
path_walk = bar_bar_guard_nodoor_walk
path_look = bar_bar_guard_nodoor_look
def_state_standing = ward
def_state_moving1 = walk
def_state_moving2 = walk
def_state_moving3 = walk
on_actor_not_in_zone = bar_bar_room_area | {-bar_barman_need_room} walker@guard_door
;soundgroup = bar_visitors1
danger = danger_ignore
meet = meet@1

END

; cse_visual properties
visual_name = actors\neytral\stalker_bar_security

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 5
g_group = 20
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = 126.514854431152,-4.81453084945679,23.8163642883301
upd:o_model = 0
upd:o_torso = -1.57078802585602,1.39329529247334e-006,0
upd:g_team = 0
upd:g_squad = 5
upd:g_group = 20

; cse_alife_monster_abstract properties
base_out_restrictors = bar_restrictor

upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0

; cse_alife_human_abstract properties
predicate5 = 2,2,2,1,0
predicate4 = 1,2,1,2

; cse_ph_skeleton properties

upd:start_dialog =

; se_stalker properties


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Artos
    
Посты: 4176
Откуда:
Возраст: 66
22-06-2011 02:36 GMT3 час. #1494499   
Struck
Вот тебе оптимальный вариант для твоего сл


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени


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


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

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