Баги, глюки, ошибки, вылеты
|
|
|
Sanjaaa
Среда, 07.11.2012, 09:33 | Сообщение # 106
Dark Reaper Souls
Статус: |
|
Бывалый: |
|
Сообщений: |
926 |
Награды: |
6 |
Регистрация: |
22.08.2012 |
|
СЕРА, Походу ты туда бегом бежал. попробуй шагом это место пройти
|
|
Среда, 07.11.2012, 09:33
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
22.08.2012 |
|
|
|
|
|
СЕРА
Среда, 07.11.2012, 13:46 | Сообщение # 107
Статус: |
|
Новичок: |
|
Сообщений: |
284 |
Награды: |
1 |
Регистрация: |
17.04.2012 |
|
НЕТ У МЕНЯ ВЫЛЕТ ПРИ ПЕРЕХОДЕ НА ЭТУ ЛАКАЦИЮ
|
|
Среда, 07.11.2012, 13:46
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
17.04.2012 |
|
|
|
|
|
Comador
Среда, 07.11.2012, 14:43 | Сообщение # 108
Статус: |
|
Неопытный: |
|
Сообщений: |
507 |
Награды: |
2 |
Регистрация: |
23.12.2011 |
|
ToAll, может будете указывать игровой набор?
Sanjaaa, больше похоже на то, что "вырезано" часть диалогов.
СЕРА, стволы добавлял?
|
|
Среда, 07.11.2012, 14:43
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
23.12.2011 |
|
|
|
|
|
СЕРА
Среда, 07.11.2012, 15:37 | Сообщение # 109
Статус: |
|
Новичок: |
|
Сообщений: |
284 |
Награды: |
1 |
Регистрация: |
17.04.2012 |
|
да добовлял стволы
|
|
Среда, 07.11.2012, 15:37
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
17.04.2012 |
|
|
|
|
|
Статус: |
|
Опытный: |
|
Сообщений: |
1480 |
Награды: |
0 |
Регистрация: |
05.01.2012 |
|
Получил вылет. Code FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: d:\stalker-my_mod\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)
stack trace: Решил убрать монолог Сидора. Code [logic] active = {+esc_trader_hello_played} mob_trader@new_idle1, mob_trader@new_start_wait on_trade = mob_trade@new trade = misc\trade_trader.ltx
; ------------------------------------------------------------------------------------------------------ ; СТАРТ ; ------------------------------------------------------------------------------------------------------ ; Ждем немного [mob_trader@new_start_wait] anim_global = chair_hack_idle on_timer = 5000| mob_trader@new_start_intro1 can_talk = false tip_text =
;Подвигаемся к игроку [mob_trader@new_start_intro1] anim_global = chair_hack_to_desk on_signal = animation_end| mob_trader@new_start_intro2 %+esc_trader_hello_played% can_talk = false tip_text =
;Первая фраза "я тебя спас..." ;[mob_trader@new_start_intro2] ;anim_global = first_phrase ;anim_head = first_phrase ;sound_phrase = trader_monolog1 ;on_signal = animation_end| mob_trader@new_start_intro3 ;can_talk = false ;tip_text =
; Ждем немного, включаем управление ;[mob_trader@new_start_intro3] ;anim_global = desk_idle ;tip = tips_esc_trader_how_to_talk ;on_info = {=talking} mob_trader@new_idle1 ;on_timer = 5000 | mob_trader@new_start_intro4
; Говорим вторую фразу (что стоишь? подходи) [mob_trader@new_start_intro4] anim_global = desk_talk anim_head = normal sound_phrase = trader_come_here2 on_signal = sound_phrase_end | mob_trader@new_idle1 ;on_info = {=talking} mob_trader@new_idle1 ; обрывать фразу on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
;---------------------------------- ;------------- Idle --------------- ;----------------------------------
;Основной idle (1) - за столом [mob_trader@new_idle1] anim_global = desk_idle on_signal = animation_end| {~25} mob_trader@new_idle1_to_idle3, {~50} mob_trader@new_idle1_to_idle5, {~75} mob_trader@new_idle1_to_idle2, mob_trader@new_idle1_to_idle1 on_info = {=talking} mob_trader@new_idle1_to_idle3 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait
; Idle (2) - по диагонали [mob_trader@new_idle2] anim_global = diagonal_idle on_signal = animation_end| {~25} mob_trader@new_idle2_to_idle3, {~50} mob_trader@new_idle2_to_idle4, {~75} mob_trader@new_idle2_to_idle1, mob_trader@new_idle2_to_idle2 on_info = {=talking} mob_trader@new_idle2_to_idle3 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait
; Idle (3) - откинувшись на спинку [mob_trader@new_idle3] anim_global = chair_hack_idle on_signal = animation_end| {~30} mob_trader@new_idle3_to_idle2, {~70} mob_trader@new_idle3_to_idle1, mob_trader@new_idle3_to_idle3 on_info = {=talking} mob_trader@new_talking on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait
; Idle (4) - за компьютером [mob_trader@new_idle4] anim_global = compute_idle on_signal = animation_end| {~40} mob_trader@new_idle4_to_idle2, mob_trader@new_idle4_to_idle4 on_info = {=talking} mob_trader@new_idle4_to_idle2 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait
; Idle (5) - читает [mob_trader@new_idle5] anim_global = listen_idle on_signal = animation_end| {~45} mob_trader@new_idle5_to_idle1, mob_trader@new_idle5_to_idle5 on_info = {=talking} mob_trader@new_idle5_to_idle1 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ;---------------------------------- ;-------- Автопереходы -------- ;----------------------------------
; Стол - стол (промежуточная) [mob_trader@new_idle1_to_idle1] anim_global = desk_idle on_signal = animation_end| mob_trader@new_idle1
; Диагональ - диагональ (промежуточная) [mob_trader@new_idle2_to_idle2] anim_global = diagonal_idle on_signal = animation_end| mob_trader@new_idle2
; Спинка - спинка (промежуточная) [mob_trader@new_idle3_to_idle3] anim_global = chair_hack_idle on_signal = animation_end| mob_trader@new_idle3
; Компьютер - компьютер (промежуточная) [mob_trader@new_idle4_to_idle4] anim_global = compute_idle on_signal = animation_end| mob_trader@new_idle4
; Читает - читает (промежуточная) [mob_trader@new_idle5_to_idle5] anim_global = listen_idle on_signal = animation_end| mob_trader@new_idle5
;---------------------------------- ;----- Переходы между idle-ми ---- ;----------------------------------
; Диагональ - компьютер [mob_trader@new_idle2_to_idle4] anim_global = diagonal_to_compute on_signal = animation_end| mob_trader@new_idle4
; Компьютер - диагональ [mob_trader@new_idle4_to_idle2] anim_global = compute_idle_to_diagonal on_signal = animation_end| mob_trader@new_idle2
; Диагональ - спинка [mob_trader@new_idle2_to_idle3] anim_global = diagonal_to_chair_hack on_signal = animation_end| {=talking} mob_trader@new_talking, mob_trader@new_idle3
; Спинка - диагональ [mob_trader@new_idle3_to_idle2] anim_global = chair_hack_to_diagonal on_signal = animation_end| mob_trader@new_idle2
; Стол - спинка [mob_trader@new_idle1_to_idle3] anim_global = desk_to_chair_hack on_signal = animation_end|{=talking} mob_trader@new_talking, mob_trader@new_idle3
; Спинка - стол [mob_trader@new_idle3_to_idle1] anim_global = chair_hack_to_desk on_signal = animation_end| mob_trader@new_idle1
; Стол - диагональ [mob_trader@new_idle1_to_idle2] anim_global = desk_to_diagonal on_signal = animation_end| mob_trader@new_idle2
; Диагональ - стол [mob_trader@new_idle2_to_idle1] anim_global = diagonal_to_desk on_signal = animation_end| mob_trader@new_idle1
; Стол - читает [mob_trader@new_idle1_to_idle5] anim_global = desk_to_listen on_signal = animation_end| mob_trader@new_idle5
; Читает - стол [mob_trader@new_idle5_to_idle1] anim_global = listen_to_desk on_signal = animation_end| mob_trader@new_idle1
;-------------------------------------- ;------------- Разговор --------------- ;--------------------------------------
[mob_trader@new_talking] anim_global = chair_hack_talk anim_head = normal on_info = {!talking} mob_trader@new_idle3
;-------------------------------------- ;------------ Торговля ---------------- ;--------------------------------------
[mob_trade@new] anim_global = chair_hack_idle on_info = {=trading =trade_exchanged} mob_trader@new_trade_exchanged on_info2 = {!trading =trade_exchanged} mob_trader@new_trade_good on_info3 = {!trading !trade_exchanged} mob_trader@new_trade_bad
[mob_trader@new_trade_bad] ;anim_global = diagonal_talk anim_global = chair_hack_idle anim_head = angry sound_phrase = trader_bad_trade on_signal = sound_phrase_end | mob_trader@new_idle2 on_actor_dist_ge_nvis = 12 | mob_trader@new_wait
[mob_trader@new_trade_exchanged] ;anim_global = diagonal_talk anim_global = chair_hack_idle anim_head = normal sound_phrase = trader_exchanged on_signal = sound_phrase_end | mob_trader@new_idle2 on_actor_dist_ge_nvis = 12 | mob_trader@new_wait
[mob_trader@new_trade_good] ;anim_global = diagonal_talk anim_global = chair_hack_idle anim_head = good sound_phrase = trader_good_trade on_signal = sound_phrase_end | mob_trader@new_idle2 on_actor_dist_ge_nvis = 12 | mob_trader@new_wait
;------------------------------------- ;---------- Приветствия -------------- ;-------------------------------------
[mob_trader@new_hello] anim_global = hello anim_head = normal sound_phrase = trader_hello_what_have_you_got on_signal = animation_end | mob_trader@new_idle2
[mob_trader@new_bye] on_actor_dist_ge_nvis = 12 |mob_trader@new_wait anim_global = hello anim_head = normal sound_phrase = trader_bye on_signal = animation_end | mob_trader@new_wait
[mob_trader@new_wait] anim_global = diagonal_idle_short on_actor_dist_le_nvis = 3 | {-esc_trader_hello_played} mob_trader@new_hello %+esc_trader_hello_played% on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | %-esc_trader_hello_played -esc_trader_bye_played%
|
|
Вторник, 04.12.2012, 18:43
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.01.2012 |
|
|
|
|
|
Comador
Вторник, 04.12.2012, 19:05 | Сообщение # 111
Статус: |
|
Неопытный: |
|
Сообщений: |
507 |
Награды: |
2 |
Регистрация: |
23.12.2011 |
|
Quote (6poHR777) on_signal = animation_end| mob_trader@new_start_intro2 %+esc_trader_hello_played% Здесь идет переход к секции "mob_trader@new_start_intro2", которую ты дальше за комментировал. Раскомментируй ее и приведи к такому виду Quote [mob_trader@new_start_intro2] anim_global = desk_idle on_info = {=talking} mob_trader@new_idle1 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
|
|
Вторник, 04.12.2012, 19:05
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
23.12.2011 |
|
|
|
|
|
6poHR777
Воскресенье, 09.12.2012, 03:25 | Сообщение # 112
Статус: |
|
Опытный: |
|
Сообщений: |
1480 |
Награды: |
0 |
Регистрация: |
05.01.2012 |
|
Comador, спасибо, сейчас буду тестить. Добавлено (09.12.2012, 03:25) --------------------------------------------- Словил вылет. Лог пустой. Добавил диалог. Code <?xml version="1.0" encoding="windows-1251" ?> <game_dialogs>
<dialog id="pda_for_trader"> <precondition>give_trader_pda.have_pda_1</precondition> <phrase_list> <phrase id="0"> <text>text_pda_for_trader_0</text> <next>1</next> </phrase> <phrase id="1"> <text>text_pda_for_trader_1</text> <next>21</next> <next>22</next> <next>23</next> </phrase> <phrase id="21"> <text>text_pda_for_trader_2</text> <action>give_trader_pda.give_trader_pda_1</action> <action>give_trader_pda.give_money_pda_1</action> <next>3</next> </phrase> <phrase id="22"> <text>text_pda_for_trader_3</text> <precondition>give_trader_pda.have_pda_5</precondition> <action>give_trader_pda.give_trader_pda_5</action> <action>give_trader_pda.give_money_pda_5</action> <next>3</next> </phrase> <phrase id="23"> <text>text_pda_for_trader_4</text> <precondition>give_trader_pda.have_pda_10</precondition> <action>give_trader_pda.give_trader_pda_10</action> <action>give_trader_pda.give_money_pda_10</action> <next>3</next> </phrase>
<phrase id="3"> <text>text_pda_for_trader_5</text> <next>4</next> </phrase> <phrase id="4"> <text>text_pda_for_trader_6</text> <action>dialogs.break_dialog</action> </phrase> </phrase_list> </dialog> </game_dialogs>
Скриптовая составляющая такая: Code function have_pda_1(task, objective) if db.actor ~= nil then return db.actor:object("device_pda") ~= nil end return false end
function have_pda_5() return give_trader_pda.have_n_m("device_pda",5) end
function have_n_m(section,number) local actor = db.actor if actor then local cnt = 0 actor:iterate_inventory( function (dummy, item) if item:section() == section then cnt = cnt + 1 end end ,nil) return cnt >= number end return false end
function have_pda_10() return give_trader_pda.have_n_m("device_pda",10) end
function have_n_m(section,number) local actor = db.actor if actor then local cnt = 0 actor:iterate_inventory( function (dummy, item) if item:section() == section then cnt = cnt + 1 end end ,nil) return cnt >= number end return false end
'------give items
function give_trader_pda_1(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "device_pda", "out") end
function give_trader_pda_5(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") end
function give_trader_pda_10(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") dialogs.relocate_item_section(second_speaker, "device_pda", "out") end
'----Revard to Actor
function give_money_pda_1(first_speaker, second_speaker) dialogs.relocate_money(first_speaker, 100, "in") end
function give_money_pda_5(first_speaker, second_speaker) dialogs.relocate_money(first_speaker, 600, "in") end
function give_money_pda_10(first_speaker, second_speaker) dialogs.relocate_money(first_speaker, 1200, "in") end
|
|
Воскресенье, 09.12.2012, 03:25
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.01.2012 |
|
|
|
|
|
Статус: |
|
Неопытный: |
|
Сообщений: |
577 |
Награды: |
0 |
Регистрация: |
18.09.2012 |
|
6poHR777, function have_pda_5() return give_trader_pda.have_n_m("device_pda",5) end
function have_n_m(section,number) local actor = db.actor if actor then local cnt = 0 actor:iterate_inventory( function (dummy, item) if item:section() == section then cnt = cnt + 1 end end ,nil) return cnt >= number end return false end
function have_pda_10() return give_trader_pda.have_n_m("device_pda",10) end
function have_n_m(section,number) local actor = db.actor if actor then local cnt = 0 actor:iterate_inventory( function (dummy, item) if item:section() == section then cnt = cnt + 1 end end ,nil) return cnt >= number end return false end Вот здесь и может быть причина вылета. Вобще я заметил, у тебя очень много вылетов... Я глобалку делаю, и у меня нет такого количества вылетов... А если и были, всегда сам находил причину...
|
|
Пятница, 04.01.2013, 00:10
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
18.09.2012 |
|
|
|
|
Пятница, 04.01.2013, 12:55
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.01.2012 |
|
|
|
|
|
Статус: |
|
Неопытный: |
|
Сообщений: |
577 |
Награды: |
0 |
Регистрация: |
18.09.2012 |
|
6poHR777, Если ты говоришь с НПС - то можно и так и так - без разницы. Если через биндер, или другой скрипт - не привязаный к диалогам - через удаление предметов. По другому не работает.
|
|
Пятница, 04.01.2013, 14:56
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
18.09.2012 |
|
|
|
|
|
BozKurt
Пятница, 04.01.2013, 15:57 | Сообщение # 116
Статус: |
|
Опытный: |
|
Сообщений: |
1753 |
Награды: |
3 |
Регистрация: |
25.05.2012 |
|
6poHR777, я же тебе уже отвечал на этот вопрос: вылет из-за неправильных комментариев в 44 и 90 строках:Код '------give items '----Revard to Actor
На счёт удаления или перемещения - здесь зависит от того, что тебе конкретно нужно.
Сообщение отредактировал ColR_iT - Пятница, 04.01.2013, 15:57
|
|
Пятница, 04.01.2013, 15:57
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.05.2012 |
|
|
|
|
|
Статус: |
|
Опытный: |
|
Сообщений: |
1480 |
Награды: |
0 |
Регистрация: |
05.01.2012 |
|
ColR_iT, я это все давно убрал, все работало, лог был нормален. Но потом когда захотел использовать функции 5 и 10, то случился вылет. Вот он, сохранил, чтоб потом на инсайде или АМК поискать. Код FATAL ERROR [error]Expression : assertion failed [error]Function : xrServer::Process_event_reject [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp [error]Line : 12 [error]Description : e_parent && e_entity
stack trace:
Вот поэтому и интересуюсь, удалять или передавать НПС предметы в диалоге.
Сообщение отредактировал 6poHR777 - Пятница, 04.01.2013, 16:12
|
|
Пятница, 04.01.2013, 16:12
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.01.2012 |
|
|
|
|
|
BozKurt
Пятница, 04.01.2013, 16:33 | Сообщение # 118
Статус: |
|
Опытный: |
|
Сообщений: |
1753 |
Награды: |
3 |
Регистрация: |
25.05.2012 |
|
6poHR777, это движковый вылет, ни причины, ни лечения нет, некоторым помогает загрузка последнего сохранения. Что касается передачи или удаления, как уже сказал - зависит от того, что конкретно тебе нужно.
|
|
Пятница, 04.01.2013, 16:33
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.05.2012 |
|
|
|
|
|
Sanjaaa
Пятница, 04.01.2013, 16:39 | Сообщение # 119
Dark Reaper Souls
Статус: |
|
Бывалый: |
|
Сообщений: |
926 |
Награды: |
6 |
Регистрация: |
22.08.2012 |
|
помогите мнееее. Тени чернобыля 1.0004. вылет при торговле с барменом. пишет ошибка приложения XR_3DA.exe и все. что делать помогтиее?
|
|
Пятница, 04.01.2013, 16:39
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
22.08.2012 |
|
|
|
|
|
Статус: |
|
Неопытный: |
|
Сообщений: |
577 |
Награды: |
0 |
Регистрация: |
18.09.2012 |
|
Sanjaaa, Игра без модов? И где лог?
|
|
Суббота, 05.01.2013, 01:00
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
18.09.2012 |
|
|
|
|