Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Раньше уже писал про то, что после диалога (с поршнем <action>dialogs_escape.quest</action>) квест не выдается. Выдал через рестриктор (on_info = {+shakhter_fifth_dialog_end} %=give_task(quest_pohod_z_shakhterom)% sr_idle@4) после чего квест выдался. Через поршень <action> - мод отказывается выдавать.
Но основная проблема, из-за которой прохождение сюжета невозможно - это отказ непися идти к определённой точке, хотя наличие путей и инфопоршней присуствует, перепроверял лично кучу раз.
Думаем, что в моде что-то сломалось... Может ли это быть связано с аи-сеткой или спавном? Если нет, то можете подсказать, как это исправить? Неужто начинать сначала всё?
Скриншоты (когда непись не идёт и логика того непися):
есть ли вообще разница между первым и вторым коеф. торговли?
[trade_generic_buy] af_cristall = 0.8, 0.6 - имеет разницу ставить сначала 0.6 а потом 0.8 или наоборот?
или там кокнретно прописано что первый коеф - при плохой репе, второй при хорошей, или там в формуле эти коеф. усредняются? прост в разных гайдах по разному говорят, в одном что усредняютс, в другом что первый - минималка, в третьем - что первый - максимальный коеф, а я хочу нормально все это дело прописать
Сообщение отредактировал Egoistik - Вторник, 28.05.2019, 02:41
Через поршень <action> - мод отказывается выдавать.
Это не поршень. Это скриптовый вызов. Что содержится в dialogs_escape.quest()? Должно быть что-то такое:
Код
function quest() task_manager.get_task_manager():give_task(p[1]) end
ЦитатаNewValveCom ()
Может ли это быть связано с аи-сеткой или спавном?
Проверь наличие АИ-сетки на пути. Хотя, полагаю, она там есть. Стоит проверить, не на драфте ли собрана сетка. С этим могут быть определенные проблемы. Точно не скажу какие, но после первого компила сетки на драфте я так больше никогда не делал.
Пробуем второй раз. В каких конфигах можно изменить анимацию Актора? А именно: ходьбы\бега\стойки с оружием\без. Именно во время процесса игры, а не для роликов. Ибо уже надоела эта кукольная анимация при виде от 2-лица (особенно без оружия. Просто жуть!). И второй вопрос, как можно сделать так, чтобы основное оружие висело у Актора за спиной, когда тот его не использует? Как у обычного НПС.
есть ли вообще разница между первым и вторым коеф. торговли?
Применительно к движку версии 1.602. Конкретно в секциях типа buy: 1. Параметр - это имя секции предмета для торговли. 2. Значение параметра делиться на две части, первая - значение торгового коэффициента при дружественном отношении НПС к ГГ, вторая - значение коэффициента при враждебном отношении НПС к ГГ. Соответственно, да разница между коэффициентами есть, да порядок определяет график функции коэффициентов торговли.
Сообщение отредактировал denis2000 - Вторник, 28.05.2019, 09:40
Здравствуйте. Существует ли в природе функция сливания таблиц, с замещением одноименных прараметров (подтаблиц)??
... tbl.upgrade_count = 0 nanana(wpn,tbl) ... function nanana(wpn,tbl) local data = net_pcket.get_data(obj) data = функция_слияния(data,tbl) net_pcket.set_data(data,obj)
_ToHaSH_2002, вот, из какого-то проекта, да и в сталке вроде была...
Код
--- Make a shallow copy of a table, including any metatable (for a -- deep copy, use tree.clone). -- @param t table -- @param nometa if non-nil don't copy metatable -- @return copy of table function clone (t, nometa) local u = {} if not nometa then setmetatable (u, getmetatable (t)) end for i, v in pairs (t) do u[i] = v end return u end
--- Merge two tables. -- If there are duplicate fields, u's will be used. The metatable of -- the returned table is that of t. -- @param t first table -- @param u second table -- @return merged table function merge (t, u) local r = clone (t) for i, v in pairs (u) do r[i] = v end return r end
m_nearest.clear_not_free (); Level().ObjectSpace.GetNearest (m_nearest,pThis.base->Position(),2.f, NULL); if (!m_nearest.empty()) { for (u32 i=0, n = m_nearest.size(); i<n; ++i) { // Может ли объект торговать pEntity = smart_cast<CEntity *>(m_nearest[i]); if (pEntity && !pEntity->g_Alive()) return false; if (SetPartner(pEntity)) break; } }
if (!pPartner.base) return false;
// Объект рядом float dist = pPartner.base->Position().distance_to(pThis.base->Position()); if (dist < 0.5f || dist > 4.5f) { RemovePartner(); return false; }
// Объект смотрит на меня float yaw, pitch; float yaw2, pitch2;
float Res = rad2deg(_abs(yaw - yaw2) < PI ? _abs(yaw - yaw2) : PI_MUL_2 - _abs(yaw - yaw2)); if (Res < 165.f || Res > 195.f) { RemovePartner(); return false; }
return true; }
void CTrade::TransferItem(CInventoryItem* pItem, bool bBuying) { // сумма сделки учитывая ценовой коэффициент // актер цену не говорит никогда, все делают за него u32 dwTransferMoney = GetItemPrice(pItem, bBuying);
// computing condition factor // for "dead" weapon we use 10% from base cost, for "good" weapon we use full base cost float condition_factor = powf(pItem->GetCondition()*0.9f + .1f, 0.75f);
А если вас интересует исходный код движка который использовали разработчики конкретного мода (если они использовали модифицированный движек меняющий правила торговли), то это их и надо спросить.
ЦитатаEgoistik ()
тоесть цена при разбросе зависит от отношения группировки к игроку а не от его репутации
Цена зависит от отношения (параметр relation) конкретного НПС к ГГ в инвентаре которого лежат продаваемые ГГ предметы, а не от отношения группировки (параметр communities_relations) НПС к группировке ГГ!
Сообщение отредактировал denis2000 - Вторник, 28.05.2019, 16:31
Тогда еще вопрос. Можно ли достоверно скоприровать аддоны с одного оружия на другое (нет пакет и функция se_new:clone_addons(se_old) копирует первый по счету прицел)
Снова здарвствуйте! Можете объяснить пожалуйста разницу между типами рестрикторов NOT A restrictor и NONE default resrtictor и когда использовать каждый из их? Про IN/OUT default restrictor знаю.
Сообщение отредактировал Prostomod - Вторник, 28.05.2019, 18:30