Прежде чем задавать вопрос - посмотрите в >> КАРТОТЕКЕ << Возможно, там уже есть готовый ответ.
Тема предназначена для общих вопросов. Прежде, чем тут что-то написать, посмотрите другие темы этого раздела. Вполне возможно, что они больше соответствуют тематике вашего вопроса.
Да уж... Как говорится, "все люди делятся на три категории: кто понимает числа и кто не понимает!"
Как из мелкодробных сделать ИКСные? Умножить на ИКС, как ещё-то...
SHORT DD SHORT HH SHORT MH FLOAT SS FLOAT tmpVar SET tmpVar TO GameDaysPassed SET DD TO tmpVar SET tmpVar TO 24 * (tmpVar - DD) SET HH TO tmpvar SET tmpVar TO 60 * (tmpVar - HH) SET MM TO tmpvar SET SS TO 60 * (tmpVar - MM) PrintToConsole "Дни: %.0f, часы: %.0f, минуты: %.0f, секунды: %.4f" DD HH MM SS
Joopeeter, Вообще-то я так пробовал, мой скрипт не откомпилировался, так как getCurentTime возвращает значение float - конфликт типизации значений как бы...
Ipatow, А причем тут дни?! Как сделать секунды я знаю, а вот отделить целое значение от них - вот проблема... Но я думаю сделать так, под геймМодом отнимать по единичке пока не полчу значение от 0 до 1, так я и разделю целые и дробные ну а там все просто умножу на 60 все.
Нет там конфликта. Целочисленным переменным можно присваивать дробные значения. Дробная часть при этом отбрасывается. Твой скрипт не откомпилировался по какой-то другой причине.
Дни я брал, чтобы наглядно показать, как отделяется целая часть числа от дробной - в моём примере это исполнено трижды.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №4174
написано: 29 сентября 2014, 18:15
| Отредактировано: Joopeeter - 29 сентября 2014, 18:17
Уточни-уточни! То есть в GameMode объектного скрипта, назначенного неписю, AddItem исполняет эту же феерию? Мне казалось ключевым, что скрипт эффектовый. Если и в GameMode опасно вызывать AddItem, это ж вовсе черепаху из-под слонов вышибает...
Ну да. Если сделать вот так:
Код
SCRIPTNAME BlinkerGamemodeScript FLOAT Timer BEGIN OnLoad IF GetItemCount Ammo10mm == 0 AddItem Ammo10mm 100 ENDIF IF GetItemCount Weap10mmPistol == 0 AddItem Weap10mmPistol 1 ENDIF END BEGIN GameMode SET Timer TO Timer - GetSecondsPassed IF Timer > 0 RETURN ENDIF SET Timer TO 5 AddItem Caps001 1 END
то оружие тоже начинает пропадать из рук и заново выниматься из кармана. Причём, как и с эффектом, на каждой крышке, а не на чётных или нечётных. Так что другая половина тревоги не ложная.
Такие вот дела. Если не секрет, это ради научного любопытства или как? А то чем хлюпать напрямик по колено в чужих багах, может, можно обойти где-нибудь по сравнительно твёрдой почве?
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №4177
написано: 30 сентября 2014, 21:32
| Отредактировано: Ipatow - 30 сентября 2014, 21:36
оружие тоже начинает пропадать из рук и заново выниматься из кармана. Причём, как и с эффектом, на каждой крышке, а не на чётных или нечётных.
Ээ.. Уточни насчёт "как и с эффектом" - добавление из эффект-скрипта должно через раз блокировать оружие до следующего добавления, а добавление из объект-скрипта вызывает только переэкипировку, то есть если NPC хочет держать оружие в руке, он заново экипированное заново и вынимает из кобуры, без "мёртвого" периода, когда он вообще неспособен пользоваться оружием. Оно работает как я сейчас сказал или как-то иначе?
Во-вторых, я пытаюсь добиться баланса с bForceNPCsUseAmmo=1; стандартный расклад патронов в игре ориентирован в первую очередь на то, чтобы ГГ не добывал много патронов с убитых противников - но при этом неписи жгут патроны с жуткой скоростью. Я пока не придумал варианта, кроме как подбрасывать им патроны в карман во время боя - чтобы и после убийства немного на трупе осталось, и сами неписи через 10 секунд с начала боя не переходили к рукопашной...
Не уловил смысла А чем тебя стандартный вариант с левел-листами не устраивает и чем твой кардинально от него отличается, если ты им постоянно патроны спауниш? Или у тебя спаун ограничен по времени? В качестве альтернативы можно попробовать способ "от обратного" - т.е., например, в начале боя, сначала добавлять им пачку патронов, а потом периодически их ремовать.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Artem13, ты не проверил - глюк с блокировкой оружия у тебя воспроизводится? Если нет трёшки - хотя бы на вегасе посмотреть...
Цитата Artem13
А чем тебя стандартный вариант с левел-листами не устраивает и чем твой кардинально от него отличается, если ты им постоянно патроны спауниш? Или у тебя спаун ограничен по времени? В качестве альтернативы можно попробовать способ "от обратного" - т.е., например, в начале боя, сначала добавлять им пачку патронов, а потом периодически их ремовать.
Не постоянно. Ограничение не по времени, а по количеству. Скажем, автоматчик по ходу стрельбы полдюжины магазинов получит - но если не хватило этого, то всё равно не в коня корм, и пусть за монтировку берётся, раз стреляет так бестолково.
В начале боя выдать сразу весь боекомплект, а после смерти или в конце боя убрать лишнее? Во-первых, IsInCombat - оно от первого алерта. "Чу! Я слышу шорох!" - и боевой AI включился. В этот момент по такой схеме патроны уже в кармане, и их можно красть. Во-вторых, достаточно одиночного AddItem, чтобы вывихнуть оружие неписю. В-третьих, несколько замедленный разгон статов-скиллов не перестаёт быть бедой только потому, что его немного замедлили...
Ipatow, блин, сорри, не могу. У меня Ф3 не запускается - какую то длл потерял. Как узнать порядок загрузки без использования сторонних менеджеров?
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Как узнать порядок загрузки без использования сторонних менеджеров?
С использованием стороннего FOSE/NVSE - GetModIndex, а в голой игре только "на живца" (наподобие квест-скриптом "Player.AddItem вещь-из-мода 1" и смотрим в ShowInventory префикс)...
Ipatow, не, не в самой игре, а заранее. Мне ж твой спелл как-то повесить нуно на подопытного. Просто у меня ФОММ тоже взбрыкивает, а родной вегасовский ланчер - это то еще убожество... ЗЫ Сегодня попробую переставить фомм и прсверить твой скрипт в вегасе (ф3 я просто застрелюсь переустанавливать - сейчас нет никакого желания).
Добавлено (02 Октября 2014, 14:34) --------------------------------------------- Видимо не судьба - НВ с твоим модом вообще не запускается.
Добавлено (02 Октября 2014, 14:35) --------------------------------------------- и НВ-ГЕК тоже...
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
если NPC хочет держать оружие в руке, он заново экипированное заново и вынимает из кобуры, без "мёртвого" периода, когда он вообще неспособен пользоваться оружием
Вот именно так оно и работает. Одинаково в обоих случаях. Если присмотреться, то и на бедре видно короткое моргание пистолета. А когда в руках, то строго в момент добавления каждой крышки из руки пропадает пистолет и через секунду-другую вынимается по новой. Иногда не слишком быстро, иногда непись даже успевает переключиться на кулаки.
Добавлено (02 Октября 2014, 21:27) --------------------------------------------- у меня в проблема. при работе в geck я удалил одно дерево,а в игре при подключении плагина текстура дерева остаётся (текстура плохого качества и она не является преградой).как исправить этот косяк?
Добавлено (02 Октября 2014, 21:28) --------------------------------------------- помогите пожалуйста новичку)))
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №4185
написано: 2 октября 2014, 17:49
| Отредактировано: Joopeeter - 2 октября 2014, 17:50
пытаюсь добиться баланса с bForceNPCsUseAmmo=1; стандартный расклад патронов в игре ориентирован в первую очередь на то, чтобы ГГ не добывал много патронов с убитых противников - но при этом неписи жгут патроны с жуткой скоростью. Я пока не придумал варианта, кроме как подбрасывать им патроны в карман во время боя - чтобы и после убийства немного на трупе осталось, и сами неписи через 10 секунд с начала боя не переходили к рукопашной...
??? Заставить неписей тратить патроны и ломать голову как бы теперь они не кончались и игроку не слишком много доставалось? Зачем было заставлять? Надо, я так понял, чтобы они, патроны, рано или поздно всёж таки кончались (скорее поздно чем рано), при этом игрок не мог бы их стырить 100500 шт. или снять с тела оставшиеся 999 шт. (Интересно, патроны весят. У меня в при этом вечная проблема не где их побольше взять, а какие из них выкинуть к лешему ) Раз нельзя прибавлять, можно отнимать: засечь время начала боя (GetCombatTarget != 0) и через случайный промежуток времени взять и отобрать все патроны.
Добавлено (02 Октября 2014, 21:46) --------------------------------------------- Смущают эффекты с блоком ScriptEffectUpdate на всех вокруг неписях. Не ты ли объянял, что они самые для производительности тяжёлые?
Добавлено (02 Октября 2014, 21:49) --------------------------------------------- дюша, вот тут было обсуждение.
Добавлено (02 Октября 2014, 22:14) --------------------------------------------- Ещё один вопрос. Хочу сохранить прогресс. Нажимаю в geck "save " и выбираю свой плагин,гек выдаёт ошибку и говорит,что этот плагин занят и нужно выбрать другой. Что делать?
Изменение репутации для пользователя КсюXa
КсюXaOnline
Сообщение №4187
написано: 2 октября 2014, 20:22
| Отредактировано: КсюXa - 3 октября 2014, 09:49
Это ж в любом туторе на первой странице жирным шрифтом.
Вот именно ! Наипервейшее, что должен выучить назубок и делать "на автомате" любой модмейкер. Да хотя бы вот тут (ССЫЛКА) - Каин куда уж подробней разжевал, как надо загружать и сохранять свои плагины.
Смущают эффекты с блоком ScriptEffectUpdate на всех вокруг неписях. Не ты ли объянял, что они самые для производительности тяжёлые?
В их использовании большой риск, это так. Так же, как на тракторе можно задавить больше народу, чем на санях, запряжённых собаками - означает всего лишь более высокие требования к отвественности, внимательности и аккуратности того, кто за рулём. Вся эта тема - лишний пример того, насколько велик риск: я неправильно оценил влияние AddItem на 3D-мир, и хотя проблемы с производительностью я как будто не создал (всё изготавливается и тестируется на довольно-таки маломощном компьютере), проблем таки навылазило...
начинаем с того, что забиваем какому-нибудь стальному братцу карманы патронами
Нет, мы оставляем патроны в покое, не трогаем их количество в инвентаре, ничего не добавляем в начале боя и до поры позволяем им быть бесконечными. А через пару минут имитируем, что непись все патроны расстрелял - отбираем их у него.
Нет, мы оставляем патроны в покое, не трогаем их количество в инвентаре, ничего не добавляем в начале боя и до поры позволяем им быть бесконечными. А через пару минут имитируем, что непись все патроны расстрелял - отбираем их у него.
Преодолевая желание спорить только потому, что идея не моя... Я соглашусь, что такая имитация будет достаточно убедительной, когда речь идёт о противниках и прочих не-союзниках. Но когда первые две минуты мои компаньоны стреляют на халяву, а потом либо берутся за сапёрные лопатки, либо, если я как босс не поленился в нужный момент выдать каждому ещё один патрон, опять задаром поливают местность крупнокалиберным... Тут твоё решение уже не кажется особенно перспективным
Ipatow, ты пытаешься в беседкиной поделке угодить и тем, и другим. ПМСМ, такое невозможно в принципе. Ибо сама концепция у беседки отсутствует как таковая, чему примером упомянутые выше костыли.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Veldion
VeldionOffline
Сообщение №4192
написано: 3 октября 2014, 09:03
| Отредактировано: Veldion - 3 октября 2014, 09:21
В ЛС такой объем запихать проблематично поэтому пишу здесь.
Ну а вот собственно отчет:
Дляначала я сделал тестовый перк с Ability и наиболее интересными EntryPoint’ами, тестовое оружие и тестовую мишень. Специально при первом тесте не стал брать стандартные перки, абилки и оружие во избежание “незаметного влияния” других факторов.
Сделал для ГГ спецберетку, чтобы надевая/снимая ее, быстро и удобно добавлять/убирать тестовый перк (не стандартный во избежание конфликтов) в любой момент игры не залезая в консоль, которая как оказалось весьма глючная падла…
SCN TestBertka01Script Short XXX [я решил не спрашивать “HasPerk или не Has?” а пойти более простым путем] Begin GameMode if ( XXX == 0 ) if ( Player.GetEquipped TestBeretka01 > 0 ) if ( Player.IsWeaponOut > 0 ) Player.AddPerk CalmHeartPerk 1 Set XXX to 1 Endif Endif Endif END Begin GameMode if ( XXX == 1 ) if ( Player.GetEquipped TestBeretka01 < 1 ) Player.RemovePerk TestPerk01 1 Set XXX to 0 Endif Endif END Begin GameMode if ( XXX == 1 ) if ( Player.IsWeaponOut < 1 ) Player.RemovePerk TestPerk01 1 Set XXX to 0 Endif Endif END
Затемдобавил в стандартные скрипты Буна и Кэсс фрагменты, которые визуально (и как оказалось полностью достоверно) показывают наличие добавляемой перком Ability по принципу “есть абилка – надета шляпа”.
scn BooneSCRIPT (фрагмент) ......................... BEGIN GameMode if ( IsSpellTarget TestAbility01 > 0 ) if ( GetEquipped HatNCR1stReconBeret < 1 ) EquipItem HatNCR1stReconBeret 1 Endif Endif END Begin GameMode if ( IsSpellTarget TestAbility < 1 ) if ( GetEquipped HatNCR1stReconBeret > 0 ) UnEquipItem HatNCR1stReconBeret 1 Endif Endif END …………………….
scn RoseofSharonCassidyScript (фрагмент) ......................... Begin GameMode if ( IsSpellTarget TestAbility01 > 0 ) if ( GetEquipped CassHat < 1 ) EquipItem CassHat 1 Endif Endif END Begin GameMode if ( IsSpellTarget TestAbility < 1 ) if ( GetEquipped CassHat > 0 ) UnEquipItem CassHat 1 Endif Endif END …………………….
После чего осталось только проверить абилки на работоспособность для пущей достоверности. Наличие EntryPoint пришлось определять по работоспособности чисто экспериментально.
Заставил компаньонов (нанятых и нанятых/уволенных) стрелять по тестовой цели и простым персонажам с добавленным перком и без него, после чего обстрелял самих компаньонов. Повторил все действия после сохранения/загрузки.
Моих компаньонов можно нанимать хоть всех сразу, поэтому я решил взять для теста людей поскольку у того же Рэкса оружейные EntryPoint'ы сложнее тестировать.
Результат теста: [Ab–Ability, EP–EntryPoint, Т1-Бун, Т2-Кэсс]
Взял перк - Нанял Т1, Т2: ----- Ab нет, EP не работают без вариантов. Нанял Т1 – Взял перк – Убрал перк: ----- Т1 Ab нет, EP нет. Нанял Т1 – Взял перк – Уволил Т1: ----- Т1 Ab есть, EP нет. Нанял Т1 – Взял перк – Уволил Т1 – Нанял Т1: ----- Т1 Ab есть, EP есть. Нанял Т1 – Взял перк – Нанял Т2: ----- Т1 Ab есть, EP есть; Т2 Ab нет, EP нет. Нанял Т1 – Нанял Т2 – Взял перк: ----- Т1 Ab есть, EP есть; Т2 Ab есть, EP есть. Нанял Т1 – Нанял Т2 – Взял перк – Уволил Т1 – Убрал перк – Уволил Т2: ----- Т1 Ab есть, EP нет; Т2 Ab нет, EP нет.
Нанял Т1 – Нанял Т2 – Взял перк – Save/Load: ----- Т1 Ab есть, EP нет; Т2 Ab есть, EP нет. Нанял Т1 – Нанял Т2 – Взял перк – Save/Load – Взял перк: ----- Т1 Ab есть, EP нет; Т2 Ab есть, EP нет. Нанял Т1 – Нанял Т2 – Взял перк – Save/Load – Убрал перк – Взял перк: ----- Т1 Ab есть, EP есть; Т2 Ab есть, EP есть.
Вывод: 1). Перк срабатывает разово, в момент добавления/удаления. Срабатывает только на персонажах которые на момент добавления/удаления имеет статус Teammate'а. Чтобы перк заработал его нужно добавлять после того, как персонаж станет Teammate’ом. 2). Статус Teammate – обязательное условие для работы EntryPoint’ов. Если уволить компаньона не снимая с ГГперк, то у компаньона останутся и будут работать все Ability,добавленные перком. EntryPoint’ы также останутся но работать не будут. 3). Ability, которые имелись у компаньонов на момент Save/Load сохраняются и полностью работоспособны вне зависимости от того, был ли компаньон на момент Save/Load собственно Teammate’ом. EntryPoint’ы в случае Save/Load удаляются и перестают работатьбез вариантов.
Единственный способ восстановить работу EntryPoint’ов на компаньонах после Save/Load, убрать (обязательно), а затем снова добавить перк.
Так что добавлять/убирать “компаньонские” перки в диалоговых скриптах как-то не вариант – слишком много мест, где это придется делать. Проще и надежнее это делать в собственных скриптах напарников, используя проверку на Teammate’ность.
Стандартные перки работают полностью аналогично тестовым.
Если интересует работоспособность наиболее интересных EntryPoint’ов то: Calculate Gun Spread – работает Calculate Mine Explode Chance – работает только на ГГ Calculate Weapon Damage – работает Equip Speed – работает Has Improved Detection – работает Has Unarmed XXXXX Attack – работает только на ГГ Modify Attack Speed – работает * Modify Damage Threshold (attacker) – работает ** Modify Damage Threshold (defender) – работает ** Reload Speed - работает * - Изменяет скорость атаки в самом прямом смысле т.е. изменяет время, которое требуется на сам выстрел но не интервал между выстрелами. Чтобы было понятнее, изменяет скорость движения руки/оружия при рукопашном ударе но не интервал между ударами. Имеет смысл использовать только с многозарядным оружием, либо в рукопашной - для ударов "на опережение". ** - DT обретает полную функциональность только при GS-параметре fMinDamMultiplier = 0.0 При стандартном значении fMinDamMultiplier = 0.2 любое оружие наносит минимум 20% от своего номинального урона при каждом попадании даже если броня считается не пробитой.
Теперь по перкам, которые ты хотел проверить: Перк "Calm Heart" полностью работоспособен. Save/Load'ом не сносится. Перк "HandOfVengeance" работоспособен до Save/Load'а. Перк "Old Vaquero" работоспособен до Save/Load'а. Перк "CauselessRebel" не нашел чтобы где-то добавлялся. Если добавить то работоспособен до Save/Load'а. Перк "BondsOfSteel " не нашел чтобы где-то добавлялся. Если добавить то работоспособен до Save/Load'а.
З.Ы.И как я вообще мог на эти чертовы Ability переключиться? Тем более начать добавлять Ability через перк. Извращение-то какое. Никогда этой фигней не занимался, всегда AddSpell использовал, а тут вдруг… Ведь с EntryPoint’ов начинал – именно они представляют в перках основную и наверное единственную ценность. А с Ability в итоге вообще все в порядке оказалось…
Начиная с конца - сама идея абилки в перке, подвергшаяся критике сразу после появления беседковского фолаута, вовсе не абсурдна. В одной из ипостасей перк это ништяк, который может получить ГГ при повышении уровня. Абилка - вполне разумный пример ништяка - но при левелапах не раздают абилки, там можно взять только перк. Поэтому такое применение абилки в перке совершенно рационально.
Использование абилки в компаньонском перке вегаса - было бы разумно, если бы оно работало так, как хотели изобретатели CompanionSuite "Спутниковый пакет" [PERK:0015C571], то есть перк вывесился на старте игры и при найме каждого компаньона абилка сама у этого компаньона включится и при увольнении сама выключится... Поскольку, как ты лишний раз доказал, для абилки из перка AddPerk-с-единичкой ничем не отличается от AddSpell-всем-текущим-тиммейтам, в этих перках абилки ни к чему.
CauselessRebel "Бунтарь" [PERK:0017714F] добавляется в диалогах - [INFO:0015A806] ("Да, мне не стоило даже приходить сюда. Я знаю. Бедные люди./В любом случае, я мало чем могу помочь./Наверное, будет лучше, если я не буду даже пытаться.") и ещё трёх, сопровождается FollowerMessageVeronicaUpgradeUnarmed [MESG:0016666C].
Тот факт, что 4 стандартных компаньонских перка, вешающихся именно на компаньонов (не путать со всякими FullMaintenance "Full Maintenance" [PERK:0015D2BC] или Spotting "Наводчик" [PERK:0015C60C]), прекращают работать после первой же загрузки игры... Давай что ли опишем баг в общественно заметных местах? Ну или, может, кто-то из аудитории хочет провести независимую экспертизу?
когда первые две минуты мои компаньоны стреляют на халяву, а потом либо берутся за сапёрные лопатки, либо, если я как босс не поленился в нужный момент выдать каждому ещё один патрон, опять задаром поливают местность крупнокалиберным... Тут твоё решение уже не кажется особенно перспективным
Насколько я заметил, члены команды игрока на халяву могут поливать только из неиграбельного оружия, а оно использует неиграбельный патрон, который никакой босс ни изъять, ни выдать всё равно не сможет.
Кстати, а как пользоваться этим bForceNPCsUseAmmo=1? А то я хотел посмотреть, как оно влияет на играбельное и неиграбельное оружие, но что-то так и не понял, куда это надо вписывать...
как пользоваться этим bForceNPCsUseAmmo=1? А то я хотел посмотреть, как оно влияет на играбельное и неиграбельное оружие, но что-то так и не понял, куда это надо вписывать...
Насчёт тиммейтов и неиграбельных патронов. Я временами феерически невнятен в выражениях, то называю одно и то же разныим словами, то одним словом разные вещи ("Вот тут где sex что писать? - ну как что, пишите мальчик или девочка! - Да.. Мальчик.. Девочка.. Иногда верблюд..."). "Команда игрока" по моим представлениям - не только PlayerTeammate. Это рейнджеры в отеле, это рабы на безголовом мемориале, это кто угодно, кто дерётся за меня, на моей стороне. И это ещё без модов...
Насчёт тиммейтов и неиграбельных патронов. Я временами феерически невнятен в выражениях, то называю одно и то же разныим словами, то одним словом разные вещи ("Вот тут где sex что писать? - ну как что, пишите мальчик или девочка! - Да.. Мальчик.. Девочка.. Иногда верблюд..."). "Команда игрока" по моим представлениям - не только PlayerTeammate. Это рейнджеры в отеле, это рабы на безголовом мемориале, это кто угодно, кто дерётся за меня, на моей стороне. И это ещё без модов...
О ужас! А как же точность мыслей, следующая за точностью речи?!
Ну и так, не для поспорить, а для прояснения того замысла в части, касающейся неписей-союзников. При использовании предложенного способа (отъём по таймеру) вручную выдать один патрон для двухминутного халявного поливания можно было бы только редким квестовым персонажам типа Рыжей, которые не PlayerTeammate, но инвентарь доступен. Рейнджеры и прочие, которые "за наших", экипировкой с игроком не меняются, разве что через результ-скрипты, у них патроны "кончались" бы на общих основаниях. У напарников патрон неиграбельный, выдать через обмен нельзя. Ну, тем персонажам, которые входят в "настоящий" PlayerTeammate, можно было бы таймер отъёма и подольше поставить - на несколько сражений, чтобы успеть добыть им играбельное оружие с возможностью пополнения боезапаса.
для прояснения того замысла в части, касающейся неписей-союзников
Пока не пытаешься вооружить рейнджера гранатами, реверс-пикпокет прекрасно работает... Мне кажется, что постольку поскольку AddItem вызывает проблемы, из двух остающихся вариантов - обезоруживание по таймеру без включения расхода патронов и включение расхода патронов с раздачей направо и налево богатырского боезапаса - уж лучше пусть америка по колено в патронах будет, чем кому-то будет позволено стрельнуть задаром
Гранаты вообще оружие загадочное: если у персонажа они есть, то этот персонаж в бою использует сначала именно гранаты даже в том случае, если ствол в разы мощнее, и навык "Огнестрел" намного больше навыка "Граната". В Вегасе легионеры всегда сначала кидают копья, а уже потом берутся за мечи/винтовки. Копья ведь тоже гранаты
А по поводу халявных патронов возникла у меня намедни одна идея:
Scn СобственныйСкриптНепися Short Doonce Begin GameMode if (Doonce == 0) if (GetItemCount WeapMinigun > 0) AddItem Ammo5mm 100 ну или сколько там было в начале боя Set Doonce to 1 Endif Endif End Begin GameMode if (Doonce == 1) if (GetHealthPercentage > 75) если плохо воюет то халява кончается if (GetItemCount WeapMinigun > 0) if (GetItemCount Ammo5mm < 50) ну типа израсходовал в любом случае if (GetItemCount Ammo5mm > 5) AddItem Ammo5mm 1 Endif Endif Endif Endif Endif Endif End
Проверил в Вашингтоне и в Вегасе, вроде работает.....
Вишенке, правда, тоже полагалось бы приседать - она на старте пакета записывается в команду.
Тогда во избежании недопонимания вследствии "феерической невнятности в выражениях" давай сразу определимся, что есть "записаться в команду": Add to Faction TeammateFaction или Set PlayerTeammate 1 ?