AndrewMor 532 Опубликовано 12 Августа 2013 (изменено) В следующий раз прочти шапку темы перед тем, как задать вопрос. ColR_iT Изменено 14 Августа 2013 пользователем ColR_iT Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 22 Июля 2014 (изменено) Dennis_Chikin писал(а): Еще вроде резервируют аптечки. Совершенно точно резервируют батон хлеба. Пишешь в продаже количество - 10, появляется 9. А про флаги можно поподробнее, где и какие? Изменено 22 Июля 2014 пользователем AndrewMor Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 20 Января 2015 20.01.2015 в 11:23, BoBaH_671 сказал: Народ, как стартануть таймер в АМК моде, после окончания времени которого выдается инфопоршень? В амк.скрипт че то писать надо... Помогите плиз! function имя_твоей_функции() amk.g_start_timer("идентификатор",0, 0, 3) -- в кавычках - уникальный буквенный идентификатор, дальше - время. Последняя цифра - кол-во игровых минут. end В amk.script: после строк function __do_timer_action(select_string,params_string) local a пишешь: if select_string=="твой буквенный идентификатор" then ...делай все, что хочешь, в том числе и выдавай нужный поршень end BoBaH_671, а вообще-то все это легко высматривается в самом amk.script Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 9 Февраля 2015 А возможно ли технически при ранге ГГ скажем, более 5000, в окне разговора показывать его не мастером, а скажем, легендой? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 10 Февраля 2015 09.02.2015 в 16:01, UnLoaded сказал: Позволю себе теоретическое предположение: если значение 5000 - это максимальная цифирь, выше которой движок или будет игнорировать или вытворять глупости, то можно в конфиге, где расписаны диапазоны, указать ...-4999 - мастер, 4999-5000 - легенда. Такой, типа финт ушами, вполне может прокатить... Нет, 5000 - цифирь не максимальная, можно реально и больше набрать. Просто не нашел, где в каком файле, выводится сие название, там где под иконкой Меченого - ранг и его значение выводится при разговоре. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 10 Февраля 2015 10.02.2015 в 05:14, naxac сказал: @AndrewMor, читай: урок по созданию нового ранга Спасибо, все получилось. Не знал про этот урок. 1 Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 8 Апреля 2015 J.A.A, присоединяюсь к вопросу. Иногда очень напрягает сия возможность. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 15 Апреля 2015 Кто объяснит, как в цикле for отловить последнюю итерацию? код (Показать) function take_money(pid) local cond = 5000local col = 0local count = db.actor:object_count() - 1if has_alife_info("ui_car_body") thenfor i=0, count dolocal item = db.actor:object(i)if item:section() == "pack_money" thenlocal sobj = alife():object(item:id())if sobj thencol = col + 1db.actor:give_money(cond)alife():release(sobj,true)endendendendend Нужно вывести итоговое значение переменной col. Пробовал проверку сделать if i=count then . . . end так вылетает. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 15 Апреля 2015 Kirgudu писал(а): как минимум "if i==count then", чтобы не вылетало. Блин, ну конечно. Привычка, что "=" - это сравнение. Спасибо. Kirgudu, переписал функцию так: код (Показать) function take_money(pid)local cond = 5000local col = 0local count = db.actor:object_count() - 1if has_alife_info("ui_car_body") thenfor i=0, count dolocal item = db.actor:object(i)if item:section() == "pack_money" thenlocal sobj = alife():object(item:id())if sobj thencol = col + 1alife():release(sobj,true)endendif i == count and col ~= 0 thencond = cond * coldb.actor:give_money(cond)local text = "Найдено денег - "..condnews_manager.send_tip(db.actor, cond, nil, nil, 30000)endendendend но сообщение выводится не один раз, как задумывал, а столько раз, сколько нужного предмета попало в рюкзак. А если перед закрывающим функцию end вывод вписать, то вообще ничего не выводится. Почему? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 15 Апреля 2015 @Kirgudu, А всё равно выводится не одно сообщение, а несколько. Я так понимаю, что биндер отслеживает получение первого предмета и идет подсчет в цикле. Выводится сообщение. Далее отслеживается получение предмета номер 2, опять цикл и вывод сообщения. Ну и так далее. А как бы мне сделать, чтобы выводилось только одно, итоговое сообщение? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 15 Апреля 2015 @Kirgudu, при взятии денег из схрона прибавлять их к общим деньгам ГГ, взятые деньги из рюкзака долой, а потом выводить сообщение о полученной сумме целиком. Эта моя функция вызывается из биндера on_take_item. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 16 Апреля 2015 J.A.A. писал(а): Мне нужно заспавнить physic_destroyable_object. Через all.spawn всё красиво, но есть одно "НО" - не работает функция [spawner]. Насколько я помню, секция spawner работает только для НПС и монстров. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 18 Апреля 2015 Всем привет, опять я со своей проблемой по деньгам. В bind.stalker.script в биндере take_item_from_box пишу: money.take_money(item) Мой скрипт: код (Показать) function take_money(pid) db.actor:iterate_inventory(is_item, db.actor)endfunction is_item(npc, item)local cond = math.ceil(math.random(28,70)*100)local section = item:section()if item:section() == "pack_money" thenlocal sobj = alife():object(item:id())if sobj thenalife():release(sobj,true)db.actor:give_money(cond)local text = "Найдено денег - "..cond.."\\nВсего денег - "..db.actor:money()news_manager.send_tip(db.actor, text, nil, nil, 30000)endendend Или так: код (Показать) function take_money(pid)local cond = math.ceil(math.random(28,70)*100)local count = db.actor:object_count() - 1for i=0, count dolocal item = db.actor:object(i)if item:section() == "pack_money" thenlocal sobj = alife():object(item:id())if sobj thendb.actor:give_money(cond)local text = "Найдено денег - "..cond.."\\nВсего денег - "..db.actor:money()news_manager.send_tip(db.actor, text, nil, nil, 30000)alife():release(sobj,true)endendendend Результат один и тот же: первый предмет, берущийся из ящика, не обрабатывается. Остается в рюкзаке. Соответственно, если в ящике 8 предметов, то обрабатываются только 7, один остается в инвентаре. Почему? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 18 Апреля 2015 @Карлан, Я делал, как ты посоветовал, и все равно не работает. PS: ты бы лучше объяснил, что где не так. В общем, спасибо за "помощь". Карлан, по твоему совету при обыске трупа вылет: лог (Показать) Expression : fatal errorFunction : CScriptEngine::lua_errorFile : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cppLine : 73Description : Arguments : LUA error: ...blishing\s.t.a.l.k.e.r\gamedata\scripts\money.script:39: attempt to index global 'alife' (a function value) Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 18 Апреля 2015 @Карлан, Именно, что не додумался. Но я сделал маленько по другому, не вынося обработку в отдельный файл, все в биндерах прописал. Теперь работает, как задумывал. Но твой скрипт все равно помог допереть до истины. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 24 Апреля 2015 V92, в логике дело. Выложи логику. А если двери спавнил сам, смотри дирекцию по Y. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 25 Апреля 2015 V92, а зачем тебе сия строка "hit_on_bone = 1|ph_door@free|2|ph_door@free"? Вот моя логика, все отлично работает: код (Показать) [logic]аctive = ph_door@locked[ph_door@locked]closed = truelocked = truesnd_open_start = trader_door_open_startsnd_close_start = trader_door_close_startsnd_close_stop = trader_door_close_stopon_use = ph_door@unlocked[ph_door@unlocked]closed = falselocked = truesnd_open_start = trader_door_open_startsnd_close_start = trader_door_close_startsnd_close_stop = trader_door_close_stopon_use = ph_door@locked Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 28 Июня 2015 Знающие, подскажите: возможно ли скриптом вывести message_box с кнопками? И какую функцию пользовать: AddCustomStatic? Или какую другую? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 9 Июля 2015 Знающие, подскажите. Мод FAE для ТЧ. Если запустить таймер из amk.script, как его возможно сбросить или отключить? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 532 Опубликовано 9 Июля 2015 @UnLoaded, Просто я еще в скрипте таймера еще не разбирался, а необходимость сброса/отмены таймера назрела. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение