TheDoktor
Понятно...Слушай а вот знаешь артефакт "Булыжник" он вроде немного грузоводьёмность увеличивает, когда выкидываешь его он вверх поднимается..посмотри его хар..(хотя и написано ,что нечем не обладает)
(Я эт где то читал)
TheDoktor
У класса артефактов в ТЧ нет параметра увеличивающего грузоподъемность.
Вывод думаю понятен.
Впрочем (теоретически) наверно можно попробовать создать унаследованный от базового дочерний класс который будет совмещать в себе параметры класса артов ARTEFACT и класса броников E_STLK (у которого этот параметр есть).
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Кто б подумал, что есть хоть какая-то разница в опущенных символах ... Если движек игры НЕ обрабатывает какие-то параметры объекта и/или не предусматривает некие зависимости (цифирька в конфиге -> грузоподъемность), то ... только написанием своих скриптов, можно заставить осуществиться зависимости.
В качестве примера: легендарный "лечебный" костюм Призрака - без соответствующих доп.скриптов никакой НЕ лечебный.
Artos
костюм призрака это outfit_stalker_m1
и в его конфиге как раз лечебность и прописана health_restore_speed = 0.0006
а в скриптах оригинала он нигде не упоминается.
???
и по грузоподъемности - разве есть доступный метод который ее регулирует?
Для того, чтобы сделать арт увеличивающий грузоподъмность у меня только один доступный вариант есть - создать копии конфигов всех игровых костюмов - изменив имя секции и добавив туда нужный параметр для увеличения грузоподъемности.
Затем пишем таблицу соответствий: где ключ- обычный костюм, значение - новый костюм-копия с увеличенной грузоподьемностью.
Далее делаем проверку что определенный арт находится на поясе и удаляем текущий костюм, а на его место спавним (ориентир - значение из таблицы) новый.
В итоге имеем иллюзию что некий арт (при надевании его на пояс) дает прибавку грузоподьемности.
отредактировал(а) erlik: 05-05-2010 17:08 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
:obstenu: Не учатся не чему некоторые, и учиться не хотят кина американского насмотрелись,или крышу срывает от жадности,ты ему про аномалии...а он тебе про хабар!Ни о чем думать не хотят кроме бабок...пока кишки по веткам не разбросает :obstenu:
ЖекаЖмот
Конечно можно...
-----------------------------------------------------------------------------------
Извините за такой вопрос:
Кто нибудь может перечислить скрипты которые отвечают за динамические аномалии...
пожалуйста мне очень надо.(в AMK например)
erlik
(повторю) Даже если в конфиге объекта указан некий параметр и даже если этот параметр не приводит к фатальным ошибкам НЕ факт что этот параметр хоть как-то учитавается движком игры и тем более обеспечивает требуемую зависимость.
Уже не раз замечал, что ты считаешь, что если прописать некий параметр объекту то это чуть ли не автоматом наделяет объект свойством, за который отвечает данный параметр.
Отнють!
Пример: оружию можно прописать параметры для зум-прицела, но от этого оружие НИЧЕГО не получит и не станет ближе к биноклю. Даже если перевести оружие в класс бинокля - все равно будет незнамо-что. И только вмешательство в 'движек' позволяет получить желаемый зум-прицел, работающий на оружии.
То, что прописано (как рудимент) комбезу в параметрах "health_restore_speed" совершенно НЕ означает, что этот параметр хоть как-то отслеживается в игре (как и параметр сытости!). Разрабы кастрировали движек на обработку этих параметров восстановления для комбезов.
В кодах немало еще рудиментов, которые можно пытаться использовать и ... даже заблуждаться, что ты их используешь, но ... на самом деле это самомобман.
Свойства самолечения (восстановления здоровья) комбезам в оригинале НЕТ и оно (прописанное в конфигах даже в оригинале) активированно сторонними скриптами в отдельных модах (1-м был Zenon, если не ошибаюсь).
P.S. твой вариант с подменой костюма может и бать рабочим, но ... уж очень и коряв и не однозначен.
Я пока не имею отработанного варианта иными способами, но таким путем бы не пошел.
Ведь суть "увеличения грузоподъемности" - может трактоваться по разному и разными способами реализовываться.
Собственно простейший и лежащий на поверхности - грузоподъемность (вес носимой поклажи без последствий) прописан в конфигах -> считывается в память и хранится возможно в доступных параметрах (например в нет-пакетах). Тогда достаточно при обнаружении, например на поясе некоего артефакта, с неким (даже не обрабатываемым) параметром, изменять цифирьку в параметрах актера?!
Или несколько проще и реализуемее - тот же вариант с комбезом, но только НЕ подменять его, а изменять именно ему (комбезу) параметр грузоподъемности при наличии того же спец-арта.
Ну и т.п.
То есть ты отрицаешь существование в оригинале, к примеру, "аномальной куртки новичка"?
А вот как прописана эта куртка в оригинальном файле игры: [outfit_novice_m1]:novice_outfit ;Аномальная куртка новичка
$spawn = "outfit\uniq\outfit_novice_m1"
inv_name = novice_outfit_name_m
inv_name_short = novice_outfit_name_m
description = novice_outfit_description_m
health_restore_speed = 0.0006
satiety_restore_speed = 0.001
bleeding_restore_speed = -0.006
power_restore_speed = 0.003
cost = 2000
inv_grid_x = 12
inv_grid_y = 21
Между прочим, не много, но ,всё таки, она лечит!
Я – хозяин своей судьбы, но только судьба знает, где закончится мой путь.
Третий раз повторяю (снимите шоры!):
Кто вам сказал (хотя даже и слова - остаются словаими), что ЛЮБОЙ прописанный в конфиге параметр является рабочим?
Что даже satiety_restore_speed = 0.001 у кого-то с комбезом работает???
Если "health_restore_speed" хоть как-то (выше помянул) можно заставить работать, то ... насыщать ГГ помипо как прямой жрачки еды вроде как никому не удалось.
Прим: НЕ путайте параметры иммунитетов с параметрами восстановления!
Иммунитеты "замедляют/ускоряют" НО НЕ осуществляют действие! Лечить (увеличивать здоровье), насыщать - это дествие, а не свойство действия.
А то, что вроде как "лечит" - у ГГ самого есть параметр самовосстановления здоровья - вот и "лечит"(ся!). Между прочим ..
А назвать аномальной или комбезом с "лечебным" бериллом ...
Никто НЕ отрицает их существования, однако "лечат" у них - 'bleeding_restore_speed = -0.00X'
Artos
Возражений не имею. Понятия не имел что данный параметр в конфиге костюма никак не учитывается.
(к тому ж ведь и не помню уже за давностью прохождения игры ,а лечил ли он действительно :-) получается что нет...) Однако... ну что ж будем знать теперь что есть такие вот рудименты.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Ну не знаю, как там с едой, как то этим вопросом не интересовался, но восстановление жизни и остановка кровотечения точно работает, сам ради прикола как то увеличивал, так меня замочить не могли. И ни каких артефактов на поясе. А вот то что увеличение грузоподъёмности артами(если тупо прописывать эту функцию в артефактах) не пашет это точно.
Я – хозяин своей судьбы, но только судьба знает, где закончится мой путь.
erlik
Говорю это так утвердительно потому, что специально ковырял и коды Зенона и писал свою схему, которая и должна была обрабатывать подобные свойства, о которых разрабы помянули и ... отфутболили.
И арт (раб.название "антиграв") давно обсуждался и даже есть в некоем недоделанном прототипе, но на все не хватает времени. Во блин упертость и зашоренность ...
восстановление жизни и остановка кровотечения точно работает
Конечно работает! Но если на кровотечение влияет И параметр комбеза/арта/..., то параметр комбеза НЕ влияет на восстановление здоровья и оно восстанавливается параметром только самого актера (или еще артов, у них работает).
Включи голову и постарайся осознать взаимозависимые и связанные параметры, отсеев 'шумовые'.
Или ты как уже обычно: у "меня в моде" работает, даже может и не оподозревая, почему заработало?!
Artos
насчет считывания параметров из памяти - давно хотел узнать об этом поподробнее.
так как всегда мучался вопросом - как это сделать - ведь переписывание файла во время игры (даже если бы это было возможно в ТЧ - через методы io ) ничего не даст, а вот как найти эту считанную из файла в память переменную - для меня большой вопрос...
На АМК как то эта тема поднималась - однако ответом было что это практически невозможно.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Под 'памятью' можно разное подразумевать.
Что-то можно вытащить доступными способами (методы/функции), что-то - net_packet'ами (немало).
Что-то экзотическими способами, например тот же кейлогер, "вытаскивающий из памяти" коды нажатых клавишь иль банальный трейнер (читерский инструментарий) влияющий и дарующий бесконечные жизни/патроны/...
Что-то - "квази-способами" ...
Считать некий параметр из нужного файла в общем-то не проблема (как правило). Собствено некорректно твое "как найти эту считанную из файла в память переменную", т.к. ты же ее и считываешь как правило в некую переменную. Проблема зачастую присвоить считанное некоему нужному параметру/нужной переменной.
На это не может быть однозначных ответов, тут сплошные частности.
Artos
я и имел ввиду - переписать значение(присвоить новое) переменной которая была загружена в память из какого то конфигурационного файла.
кейлогер для своего" черного дела" использует WinAPI - тут ему все ходы открыты.
А вот переписывание значений игровых переменных ... здесь моих знаний пока не хватает даже чтобы понять что из себя представляет собственно та же неуправляемая куча - если я не ошибаюсь то именно она используется для динамически скомпилированного (JIT) кода (хотя переменные вроде как в стеке хранятся).
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Вроде бы понял, но ИМХО это из разряда лучше не делать чем плохо сделать. Как некоторые гранаты с худом от водки называют молотовым. Надо искать обходной путь.
Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
Пока я тут тебе в общих вопросах вряд ли что подскажу.
Ведь можно по-разному трактовать твои слова/задачи.
Как считать прописанный параметр визуала непися и заменить его на другой? Просто: считываем нет-пакетом и заменяем.
Как считать прописанный параметр иконки неписи (аналог введенной в ЧН/ЗП ':character_icon()') - ищу, похоже только коссвенными способами.
Как динамически изменить "switch_distance" - пока никак не найду.
и т.п.
Как считать и запомнить конкретный параметр, если конечно это возможно и знаю, готов подсказать. Но ... многое конечно и неизвестно и/или недоступно.
Если же ты о стеке, то ... я вообще-то больше по perl'овым скриптам в свое время ковырялся и там много разных вариантов обращения со стеком. Если подобное в вариации компиллятора LUA для Сталкера? - все собираюсь выяснить, но ... как то недосуг. По идее вроде бы должно быть, но учитывая, например, кастрацию на класс 'io', не удивлюсь, что классы обращения со стеком тоже или кастрированы или не включены. Нужно ковырять/пробовать.
:obstenu: Не учатся не чему некоторые, и учиться не хотят кина американского насмотрелись,или крышу срывает от жадности,ты ему про аномалии...а он тебе про хабар!Ни о чем думать не хотят кроме бабок...пока кишки по веткам не разбросает :obstenu:
Вопрос из основополагающих:
почему мододелы (не все) не перешли на ЗОВ ПРИПЯТИ, там же движок совершеннее - позволяет сделать большее? Какие этому причины?
И конкретный вопрос: где находится функция заклинивания оружия, как называется, как вызывать, от каких параметров?
Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
vhodnoylogin потому что в тч осталась атмосфера. в зп можно побегать и пострелять везде. каждому свое, мне больше по душе тч, чем контр-страйковский зп...
в конфигах оружия эта строка:
condition_shot_dec = 0.0005 ;увеличение износа при каждом выстреле
В том то все и дело, мне не надо изнашивать оружие, мне надо сделать так, чтобы оно не стреляло при определенных условиях. А как сделать так, чтобы оно не стреляло?
Но важнее этого вопроса следующее (ибо при ответе на этот вопрос не надо будет отвечать на предыдущий):
то же самое, только с перезарядкой - как без определенного предмета не перезаряжать оружие?
добавлено спустя 10 минут
И что значит слово АТМОСФЕРА? Что с ней не так в ЗП? А почему бы не переписать локации, ведь все равно куча людей страдают "озеленением", "облагораживанием" и еще "чем-то подобным" локаций?
Потратить столько же времени, но целенаправленно и получить атмосферу ТЧ. Ну, и переспавнить все и вся.
А вот движок - это более важно, разве не так.
отредактировал(а) vhodnoylogin: 05-05-2010 23:38 GMT3 час. Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
как без определенного предмета не перезаряжать оружие?
делай проверку на свой предмет и если его нет, то перебирай инвентарь и удаляй из рюкзака реальные патроны и спавни муляжи с классом II_ATTCH которые разумеется никуда заряжаться не будут.
Когда же предмет в инвентаре появится - возвращай все на родину - муляжи в мусор, реальные патроны обратно.
в общем вот тебе алгоритм - а реализовывай уже сам.
специальной функции для заклинивания не знаю - оружие клинится при достижении им определенного уровня износа - значит если сделать его кондишен нулевым (это просто сделать obj:set_condition(0) ) , то оно и клинить будет. Но это уже будет не оружие, а хлам - правда можно усе обратно вернуть - тем же макаром - obj:set_condition(1) .
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Осмелюсь предложить тебе обратить внимание на использование net_packet'ов. С ними многое и проще можно делать и даже то, что недостижимо иным 'штатным' способом/функцией.
Могу ошибаться, т.к. давно ковырялся и не осталось точной информации, но:
В нет-пакете оружия есть параметры 'updcondition' и 'updweapon_flags'. Управление первым собственно эквивалентно уже имеющейся функции 'set_condition()' и не столь интересно, а вот второй ...
В нем хранятся различные флаги, в том числе и запомненное состояние 'осечка'. Кстати, это состояние наступает не в момент достижения/превышения некоего значения износа из конфигов, а дополнительно работает и рандом, т.е. осечки может и не быть в данный момент. Хотя при '0' вероятность сработает на 100%.
Если использовать управление этим флагом, то дотаточно просто заставить оружие (рас)заклинить в нужный момент.
Так же, используя этот параметр можно искусственно заклинить оружие при некоем событии (как рассматриваемый вопрос с неким предметом в инвентаре), не прибегая к подмене 'боевых' патронов их муляжами. Перезаряжай сколь угодно (ведь это и не запретить делать ГГ, а с муляжами глупо и непонятно выглядит) - стрелять не будет.
Т.о. и игрок НЕ удивляется, что у него оружие в хлам превратилось (а потом самоотремонтировалось!) и муляжи вводить в игру, которые также игрока могут в ступор ввести своим появлением (и отслеживать чтобы не замусорить), не требуется и желаемый эффект достижим не сложным способом.
FLIKER
За динамические аномалии отвечают скрипты, которые использует автор соответствующего мода. Т.к. в оригинале ничего подобного нет, а авторы пишут свои скрипты, то и кол-во скриптов/конфигов и их названия в каждом моде как правило свои (не отношу сюда солянки).
Можно догадаться было бы самому, какой основной скрипт отвечает за дин.аномалии, т.к. в названии почти всегда используется "anom"/"anomaly" (иногда "zone"), но ... попробуй себе выбрать задачку 'по-плечу'. С дин.аномалиями не всякий боле-менее имеющий опыт модмейкер совладает, слишком много нюансов и тонкостей, да и трудоемкость (если самому делать) немаленькая.
Такой вопрос. Можно убрать спауны-дежавю неписей (например спаун бандосов атакующих раз за разом ангар, или спаун наймов на дикой территории на втором этаже стройки) не через аль-спаун, а через скрипт?
P.S. не отвечайте, пожалуйста, ответом "да можно". Если не сложно, подскажите как.
Я – хозяин своей судьбы, но только судьба знает, где закончится мой путь.
Artos
нашел я как считывать состояние оружия. (в старом амк все это давно есть, но раньше я на эти скрипты внимания не обращал - не зная как с этим работать)
правда опыт чтения нетпакетов у меня так себе - считывал только реальные имена серверных неписей (для своего скрипта определяющего хозяина конкретной вещи).
И то получилось не сразу - сначала пытался делать это через смещение позиции - типа
-создаем пустой нет пакет
local packet = net_packet()
--загружаем состояние объекта
sobj:STATE_Write(packet)
--задаем позицию для чтения
packet:r_seek(16)
--читаем нужную строку
local s = packet:r_stringZ()
и получал всяко-разно, но не то что нужно.Потом один умный чел singapur22 показал что надо считывать последовательно каждый блок и уже брать запись из нужного блока.
Но опять же - ладно я хоть немного в этом понимаю - а нынешние модмейкеры? вот и предлагаю более понятные варианты.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.