Перейти к контенту

666Ian

Пользователи
  • Число публикаций

    13
  • Регистрация

  • Последнее посещение

  • AMKoin

    468 [Подарить AMKoin]

Баланс оценок

6
  1. 666Ian

    Скриптование

    @Zander_driverа что такого? Неправильно понял в итоге я? Или ты с моих тупняков в шоке? Вообще поинтересуюсь, может знаешь, присел на xvars значит. Удобно. Классно. Но если я буду записывать сразу 100 переменных, там ничего не треснет? Не сломается? И ещё раз, я же правильно делаю, что на игрока пишу и с него читаю, или можно как-то по уму это делать, грамотно? У меня все работает, кстати, поэтому я доволен как бы в любом случае) хварс тема.
  2. 666Ian

    Скриптование

    @Zander_driver точно, просто на любой предмет писать эту переменную? А потом её читать? Или как? А на что писать. На ту же броньку и не парится? Я просто отмучался там и забыл уже, а ты напомнил мне как я страдал ну на броник я бы точно не стал, о чем я боже... А как, а на что? На болт? Ладно пойду посплю. может завтра лучше подумается блин точно. на игрока и писать. надеюсь не опозорился хоть раз
  3. 666Ian

    Скриптование

    там в переборе ошибка, если что. скопировал код, не глянул, но кстати даже так может выдать ошибку xD Так я и делаю сам моды. Методом тыка. А вот с диалогами. Блин возится буду с час, искать смотреть. да по сути на диалог можно тот же перебор повесить) Если он работает корректно. Ну вот я нашел функцию из зп по-быстрому. Вроде бы должна работать. function delete_item(first_speaker, second_speaker) local section = "секция" if second_speaker:object("секция") ~= nil then alife():release(alife():object(second_speaker:object(section):id()), true) end end Хотя к слову, зачем вообще возиться-то тебе с предметом? Если нпс умирает и все удаляет дез_менджер?
  4. 666Ian

    Скриптование

    @Dalarcsis по всякому можно. ты лучше опиши подробнее в какой момент удалить. если просто с ничего удалить, то можно перебрать всех нпс, выбрать нужных по имени профиля, перебрать их инвентари на наличие нужного предмета и удалить предмет, если он есть. Хотя можно по идее просто перебор всех объектов уже видит этот предмет и удалить его можно без перебора инвентарей нпс. Можно в диалогах удалить, в оригинале гск так делает, а в моддинге так делает большинство модеров(статистика из воздуха). Ну это мои варианты. я такой себе скриптер. просто мне пришло . уведомление - я откликнулся) Вариантов с диалогом у меня нет под рукой. Переборов много разных, попробуй так for a = 1, 65534, 1 do local sobj = alife():object( a ) if sobj and sobj:section()=="секция предмета" and sobj.parent_id == npc.id then -- если секция предмета и предмет находится у нпс какого-нибудь в собственности alife():release( sobj, true ) end end Меня тоже интересует кое-что. Как можно сохранить переменную и привязать её к определенному сейву? Вот чтобы у каждого сейва эта переменная была своя? Я сейчас смог так на костылях реализовать сохранение переменной через файловый менеджер, переименовывая определенный файл в значение переменной, а потом на нетспавне считывать это имя файла как переменную, типо сохранил... Ну понятное дело, что это все более-менее работает в рамках прохождения всей игры на одном и том же сохранении. Так бывает конечно, но такую реализацию я бы отложил на самый крайний случай. Я вижу там разрабы сохраняют уровни сложности, тайники что ли, логику. Пытался посмотреть. Пока ничего не понял особо, ну понял что нет-пакеты) все пока что. У меня ОГСР, поэтому я еще смотрю в сторону такого способа function save_number(number) local setting_ini = ini_file("important_number.ltx", true) setting_ini.readonly = false setting_ini:w_float("имя_сейва", "1", number) -- тут хотелось бы получать еще имя сейва... number то я могу получать end И вроде оно сохраняет, т.е точно сохраняет, но имя сейва получить при сохранении как не знаю. Я нашел случайно, но еще не пытался это в свои скрипты пихать такое в скрипте xr_effects из зп. -- Сюжетное сохранение в важных местах function scenario_autosave(actor, npc, p) local save_name = p[1] if save_name == nil then abort("You are trying to use scenario_autosave without save name") end if IsImportantSave() then local save_param = user_name().." - "..game.translate_string(save_name) get_console():execute("save "..save_param) end end Возможно как-то так я смогу получать имя сейва, записывать его вместе с намбер. Меня интересует, если я пытаюсь идти верной дорогой в своих хотелках, то как это всё дело загрузить потом?
  5. 666Ian

    Скриптование

    а есть что на эту тему? Попробуем форк.. Уточню, если понял неправильно. Форк движка, по сути просто правка движка, огср позволит мне сохранять свойства предмета также легко, как я сохраняю сейчас condition предмета? Т.е я сделаю аналог set_condition(number) для любого свойства, например, цены и смогу условно через set_cost(number) менять стоимость любого предмета? И сделать это не так уж и сложно, что даже у меня есть шансы)? Если хватит терпения у кого меня посвятить в это дело, то я готов пробовать. Вроде прикольная штука была бы и простая. Скриптами я наныл, еще не понял как, но понимать вроде начинаю и вижу там какие-то дебри
  6. 666Ian

    Скриптование

    @Norman Eisenherz это мне помогали, есть такой код. Для чн. У меня огср движок и может там есть это, да и ковыряя пакеты оружия, артов и брони мне выводило в лог этот самый upgrades. Только я точно пробовал применять на арты и получал вылет, что нельзя артэфакту это ставить якобы, хоть лог до этого и выдавал будто бы применить это можно к ним. Может из-за того, что конфиги не заполнены по аналогии с зп или чн. Не знаю возможно ли это в общем сделать. Ну вариант хуже или лучше варианта от рейтвитти? Попробую на пушку сейчас сделать, но что-то вспоминая мод ганслингер на тч и систему апгрейдов оружия с него, которая заключал в переспавне секций как я помню, сильно сомневаюсь в работоспособности этого способа даже на огср движке великом и могучем Я ещё вроде видел то, о чем тут мечтаю, в моде prosectors project, но вряд ли у меня стащить оттуда выйдет. Там скрипты совсем по-другому написаны и, наверное, движок с огср отличается. А ещё там дата зашифрована с ней возится конечно мне тоже гемор Решил всё-таки способом @RayTwitty попробовать подумать ещё раз. Правда, если пример получить невозможно с которого бы я все слизал, можно хоть подсказку какой биндер имеется ввиду. Я о том, что куда пробовать: делать что-то в скрипте se_item(вообще без понятия что) или прямо создавать биндер на подобии bind_heli, bind_physic_object опираясь вдобавок на подобные статьи из интернета, после чего пройтись, если мне нужна броня, по конфигам всех броников где подключить им этот биндер. В самом биндере достаточно будет использовать методы (save, load), которые сами все сделают. Или мне нужно полностью биндер делать с апдейтами там и остальными методами, полноценный. Я просто не вижу пока, может не нашел, где и как используется save,load. Пока думается, что при выходе предмета в онлайн все само сработает как надо:) как-то там. При этом апдейт мне вроде не нужен, поэтому нет в нем нужды, как и в нет дестрой, правильно? Всё что имею. Меняю свойства - цену и модельку Все свойства изменены и отображаются. Как я понял модельку я менял на сервере, а цену на клиенте. Пытался цену менять на сервере, глядя на модельку которая после смены на сервере сохраняется без всяких проблем, но так и не смог этого сделать. Дальше я жму сохранить игру, следующее действие - загрузить. У броника, конкретно у куртки новичка только правда(все тесты на этой куртке), есть свой вроде как рабочий биндер. Подключен он прямо в конфиге, как там у вертолетов, машин и т.д Но как им пользоваться, чтобы сохранились свойства я не понял. Думал, что достаточно его подключить и он сам всё сохранит и загрузит. Ну это точно не так.
  7. 666Ian

    Скриптование

    Тогда я не так понял. Блин. Про арты и оружие свой биндер, то понятное дело, а по биндеру я представил bind_destroyble_object.script(ну или как он там. Скрипт который к ящикам подключен и дверям там, рычагам), когда расписывал свои мысли, ну и видимо не в ту сторону посмотрел... Плохо понимаю в этом деле просто. Мне бы пример всё-таки. По-другому писать-то и не научился пока. Если это работает так, что у тебя есть предмет, он вдруг стал обладать уникальными и нетипичными для себя свойствами и все это нормально работает, другие предметы с идентичной секцией живут как обычно да ещё и игра не крашится, то я хотел бы разобраться в этом вопросе конечно, решить эту задачку, удовлетворить свою хотелку.
  8. 666Ian

    Скриптование

    @RayTwitty да мне не только cost. Я вообще все свойства хотел менять в перспективе, такая же фишка интересная: вот есть у тебя ствол, ты с этим стволом в руках влез в какой-нибудь кисель или ещё лучше уронил его туда и вот уже пушка пройдя через условия поменяла свойства, стала там радиоактивной или стрелять сильнее, мощнее. Можно конечно переспавнить ствол и не парится, но зачем если вроде бы свойства так меняются. Те же артефакты можно было сделать уникальными, т.е каждый арт необычный и непредсказуемый. А так, я думаю, ну по крайней мере это звучит так, что это плохая идея возится с этим. Свойства эти никогда не сохранятся, они должны быть заранее где-то в скрипте прописаны и каждый раз выставляться предмету при его нет спавне, правильно я понял? Тот же биндер на физобьекты обрабатывает сразу все объекты, если даже выделить секцию, например артефакт медуза, то таких медуз по зоне будет дофига, и у всех модифицированные свойства будут? Тогда какой в этом смысл. Заранее брать какой-то предмет по имени там или айди какому, то тоже не то, потому что я и сам не знаю с каким предметом игрок пройдет через "улучшатор/ухудшатор". Это должен был быть бы каждый раз разный предмет. А может я вообще не так понял ответ твой и все отрисовал неправильно. Короче это достаточно геморно, чтобы поменять это как, например, меняется моделька предмета через пакеты? Потому что модельку я научился менять без всяких там биндеров, без всяких нет спавнов... Загнал в оффлайн, сменил модельку, вывел в онлайн и забыл. Вот так же я и свойства думал менять примерно, хотел бы. А ещё лучше было бы, чтобы все эти изменения в клиентском объекте оставались бы сами навсегда, как состояние там или кол-во патронов в той же пушке.
  9. 666Ian

    Скриптование

    Я попробую ещё похимичить. Просто рейтвитти так ответил будто бы можно провернуть мою хотелку, но я не могу и все. Вчера целый день в слепую пытался что-то сделать из огрызков кода из интернета
  10. 666Ian

    Скриптование

    А можно какой-нибудь простой пример, вот цену предмета конкретного выставить в 10 рублей? А то я голову сломал уже. Не понимаю как мне получить серверный объект методом для онлайнового. Да и вообще, наверное все не так делал.
  11. 666Ian

    Скриптование

    Движок огср. Нет-пакеты из огср стандартные(Артас) Всем привет. Копаюсь иногда в сталкер, делаю всякое, вот дошли руки до свойств предметов(артефакты, оружие, броня). Дело в чем, значит, меняю я это свойство, например, у пистолета что-то типо pistol:get_weapon().cost = 10000. Отлично. Все работает, но до следующей загрузки и сбрасывается. Вопрос, как записать это свойство навсегда? это нет-пакеты? Просто я и пакетами пытался и как я понял пакетом менять-то особо нечего: моделька, custom_data(почти бесполезная штука для предмета?), положение и позиция на уровне, какие-то ненужные мне настройки стори ид, какие-то непонятные items_num... Нет, я гуглю конечно, смотрю, читаю про пакеты и медленно узнаю что-то новое, но может кто сразу скажет возможно ли пакетами менять свойства предмета, как я выше приводил пример скриптами, но навсегда? Если не пакеты, то может как-то ещё можно сохранить выставленный скриптом property? Если нельзя, то зачем вообще тогда эта возможность менять свойства предмета?
  12. 666Ian

    OGSR Mod

    Спасибо. Попробовал shell_drop. Работает. И работает как мне надо! Странно, что руки не дошли его попробовать, зато уже успел насрать себе там в апдейт лишний раз и придумать колесо на калбек нажатия клавиши.
  13. 666Ian

    OGSR Mod

    Приветствую. Подскажите как в последней версии движка пользоваться калбеком на выстрел? Я не смог его подключить. Просматривание файлов из модов, смотрел бинд_сталкер, тоже ни к чему не привели. Нигде никто не использует этот калбек, что только подтверждает мои догадки о его несуществовании. По запросам on_actor_weapon глухо и в самом движке. Однако, в вики движка все ещё упоминается именно on_actor_weapon_shoot. Это даёт ложные представления о возможностях движка и ранит в самое перевернутое ❤️, когда наконец доходят руки пощупать нещупабельное. Да, у меня есть под рукой вариант из апдейта, но он не учитывает последний патрон в обойме, что расстраивает очень сильно, очень... Также я смог настроить калбек нажатия клавиши, чтобы отслеживать выстрел, но опять же, вариант отлично подходит только для отслеживания одиночного выстрела, а мне хотелось бы нормальный, рабочий вариант
×
×
  • Создать...