Пользователей: 2
Гостей: 1518
Всего: 1520

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
XrKamp
    
Посты: 129
Откуда:
Возраст: 14
17-06-2010 18:29 GMT3 час. #1272633   
Mehanik Yar
Вставь в нужную ветвь диалога тег ск


Внимание! В подписи запрещены ссылки на любые внешние ресурсы!
не смотри журнал
blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-06-2010 18:31 GMT3 час. #1272635   
Mehanik Yar _http://stalkerin.gameru.net/wiki/index.php/Анимации_NPC

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

Николай ФеНиКс Кажется он не может найти фразу.


# blackraven6 :
При создании нового класса получил вылет:


ЛОГ ОШИБКИ
Expression : !lst.empty()
Function : CHudItem::animGet
File : E:\stalker\patch_1_0004\xr_3da\xrGame\HudItem.cpp
Line : 295
Description : draw_r


Поисковик молчит, как партизан :-(

Что ему с анимами не понравилось 0_о


отредактировал(а) blackraven6: 17-06-2010 18:34 GMT3 час.


Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
XrKamp
    
Посты: 129
Откуда:
Возраст: 14
17-06-2010 18:35 GMT3 час. #1272638   
Mehanik Yar

Затем, как сделать мутанта нейтральным и к сталерам и к ГГ?

Копайся в файле game_relations.ltx

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

Mehanik Yar

Как в спавне прописать направление предмета? Ну т.е. телевизор к примеру может быть направлен экраном к югу а может к югозападу а может еще как то.

Меняй вектор!
direction =

отредактировал(а) XrKamp: 17-06-2010 18:38 GMT3 час.

Внимание! В подписи запрещены ссылки на любые внешние ресурсы!
не смотри журнал
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
17-06-2010 19:01 GMT3 час. #1272647   
и как сделать чтобы фраза допусти 13 (ответ для ГГ) не появилась пока не будет у него(ГГ) сотни?
--------------------------------------


XrKamp

ага понял СПС= )я и забыл про перекондишены...= )

отредактировал(а) Николай ФеНиКс: 17-06-2010 20:12 GMT3 час.

XrKamp
    
Посты: 129
Откуда:
Возраст: 14
17-06-2010 19:20 GMT3 час. #1272655   
Николай ФеНиКс


и как сделать чтобы фраза допусти 13 (ответ для ГГ) не появи**5003c54314580bda8be6**ion has_money_for_informer_2(actor, npc)
return actor:money() >= 100
end[/code]

Если есть 100 то диалог появляется


Внимание! В подписи запрещены ссылки на любые внешние ресурсы!
не смотри журнал
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
17-06-2010 19:22 GMT3 час. #1272656   
**5001c54314580bda8be6**

Как сделать, чтоб в этой функции была проверка не только одного ПМ'а, но и еще, например, Винтореза и fn2000?


Новые фишки для сталкера(см. журнал)
Sido
    
Посты: 1
Откуда:
Возраст:
17-06-2010 19:26 GMT3 час. #1272661   
Проверка на один из стволов:

function search_weaponss_complete(actor, npc)
if db.actor ~= nil then
if (db.actor:object("wpn_pm") ~= nil or db.actor:object("wpn_vintorez") ~= nil or db.actor:object("wpn_fn2000") ~= nil) then
db.actor:give_info_portion("gy-gy")
return true
end
end
return false
end

Проверка на все стволы:

function search_weaponss_complete(actor, npc)
if db.actor ~= nil then
if (db.actor:object("wpn_pm") ~= nil and db.actor:object("wpn_vintorez") ~= nil and db.actor:object("wpn_fn2000") ~= nil) then
db.actor:give_info_portion("gy-gy")
return true
end
end
return false
end

Попробуй так.


blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-06-2010 19:27 GMT3 час. #1272662   
XrKamp ты уверен ч



Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
17-06-2010 19:43 GMT3 час. #1272680   
Sido
Спасибо, работает.


Новые фишки для сталкера(см. журнал)
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
17-06-2010 19:45 GMT3 час. #1272685   
Как прервать диалог? т.е. нажимаешь на диалог и выходишь из Базара с НПС.

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

Mehanik Yar

ЦитатаЗатем, как сделать мутанта нейтральным и к сталерам и к ГГ?


Копайся в файле game_relations.ltx
Мне нужно только 2 мутанта нейтралы, а все остальные пусть вражеские остаются. И еще, я имею ввиду не 2 вида мутантов, а два индивидуальных мутанта. Ну как напрмиер в ЗП, там у ноя псевдособака. Она не атакует.

отредактировал(а) Mehanik Yar: 17-06-2010 19:48 GMT3 час.

Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
17-06-2010 19:52 GMT3 час. #1272696   
Mehanik Yar
Вешай на нужную фразу это и диалог прервется:
dialogs.break_dialog


Новые фишки для сталкера(см. журнал)
blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-06-2010 19:54 GMT3 час. #1272699   
Mehanik Yar говорю же прочитай сталкер-вики. Сразу все левые вопросы закончаться.



Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
17-06-2010 20:07 GMT3 час. #1272712   

Что ему с анимами не понравилось 0_о

Дело в том, что ему нужны теже самые анимации, но только с префиксом _r. Я их создавал в СДК, сначала перегнав ОГФ модель (какую ты выбрал для анимок - незнаю) через конвертёр бардака в .skls и копировав каждую с переименованием. В итоге получалось примерно так:
idle
idle_r
reload
reload_r
holster
holster_r

и т.д.
Ну а затем компилишь .skl (или .skls, непомню) назад в ОГФ.
Но в конфиге пишешь без _r, т.е. idle, reload и т.п.


Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
17-06-2010 20:08 GMT3 час. #1272714   
Да я читал но забыл.


Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
17-06-2010 20:12 GMT3 час. #1272720   
вот, что за лог:**5001c54314580bda8be6**st()[/code]

??? при разговоре с НПСом.
Вот сам диалог:
[code]


minigra_0
1


minigra_1
2
3


minigra_2
4


minigra_3


minigra_4
5


minigra_5
6


minigra_6
7
8
10


minigra_7
12


minigra_8
9


minigra_9


minigra_10


minigra_11


minigra_12
11
13
14


minigra_13
tims_minigra.esc_minigra_teleport
tims_minigra.hud_static
tims_minigra.start_timer_minutes
evil_zone.bablo


minigra_14


[/code]

вылет после нажатия на фразу №5


Grey777
    
Посты: 92
Откуда: Люберцы
Возраст:
17-06-2010 20:12 GMT3 час. #1272721   
что такое сталкер вики объясните не разу не сталкивался ?:blink


blackraven6
    
Посты: 624
Откуда: СПб
Возраст: 32
17-06-2010 20:17 GMT3 час. #1272723   
Grey777 http://stalkerin.gameru.net/wiki/index.php/Заглавная_страница

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

Darien Fx
А вот почему у меня чувство дэ жа вю я про это в теме про моздание модели худа видел. Только там не было лога ошибки вот поиск ничего и не дал. Спасибо.

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

Зы. skls это архив анимаций, т.е. все анимашки вместе. skl это одна анима. Они привязываются в сдк к модели и сразу вместе с ней компилятся в ogf отдельно с ними ничего делать не надо.

отредактировал(а) blackraven6: 17-06-2010 20:21 GMT3 час.


Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
Grey777
    
Посты: 92
Откуда: Люберцы
Возраст:
17-06-2010 20:24 GMT3 час. #1272728   
blackraven6 спс


Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
17-06-2010 20:37 GMT3 час. #1272736   
Mehanik Yar
Вставь в нужную ветвь диалога тег скрипт.функция
Код:
function razgovor()
local snd = xr_sound.get_safe_sound_object( [[characters_voice\scenario\military\lukash\mil_lukash_to_actor]] )
snd:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d)
end

скрипт.функция скрипт///////// это имя скрипта. функция... это имя функции. А сам этот скрипт где писапть? В папке скрипт в геймдате или в конфигах? И как оформить

function razgovor( Тут что то писать?)
local snd = xr_sound.get_safe_sound_object( [[characters_voice\scenario\military\lukash\mil_lukash_to_actor]] )
snd:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d)
end

Я как бы все сделал но НПС не говорит ничего. Хотя игра не вылетает.


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
17-06-2010 20:49 GMT3 час. #1272742   
Mehanik Yar

А сам этот скрипт где писапть?

В папке gamedata\scripts создай скриптовый файл и в нем пиши.

function razgovor( Тут что то писать?)

Нет, сдесь аргументов вроде


Новые фишки для сталкера(см. журнал)
Vin4ester
    
Посты: 36
Откуда: Челябинск
Возраст: 30
17-06-2010 21:06 GMT3 час. #1272755   
Незнает пчм при Разбивании Коробки вылет с логом ?
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: ...lishing\s.t.a.l.k.e.r\gamedata\scripts\xr_box.script:112: attempt to index field '?' (a nil value)


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
17-06-2010 21:18 GMT3 час. #1272763   
Vin4ester
xr_box.script юзал?


Новые фишки для сталкера(см. журнал)
Vin4ester
    
Посты: 36
Откуда: Челябинск
Возраст: 30
17-06-2010 21:19 GMT3 час. #1272764   
Stalk15 Нет.
Вот щас опять вылеты с этимже логом только при попытке сна :/


Artos
    
Посты: 4176
Откуда:
Возраст: 65
17-06-2010 21:36 GMT3 час. #1272771   
Николай ФеНиКс
Ты как всегда ... не утруждаешь себя полнотою информации в своем вопросе ...
Ищи причину своего вылета по ошибке "pos.word_1.exist()" в форматировании текста самой 5-ой фразы. А точнее - убери 'под(ц)светку' шрифта ("%c[XXX,XXX,XXX,XXX]" или т.п.), если еще не научился пользоваться ею без ошибок.


Vin4ester
Или ты неудачно поковырял "misc/ph_box_generic.ltx" или "левая коробочка" у тебя возникла ... Ищи.
(И не коверкай русский язык в своих вопросах! Ответить могут и ... аналогично.)

отредактировал(а) Artos: 17-06-2010 21:57 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
17-06-2010 22:14 GMT3 час. #1272802   
Artos
По поводу виджета.
Вывести - вывел. Пример твоего скрипта помог понять как же надо было правильно "родителя" передавать. Благодарю от всей души :-)
Правда пришлось пойти все же своим путем. С динамическим вариантом возникли проблемы - координаты, имена кнопок еще можно динамически передавать, создавать, а вот каллбеки и методы - у меня же их восемь штук - по два на кнопку - вот тут я не понял как это можно сделать наподобие твоего варианта (а у тебя только один метод, один каллбек) - к тому же статик мне был все же нужен - для текста.

Поэтому также как и было в самом первом варианте инициировал статик, приаттачил к нему все кнопки и в самом конце функции InitControls() уже приаттачил статик к родительскому окну инвентаря self.owner:AttachChild(stat)

Вывелся нормально - как часть инвентаря. Кстати кнопки теперь**5001c54314580bda8be6**rn item and item:section() == WeaponGravi
end


-- стоит на апдейте эктора
function UpdateInventory()
if inventory_open then
news_manager.send_tip(db.actor, "Инвентарь открыт", 0, "trader", 10000)
if CheckWeaponInSlot() then
news_manager.send_tip(db.actor, "Ствол наш", 0, "trader", 10000)
if update then
news_manager.send_tip(db.actor, "Апдейт true", 0, "trader", 10000)
inventory = level.main_input_receiver() -- получаем родительское окно
if inventory then
wnd = Gravi(inventory) -- передаем родителя в созданный класс
update = false -- закрываем блок от апдейта
news_manager.send_tip(db.actor, "Апдейт false", 0, "trader", 10000)
end
end
else -- если ствол не наш а виджет например уже приаттачен
-- то тут надо как то деаттачить или спрятать кнопки
news_manager.send_tip(db.actor, "Ствол не наш", 0, "trader", 10000)
end
elseif not inventory_open then
update = true
inventory = nil
wnd = nil
news_manager.send_tip(db.actor, "Инвентарь закрыт", 0, "trader", 10000)
end
end[/code]

к тому же непонятно как убирать виджет из инвентаря, если условие - ствол не тот\ствола нет вообще в слоте - не выполняется.
Так то он исчезает сам - при закрытии инвентаря. Но аттачится он как я понял навсегда. То есть при повторном открытии инвентаря - даже если в слоте не тот ствол (условие для аттача не выполняется) виджет все равно присутствует.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
17-06-2010 22:36 GMT3 час. #1272819   
blackraven6, XrKamp, Sido
Функцию проверки лучше организовать несколько иначе.

Первая причина (главная) практическая.
Вы в двух строчках кода 5 раз получаете глобальный об


Не стань номинантом премии Дарвина.
Artos
    
Посты: 4176
Откуда:
Возраст: 65
17-06-2010 22:38 GMT3 час. #1272820   
erlik
Честно говоря думал, что пример 'как у меня' тебе бОльше поможет.
Начал я его конечно на 'своих' кодах, но под 'твою' задачу.
Элементарно сделал чек-боксовые кнопки (собственно они сами сразу сделались). Все три моих слота превратились в 'кнопки выбора' состояния.
Надпись тоже беспроблемно вывелась, даже оставил в своих кодах заремленные кусочки для твоей проверки. Не требуется тут никакой 'статик'!
Дальше не стал двигаться. Т.к. ты не дал достаточной информации о тм, что же кроме простейших действий должны выполнять кнопки.

Как я понял ты все же не разобрался ни с коллбеками, ни с передачей методов. Хотя метод смены текстуры на кнопке при выбрасывании предмета из слота - тебе должен был подсказать аналогию по использованию остальных методов.
Насчет коллбеков посложнее. Я подобные твоим не применял. В исходниках примеров не видел. Т.о. не уверен, что хотя и заявлены разрабами, вроде как есть, но ... рабочие ли они? ИМХО, можно обойтил тем, который применил я.
Ты ошибаешься в цифрах, у меня хоть и один коллбэк, но(!) один на каждую кнопку, т.е. их 3(!).
Было бы 4 кнопки - было бы соответственно их 4.
Если пояснишь (пред)назначение твоих коллбэков - попробую понять и предложить решение.

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

P.S. Виджет можно как аттачить, так и деатачить. Хотя и это можно не делать. При нужном условии можно убивать виджет или добавлять и внеся проверку в класс или его вызов - обходить вызовы "пустых" виджетов/кнопок.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
17-06-2010 23:02 GMT3 час. #1272833   
Artos

что же кроме простейших действий должны выполнять кнопки.

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

Не требуется тут никакой 'статик'!

статик был был мне нужен для вывода одной надписи поверх кнопок

local stat= CUIStatic() --определяем класс виджета
stat:SetAutoDelete(true) --автоудоление виджета
stat:Init(391, 495, 300, 200) --устанавливаем координаты и размер виджета.
--stat:InitTexture("ui\\screen.dds")
--stat:ClipperOn()
stat:SetWindowName("gravi_static") --назначаем ему произвольное имя,
stat:SetFont(GetFontMedium()) --назначим шрифт выводимому тексту.
stat:SetTextX(60)
stat:SetTextY(150)
stat:SetTextColor(238,155,23,255)
stat:SetTextAlign(0)
local text = "Настройки гравипушки"
stat:SetText(text)


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

По поводу использования событий на клик (ui_events.BUTTON_CLICKED) - если они будут работать для класса CUICheckButton() то попробую.

При нужном условии можно убивать виджет или добавлять и внеся проверку в класс или его вызов

вот с этим пока не разобрался . пробовал DetachChild(CUIWindow*) но не вышло.
не знаю откуда его правильно вызывать.
---------------------------------------------------
А есть ли метод для проверки что к некоему окну уже приаттачен некий виджет?
Я так понял что мне аттач нужно сделать единожды и больше блок с аттачем не вызывать при открытии окна инвентаря - разве что тогда, когда виджет был деаттачен.

отредактировал(а) erlik: 17-06-2010 23:16 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
17-06-2010 23:14 GMT3 час. #1272840   
Artos
я и с цветом работал... да=)
а что **5001c54314580bda8be6**руб; \n%c[255,1,255,255]попадание в ногу = 20руб; \n%c[255,1,255,255]попадание в руку = 60руб;%c[default]...[/code]


... -- это остальной текст. не подсвеченный !- )


Artos
    
Посты: 4176
Откуда:
Возраст: 65
17-06-2010 23:27 GMT3 час. #1272847   
erlik
Перечисленные тобою действия полностью реализуются и в приведенном примере и давно использую в Симбионе в меню **5004c54314580bda8be6**)) --/ надпись на кнопке
self.btn:SetTextAlign(CGameFont.alCenter) --/положение надписи
self.btn:SetTextY(40) --/ смещение ...
--]]
[/code]
Если бы ты последовал бы совету "заменить класс CUIButton на CUICheckButton2, то получил бы готовый вариант. Осталось бы только написать установку состояний для кнопок, считывание состояний и сохранение.
Все это можно одним коллбэком "ui_events.BUTTON_CLICKED". Вель клик по чек-боксу - меняет состояние, которое нужно просто прочесть и соответственно просвоить флагу.

В общем сегодня не обещаю, но за завтрашний вечер попробую дать некий пример на базе твоей задачи/кода.


Николай ФеНиКс
Я же посоветовал - убери подцветку и ошибка пропадет! Это означает, что в возникновении ошибки "виноват" а) ты, б) движок в) оба.
Считай по варианту в).
Парсинг в Сталкере не безукоризен и порой 'давится' на неких кусках текста/символах.
Могу однозначно сказать, что присутствие в стоке вот такого куска:
"...%c[default]%c[0,250,45,45]..." приводит к "твоей ошибке'.
А вот если так:
"...%c[default]%c[0,250,45,45]..." - то ошибка исчезает. Т.е. какой-либо символ 'между' (кроме пробела) не дает парсеру сбиваться.

В общем ищи комбинации текста/цвета, которые НЕ будут приводить к фатал-еррорам(!) или откажись использовать расцветку.

P.S. Вспомнил еще, что после перевода строки 'ручками', т.е. '\n' - и использование после этого сразу же маски подцветки текста - критично!
Пробуй так:
"...\n%c[0,250,45,45]твой текст ..."

отредактировал(а) Artos: 17-06-2010 23:44 GMT3 час.

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


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


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

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