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

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

Такой вопрос у меня. Как спавнится 1000 патронов? Как обычно делают? В цикле? Или есть функция, которую я не нашел, в которую можно впихивать количество объектов, массив или что-то такое?

Поделиться этим сообщением


Ссылка на сообщение

malandrinus, если честно, смотрел неоднократно

cse_abstract* create(string <имя секции объекта>, vector* position, int level_vertex_id, int game_vertex_id, int parent_id) // создание объектов в инвентаре --- стандартная, создаст только один объект по имени секции

cse_abstract* create_ammo(string <имя секции патронов>, vector* position, int level_vertex_id, int game_vertex_id, int parent_id, int amount) // создание пачек с патронами --- создаст все равно одну пачку, но с варьируемым кол-вом патронов.

зы больше ничего не нашел подходящего, из чего делаю вывод, что только цикл... Но поэтому я и спросил - вдруг не врубаю чего..

Изменено пользователем PGU_tk

Поделиться этим сообщением


Ссылка на сообщение

Министр, там неправильно написано - создание пачек. На самом деле создается только одна пачка. Если в последнем параметре написать патронов больше, чем прописано в box_size для данного типа, то они просто проигнорируются. Таким образом, если у меня пачки по 30 патронов, то придется в цикле это все плодить, чтобы до 1000... А это странно - странно, что нет функции, генерирующей эн однотипных объектов или у которой первый параметр массив секций. Впрочем, что есть, то есть.

 

_Призрак_, спасиб за ответ, я так и понял. Цикл я и сам могу написать, просто хотелось услышать чье-нибудь подтверждение..

Поделиться этим сообщением


Ссылка на сообщение
Куфзук, в принципе вариант, только надо еще прицепить как-то оружию выстрел или поправить где-то какой-то параметр, а то у меня гг не спешит перезаряжаться. Еще actor:restore_weapon() лишнее..

Поделиться этим сообщением


Ссылка на сообщение

Куфзук, если оно спрятано, то actor:activate_slot(2) - его вытащит.

>при пустом магазине он вроде сам перезаряжается

да вроде я тоже так думал, но там как-то странно - если открываешь инвентарь, то он действительно сразу начинает перезаряжаться, а если ничего не делать, то и не спешит. Я проверял именно на коде почти таком же, как ты привел :) Еще поэкспериментирую сейчас с restore_weapon()\hide_weapon()

Поделиться этим сообщением


Ссылка на сообщение

В общем, резюмируя. (там кстати вверху была неточность - actor:restore_weapon() надо заменить на wpn:restore_weapon()). Игра с hide\restore тоже ни к чему не привела. В игре действительно, отстрел магазина приводит к моментальной перезарядке, но если делать это unload-ом или set_ammo_elapsed(0), то это просто установка такого количества патронов - перезарядку это не вызывает, для нее нужны дополнительные события (выстрел, просмотр инвентаря). А я пришел к выводу, что это не стоит того, можно решить иначе мою задумку, да и поиски уперлись. Но если кто-то подскажет, как анимацию запустить, то будет интересно "поиграться")

Поделиться этим сообщением


Ссылка на сообщение

Куфзук, не хочу спорить, потому что не знаю, но у меня как раз работало так, как я сказал и не работало, если к ГГ применять, если я ничего не напутал. Но с другой стороны, если hide_weapon() еще понятно, что уберет (потенциально) тот ствол, который активен (если применять к ГГ), то какой из стволов доставать по restore_weapon() ? Слотов-то не один. С этой точки зрения логичней через ствол вызывать (поэтому я думаю, что так и есть).

Про выстрелы мне тоже интересно) Поиском находил уже тут такой вопрос, но ответа не было..

Изменено пользователем PGU_tk

Поделиться этим сообщением


Ссылка на сообщение
Restore_weapon применяется для актора и вероятнее всего она достает оружие спрятанное ф-ей hide_weapon

Да, все так - специально проверял сегодня) Без хайда просто не работает..

Поделиться этим сообщением


Ссылка на сообщение

Ребят, такой вопрос.

phrase id в диалогах - вроде как число. Меня интересует какие значения может принимать. Я поначалу всунул буквенную комбинацию перед цифрами (вроде <phrase id="sf1">) - буквы проигнорировались. Как обстоит дело с нулями? - id="0001". Вообще есть какие ограничения..? Заранее спс

Поделиться этим сообщением


Ссылка на сообщение

_zero_cool_, :D Угу, но все ж с буквами удобней ориентироваться;) Когда много разветвлений в диалогах.

Ограничение сверху какое есть? Я имею ввиду скока цифр или максимальный id

Поделиться этим сообщением


Ссылка на сообщение

Парни, ламерский вопрос, но не нашел ответ. На примере конфигов соли. 

Имеем ак74 и бронебойный патрон:

hit_power         = 0.51, 0.51, 0.52, 0.52
silencer_hit_power     = 0.5
 
wpn_addon_silencer:
bullet_hit_power_k = 0.7
 
ammo_5.45x39_ap :
k_hit = 1.33
 
Помимо того, что hit_power зависит от сложности, получаем:
без глушителя hit=hit_power * k_hit
c глушителем hit=silencer_hit_power * bullet_hit_power_k * k_hit
 
Все верно? Основной вопрос по silencer_hit_power..

Поделиться этим сообщением


Ссылка на сообщение

@PGU_tk, В конфиге указывается примитив, разброс цены от номинальной в пределах которой торговец продаст тебе товар. 

Это я в курсе)

 

 

 

В движке идет парсинг секции, и меньшее значение подставляется в "друга", большее во "врага", причем порядок указания не важен. Там на самом деле не такой тупой функционал, как я себе представлял. Там на самом деле все завязано на goodwill персонажа к актору, по формуле вычисляет минимальная и максимальная цены, завязан параметр character_goodwill, friend, enemy

Я предполагаю, что особо не запаривались и там линейная зависимость в привязке к какому-то параметру - видимо goodwill. Я думал, что может character_reputation(). Вообще не в курсе пока особо чем они отличаются.

НУ и износ, естественно  :)

 

 

Как-нибудь описание всей торговли напишу.

:good2:

Поделиться этим сообщением


Ссылка на сообщение

@Карлан


 

 

разумеется линейная. Какая тебе еще-то нужна?

Лично мне - правильная  :crazy: , чтобы скриптик сделать ) 

Важные моменты - там нет рандома? А то могут  - в зависиости от других параметров просто сужать границы, а внутри рандомно выбирать.

И параметры - goodwill, износ. Это все? У тебя то вон сколько! Да и при желании можно наваять.. (даже количество денег актора учитывать)

Поделиться этим сообщением


Ссылка на сообщение

По поводу торговли, пока меня это интересует. Ковыряю ОП2) И пока интересовался только покупкой, как самой актуальной для меня, т.е. buy_condition.

 

Зависимость стоимости от износа нелинейная и в целом немного странная, но близка к линейной.. С ошибкой в несколько процентов можно аппроксимировать линейной функцией, если не нужна 100%ая точность. Стоимость ствола при кондишине=33% равна половине.. Соответственно, даже полностью убитый ствол что-то стоит.

 

А вот гудвил влияет только на распределение коэффициента у торговца, который умножается последним на уже полученную цену в зависимости от износа. Я обнаружил, что общий гудвил  actor:general_goodwill(торговец) полностью влияет на коэффициент - т.е. похоже других зависимостей нет. Зависимость абсолютно линейная в интервале от -1000 до 1000. Значения выше по модулю, если и достижимы, учитываются, как +-1000.

Правда, некая опять странность. По конфигам, да и по логике, +1000 - наилучшее значение, как -1000 наихудшее. Но в ОП2 все наоборот - чем больше гудвил, тем меньше цена покупки.

Искать корни сего явления дальше неохота. Может типо имеется ввиду, что чем "круче" Меченый, тем меньше он нуждается в деньгах? Я не так часто играл в последнее время в сталкеров, может чего подзабыл, но мне всегда казалось, что по ходу сюжета и набора репы доход от торговли рос(!)

 

 

Кто бы вот что подсказал. Как вытащить гудвил торговцев в офлайне - находящихся на других локах, например?

Изменено пользователем PGU_tk

Поделиться этим сообщением


Ссылка на сообщение

@Карлан

 

Про гудвилы у тебя выводы вообще не верные

 

Для тех кто не понял добавлю, вот как раз он только и влияет

На находишь противоречие ?) Т.е. автор не прав, но он прав?)

 

что -1000/1000 - пределы, абсолютно неверно, все это можно перенастроить

Что значит "абсолютно неверно", если в оп2 именно так и обстоит дело? Я и не утверждал, что это везде.

Далее, про то, из чего складывается общий гудвил, написано и в конфиге, это я был в курсе.

Но есть разница между тем, что было сказано тобой выше и тем, что описал я - из моего описания уже лично мне _действительно_ понятно, как формируется цена и как её получить в игре. Я же изначально спрашивал про формулу? Ну вот формула состоит в получении общего гудвила, как написал, и в использовании аппроксимирующей функции по кондишену, потому что реальной, понятной зависимости там нет или её трудно "увидеть". В принципе, написал для таких же, как я , мало ли пригодиться)

 

 

Соответственно эти значения падают в relation_registry.
 

Вот это пасиб, буду иметь ввиду.

 

 

не путай людей, твой пост дефакто не несет смысловой нагрузки

Я думаю, если ты тут поищешь, найдешь куда менее информативные :P

 

Опиши конечную цель. В любом случае вменяемым способом его получить нельзя, он всегда вычисляется заново. Если только в движке писать что-то такое.          

Мм, плохо, если так, но ок) :russian_ru:

Цель - как всегда у меня - сделать нужный для себя скриптик, облегчающий игру\экономящий время :D  :good2:  Ну и немного любопытства))

 

 

я подобное писал в свое время, и мне по шапке дали ;). И правильно дали

Это уже оффтоп, а почему дали? Можно в личку. ТЕма же - ковыряние файлов. Ну, вот я\мы этим и занимаемся. (Только кто-то в этом на уровне мастера, а кто-то новичка, как я :) ). В шапке написано только про пользование поиском, ну так я на свой вопрос ответ и не нашил

Поделиться этим сообщением


Ссылка на сообщение

@Карлан

 

В общем если ты считаешь что ты все понял, а я тут дураком сижу, то не пиши тут о торговле больше ничего, не путай людей

:D Ну ты ваще. А где я такое сказал?)

Пока в твоих постах я не увидел противоречие с тем, что я написал по поводу торговли) И на самом деле, я изначально именно и рассчитывал, что кто-то может дополнит\поправит) Я тока спасибо скажу.

 

влияет не только он, выше я уже это описал.

Что если параметр есть сумма нескольких, то по факту и они тоже влияют? Ну так это понятно, но для подсчета цены это ненужно знать - нужна только сумма.

Про корридор - да, ты писал про -100+100. В ОП2 он -1000+1000 и это же написано в конфиге. О чем разговор? Если его можно менять из мода в мод, то и нет смысла акцентировать на этом внимание.

 

Все остальные твои "выпады" оставлю без комментария. Я протестировал уже порядка 15 торговцев в оп2 и везде 100%ая точность. Для получения формулы так вообще пришлось вспоминть "былое", матлаб, аппроксимации. В моем скриптике цена аппроксимируется полиномом 6ой степени. Имхо, наиболее приемлемая точность (до 4го знака). 

 

После того, как допишу скриптики и уже поиграю, будет возможность постоянно убеждаться прав я или нет) Кроме того, еще ОГСЕ, что тоже на SOC и он тоже в планах.

 

потому что я подумал что сделал какое-то открытие, а на самом деле бессмысленный пост написал.
 

Ну и ладно, главное же, что ты сам понял))

Изменено пользователем PGU_tk

Поделиться этим сообщением


Ссылка на сообщение

Товарищи, вопрос)

 

Как узнать содержимое physic_destroyable_object?

Или хотя бы пуст он или нет (скриптово имею ввиду)

Изменено пользователем PGU_tk

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...