Перейти к содержанию

Рекомендуемые сообщения

 
 

liner Я не изменял значение " afc.x " и только что проверял, все шесть слотов работают, на всех блокеры хайлайты работают и во все можно положить арты... Видать там в "каком-то файле" не очень циферка важна ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, liner сказал:

Почему не спаунится лут из ящика при его разрушении?

Потому что у ящика нет самой секции логики. А то что вы приводите в пример - это не логика, а просто секция drop_box, прописанная  в кастом дата, которая без секции  логики не читается биндером.

Для того чтобы это хозяйство работало правильно, нужно в кастом дата прописать:

[logic]
active = nil

[drop_box]

community = def_box
items = medkit, 3, antirad

  • Лайк 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Я правильно понимаю, настроек расположения кнопок в главном меню нет в xml да? Они в движке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 

В 24.03.2021 в 14:28, denis2000 сказал:

Yura001 npc:set_npc_position(position)

где npc - объект не играбельный персонаж

вместо npc надо указывать сharacter id телепортируемого персонажа в кавычках?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Мужики, собираю xrgame и получаю вот такой лог

Спойлер

1>------ Build started: Project: xrGame, Configuration: Release Win32 ------
1>Linking...
1>crypto.lib(xr_sha.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1>   Creating library ..\..\..\libraries\xrGame.lib and object ..\..\..\libraries\xrGame.exp
1>CustomOutfit.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CInventoryItem::net_Spawn_install_upgrade(char const *)" (?net_Spawn_install_upgrade@CInventoryItem@@UAEXPBD@Z)
1>..\..\..\binaries\xrGame.dll : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://c:\Users\ZV4X\Desktop\AAAA\intermediate\Release\xrGame\BuildLog.htm"
1>xrGame - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Что не так?


Дополнено 4 минуты спустя

CustomOutfit.zip


Дополнено 11 минуты спустя

Просто сделал правки в LexAddon'e и пытаюсь собрать это всё из исходников

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

ZV4X 
Надо ЗАМЕНИТЬ исходники оригинала на ИСХОДНИКИ Lex Addon. Или адаптировать самому.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

liner Ну так я так и сделал... Кинул сорсы из лех аддона в папку с проектом с заменой, и получаю такую ошибку... в том и прикол

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

ZV4X, у Вас крайне халатный подход к программированию, так помимо этого ещё Вы не удосужились предоставить никакой вспомогательной информации и рассчитываете на помощь. "В папку с проектом" - о каком именно проекте идёт речь? Модифицированный движок? Исходный код ЗП ~1.6.02?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

mmccxvii Исходники зп, stasvn 2008 типо. И да, я не программист вообще и в принципе. Я только учусь потихоньку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

mmccxvii Хорошо, я попробую так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Спойлер

nql    

function give_test_quest269()
task_manager.get_task_manager():give_task("quest_test_give269")
end
function is_has_test_npc269_1()
return act_h_s('spareparts')
end
function is_has_test_npc269_2()
return act_h_s('spareparts')
end
function is_has_test_npc269_3()
return act_h_s('spareparts')
end
function is_has_test_npc269_4()
return act_h_s('spareparts_p_2')
end
function is_has_test_npc269_5()
return act_h_s('spareparts_p_2')
end
function is_has_test_npc269_6()
return act_h_s('spareparts_p_2')
end
function is_has_test_npc269_7()
return act_h_s('spareparts_p_3')
end
function is_has_test_npc269_8()
return act_h_s('spareparts_p_3')
end
function is_has_test_npc269_9()
return act_h_s('spareparts_p_3')
end
function transfer_test_to_npc269_1(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts")
end
function transfer_test_to_npc269_2(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts")
end
function transfer_test_to_npc269_3(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts")
end
function transfer_test_to_npc269_4(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2")
end
function transfer_test_to_npc269_5(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2")
end
function transfer_test_to_npc254_6(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2")
end
function transfer_test_to_npc269_7(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_3")
end
function transfer_test_to_npc269_8(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_3")
end
function transfer_test_to_npc269_9(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_3")
end


tm darkwalle

[quest_test_give269]
icon = ui_inGame2_Karti_mestnosti
prior = 2
storyline = false
title = {=actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3)}test2-269, test1-269
descr = test3-269
target = {=actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3)} val_smart_terrain_7_3_bandit_mechanic_stalker
condlist_0 = {+quest_test_done269} complete, {+val_smart_terrain_7_3_bandit_mechanic_stalker_death} fail
condlist_1 = {+quest_test_proval269} fail
on_complete = %=reward_random_money(2000:3000) =complete_task_inc_goodwill(50:bandit)%
reward_item = cocaine:marijuana


dialogs

<!-- ========== задание технику ТД=============== -->

<dialog id="test269_quest_dialog_cordon1">
<dont_has_info>quest_test_give269</dont_has_info>
<phrase_list>
 <phrase id="0">
  <text>%c[0,190,100,50]Я от Султана, говорит помочь надо, я внимаю!</text>
  <next>1</next>
</phrase>
 <phrase id="1">
  <text>О, ништяк, гастарбайтер, гхы-гхы..! Короче смотри, у меня почти закончились оружейные части, а мне пацанам шпалеры чем чинить!? То-то и оно, вот принесёшь мне 3 комплекта разных по 3 шт. каждых, и тогда свободен, замётано?</text>
  <next>2</next>
  <next>3</next>
</phrase>
 <phrase id="2">
  <text>Ну ладно, пойду искать!</text>
  <next>22</next>
</phrase>
 <phrase id="22">
  <text>Да бросай, ты чё хмурый такой, давай веселее..!</text>
  <give_info>quest_test_give269</give_info>
  <action>nql.give_test_quest269</action>
</phrase>
 <phrase id="3">
  <text>Нет, давай в другой раз</text>
  <next>33</next>
</phrase>
 <phrase id="33">
  <text>Ладно, в другой раз так в другой раз</text>
</phrase>
</phrase_list>
</dialog>

<dialog id="test269_quest_dialog_cordon2">
<has_info>quest_test_give269</has_info>
<dont_has_info>quest_test_done269</dont_has_info>
<dont_has_info>quest_test_proval269</dont_has_info>
<phrase_list>
 <phrase id="0">
  <text>Я насчет задания!</text>
  <next>1</next>
</phrase>
 <phrase id="1">
  <text>Чё там?</text>
  <next>2</next>
  <next>3</next>
  <next>4</next>
</phrase>
 <phrase id="2">
<precondition>nql.is_has_test_npc269_1</precondition>
  <text>Вот, держи свой хлам!</text>
  <next>22</next>
</phrase>
 <phrase id="22">
  <text>А, железяки, давай сюда, красавчик, даю вольную, хе-хе-хе!</text>
  <action>nql.transfer_test_to_npc269_1</action>
  <action>nql.transfer_test_to_npc269_2</action>
  <action>nql.transfer_test_to_npc269_3</action>
  <action>nql.transfer_test_to_npc269_4</action>
  <action>nql.transfer_test_to_npc269_5</action>
  <action>nql.transfer_test_to_npc269_6</action>
  <action>nql.transfer_test_to_npc269_7</action>
  <action>nql.transfer_test_to_npc269_8</action>
  <action>nql.transfer_test_to_npc269_9</action>
  <give_info>quest_test_done269</give_info>
</phrase>
 <phrase id="3">
  <text>Я пока еще не нашел</text>
  <next>33</next>
</phrase>
 <phrase id="33">
  <text>Ну как найдешь, приходи</text>
</phrase>
 <phrase id="4">
  <text>Я отказываюсь от задания</text>
  <next>44</next>
</phrase>
 <phrase id="44">
  <text>Ну что поделать, ладно</text>
  <give_info>quest_test_proval269</give_info>
</phrase>
</phrase_list>
</dialog>

подскажите полажуйста, как поправить, чтобы заберал квестодатель все 9шт по 3шт одинаковых, ибо он заберает только по одной разных !? Вероятно ли это ?

Изменено пользователем Kalambur

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 минут назад, Kalambur сказал:

target = {=actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3)}

Это как раз образец того, как нужно сделать, чтобы запороть квест по полной программе!

У вас есть три объекта spareparts, spareparts_p_2, spareparts_p_3

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

В файле xr_conditions.script есть функция, которое это дело проверит - actor_has_item_count

Таким образом меняем target:

target = { =actor_has_item_count( spareparts:3 )  =actor_has_item_count( spareparts_p_2:3 )  =actor_has_item_count( spareparts_p_3:3 )  }

Дальше включаем  мозг и все кажется уже очень простым.

Подсказка - отдаем сразу все три предмета, которые в рюкзаке ГГ:

function transfer_test_to_npc269_4(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2", 3 )
end

 

 

  • Спасибо 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 25.03.2021 в 23:41, Yura001 сказал:

вместо npc надо указывать сharacter id телепортируемого персонажа в кавычках?

Нет конечно! "сharacter id" - это строка, npc - это клиентский объект. Его нужно передать в функцию, для того чтобы она знала с чем работать или получить внутри нее например вытащив из таблицы по стори_ид:
 

npc = get_story_object("стори_ИД_персонажа")

 

Изменено пользователем denis2000

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Добавил локацию через СДК, начал делать заселение. Сделал смарт (маска у смарта настроена на 255,255,255,024), назначил ему сквад - все работает. Меняю у сквада faction со stalker на killer , появляются ошибки (если поменять faction на stalker , то ошибки не будет). Подскажите в чем может быть дело?

Спойлер

! Object masks (1) :
!   [255][0][255][255]
! Cannot build GAME path! (object sim_default_killer_11596)
! CURRENT LEVEL : institut
! CURRENT game point position : [291.211243][0.006976][-188.968842]
! TARGET LEVEL : institut
! TARGET  game point position : [416.034119][0.048939][-259.303467]
! Target point mask [0][0][0][0]
! Object masks (1) :
!   [255][0][255][255]
 
 
SCRIPT RUNTIME ERROR
stack traceback:
    e:\1\sdk-0.7\editors\gamedata\scripts\xr_reach_task.script:117: in function 'reset_positions'
    e:\1\sdk-0.7\editors\gamedata\scripts\xr_reach_task.script:84: in function 'add_npc'
    e:\1\sdk-0.7\editors\gamedata\scripts\xr_reach_task.script:274: in function 'add_to_patrol'
    e:\1\sdk-0.7\editors\gamedata\scripts\xr_reach_task.script:328: in function <e:\1\sdk-0.7\editors\gamedata\scripts\xr_reach_task.script:303>
! SCRIPT ERROR: e:\1\sdk-0.7\editors\gamedata\scripts\xr_reach_task.script:117: attempt to index a nil value
 
FATAL ERROR
 
[error] Expression    : LUA error
[error] Function      : CScriptEngine::onErrorCallback
[error] File          : F:\OXR\xray-16\src\xrScriptEngine\script_engine.cpp
[error] Line          : 791
[error] Description   : e:\1\sdk-0.7\editors\gamedata\scripts\xr_reach_task.script:117: attempt to index a nil value

 


И создание фанатских модов — это не следствие популярности S.T.A.L.K.E.R., это причина по которой когда-нибудь появится на свет S.T.A.L.K.E.R. 2
© С. Григорович.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

makdm 

Спойлер

nql    

function give_test_quest269()
task_manager.get_task_manager():give_task("quest_test_give269")
end
function is_has_test_npc269_1()
return act_h_s('spareparts')
end
function is_has_test_npc269_2()
return act_h_s('spareparts')
end
function is_has_test_npc269_3()
return act_h_s('spareparts')
end
function is_has_test_npc269_4()
return act_h_s('spareparts_p_2')
end
function is_has_test_npc269_5()
return act_h_s('spareparts_p_2')
end
function is_has_test_npc269_6()
return act_h_s('spareparts_p_2')
end
function is_has_test_npc269_7()
return act_h_s('spareparts_p_3')
end
function is_has_test_npc269_8()
return act_h_s('spareparts_p_3')
end
function is_has_test_npc269_9()
return act_h_s('spareparts_p_3')
end
function transfer_test_to_npc269_1(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts")
end
function transfer_test_to_npc269_2(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts")
end
function transfer_test_to_npc269_3(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts")
end
function transfer_test_to_npc269_4(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2")
end
function transfer_test_to_npc269_5(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2")
end
function transfer_test_to_npc254_6(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2")
end
function transfer_test_to_npc269_7(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_3")
end
function transfer_test_to_npc269_8(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_3")
end
function transfer_test_to_npc269_9(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_3")
end


tm darkwalle

[quest_test_give269]
icon = ui_inGame2_Karti_mestnosti
prior = 2
storyline = false
title = {=actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3)}test2-269, test1-269
descr = test3-269
target = {=actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_2) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3) =actor_has_item(spareparts_p_3)} val_smart_terrain_7_3_bandit_mechanic_stalker
condlist_0 = {+quest_test_done269} complete, {+val_smart_terrain_7_3_bandit_mechanic_stalker_death} fail
condlist_1 = {+quest_test_proval269} fail
on_complete = %=reward_random_money(2000:3000) =complete_task_inc_goodwill(50:bandit)%
reward_item = cocaine:marijuana


dialogs

<!-- ========== задание технику ТД=============== -->

<dialog id="test269_quest_dialog_cordon1">
<dont_has_info>quest_test_give269</dont_has_info>
<phrase_list>
 <phrase id="0">
  <text>%c[0,190,100,50]Я от Султана, говорит помочь надо, я внимаю!</text>
  <next>1</next>
</phrase>
 <phrase id="1">
  <text>О, ништяк, гастарбайтер, гхы-гхы..! Короче смотри, у меня почти закончились оружейные части, а мне пацанам шпалеры чем чинить!? То-то и оно, вот принесёшь мне 3 комплекта разных по 3 шт. каждых, и тогда свободен, замётано?</text>
  <next>2</next>
  <next>3</next>
</phrase>
 <phrase id="2">
  <text>Ну ладно, пойду искать!</text>
  <next>22</next>
</phrase>
 <phrase id="22">
  <text>Да бросай, ты чё хмурый такой, давай веселее..!</text>
  <give_info>quest_test_give269</give_info>
  <action>nql.give_test_quest269</action>
</phrase>
 <phrase id="3">
  <text>Нет, давай в другой раз</text>
  <next>33</next>
</phrase>
 <phrase id="33">
  <text>Ладно, в другой раз так в другой раз</text>
</phrase>
</phrase_list>
</dialog>

<dialog id="test269_quest_dialog_cordon2">
<has_info>quest_test_give269</has_info>
<dont_has_info>quest_test_done269</dont_has_info>
<dont_has_info>quest_test_proval269</dont_has_info>
<phrase_list>
 <phrase id="0">
  <text>Я насчет задания!</text>
  <next>1</next>
</phrase>
 <phrase id="1">
  <text>Чё там?</text>
  <next>2</next>
  <next>3</next>
  <next>4</next>
</phrase>
 <phrase id="2">
<precondition>nql.is_has_test_npc269_1</precondition>
  <text>Вот, держи свой хлам!</text>
  <next>22</next>
</phrase>
 <phrase id="22">
  <text>А, железяки, давай сюда, красавчик, даю вольную, хе-хе-хе!</text>
  <action>nql.transfer_test_to_npc269_1</action>
  <action>nql.transfer_test_to_npc269_2</action>
  <action>nql.transfer_test_to_npc269_3</action>
  <action>nql.transfer_test_to_npc269_4</action>
  <action>nql.transfer_test_to_npc269_5</action>
  <action>nql.transfer_test_to_npc269_6</action>
  <action>nql.transfer_test_to_npc269_7</action>
  <action>nql.transfer_test_to_npc269_8</action>
  <action>nql.transfer_test_to_npc269_9</action>
  <give_info>quest_test_done269</give_info>
</phrase>
 <phrase id="3">
  <text>Я пока еще не нашел</text>
  <next>33</next>
</phrase>
 <phrase id="33">
  <text>Ну как найдешь, приходи</text>
</phrase>
 <phrase id="4">
  <text>Я отказываюсь от задания</text>
  <next>44</next>
</phrase>
 <phrase id="44">
  <text>Ну что поделать, ладно</text>
  <give_info>quest_test_proval269</give_info>
</phrase>
</phrase_list>
</dialog>

Спасибо за подсказку!   я переделал как вы написали, оно работает, но когда я нашел запчасти и сохранился и опять хочу загрузить сохранку случаеться вылет! вот такой:    

Спойлер

! [SCRIPT ERROR]: d:\dead air\gamedata\scripts\xr_conditions.script:1118: attempt to index local 'actor' (a nil value)
 
FATAL ERROR
 
[error]Expression    : <no expression>
[error]Function      : CScriptEngine::lua_error
[error]File          : ..\xrServerEntities\script_engine.cpp
[error]Line          : 189
[error]Description   : fatal error
[error]Arguments     : LUA error: d:\dead air\gamedata\scripts\xr_conditions.script:1118: attempt to index local 'actor' (a nil value)
 

stack trace:

0023:00563DCC xrCore.dll, xrDebug::fatal()
0023:052DB2F1 xrGame.dll, CDialogHolder::UseIndicators()
0023:052DB7B7 xrGame.dll, CDialogHolder::UseIndicators()

и вот как я переделал, может тут чо не правельно !?

Спойлер

tm_локация

 

[quest_test_give269]
icon = ui_inGame2_Karti_mestnosti
prior = 2
storyline = false
title = {=actor_has_item_count(spareparts:3) =actor_has_item_count(spareparts_p_2:3) =actor_has_item_count(spareparts_p_3:3)}test2-269, test1-269
descr = test3-269
target = {=actor_has_item_count(spareparts:3) =actor_has_item_count(spareparts_p_2:3) =actor_has_item_count(spareparts_p_3:3)} val_smart_terrain_7_3_bandit_mechanic_stalker
condlist_0 = {+quest_test_done269} complete, {+val_smart_terrain_7_3_bandit_mechanic_stalker_death} fail
condlist_1 = {+quest_test_proval269} fail
on_complete = %=reward_random_money(2000:3000) =complete_task_inc_goodwill(50:bandit)%

 

nql.script

 

function give_test_quest269()
task_manager.get_task_manager():give_task("quest_test_give269")
end
function is_has_test_npc269_1()
return act_h_s('spareparts',3)
end
function is_has_test_npc269_2()
return act_h_s('spareparts_p_2',3)
end
function is_has_test_npc269_3()
return act_h_s('spareparts_p_3',3)
end
function transfer_test_to_npc269_1(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts",3)
end
function transfer_test_to_npc269_2(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2",3)
end
function transfer_test_to_npc269_3(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_3",3)
end

 

dialogs.xml

 

<!-- ========== задание технику ТД=============== -->

<dialog id="test269_quest_dialog_cordon1">
<has_info>quest_test_done43</has_info>
<dont_has_info>quest_test_give269</dont_has_info>
<phrase_list>
 <phrase id="0">
  <text>%c[0,190,100,50]Я от Султана, говорит помочь надо, я внимаю!</text>
  <next>1</next>
</phrase>
 <phrase id="1">
  <text>О, ништяк, гастарбайтер, гхы-гхы..! Короче смотри, у меня почти закончились оружейные части, а мне пацанам шпалеры чем чинить!? То-то и оно, вот принесёшь мне 3 комплекта разных по 3 шт. каждых, и тогда свободен, замётано?</text>
  <next>2</next>
  <next>3</next>
</phrase>
 <phrase id="2">
  <text>Ну ладно, пойду искать!</text>
  <next>22</next>
</phrase>
 <phrase id="22">
  <text>Да бросай, ты чё хмурый такой, давай веселее..!</text>
  <give_info>quest_test_give269</give_info>
  <action>nql.give_test_quest269</action>
</phrase>
 <phrase id="3">
  <text>Нет, давай в другой раз</text>
  <next>33</next>
</phrase>
 <phrase id="33">
  <text>Ладно, в другой раз так в другой раз</text>
</phrase>
</phrase_list>
</dialog>

<dialog id="test269_quest_dialog_cordon2">
<has_info>quest_test_give269</has_info>
<dont_has_info>quest_test_done269</dont_has_info>
<dont_has_info>quest_test_proval269</dont_has_info>
<phrase_list>
 <phrase id="0">
  <text>Я насчет задания!</text>
  <next>1</next>
</phrase>
 <phrase id="1">
  <text>Чё там?</text>
  <next>2</next>
  <next>3</next>
  <next>4</next>
</phrase>
 <phrase id="2">
<precondition>nql.is_has_test_npc269_1</precondition>
<precondition>nql.is_has_test_npc269_2</precondition>
<precondition>nql.is_has_test_npc269_3</precondition>
  <text>%c[0,190,100,50]Вот, держи свой хлам!</text>
  <next>22</next>
</phrase>
 <phrase id="22">
  <text>А, железяки, давай сюда, красавчик, даю вольную, хе-хе-хе!</text>
  <action>nql.transfer_test_to_npc269_1</action>
  <action>nql.transfer_test_to_npc269_2</action>
  <action>nql.transfer_test_to_npc269_3</action>
  <give_info>quest_test_done269</give_info>
</phrase>
 <phrase id="3">
  <text>Я пока еще не нашел</text>
  <next>33</next>
</phrase>
 <phrase id="33">
  <text>Ну как найдешь, приходи</text>
</phrase>
 <phrase id="4">
  <text>Я отказываюсь от задания</text>
  <next>44</next>
</phrase>
 <phrase id="44">
  <text>Ну что поделать, ладно</text>
  <give_info>quest_test_proval269</give_info>
</phrase>
</phrase_list>
</dialog>

 

st_quests_darkvalley.xml

 

<!-- задание для техник ТД рерум-->
<string id="test1-269">
<text>Поиски деталей</text>
</string>
<string id="test2-269">
<text>Поиски деталей</text>
</string>
<string id="test3-269">
<text>Техник бандитов, попросил помочь найте ему оружейных деталей 3 комплекта разных, по 3шт. каждых!</text>
</string>

вот это 1118 строчка с функции ниже:      actor:iterate_inventory(calc, actor) 

 

Спойлер

-- проверяет наличие заданого количества предметов в инвентаре игрока.
function actor_has_item_count(actor, npc, p)
    local item_section     = p[1]
    local need_count     = tonumber(p[2])
    local has_count     = 0
    local function calc(temp, item)
        --printf("item [%s]",tostring(item:section()))
        if item:section() == item_section then
            has_count = has_count + 1
        end
    end
    actor:iterate_inventory(calc, actor)
    return has_count >= need_count
end

 

Изменено пользователем Kalambur

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Мужики, в чем может быть проблема, на драфте локация компилится нормально, попытался поставить в настройках сцены в первых трех позициях  "1", и получаю вылет при компиляции на стадии build uv mapping, лог пустой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
12 часов назад, Kalambur сказал:

я переделал как вы написали, оно работает, но когда я нашел запчасти и сохранился и опять хочу загрузить сохранку случаеться вылет!

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

Для контроля квеста лучше ставить рестриктор и в нем все отслеживать, тогда и геморроя будет меньше.

Например в вашем случае я бы сделал так:

1. Поставил рестриктор, в котором бы отслеживал наличие у игрока необходимых предметов. Как только бы игрок их собрал, то выдал бы инфопорцию, например actor_has_all_need_items

2. Тогда в таск менеджере было бы все гораздо проще:

title = {+actor_has_all_need_items }test2-269, test1-269

 

Изменено пользователем makdm
  • Спасибо 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Привет. Уже не первый раз сталкиваюсь с такой фигней ,что у оружия разные звуки выстрелов. Причем какой именно сталкер не важно. В дэд сити брэроу было, сейчас в хардвар моде на ЧН. Вот как это исправить ? В папке "аудио" в "тт33" только два аудиофайла и там звук у обоих одинаковый. полазил по другим пистолетам , так вообще бред. Файлов полно. Например у Форт 12 - 4 звука выстрела. Два одни и два другие. В общем что это такое ,зачем так делается и как эту дичь поправить ?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Cyrax Посмотрите , что указано в конфиге ствола в качестве параметра snd_shoot.

Изменено пользователем denis2000

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
17 минут назад, denis2000 сказал:

Cyrax Посмотрите , что указано в конфиге ствола в качестве параметра snd_shoot.

Всю папку конфиг излазил, файла ТТ33 нету. Вот для форта есть и для всего другого. Думал он под другим названием может быть и проверил все. Нет его.Просто нету. Такое может быть ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

o4kostr3l У меня такая фигня была, когда у источника света стоял тип $sun. Заменил на $point и всё заработало


294404326_-1.png.b174b8675b96f1eea9aed038584779b1.png

                    Паблик ВК       

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Cyrax сказал:

Всю папку конфиг излазил, файла ТТ33 нету

в HWM тт 33 в файле w_hpsa.ltx, секция wpn_tt33. Лучше не по названию файла смотреть,а использовать поиск по файлам,например,в notepad++


В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Спойлер

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : lua_pcall_failed
[error]File          : c:\xray\forward frontier\public build\src\layers\xrrender\resourcemanager_scripting.cpp
[error]Line          : 101
[error]Description   : <no expression>
[error]Arguments     : LUA error: ....r. call of pripyat\gamedata\scripts\xr_motivator.script:161: attempt to index local 'smart_task' (a nil value)
 

stack trace:

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

Изменено пользователем Крим

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу