Wookie 7 Опубликовано 31 Октября 2011 Назрела идея по торговцам. В общем у торговцев есть свой, так-сказать блокнот куда те записывают цену того-что ГГ сделал для них. К примеру у сидоровича - Найти артефакт "Медуза", мы выполняем задание, торговец записывает нам на счет рублей 500, и так далее. И на этот счет можно купить что-нибудь. Вроде доделал эту фичу, теперь осталось добавить в торговлю сидора и бармена прекондишны на эти "деньги". Скоро выложу скрины. (Почему только Сидор и Бармен - дык они главные барыги зоны, это будет в их стиле. Добавлено через 269 мин.: Вот последняя версия скрипта - ------------------------------------- --- Статусы торговцев --- copyright © Wookie, 2011 ------------------------------------- local sidor = 0 -- Стартовое кол-во денег за квесты у Сидора local barman = 0 -- Стартовое кол-во денег за квесты у Бармена -- Остальных оставим, так как Артем Кулинар бармен, Сахаров ученый а не барыга, с Вороном думаю -- Переменные квестов local art_task_sidor local art_task_barmen local booty_task_sidor local booty_task_barmen -- Переменные квестов -- Артефакты которые нужны Сидору (Подогнаны под Кордон) local sidor_arts={ "af_medusa", "af_blood", "af_mincer_meat", "af_vyvert" } -- Артефакты нужные Бармену (Подогнаны под Бар и окрестности) local barmen_arts={ "af_fireball", "af_electra_moonlight", "af_cristall_flower", "af_soul", "af_ameba_slug" } -- Части монстров нужные Сидору (Подогнаны под Кордон) local sidor_booty={ "mutant_flesh_eye", "mutant_boar_leg", "mutant_dog_tail" } -- Части монстров нужные Бармену (Подогнаны под Бар и окрестности) local barmen_booty={ "mutant_psevdodog_tail", "mutant_krovosos_jaw", "mutant_burer_hand", "mutant_snork_leg", "mutant_chimera_cogot" } function add_money(trader_money, trader) trader = trader + trader_money end function hate_money(trader_money, trader) trader = trader - trader_money end function give_sidor_task_arts() art_task_sidor = sidor_arts[math.random(4)] if art_task_sidor=="af_medusa" then amk.send_tip("Твоя цель - артефакт Медуза, найдешь и принесешь - запишу 500 рублей на твой счет", "Сидорович") end if art_task_sidor=="af_blood" then amk.send_tip("Твоя цель - артефакт Кровь камня, найдешь и принесешь - запишу 300 рублей на твой счет", "Сидорович") end if art_task_sidor=="af_mincer_meat" then amk.send_tip("Твоя цель - артефакт Ломоть Мяса, найдешь и принесешь - запишу 800 рублей на твой счет", "Сидорович") end if art_task_sidor=="af_vyvert" then amk.send_tip("Твоя цель - артефакт Выверт, найдешь и принесешь - запишу 600 рублей на твой счет", "Сидорович") end end function give_sidor_task_booty() booty_task_sidor = sidor_booty[math.random(3)] if booty_task_sidor=="mutant_flesh_eye" then amk.send_tip("Твоя цель - глаз плоти, найдешь и принесешь - запишу 200 рублей на твой счет", "Сидорович") end if booty_task_sidor=="mutant_boar_leg" then amk.send_tip("Твоя цель - копыто кабана, найдешь и принесешь - запишу 600 рублей на твой счет", "Сидорович") end if booty_task_sidor=="mutant_dog_tail" then amk.send_tip("Твоя цель - хвост слепого пса, найдешь и принесешь - запишу 100 рублей на твой счет", "Сидорович") end end function sidor_private_count() news_manager.send_tip(db.actor, "Сидорович:\\nТвой счет: " ..(sidor), nil, nil, 3000) end ------------------------------------------------------------------------------------------------------------------------------------------- -- Диалоги -- ------------------------------------------------------------------------------------------------------------------------------------------- -- Проверки на арты у Сидора function if_give_art1() return art_task_sidor=="af_medusa" and db.actor:object("af_medusa") end function if_give_art2() return art_task_sidor=="af_blood" and db.actor:object("af_blood") end function if_give_art3() return art_task_sidor=="af_mincer_meat" and db.actor:object("af_mincer_meat") end function if_give_art4() return art_task_sidor=="af_vyvert" and db.actor:object("af_vyvert") end -- Проверки на части монстров у Сидора function if_give_booty1() return booty_task_sidor=="mutant_flesh_eye" and db.actor:object("mutant_flesh_eye") end function if_give_booty2() return booty_task_sidor=="mutant_boar_leg" and db.actor:object("mutant_boar_leg") end function if_give_booty3() return booty_task_sidor=="mutant_dog_tail" and db.actor:object("mutant_dog_tail") end -- Убор артов у ГГ и добавление к личной сумме нужных УЕ function gave_art1(actor, npc) dialogs.relocate_item_section(npc, "af_medusa", "out") art_task_sidor = nil this.add_money(500, sidor) end function gave_art2(actor, npc) dialogs.relocate_item_section(npc, "af_blood", "out") art_task_sidor = nil this.add_money(300, sidor) end function gave_art3(actor, npc) dialogs.relocate_item_section(npc, "af_mincer_meat", "out") art_task_sidor = nil this.add_money(800, sidor) end function gave_art4(actor, npc) dialogs.relocate_item_section(npc, "af_vyvert", "out") art_task_sidor = nil this.add_money(600, sidor) end -- Торговля -- Проверки на бабло function if_give_800_money() return sidor >= 800 end Тут сам вывод у Сидоровича. Надо поправить прекондишны, у меня сейчас вылетает https://www.youtube.com/embed/U0no-6tCxhU Канал на "Трубе" Поделиться этим сообщением Ссылка на сообщение
Wookie 7 Опубликовано 2 Ноября 2011 Zander_driver, в последнем патче нашел баг - Ночная звезда не отдается сидору и в контейнере и без контейнера (а если без контейнера то она радиацию будет повышать в инвентаре, потом не засунешь обратно). Поработал немного с худом - https://www.youtube.com/embed/U0no-6tCxhU Канал на "Трубе" Поделиться этим сообщением Ссылка на сообщение
Wookie 7 Опубликовано 27 Ноября 2011 Назрела такая вот идейка - сделать схроны с пушками как в ЗП (точнее - лежит просто пушка среди поля и т.д.), но никак не обозначать их. Думаю это подстегнет к иследованию Зоны. Наводки скидывать так-же как и Информатор - на ПДА за определенное количество тугриков (а лучше инфу вообще не скидывать, т.к. - новая игра -> искать тайники за бесплатно) https://www.youtube.com/embed/U0no-6tCxhU Канал на "Трубе" Поделиться этим сообщением Ссылка на сообщение