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

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








Автор Сообщение
blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-09-2009 17:05 GMT3 час. #1038333   
erlik Зачем дропать? :lok5) Напиши ему скрипт чтоб когда он его съел включался. А чтобы не елось (не исчезало) надо поставить eat_partition = -1 чтобы порций еды стало бесконечное кол-во.

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

erlik насчет пояса: я могу это придумать, я могу это написать. Но не на LUA. :-(

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

Где расписана работа предмета "ПДА Меченый"? Именно такое Название а не обычный ПДА из items.ltx

отредактировал(а) blackraven6: 17-09-2009 17:23 GMT3 час.


Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
17-09-2009 17:36 GMT3 час. #1038354   
blackraven6
так это он для примера еду (консерву) привел. Ему надо просто чтоб при использовании опред. вещи активировался скрипт. А проверка на это делается через функцию дроп, либо надо делать для предмета интерактивное меню и на новые кнопки вешать активацию скрипта - это сложнее.
Других вариантов я не знаю.
eat_partition = -1 это конечно интересное предложение, но обычно все делается через обратный спавн использованной вещи.

А чем lua сложнее других языков программирования ? Я вот месяц назад вообще никакого даже близко не знал...:-)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-09-2009 18:25 GMT3 час. #1038402   
erlik Прописываешь эту НЕ консерву как аптечку без лечения и других эффектов. Деаешь ее бесконечно используемой через eat_partition = -1. И вуаля! Там будет писаться не съесть а использовать!

PS а с чего ты начал луа изучать? Ну там написал простой скриптик, книгу прочитал или еще чего?

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

Где расписана работа предмета "ПДА Меченый"? Именно такое Название а не обычный ПДА из items.ltx

отредактировал(а) blackraven6: 17-09-2009 18:30 GMT3 час.


Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
17-09-2009 19:24 GMT3 час. #1038422   
blackraven6
Можно и так - не спорю, тока почему то все модмейкеры для спальника и рем. набора используют другой вариант.

Руководство по lua - без него никак - оно, кстати, в инете единственное. То есть полная версия страниц на 50 вордовского текста.
Есть еще недопереведенная книга создателя lua Роберта Иерусалимского - но в инете всего лишь одна четверть книги. Остальное на инглиш. Ну еще есть статьи - трактующие те или иные аспекты языка.
Руководство написано для профи - то есть как раз для тебя - тех , кто уже знаком с другими языками. Мне его очень тяжело читать и осмысливать из-за формального стиля написания, поэтому для меня лучший способ понять как работает тот или иной оператор или функция - че-нить написать и посмотреть, а как это в деле выходит - и сразу приходит понимание.
Либо спросить у singapur22 :-)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
white_wind93
    
Посты: 206
Откуда:
Возраст: 35
17-09-2009 19:28 GMT3 час. #1038426   
erlik, blackraven6 спасибо за подсказку)
Парни, у меня ещё один вопрос возник: я поковырялся в inventory_new.xml и нашёл там вот такой кусочек кода:

ui_button_main02
ui_inv_exit







Это кнопка на выход. Мне в рюкзаке надо сделать ещё одну кнопку, но чтобы при нажатии срабатывал мой скрипт, т.е. был не выход из инвентаря, а активация моего сценария. Но вот в выше приведённом коде я никакой связи со скриптами не нашёл :-( Может я чего не понимаю?..


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
17-09-2009 20:16 GMT3 час. #1038462   
white_wind93
Одного hml файла с координатами текстур и текстом надписи - мало. Кстати лучше использовать свой отдельный файл, в котором надо создать секции с новыми кнопками: где пишутся имена текстур, координаты, размер рамки и текст надписи.
В качестве образца глянь файл ui_sleep.hml - если такой есть в АМК.

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

Для создания новых интерактивных элементов - то бишь тех же кнопочек-надписей типа "использовать" - тока своих, нужен специальный скрипт. Именно в него и ставится указание, на файл hml с секцяими новых интерактивных элементов.
Он у меня есть, но я пока разбираюсь как он работает. Можешь сам посмотреть в амкашном модуле спальника. Я его из симбиона взял - там коды тоже из АМК. В принципе его можно переделать под свои нужды, но не совсем ясна одна вещь - как этот скрипт привязывается к конкретному итемсу.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
white_wind93
    
Посты: 206
Откуда:
Возраст: 35
17-09-2009 20:37 GMT3 час. #1038474   

В принципе его можно переделать под свои нужды, но не совсем ясна одна вещь - как этот скрипт привязывается к конкретному итемсу.

Угу, я тоже смотрел, но так и не понял, как активируется сон через спальник :lok5)... Надо будет ещё покопаться...


blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-09-2009 20:46 GMT3 час. #1038478   
white_wind93 Не скрипты привязываются к кнопкам, а кнопки к скриптам. Этот файл всего лишь создает картинку кнопки. А в файлек скрипта задается кнопка.

Люди а где настраивается как будут отображаться точки стакеров на радаре и будут ли отображатся красные точки. Как их отключить?



Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
FaithGTX
    
Посты: 154
Откуда:
Возраст: 46
17-09-2009 20:57 GMT3 час. #1038487   
blackraven6 config\ui\map_spots_relations.xml Тут посмотри.


white_wind93
    
Посты: 206
Откуда:
Возраст: 35
17-09-2009 21:10 GMT3 час. #1038497   
erlik, я наверно чет не понял. В bind_stalker.script я вот это:

function actor_binder:on_item_drop (obj)
level_tasks.proceed(self.object)
game_stats.update_drop_item (obj, self.object)
end

заменил вот на это:

function actor_binder:on_item_drop (obj)
local section = obj:section()
if section == "matras" then
ui_cheat.spawn_item_in_inv()
end

А вот сам ui_cheat.script:

function spawn_item_in_inv(section,npc)
alife():create("af_medusa", db.actor():position(), 1, db.actor:game_vertex(), db.actor:id())
end


По идеи, должна заспавниться медуза у актора в рюкзаке, а у меня игра виснет при старте так, что даже через диспечер не получается вырубить сталкер &P Я наверно что-то не так опять сделал :-( ...


blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-09-2009 21:43 GMT3 час. #1038526   
white_wind93 скрипты пишутся не в актор биндере. а в отдельных файлах. В биндере пишется ссылка на скрипт для апдейта, сэйва или лоада.



Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
17-09-2009 22:25 GMT3 час. #1038558   
white_wind93
не надо ничего Заменять. Надо добавить.
Чтобы было так :
function actor_binder:on_item_drop (obj)
local section = obj:section()
if section == "matras" then
ui_cheat.spawn_item_in_inv()
end
level_tasks.proceed(self.object) --\ это все остается, так как нужно для игры.
--game_stats.update_drop_item (obj, self.object)
end

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

Может кто знает как с этим чертовым интерфейсом надо работать? И как к итемсу привязывается новое меню?

В общем исправил пару ошибок - теперь ниче не вылетает, но новое меню так и не появилось. Обидно, однако...так что вопрос как привязать это меню к конкретному итемсу в инвентаре эктора остается в силе.

отредактировал(а) erlik: 18-09-2009 00:12 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
karavan
    
Посты: 940
Откуда:
Возраст:
18-09-2009 00:04 GMT3 час. #1038581   
Привет
Ребята нужно сделать функцию для ТЧ что бы при взятии квестового предмета спавнились НПС противники.
И еще нужна функция что бы при убийстве квестового НПС происходил спавн НПС.
Подскажите пожалуйста какой вид могут иметь эти функции.


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
18-09-2009 00:37 GMT3 час. #1038589   
karavan
function name()
local actor = db.actor
if actor and actor:object("имя_вещи") == nil then
return
else
for i = 1, 10 do
alife():create("имя_чувака",vector():set(х,y,z),level_vertex_id, game_vertex_id) --\ тут пишешь координаты и вертексы, где должен заспавниться чувак. Для кол-ва - ставишь нужное число вместо 10
end
end
end

функцию ставишь на апдейт в файл bind_stalker
в функцию function actor_binder:update(delta)
типа так
имя_файла.name()

поправил чуть-чуть функцию
function name_2()
local npc1
npc1 = level_object_by_sid(sid) --\ пишем в скобочках сид квестового непися
if npc1 and npc1:alive() then
return
else
for i = 1, 10 do
alife():create("имя_чувака",vector():set(х,y,z),level_vertex_id, game_vertex_id)
end
end
end


число sid можно узнать в файле game_story_ids
эту функцию также надо ставить на апдейт
за правильность последней функции не уверен, но вроде так делается проверка на живость или мертвость :-)

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

manunj
я все это видел - скрипт такой же переделал для себя :-) но все равно спасибо - завтра еще раз все проверю.
заметил небольшое упущение у себя - может быть из-за него и не появляется меню.
Так что не зря выложил тот скрипт :-) Спасибо.

отредактировал(а) erlik: 18-09-2009 10:25 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
FaithGTX
    
Посты: 154
Откуда:
Возраст: 46
18-09-2009 09:17 GMT3 час. #1038649   
Блин, помогите пожалуйста кто-нибудь. Сегодня решил заняться удалением заданий, сначала у Волка. Все сделал, вместо стартавого диалога типа "Отвали, я занят" сделал другой (просто текс изменил), решил сделать, чтобы показывался только один раз, т.е. говоришь "Хорошо" и больше этот диалог не увидиш, сделал вот так:


end_dialog


escape_lager_volk_talk_31
1


escape_lager_volk_talk_311
end_dialog




Но игра даже в главное меню отказывается заходить, объясните пожалуйста почему.

Expression: false
Function: CXml::Init
File: E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp
Line: 87
Description: XML file:gameplay\dialogs_escape.xml value: errDescr:Error reading end tag.


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
18-09-2009 09:53 GMT3 час. #1038662   
FaithGTX
ты где то в диалоге тэг неправильно написал. Проверь.
лог читается как "ошибка чтения конца тэга". То есть скорей всего где то в тэге не поставил такой знак / При такой ошибке hml парсер игры как раз и не дает даже в меню войти для загрузки. Так что в следующи раз знай, что если также вылетать будет - значит где то с тэгом в диалоге или тексте напортачил :-)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
18-09-2009 10:06 GMT3 час. #1038664   
Вопрос. Как менять сюжетные задания?
Наприер, встретить петруху. В каких файлах и скриптах надо ковырятся, чтоб задание изменилось на принести придмет петрухе, а за это он тебе про АТП раскажет?


И все мы ждем чего-то. Работа - дом - работа ©
FaithGTX
    
Посты: 154
Откуда:
Возраст: 46
18-09-2009 11:22 GMT3 час. #1038703   
erlik Все, починил. Лишний "\" был...


white_wind93
    
Посты: 206
Откуда:
Возраст: 35
18-09-2009 15:16 GMT3 час. #1038853   
erlik, сделал всё как ты сказал, а игра слетает при попытке использовать объект, вот код ошибки:
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: No such operator defined


Может в самом ui_cheat.script ошибка со спавном?
function spawn_item_in_inv(section,npc)
alife():create("af_medusa", db.actor():position(), 1, db.actor:game_vertex(), db.actor:id())
end


Alex Rodriguez
    
Посты: 301
Откуда: С-Пб
Возраст: 30
18-09-2009 17:26 GMT3 час. #1039000   
Всем привет!
Подскажите,в каком файле искать инвентарь убитых?(и можно ли его заменить,не начиная новую игру?)


white_wind93
    
Посты: 206
Откуда:
Возраст: 35
18-09-2009 17:46 GMT3 час. #1039023   
Alex Rodriguez, заменить не начиная новую игру нельзя, если это уникальные неписи, а если обычные, т.е. генерируемые, то смотри здесь - death_items_by_communities.ltx


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
18-09-2009 17:46 GMT3 час. #1039024   
white_wind93
вместо этого - откуда такая запись ?!
function spawn_item_in_inv(section,npc)
alife():create("af_medusa", db.actor():position(), 1, db.actor:game_vertex(), db.actor:id())
end
Ладно еще 1 вместо левел вертекса, так в написании гейм_вертекса ошибка. Надо просто писать вертексы эктора и его id и все - для спавна рюказк.

лучше пиши так
function spawn_item_in_inv()
alife():create("af_medusa", db.actor():position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end

в скобочках ниче писать не надо,так как ты не используешь мой вариант с передачей данных в основную функцию, а сразу пишешь функцию с данными.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
white_wind93
    
Посты: 206
Откуда:
Возраст: 35
18-09-2009 18:21 GMT3 час. #1039062   
erlik, я не знаю... Всё равно вылетает с той же ошибкой :-G


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
18-09-2009 18:34 GMT3 час. #1039070   
white_wind93
Блин ты внимательнее следи за написанием имен глобальных переменных - а то я думаю что у тебя с этим все верно и сам ошибку не вижу.
Исправь db.actor():position() на
db.actor:position()


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Alex Rodriguez
    
Посты: 301
Откуда: С-Пб
Возраст: 30
18-09-2009 20:46 GMT3 час. #1039271   
так,чё-то я окончательно запутался!допустим,чуваки,стреляющиеся по сюжету с вояками,дабы спасти Крота-это уникальные персы?Я циферки кое-где поменял,загрузил-всё так же.Чтобы у всех персов было то что я подправлю,надо начать новую игру?ладно я всё равно хотел сначала начать...
А ещё где-нидь чё-нидь надо менять?


Пользователь
    
Посты: 45
Откуда: Черноморское
Возраст: 32
18-09-2009 21:31 GMT3 час. #1039322   
SALER ПОМОГИ скачас с нета програму для редактирования параметров оружия. брони, медикаментов и прочее Я ни как немогу найти где находится файлы с бронькой в папке с игрой облазил всё не нашёл...


Кто не любит ходить за хабаром - тот застреленый ИЗЛОМ!!!
FaithGTX
    
Посты: 154
Откуда:
Возраст: 46
18-09-2009 21:37 GMT3 час. #1039329   
Что за бред?
Expression: xml_doc.NavigateToNode(path,index)
Function: CUIXmlInit::InitWindow
File: E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIXmlInit.cpp
Line: 87
Description: XML node not found
Arguments: global_wnd

За что отвечает строка position_threshold в настройках гулага (желательно по подробнее)?


karavan
    
Посты: 940
Откуда:
Возраст:
18-09-2009 22:11 GMT3 час. #1039378   
erlik
Затестил твою фунцию
function name()
local actor = db.actor
if actor and actor:object("wpn_pm") == nil then
return
else
for i = 1, 10 do
local obj = alife():create("agr_soldier_regular",vector():set(-243,-20,-129),13586,8)
end
end
end

Все работает, но только военные спавнятся каждую секунду наличия у ГГ ПМ-а.
Подскажи как сделать что бы спавн происходил один раз?
Спасибо.


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
18-09-2009 22:58 GMT3 час. #1039415   
karavan
надо в этой функции поставить условие в виде отсутствия инфопоршня, а затем его выдать.
Тогда цикл спавна будет сделан тока один раз.
function name()
local actor = db.actor
local item = db.actor:object("wpn_pm")
if actor and item == nil then
return
elseif item and actor:dont_has_info("info") then
for i = 1, 10 do
local obj = alife():create("agr_soldier_regular",vector():set(-243,-20,-129),13586,8)
actor:give_info_portion("info")
end
end
end


пишешь поршень с любым именем в файл info_portion. Как - знаешь думаю.

выдачу поршня actor:give_info_portion("info") возможно надо будет поставить перед последним end если первый вариант не заспавнит нужное кол-во неписей.

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

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

FaithGTX
файлы XML трогал?
тэг wnd где-то трогал? там и ищи...

отредактировал(а) erlik: 18-09-2009 23:13 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
karavan
    
Посты: 940
Откуда:
Возраст:
18-09-2009 23:21 GMT3 час. #1039434   
erlik
Написал по твоему примеру.
function name_2()
local npc1
npc1 = level_object_by_sid(889)
if npc1 and npc1:alive() then
return
else
for i = 1, 10 do
alife():create("yan_zombied_respawn_1",vector():set(-34,-10,-71),244091,111)
end
end
end
Игра вылетает при загрузке. Где нужно прописать (889) в АллСпавне или game_story_ids, а главное как правельно?


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)


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


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

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