Школа модинга
Пятница, 23.11.2012, 11:42:44
Ранг: Прибывший
Сообщений: 1665
Награды:
95
Репутация:
4016
Регистрация: 03.03.2011
______________________________________________________________________
Тема создана для помощи в модифицировании игры S.T.A.L.K.E.R.: Тень Чернобыля.
______________________________________________________________________
Правила топика
1. Вопрос должен соответствовать выбранной Вами темы.
2. Изучите то, что уже есть в теме (воспользуйтесь поиском на форуме).
3. Указывайте необходимую информацию: чистая игра ТЧ или с установленным модом (указать какой).
4. Для того, чтобы было понятно в чем ошибка, приводите коды (оформленные соответствующем образом).
5. Вопросы по SDK задаем в
этой теме.
"Правильно заданный вопрос – половина ответа". ______________________________________________________________________
Полезные ссылки
______________________________________________________________________
Правленный файл _g.script (спасибо Artos ) для вывода в лог "обширной" информации. Все "спасибо" в личку пользователю. За не чтение шапки темы, а так же не соблюдение ПФ, авторы постов будут наказаны.
Не столь важно что ты делаешь, важно как ты это делаешь! (Джимми Лансфорд)
Суббота, 24.08.2013, 13:30:01
Ранг: Вечный сталкер
Сообщений: 758
Награды:
9
Репутация:
1472
Регистрация: 02.10.2012
Город:
Нижний новгород
DmitriyT , я не особо силен, но я бы сделал на примере других подобных функций, коих предостаточно. Вполне возможно, проблема именно с ножами, попробуй что-нибудь другое передать.
Акция! Добавь мне награду и получи минус в репу.
Воскресенье, 25.08.2013, 14:14:52
Ранг: Новичок
Сообщений: 26
Награды:
0
Репутация:
55
Регистрация: 05.05.2012
DmitriyT , вы даже скобки к некоторым функциям не добавили: Цитата (DmitriyT )
function actor_havent_knife if db.actor:object("wpn_knife") ~= true then return true end return false end function actor_havent_knife_m1 if db.actor:object("wpn_knife_m1") ~= true then return true end return false end function actor_havent_knif1 if db.actor:object("wpn_knif1") ~= true then return true end return false end function actor_havent_knif2 if db.actor:object("wpn_knif2") ~= true then return true end return false end
У каждой функции должны бить скобки! В общем вот эту часть кода: Цитата (DmitriyT )
function actor_have_knife() if db.actor:object("wpn_knife") then return true end return false end function actor_have_knife_m1() if db.actor:object("wpn_knife_m1") then return true end return false end function actor_have_knif1() if db.actor:object("wpn_knif1") then return true end return false end function actor_have_knif2() if db.actor:object("wpn_knif2") then return true end return false end function actor_havent_knife if db.actor:object("wpn_knife") ~= true then return true end return false end function actor_havent_knife_m1 if db.actor:object("wpn_knife_m1") ~= true then return true end return false end function actor_havent_knif1 if db.actor:object("wpn_knif1") ~= true then return true end return false end function actor_havent_knif2 if db.actor:object("wpn_knif2") ~= true then return true end return false end
Если надо что бы была проверка на то что есть эти предметы есть: Код
function actor_have_knife(first_speaker, second_speaker) return first_speaker:object("wpn_knife") ~= nil end function actor_have_knife_m1(first_speaker, second_speaker) return first_speaker:object("wpn_knife_m1") ~= nil end function actor_have_knif1(first_speaker, second_speaker) return first_speaker:object("wpn_knif1") ~= nil end function actor_have_knif2(first_speaker, second_speaker) return first_speaker:object("wpn_knif2") ~= nil end function actor_havent_knife(first_speaker, second_speaker) return first_speaker:object("wpn_knife") ~= nil end function actor_havent_knife_m1(first_speaker, second_speaker) return first_speaker:object("wpn_knife_m1") ~= nil end function actor_havent_knif1(first_speaker, second_speaker) return first_speaker:object("wpn_knif1") ~= nil end function actor_havent_knif2(first_speaker, second_speaker) return first_speaker:object("wpn_knif2") ~= nil end
Если на оборот что нету этих предметов то эту: Код
function actor_have_knife(first_speaker, second_speaker) return first_speaker:object("wpn_knife") == nil end function actor_have_knife_m1(first_speaker, second_speaker) return first_speaker:object("wpn_knife_m1") == nil end function actor_have_knif1(first_speaker, second_speaker) return first_speaker:object("wpn_knif1") == nil end function actor_have_knif2(first_speaker, second_speaker) return first_speaker:object("wpn_knif2") == nil end function actor_havent_knife(first_speaker, second_speaker) return first_speaker:object("wpn_knife") == nil end function actor_havent_knife_m1(first_speaker, second_speaker) return first_speaker:object("wpn_knife_m1") == nil end function actor_havent_knif1(first_speaker, second_speaker) return first_speaker:object("wpn_knif1") == nil end function actor_havent_knif2(first_speaker, second_speaker) return first_speaker:object("wpn_knif2") == nil end
Сообщение отредактировал modos - Воскресенье, 25.08.2013, 14:18:57
Воскресенье, 25.08.2013, 23:30:06
Ранг: Прибывший
Сообщений: 1665
Награды:
95
Репутация:
4016
Регистрация: 03.03.2011
black_stalker1997 , в первом диалоге добавляешь проверку Код
<dont_has_info>...</dont_has_info>
При убийстве мутантов выдаешь поршень. Во втором диалоге делаешь также проверку как и в первом Код
<dont_has_info>...</dont_has_info>
А так же проверку на получения поршня при убийстве. Код
<has_info>...</has_info>
Не столь важно что ты делаешь, важно как ты это делаешь! (Джимми Лансфорд)
Понедельник, 26.08.2013, 10:24:02
Ранг: Знаток Зоны
Сообщений: 527
Награды:
6
Репутация:
140
Регистрация: 03.10.2011
Город:
Челябинск
comador , а как выдать инфопоршень при убийстве мутантов, если они через скрипт заспавнены?
Понедельник, 26.08.2013, 18:26:07
Ранг: Прибывший
Сообщений: 1665
Награды:
95
Репутация:
4016
Регистрация: 03.03.2011
black_stalker1997 , создаешь файл логики и в секции [logic] добавляешь вот эту строку Затем в этом же файле создаешь секцию [mob_death] с таким содержанием Код
on_info = %+твой_инфопоршень%
Не столь важно что ты делаешь, важно как ты это делаешь! (Джимми Лансфорд)
Понедельник, 26.08.2013, 20:35:26
Ранг: Знаток Зоны
Сообщений: 527
Награды:
6
Репутация:
140
Регистрация: 03.10.2011
Город:
Челябинск
comador , а как мне заставить животных, заспавненых через скрипт использовать именно эту логику?
Понедельник, 26.08.2013, 23:14:16
Ранг: Прибывший
Сообщений: 1665
Награды:
95
Репутация:
4016
Регистрация: 03.03.2011
black_stalker1997 , прописываешь спавн-секцию монстра в файле spawn_sections.ltx. Вот пример Код
[spider_agro]:spider_weak $spawn = "respawn\spider_agro" custom_data = scripts\new\spider_agro.ltx
Спавнишь своего монстра через скрипт и он будет использовать логику, которая ему прописана.
Не столь важно что ты делаешь, важно как ты это делаешь! (Джимми Лансфорд)
Вторник, 27.08.2013, 00:50:11
Ранг: Знаток Зоны
Сообщений: 527
Награды:
6
Репутация:
140
Регистрация: 03.10.2011
Город:
Челябинск
comador , я получил вылет при убийстве животного. Может быть как-то по-другому надо? Насколько я понял, death_manager объект найти не может, при убийстве которого нужно инфопоршень выдавать Лог: spawn_sections.ltx: Код
[dog_marsh]:dog_weak $spawn = "respawn\dog_marsh" custom_data = scripts\rzl\dog_marsh.ltx
файл логики dog_marsh.ltx: Код
[logic] on_death = mob_death [mob_death] on_info = %+rzl_snrs_mutants_killed%
Код спавна через скрипт: Код
function mar_rassv_mutants_spawn() local sim = alife() sim:create("dog_weak",vector():set(534.10101318359,2.0023074150085,-156.42869567871),501754,3567) sim:create("dog_weak",vector():set(532.60455322266,1.9670802354813,-158.00607299805),500984,3563) sim:create("dog_strong",vector():set(528.99462890625,2.2261307239532,-159.54801940918),499249,3563) sim:create("dog_strong",vector():set(528.67144775391,2.3465118408208,-175.80047607422),498882,3563) sim:create("dog_strong",vector():set(525.20391845703,2.5607962608337,-179.5598449707),496830,3563) sim:create("dog_strong",vector():set(524.10321044922,2.7909164428711,-187.45906066895),496335,3563) sim:create("boar_normal",vector():set(539.12097167969,1.6563314199448,-154.75680541992),504400,3567) sim:create("boar_normal",vector():set(535.78729248047,2.1085753440857,-170.37591552734),502491,3567) sim:create("boar_normal",vector():set(533.11926269531,2.3264474868774,-187.66583251953),501327,3567) end
Среда, 28.08.2013, 22:55:33
Ранг: Разведчик
Сообщений: 252
Награды:
16
Репутация:
167
Регистрация: 01.04.2013
Город:
Москва
black_stalker1997 , секция спавна у тебя в порядке. А вот логика пёсика имхо, должна выглядеть так. Код
[smart_terrains] none = true [logic]active = mob_home on_death = mob_death [mob_home] path_home = pseudodog_3 home_min_radius = 15 home_max_radius = 30 aggressive_home on_signal = sig_attacked | mob_combat [mob_combat] on_timer = 30000 | mob_home [mob_death] on_info = %+rzl_snrs_mutants_killed%
Сообщение отредактировал Змея - Среда, 28.08.2013, 23:22:00
Понедельник, 02.09.2013, 16:15:15
Ранг: Прибывший
Сообщений: 7
Награды:
0
Репутация:
0
Регистрация: 13.05.2013
Всем привет. Добавил новую локацию,при запуске вылет Подскажите,пожалуйста,что мне делать?
Понедельник, 02.09.2013, 18:06:18
Ранг: Познающий
Сообщений: 124
Награды:
1
Репутация:
259
Регистрация: 25.06.2012
Mel_546 , не найден параметр game_type_clsid_factory в секции [common] Где-то в конфигурациях ты намудрил, скорее всего в system.ltx
Вторник, 03.09.2013, 10:32:28
Ранг: Прибывший
Сообщений: 7
Награды:
0
Репутация:
0
Регистрация: 13.05.2013
Добрый день,уважаемые модмейкеры. И снова я со своими проблемами с подключением локаций. Игра вылетает с логом Прочитал,что надо обновить level.gct и game.graph. Пользовался программой ggrc-v0.6. Моя локация добавляется. Проблема в том,что прога не хочет добавлять в game.graph локацию l12_stancia_2 (ЧАЭС2) из чистой версии. Как мне это исправить?
Сообщение отредактировал Mel_546 - Вторник, 03.09.2013, 10:35:04
Четверг, 12.09.2013, 17:20:47
Ранг: Прибывший
Сообщений: 19
Награды:
1
Репутация:
6
Регистрация: 07.01.2013
У меня такая ошибка когда беру задание у волка на уничтожение кабанов FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...g\s.t.a.l.k.e.r\gamedata\scripts\task_manager.script:256: bad argument #1 to 'pairs' (table expected, got nil) У меня в скриптах нету такого файла П.с установлен мод smart manager mod, sanex alife mod, money и всё
Интересно, что бы было если бы главные герои сталкера и метро 2033 встретились?
Четверг, 12.09.2013, 19:43:21
Ранг: Вечный сталкер
Сообщений: 1708
Награды:
18
Репутация:
2844
Регистрация: 08.11.2011
Город:
Воронежская обл.
Цитата (half5life )
У меня в скриптах нету такого файла
Его может и не быть, ошибка в нем может возникать вследствие неправильного объединения других скриптов.
Четверг, 12.09.2013, 20:03:56
Ранг: Разведчик
Сообщений: 252
Награды:
16
Репутация:
167
Регистрация: 01.04.2013
Город:
Москва
half5life , Ну да, всего три неадаптированных мода. Какая мелочь)))
Суббота, 14.09.2013, 04:21:15
Ранг: Разведчик
Сообщений: 162
Награды:
5
Репутация:
0
Регистрация: 11.03.2013
Такой вопрос: есть моды, в которых определенное оружие (Миниган) можно взять в руки только с определенным костюмом (экзоскелет). А возможно ли сделать так, чтобы определнный артефакт можно было повесить на пояс только в определенном костюме?
Суббота, 14.09.2013, 22:37:29
Ранг: Разведчик
Сообщений: 252
Награды:
16
Репутация:
167
Регистрация: 01.04.2013
Город:
Москва
Georgiy_Fedorov , конечно можно.
Среда, 18.09.2013, 01:01:46
Ранг: Разведчик
Сообщений: 162
Награды:
5
Репутация:
0
Регистрация: 11.03.2013
Спасибо) Добавлено (18.09.2013, 01:01:46) --------------------------------------------- А вы не могли бы намекнуть, где можно посмотреть, как это делается?
Четверг, 26.09.2013, 12:57:05
Ранг: Прибывший
Сообщений: 19
Награды:
1
Репутация:
6
Регистрация: 07.01.2013
Цитата (Змея )
Ну да, всего три неадаптированных мода. Какая мелочь)))
Вообщето мани и смарт манадёр не конфликтуют
Сообщение отредактировал half5life - Четверг, 26.09.2013, 12:58:04
Четверг, 26.09.2013, 23:03:35
Ранг: Разведчик
Сообщений: 252
Награды:
16
Репутация:
167
Регистрация: 01.04.2013
Город:
Москва
Ты забыл про sanex alife mod . Вот он то вполне может быть несовместим с smart manager mod . Ты сам то проверял, или просто накатывал одно на другое?