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

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








Автор Сообщение
Struck
    
Посты: 1946
Откуда:
Возраст:
22-06-2011 23:40 GMT3 час. #1494925   
Вопрос по табличкам!

Ест**5001618d69873ce82a42**"item2","item3"...и т.д.} [/code]

Мне надо из неё получить несколько итемов(причем итем может повторятся) рандомно(количеству итемов можно тоже диапазон задать), и выдавать актору, это как сделать?

Вот как я думаю...:
[code]function textures()
for k in pairs(tbl) do
local items = tbl[math.random(table.getn(6,tbl))]
alife():create(items,
db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
end
end[/code]



Как запретить выдачу тайников с трупов?(Вроде существует какая-то вероятность выдачи в treasure_manager.script, вот её нужно свести на нет)


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

l
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
22-06-2011 23:44 GMT3 час. #1494927   
Struck
>>>изучай<<<
Рандом добавишь.


Не стань номинантом премии Дарвина.
Artos
    
Посты: 4176
Откуда:
Возраст: 66
22-06-2011 23:44 GMT3 час. #1494928   
Struck
Полистай архивы топика. Разбирались и давались универсалные варианты работы с таблицами с проверками по спискам/кол-вам и пр ...
Вроде бы в хурнале у erlik'a должны быть готовые варианты с объяснялками.
Или посмотри в Симбионе (в '_f.script') и выбери подходящий вариант.

P.S. О, Gun12 уже ссылку на готовую статью дал ...


P.P.S.
В инициализаторе биндера сталкеров ( stalker_binder:__init (obj) super(obj) ) имеется строка:

  self.treasure_processed = false --/ метка 'труп не обыскивался'

Если не требуется ничего с трупов (тайники или деньги) - проще не заморачиваться с менеджером тайников, а изначально зарубить это дело на корню:

  self.treasure_processed = true --/ метка 'труп обыскивался'

и никаких обращений к менеджеру тайников не будет.
Для сэйвов (уже начатой игры) - можно метку ставить при спавне непися (:net_spawn).

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
23-06-2011 00:54 GMT3 час. #1494945   
А можете пояснить за что отвечает функция vector_rotate_y(dir, angle) в _g.script?
И за что отвечает второй аргумент?

И есть ли готовый код, который спавнит объект ровно перед актором? Я смотрел разнообразные повелители зоны, но мне этот код не подходит, нужно чтобы объект появился в том месте, куда смотрит актор


Знание assembler, C/C++, Pascal, Lua.
Artos
    
Посты: 4176
Откуда:
Возраст: 66
23-06-2011 01:16 GMT3 час. #1494949   
Ma$ter
А ты не пробовал 'в тупую' перевести имя второго аргумента?
С учетом уже оставленно разработчиками комментария и анализа кода получишь:
"Поворачивает вектор вокруг оси 'Y' против часовой стрелки на заданный (в градусах) угол."

Готовый код можно отыскать в архивах топика. Помнится MRN$ выкладывал свою наработку по 'scop_menu', где можно было спавнить по направлению взгляда.
Вот только все одно потребуется указывать д

отредактировал(а) Artos: 23-06-2011 02:18 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
23-06-2011 04:54 GMT3 час. #1494965   
Artos

local Func = oPk[sFunc] --/ WARNING! для методов классов не применимо!

Немн**5008618d69873ce82a42**local Func = net_packet[sFunc][/code]
Далее изменяем и вызов метода, под передачу в него нужного объекта:
[code]table.insert( tTbl, Func(oPk) )[/code]
И никаких: --/ WARNING! для методов классов не применимо! не потребуется. :-)


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Artos
    
Посты: 4176
Откуда:
Возраст: 66
23-06-2011 06:47 GMT3 час. #1494969   
singapur22
Попытка чтения из нет


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
MRN$
    
Посты: 114
Откуда:
Возраст: 17
23-06-2011 10:45 GMT3 час. #1495029   
Заинтересовался сочетанием клавиш "Shift + F" - "тащить, нести".
К каким объектам оно применимо в принципе? И к каким нет?
Вроде как не все мировые модели можно таскать...

И ещё. В xml-файлах есть некое "$$ACTION_USE$$". Что это такое? Как его правильно задействовать? И есть-ли ещё какие-нибудь "$$ACTION_"-ы ?
---------------


Ma$ter, посмотри в СКОП-е (file.qip.ru/file/xpXQ0Gdl/SCOP_08b101.html) функцию "Get_Point_Param". К ней ещё понадобиться функция "Get_LvidToGvid". Если надо дистанцию до "упора" взгляда ГГ, то это есть в "длл-ках Маландринуса".


всё легко
VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 28
23-06-2011 11:03 GMT3 час. #1495038   
Есть одна проблемка: сделал диалог, приписал start_dialog в характер к нужному НПС, но диалога у него не появляется. Ранее к нему уже добавлял 2 диалога, они работают нормально. Может ошибка в чем?
Вот диалог:

mil_shugan5_start
mil_shugan5_done


Первый текст
1


Второй текст
2


Третий текст
3


Четвёртый текст
4


Удачи!
dialogs.break_dialog
dialogs.give_mod_money1
mil_shugan5_done
end_location_start



И инфопоршень mil_shugan5_start выполняется 100%, т. к. по нему квест начинается.


Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
23-06-2011 12:25 GMT3 час. #1495081   
MRN$
Да, уже скачал SCOP и разбираюсь

Shift + F

Собственно список того что можно таскать задается в файле system секция ph_capture_visuals

$$ACTION_USE$$

Если я не ошибаюсь, то эта строка просто возвращает название клавиши. Например:

Обыскать тайник ($$ACTION_USE$$)

В игре мы видим Обыскать тайник (F(ну или какая нибудь другая кнопка, которая висит у нас на использование))

А список всех ACTION_*** я думаю можно узнать в файле user.ltx


Знание assembler, C/C++, Pascal, Lua.
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
23-06-2011 12:43 GMT3 час. #1495100   
Artos

Попытка чтения из нет пакета с вариантом:
Код:
local Func = net_packet[sFunc]
- возвращает ошибку: "LUA error: pure virtual function called"

Довольно странное событие. При тестировании данного кода в другом месте, результат выдаётся положительный. Но стоит использовать его в net_utils, получаем матерную ругань. Интересно, и чем же данный файл отличается от других?! Я сначала подумал, что это изза того, что функции Get_Left() и Set_Left() локальные, но не тут то было. При установке функции на локальные, и в тестовом файле, результат так же выдаётся положительный.
По сути, данная ругань выводится при попытке переопределить метод базового класса (в теле дочернего класса), если онный (метод) не является виртуальным. Но тут то мы производим действие в теле обычной функции.
Короче говоря, я лично ничего не понял. Да собственно и бог с ним, ведь всегда можно определить метод через объект класса. Но всётаки хотелось бы узнать причину, почему так происходит в данном случае?!!!


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
DEEP SHADOW
    
Посты: 3
Откуда: Дальнереченск
Возраст: 32
23-06-2011 12:51 GMT3 час. #1495106   
А как через hex прикрепить текстуру к оружию.


Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
23-06-2011 15:14 GMT3 час. #1495194   
А можно ли как нибудь повернуть объект? на подобие функции set_actor_direction() но только для физических объектов


Знание assembler, C/C++, Pascal, Lua.
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
23-06-2011 15:32 GMT3 час. #1495203   
А из-за чего может быть безлоговый вылет при бинде и лоаде зомби в bind_monster? Вылет не на чистой игре, а в моде.

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

Ma$ter, был такой вопрос от меня недавно. Говорили, что методов поворота нет. Но можно попробовать через нет-пакет изменить fixed_bones.

отредактировал(а) SkyLoader: 23-06-2011 15:48 GMT3 час.

Хочешь работать нормально, работай один!
VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 28
23-06-2011 16:13 GMT3 час. #1495220   
Как добавить в игру возможность ремонтировать броню, оружие у НПС, например Бармена?


Struck
    
Посты: 1946
Откуда:
Возраст:
23-06-2011 16:47 GMT3 час. #1495240   
SkyLoader а чего делал то?

VOva-VIP напиши скрипт и диалог(динамический, если красивости нужны)


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

l
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
23-06-2011 17:52 GMT3 час. #1495278   
Struck, никаких манипуляций в bind_monster я не делал.
Вылет у меня при загрузке сохранения, а секция зомби новая, с новой моделью. Если сделать этой секции просто унаследовать секцию m_zombie_e (без новой модели), то все-равно вылет будет. Но если унаследовать секцию патронов - все нормально. Кто-нибудь с таким сталкивался?


Хочешь работать нормально, работай один!
Struck
    
Посты: 1946
Откуда:
Возраст:
23-06-2011 18:31 GMT3 час. #1495299   
SkyLoader т.е. хочешь сказать если спанвить его как пачку патронов то все нормально?...может дело в анимациях?


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

l
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
23-06-2011 19:32 GMT3 час. #1495320   
Struck,

Если сделать этой секции просто унаследовать секцию m_zombie_e (без новой модели), то все-равно вылет будет.

А модель на обычных анимках.
Вылеты бывают нестабильные, поэтому понятно, что сначала зомби нормально работают. Хотя и бывало то, что когда неписи стреляли по ним, был безлоговые вылеты.


Хочешь работать нормально, работай один!
Struck
    
Посты: 1946
Откуда:
Возраст:
23-06-2011 19:37 GMT3 час. #1495327   
С чем могут быть связаны выл**5001618d69873ce82a42**t to compare number with nil

[/code]

У меня конкретно вылетает при загрузке сейва.


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

l
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
23-06-2011 20:32 GMT3 час. #1495352   
Смотрел предыдущие ответы на вопросы. Там был вопрос о том, чтобы НПС не стрелял в ГГ.

Но мне то нужно, чтобы НПС стрелял во всех кроме ГГ, и оставался к ГГ нейтральным даже если пальнуть в НПСа.

Т.е. нужно чтобы НПС игнорировал хит от ГГ в схеме camp

Такое возможно? Если да, то как?


Struck
    
Посты: 1946
Откуда:
Возраст:
23-06-2011 20:50 GMT3 час. #1495359   
Mehanik Yar ты логику ему пишешь или просто скрипт?(если логику, то подсказать не смогу)


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

l
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
23-06-2011 20:52 GMT3 час. #1495361   
Struck, версия патча отличная от 1.0004
Mehanik Yar, посмотри логику неписей, идущих по подземелью Юпитера. Там реакция на хит сделана интересно.


Хочешь работать нормально, работай один!
Struck
    
Посты: 1946
Откуда:
Возраст:
23-06-2011 21:01 GMT3 час. #1495364   
SkyLoader а, всмысле сам дллки "тасовал"/"совмещал"? Ну и чего же ты хочешь?:-)


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

l
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
23-06-2011 21:09 GMT3 час. #1495374   
SkyLoader а там логика этих вот НПСов в подземельях пишется в алл спавне или в ltx файле?


SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
23-06-2011 21:27 GMT3 час. #1495388   
Struck, не, это я тебе про вылет твой говорю. Он бывает, если моды для одного патча, а у тебя другой патч.
Mehanik Yar, configs\underpass\pas_b400_canalisation


Хочешь работать нормально, работай один!
Struck
    
Посты: 1946
Откуда:
Возраст:
23-06-2011 21:37 GMT3 час. #1495390   
SkyLoader а, логично...сам что-то не подумал:-)

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

...нет, не спасло

отредактировал(а) Struck: 23-06-2011 21:48 GMT3 час.

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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 66
23-06-2011 22:03 GMT3 час. #1495397   
Struck
Сколь можно твердить: "Задавая вопрос - потрудитесь давать достаточно полную информацию касающуюся его!".
Вопрошая про вылет (не из 'чистой' игры) необходимо приводить скрипт (иль его кусок), на который ссылается лог ошибки и указывать, какие принципиальные изменения внесены в структуру скриптов.
Иначе ... начинаются предполагалки.

Твой вылет ('dialog_manager.script:393') наиболее вероятно из-за того, что исходный скрипт 'dialog_manager.script' от версии 1.0005/6, а биндер сталкеров 'xr_motivator.script' от 1.0004 иль в него внесена строка от 1.0004, которая обращается к менеджеру диалогов (см. motivator_binder:load(reader) и в частности: dialog_manager.load(self.object, reader, self.npc_script_version)).


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
23-06-2011 22:16 GMT3 час. #1495399   
А нет ли случаем такой функции, при вызове которой в логике НПС, он, НПС, становится дружелюбным к ГГ?

И ещё, НПС почему-то не хочет стрелять по изломам, по полтергейстам стреляет, а по изломам не хочет.
От это группировки не зависит.


Struck
    
Посты: 1946
Откуда:
Возраст:
23-06-2011 22:19 GMT3 час. #1495400   
Mehanik Yar если метод чтобы сделать нпс другом(примени к гейм объекту), напиши функцию в xr_effects и вызывай в логике


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

l


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


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

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