ThreeDAL 0 Опубликовано 10 Августа 2009 Поделиться Опубликовано 10 Августа 2009 Как выставить зависимость ассортимента торговца в зависимости от каких-либо условий? Какой файл править для создания таких условий? Обычные инфопоршны или как? Ссылка на комментарий
Juicy 3 Опубликовано 10 Августа 2009 Поделиться Опубликовано 10 Августа 2009 (изменено) Как сделать, чтобы радиация не выходила совсем? Ну, кроме как с мочой и перегаром? =) Регенерацию здоровья я убрал через actor.ltx Как отключить выведение радиации? radiation_v = 0 не помогло. А еще меня ренегаты палят в камышах Подскажите, где править дальность видимости через камыши, чтобы можно было подкрадываться ближе в m_stalker.ltx или в actor.ltx ? ThreeDAL Здесь вроде бы так: файл торговца trader_trader_esc.ltx [trader] buy_condition = {+esc_bring_habar_complete} trade_good_price_buy, trade_generic_buy sell_condition = {+esc_bring_habar_complete} trade_good_price_sell, trade_generic_sell buy_supplies = {+gar_story_got_info_from_digger} trade_new_supplies, {+esc_bring_habar_complete} supplies_good_price, supplies_start .......... А разве не так сделано в оригинале CS? Правишь непосредственно файл торговца. Или ты не про то спрашиваешь? Если ты про Петренко, то добавь условие-инфопоушн смерти Петренко. Если инфопоушена нет, надо будет его создать. Функцию проверки смерти уникального НПС сделать в скрипте. При смерти НПС - выдается инфопоушн. Вызов функции - из диалога торговца. Изменено 11 Августа 2009 пользователем Juicy Athlon II 240/2048MB DDRII/Radeon 3850/500GB WinXP:ST-CoP|Ubuntu Linux 10.04:lots of stuff Ссылка на комментарий
Vano_Santuri 33 Опубликовано 11 Августа 2009 Поделиться Опубликовано 11 Августа 2009 Да именно то, но он инфопоршни не все тут используются.... Что-то кончается, что-то начинается... Ссылка на комментарий
Pihan13 9 Опубликовано 14 Августа 2009 Поделиться Опубликовано 14 Августа 2009 Заспавнил я труп НПС со story id'ом... Как сделать, чтобы при начале квеста у него появились предметы? Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Push85 4 Опубликовано 14 Августа 2009 Поделиться Опубликовано 14 Августа 2009 Pihan13, Вместе с выдачей квеста спаунь ему в инвентарь предметы,alife():create("предмет", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) Возможно всё, ну или почти всё. Ссылка на комментарий
Pihan13 9 Опубликовано 14 Августа 2009 Поделиться Опубликовано 14 Августа 2009 8push5, разъясни это: "предмет" - понятно, тот предмет который я хочу емту втюхать obj.position - это позиция, где он заспаунен? XYZ obj.m_level_vertex_id - вертекс уровня obj.m_game_vertex_id - вертекс игры obj.id - а это id самого трупа НПС? название профиля если не ошибаюсь приведи пример Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Push85 4 Опубликовано 14 Августа 2009 Поделиться Опубликовано 14 Августа 2009 (изменено) В общем, пишешь так: local obj = alife():object(123) –вместо 123 ставишь id своего непися или его name в кавычках alife():create("предмет", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) – здесь меняешь только "предмет" а так ты все правильно понял Изменено 14 Августа 2009 пользователем 8push5 Возможно всё, ну или почти всё. Ссылка на комментарий
Pihan13 9 Опубликовано 14 Августа 2009 Поделиться Опубликовано 14 Августа 2009 8push5, вот уточню: это заспавнит в уже существующий труп предмет или ещё раз создаст его? Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Push85 4 Опубликовано 14 Августа 2009 Поделиться Опубликовано 14 Августа 2009 В существующий Возможно всё, ну или почти всё. Ссылка на комментарий
awesom_e 0 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 люди срочно помогите где выставляется направление движения нпс ХАПАЕМ ВСЕ САМОЕ ЦЕННОЕ И ВАЛИМ Ссылка на комментарий
Pihan13 9 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 awesom_e, если ты про вейпоинты, то они в аллспавне в файлах way_l**_***.ltx Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Pihan13 9 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 В общем, пишешь так:local obj = alife():object(123) –вместо 123 ставишь id своего непися или его name в кавычках alife():create("предмет", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) – здесь меняешь только "предмет" а так ты все правильно понял дайте пожалуйста пример самой функции например в НПС с id 315 надо запихнуть водку Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Push85 4 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 (изменено) Pihan13, извиняй, запарился, значит так, вот спаунит ему водку, свд и пм: local obj = alife():object(315) alife():create("vodka", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) alife():create("wpn_svd", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) alife():create("wpn_pm", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) В общем вот, но я советую, вместо id, писать значение name из all.spawn, например local obj = alife():object("mar_csky_trader") Изменено 18 Августа 2009 пользователем 8push5 Возможно всё, ну или почти всё. Ссылка на комментарий
Pihan13 9 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 8push5, А это сама функция?? как её списать в диалог (что в <action></action>?) Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Push85 4 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 (изменено) ну тогда так: function сюды_название_функции(obj) local obj = alife():object(315) alife():create("vodka", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) alife():create("wpn_svd", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) alife():create("wpn_pm", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) end суешь в какой-нибудь файл, в <action>имя_файла.имя_функции</action> Изменено 18 Августа 2009 пользователем 8push5 Возможно всё, ну или почти всё. Ссылка на комментарий
Pihan13 9 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 8push5, именно так я всё и представлял а что значит for i = 1, #bd_trader do ? и ещё: как сделать прекондишн на (скажем) на 5 предметов: function have_exist_items(first_speaker, second_speaker) return first_speaker:object("vodka") ~= nil ------- это значит проверить что предмета "vodka" больше или равно нулю. А как сделать больше или равно пяти? end так? function have_exist_items(first_speaker, second_speaker) return first_speaker:object("vodka") ~= 5 ------- это значит проверить что предмета "vodka" больше или равно нулю. А как сделать больше или равно пяти? end Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Push85 4 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 (изменено) Pihan13, а что значит for i = 1, #bd_trader do ? это лишнее попало, удали. и ещё: как сделать прекондишн на (скажем) на 5 предметов: нет, не так, надо просканировать инвентарь, ща напишу как воть: function have_exist_items(first_speaker, second_speaker) local actor=db.actor items_count=0 itemin="vodka" actor:iterate_inventory(cheking_item,actor) if items_count>=5 then return true else return false end end function cheking_item(actor,item) local items=item:section() if items==itemin then items_count=items_count+1 end end это значит проверить что предмета "vodka" больше или равно нулю неа, это значит, что предмет "vodka" вообще есть или нет в инвентаре у first_speaker ============================================================== Добавлено: а сам то как думаешь? Изменено 18 Августа 2009 пользователем 8push5 Возможно всё, ну или почти всё. Ссылка на комментарий
Pihan13 9 Опубликовано 18 Августа 2009 Поделиться Опубликовано 18 Августа 2009 function have_exist_items(first_speaker, second_speaker) local actor=db.actor items_count=0 itemin="vodka" actor:iterate_inventory(cheking_item,actor) if items_count>=5 then return true else return false end end function cheking_item(actor,item) local items=item:section() if items==itemin then items_count=items_count+1 end end дак это же 2 функции? какую из них заключать в <precondition></precondition>??? Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Juicy 3 Опубликовано 22 Августа 2009 Поделиться Опубликовано 22 Августа 2009 (изменено) Можно ли это реализовать? Вобщем, очень хочется сделать торговцам проверку состояния оружия. Чтобы они не брали поломанное, например, при кондишне 80% просто не брали. Это сразу бы выправило экономику игры. Скорее всего это зашито в движок. Но может как-то можно обнулить стоимость ствола, если итемкондишн ниже какого-то предела? 8push5 Может можно обмануть движок? Какой-нибудь костыль, пусть самый уродливый? Я НЕ предлагаю отлавливать исчезание оружия из инвентаря и выдавать ГГ вместо денег фигу с маслом, ибо банальное жульничество. В ТЧ можо было, кажется. Там в инвентаре клик на оружии показывал стоимость, пересчитанную на итемкондишн. Можно было бы подменить число стоимости (чтобы не было соблазна поднимать поломанный ствол). Такой споб тоже подойдет. Изменено 23 Августа 2009 пользователем Juicy Athlon II 240/2048MB DDRII/Radeon 3850/500GB WinXP:ST-CoP|Ubuntu Linux 10.04:lots of stuff Ссылка на комментарий
Push85 4 Опубликовано 23 Августа 2009 Поделиться Опубликовано 23 Августа 2009 Juicy, нет, такое не возможно, торговля намертво в движок зашита. Возможно всё, ну или почти всё. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти