• Страница 1 из 2
  • 1
  • 2
  • »
Форум » Записи участника [AlexeyVN]

Результаты поиска
AlexeyVN  Offline  Сообщение №1 | Тема: Вопросы по скриптам Papyrus написано: 22 сентября 2016, 10:07 | Отредактировано: Multigone - 23 апреля 2020, 14:45



52
Подскажите пожалуйста, что не так с этим скриптом
Код

Scriptname Altar extends ObjectReference

FormList Property DisenchantList   Auto
ObjectReference item

Event OnActivate(ObjectReference akActivator)
   Form akBaseItem= item.GetBaseObject()
   If akActivator == Game.GetPlayer()
      if (akBaseItem as Armor) || (akBaseItem as Weapon)
         if !(akBaseItem as Armor).GetEnchantment() && !(akBaseItem as Weapon).GetEnchantment()
            DisenchantList.AddForm(akBaseItem)
         endif
      endIf
      Game.GetPlayer().ShowGiftMenu(True, DisenchantList)
   EndIf
EndEvent

AlexeyVN  Offline  Сообщение №2 | Тема: Вопросы по скриптам Papyrus написано: 22 сентября 2016, 13:39 | Отредактировано: AlexeyVN - 22 сентября 2016, 14:33



52
при активации открывалась GiftMenu  только зачарованными вещами

Добавлено (22 Сентября 2016, 16:39)
---------------------------------------------
Multigone, при активации открывалась GiftMenu  только зачарованными вещами из инвентаря ГГ

AlexeyVN  Offline  Сообщение №3 | Тема: Вопросы по скриптам Papyrus написано: 22 сентября 2016, 15:04 | Отредактировано: Multigone - 23 апреля 2020, 14:47



52
Multigone, Я через алиас выкидываю его на алтарь
Код

Scriptname DisenchantPlayerAlias extends ReferenceAlias

Event OnItemRemoved(Form akBaseItem, Int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
   if ui.IsMenuOpen("GiftMenu")
      ObjectReference  NewItem = akDestContainer.DropObject(akBaseItem, 1)
      Int Selection = AlexDisenchantMessage.Show(1, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000)
      if Selection == 0
         input.TapKey(1)
         NewItem.SetMotionType(NewItem.Motion_Keyframed)
         NewItem.SetAngle(DisenchantAltar.GetAngleX() +80.0, DisenchantAltar.GetAngleY() +0.0, DisenchantAltar.GetAngleZ() + 0.0)
      Else
         Game.GetPlayer().AddItem( NewItem as Form, 1, true)
      endIf
   endIf
endEvent

AlexeyVN  Offline  Сообщение №4 | Тема: Вопросы по скриптам Papyrus написано: 22 сентября 2016, 16:59



52
Multigone,  Снимает чары  не разрушая предмет 

          (akBaseItem as Armor).SetEnchantment(none) 
          (akBaseItem as Weapon).SetEnchantment(none) 

Спасибо Огромное , то что нужно .

AlexeyVN  Offline  Сообщение №5 | Тема: Вопросы по скриптам Papyrus написано: 18 октября 2016, 14:07



52
Multigone, Здравствуйте. Хочу спросить Почему то новые зачарованные вещи не показывает в GiftMenu. Это можно исправить?

AlexeyVN  Offline  Сообщение №6 | Тема: Вопросы по скриптам Papyrus написано: 18 октября 2016, 22:15



52
Multigone, Ясненько. А через скрипт Зачарования выучить можно?

AlexeyVN  Offline  Сообщение №7 | Тема: Вопросы по скриптам Papyrus написано: 18 октября 2016, 22:53



52
Multigone, Спасибо буду разбираться

Добавлено (19 Октября 2016, 01:53)
---------------------------------------------
Multigone, Скажите может в каком нибудь в другой меню будут отображаться новые зачарованные предметы


AlexeyVN  Offline  Сообщение №8 | Тема: Вопросы по скриптам Papyrus написано: 19 октября 2016, 23:41



52
Dsion, Случайно не знаете как добавить новые зачарованные вещи в форм лист

Добавлено (20 Октября 2016, 02:41)
---------------------------------------------
Multigone, Я доверюсь вашему мнению, буду искать другие варианты


AlexeyVN  Offline  Сообщение №9 | Тема: Вопросы по скриптам Papyrus написано: 20 октября 2016, 00:20



52
Dsion, В моём случае это команда снимает зачарование с предмета который я выкидываю на алтарь

AlexeyVN  Offline  Сообщение №10 | Тема: Вопросы по скриптам Papyrus написано: 20 октября 2016, 00:51



52
Dsion, ДА  Об этом я не подумал(((((   а если новые зачарованые предметы такой же эффект будет?

Добавлено (20 Октября 2016, 03:51)
---------------------------------------------
Dsion, буду думать как решить эту прблему


AlexeyVN  Offline  Сообщение №11 | Тема: Вопросы по скриптам Papyrus написано: 20 октября 2016, 01:23



52
Dsion, ясно моя затея провалилась(((( спасибо  за подсказку)))

Добавлено (20 Октября 2016, 04:21)
---------------------------------------------
Dsion, Ну а всё таки Можно добавить в форм лист новые зачарованные предметы?

Добавлено (20 Октября 2016, 04:23)
---------------------------------------------
Dsion, или как определить что предмет был зачарован игроком


AlexeyVN  Offline  Сообщение №12 | Тема: Вопросы по скриптам Papyrus написано: 20 октября 2016, 17:05 | Отредактировано: AlexeyVN - 20 октября 2016, 17:00



52
Multigone, спасибо большое работает нормально))) а можно как нибудь подсветку сделать как в меню зачарования то есть если предмет не имеет зачарование оно тёмное а если да то светлое

Добавлено (20 Октября 2016, 20:05)
---------------------------------------------
Multigone, И вопрос не скромный откуда у вас такие познания в скриптах?))))


AlexeyVN  Offline  Сообщение №13 | Тема: Вопросы по скриптам Papyrus написано: 20 октября 2016, 18:27 | Отредактировано: Multigone - 23 апреля 2020, 14:42



52
Multigone, Конечно не идеально Ну хоть что то Шаг за шагом с вашей помощью я добираюсь к цели)))

Может из этого можно что нибудь придумать?

Код
Event OnEffectStart(Actor akTarget, Actor akCaster)
Disenchant(akTarget)

EndEvent

Function Disenchant(Actor actorRef, int handSlots = 2, int firstSlot = 30, int lastSlot = 61) global

int i = firstSlot

if handSlots >= 0 && WornObject.GetEnchantment(actorRef, 0, 0) != None
WornObject.SetEnchantment(actorRef, 0, 0, None, 0)
Weapon item = actorRef.GetEquippedObject(0) as Weapon
Debug.Notification("Чары развеяны " )
endIf

if handSlots >= 1 && WornObject.GetEnchantment(actorRef, 1, 0) != None
WornObject.SetEnchantment(actorRef, 1, 0, None, 0)
Weapon item = actorRef.GetEquippedObject(1) as Weapon
Debug.Notification("Чары развеяны  " )
endIf

while i <= lastSlot ; Iterate through each equip slot.
int slotMask = Armor.GetMaskForSlot(i)
Armor item = actorRef.GetWornForm(slotMask) as Armor

if item != None
Enchantment ench = WornObject.GetEnchantment(actorRef, 0, slotMask)

if ench != None
WornObject.SetEnchantment(actorRef, 0, slotMask, None, 0)
Debug.Notification("Чары развеяны  " )
endIf
endIf

i += 1
endWhile
EndFunction

AlexeyVN  Offline  Сообщение №14 | Тема: Вопросы по скриптам Papyrus написано: 27 ноября 2016, 08:04 | Отредактировано: AlexeyVN - 27 ноября 2016, 08:07



52
Здравствуйте, у меня  вопрос не совсем по скриптам.  Идея такая: После того как NPC упал на колени- начался разговор. Вопрос: Можно ли это реализовать через SM Event Node?

AlexeyVN  Offline  Сообщение №15 | Тема: Вопросы по скриптам Papyrus написано: 15 декабря 2016, 14:56



52
Здравствуйте. Подскажите как сделать чтобы VisualEffect играл на оружие а не на игрока?
в оригинале так
      TargetVFX.Play(NPC,4.7, ГГ)              
CasterVFX.Play(ГГ,5.9,NPC)
а надо чтобы так
      TargetVFX.Play(NPC,4.7, Оружие)              
CasterVFX.Play(Оружие,5.9,NPC)
Оружие = экипированный лук

AlexeyVN  Offline  Сообщение №16 | Тема: Вопросы по скриптам Papyrus написано: 16 января 2017, 16:31 | Отредактировано: Multigone - 23 апреля 2020, 09:35



52
Dsion, Здравствуйте, лазал по форуму  увидел  ваш скрипт. Вы  не могли бы мне объяснить   почему он не срабатывает на пентаграме душ и на точильном камне? ведь там тоже что то добавляется в инвентарь.

Код
Event OnSit(ObjectReference akFurniture)          
If (akFurniture)              
   Crafting = True            
EndIf  
EndEvent
  Event OnGetUp(ObjectReference akFurniture)
              Crafting = False
   EndEvent
Event OnItemAdded(Form akBaseItem, Int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
      If (Crafting)          
Debug.MessageBox(akBaseItem)
EndIf
EndEvent

AlexeyVN  Offline  Сообщение №17 | Тема: Вопросы по скриптам Papyrus написано: 16 января 2017, 16:42



52
Dsion, :D  А Story Manager Event можно так будет сделать?   каждый раз как  я зачаровываю предмет он попaдал в FormList

AlexeyVN  Offline  Сообщение №18 | Тема: Вопросы по скриптам Papyrus написано: 17 января 2017, 12:33



52
Dsion, 1) Создал Quect с Event Craft Item
            2) Создал Alias, From Event - Workbench
            3) Создал 0 стадию и повесил скрипт типа Debug.MessageBox()
            4) В SM EVENT NODE - Craft item Создал New Quest Node и повесил на него Quest
            5) в Quest назначил условия  HasKeyword - WiCraftingEnchanting == 1
                                                            Event Data:Workbench - Workbench

вот что я сделал. Mне не ясно как Там можно  референс предмета получить?

AlexeyVN  Offline  Сообщение №19 | Тема: Вопросы по скриптам Papyrus написано: 17 января 2017, 13:46



52
Dsion, я так понял мне этот ивент в скрипт добавить?

AlexeyVN  Offline  Сообщение №20 | Тема: Вопросы по скриптам Papyrus написано: 17 января 2017, 14:19



52
Dsion,  можете в кратце описать что нужно сделать что бы каждый раз как зачаровывается  предмет он попfдал в formlist

AlexeyVN  Offline  Сообщение №21 | Тема: Вопросы по скриптам Papyrus написано: 17 января 2017, 14:45



52
Dsion, а определить что этот предмет был зачарован играком можно?

AlexeyVN  Offline  Сообщение №22 | Тема: Вопросы по скриптам Papyrus написано: 19 января 2017, 20:05



52
Здравствуйте, Подскажите пожалуйста можно ли эту строчку как нибудь сократить?
 If  Game.GetPlayer().GetItemCount(Mask[0]) >= 1|| Game.GetPlayer().GetItemCount(Mask[1]) >= 1|| Game.GetPlayer().GetItemCount(Mask[2]) >= 1|| Game.GetPlayer().GetItemCount(Mask[3]) >= 1 || ............ Game.GetPlayer().GetItemCount(Mask[9]) >= 1

AlexeyVN  Offline  Сообщение №23 | Тема: Вопросы по скриптам Papyrus написано: 20 января 2017, 12:39



52
Lexo, Спасибо за внимания,  я не разобрался с массивами но решил свою проблему через FormList
If  Game.GetPlayer().GetItemCount(MaskList) >= 1:)

AlexeyVN  Offline  Сообщение №24 | Тема: Вопросы по скриптам Papyrus написано: 23 января 2017, 18:12 | Отредактировано: Multigone - 23 апреля 2020, 09:29



52
Здравствуйте, помогите со скриптом пожалуйста
Код

Enchanting = akItemReference.GetEnchantment()
Float magnitude = Enchanting.GetNthEffectMagnitude(0)
Float NewMagnitude = magnitude * 1.2

Enchanting.SetNthEffectMagnitude(0, NewMagnitude)

Это часть скрипта он висит на Allias игрока, проблема в том что NewMagnitude меняется на всех предметах с таким же зачарованнием
Можно ли это как нибудь исправить?

AlexeyVN  Offline  Сообщение №25 | Тема: Вопросы по скриптам Papyrus написано: 23 января 2017, 19:17 | Отредактировано: AlexeyVN - 23 января 2017, 19:37



52
Dsion, Изменения чар  сохраняются ,  Я проверил )))))) Спасибо буду рассматривать Mod Incoming Spell Magnitude

в моём варианте Mod Incoming Spell Magnitude не подходит 
Может как нибудь можно сделать после изменения магнитуды зачарование становилось новым?

AlexeyVN  Offline  Сообщение №26 | Тема: Вопросы по скриптам Papyrus написано: 23 января 2017, 20:19 | Отредактировано: Multigone - 23 апреля 2020, 09:31



52
Dsion,  Суть такая Есть Алтарь который открывает GifMenu c выбором усилить чары или снять чары, при выборе одного из пунктов предмет выбрасывается на алтарь и там происходят чудеса. Скрипт на Alias Игрока:

Код
  Event OnItemRemoved(Form akBaseItem, Int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)

            If bL &&  Ui.IsMenuOpen("GiftMenu")
                akItemReference = akDestContainer.DropObject(akBaseItem, 1)
                If akItemReference.GetEnchantment()
                    Button = AlexDisenchantMessage.Show()
                    If Button == 0
                        Input.TapKey(0x1)
                        AnimPlayer = True
                        Debug.sendAnimationEvent(Game.GetPlayer(), "IdleEnchantingCraft")
                        Translation(akItemReference)
                        DisenchantAltarFX.PlayAnimation("PlayAnim02")     
              Utility.Wait(8)
           
                         DisenchantAltar.PlayAnimation("Open")
                         Anim = false

                         Enchanting = akItemReference.GetEnchantment()
                         Float magnitude = Enchanting.GetNthEffectMagnitude(0)
                         Float NewMagnitude = magnitude * 1.2

                         Enchanting.SetNthEffectMagnitude(0, NewMagnitude)
                    
         
                         TargetVFX.Play(akItemReference,5.9, DisenchantAltarFX )              
    CasterVFX.Play(DisenchantAltarFX,5.9,akItemReference)

               ElseIf Button == 1
                         Input.TapKey(0x1)
                         AnimPlayer = True
                         Debug.sendAnimationEvent(Game.GetPlayer(), "IdleEnchantingCraft")
                         Translation(akItemReference)
                         DisenchantAltarFX.PlayAnimation("PlayAnim02")     
               Utility.Wait(8)
           
                          DisenchantAltar.PlayAnimation("Open")
                          Anim = False
         
                         TargetVFX.Play(akItemReference,4.7, DisenchantAltarFX )              
    CasterVFX.Play(DisenchantAltarFX,5.9,akItemReference)
                         akItemReference.SetEnchantment(none, 0.0)

                   Else
                         Game.GetPlayer().AddItem(akItemReference, 1, true)
                         AnimPlayer = False
                   EndIf   
               Else
                   Game.GetPlayer().AddItem(akItemReference, 1, true)
                   AnimPlayer = False
                EndIf    
             EndIf

EndEvent

AlexeyVN  Offline  Сообщение №27 | Тема: Вопросы по скриптам Papyrus написано: 23 января 2017, 20:47



52
Dsion, GiftMenu Открывается с предметами которые не имеют базовых чар, то есть те предметы которые не имеют чар и те которые игрок зачаровал
вот с тех предметов которые зачаровал игрок и снимаются чары. в игре проверял со снятием чар вроде всё нормально а вот с усилением походу придётся поломать голову

AlexeyVN  Offline  Сообщение №28 | Тема: Вопросы по скриптам Papyrus написано: 23 января 2017, 21:02 | Отредактировано: AlexeyVN - 23 января 2017, 21:09



52
Dsion, Я думал  сделать ограничения но это позже сначала разберусь с этой проблемой А как через перк можно определить чары предмета который выкидываешь?

AlexeyVN  Offline  Сообщение №29 | Тема: Вопросы по скриптам Papyrus написано: 23 января 2017, 22:35



52
Dsion, Вопрос пряма с языка сняли  :D Буду думать над условиями, а будут какие нибудь предложения c удовольствием их рассмотрю

Добавлено (24 Января 2017, 01:35)
---------------------------------------------
Dsion, Mod Incoming Spell Magnitude это не работает, а Mod  Spell Magnitude работает с Entry point разобрался теперь условия остались


AlexeyVN  Offline  Сообщение №30 | Тема: Вопросы по скриптам Papyrus написано: 3 февраля 2017, 10:35



52
ЗДРАВСТВУЙТЕ, подскажите пожалуйста можно ли определить предмет находящийся в триггере?

Форум » Записи участника [AlexeyVN]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





Ответ на жалобу смотрите в разделе жалоб