Jump to content
⚠ Known Issue: Media on User Profiles ×

myav

Members
  • Posts

    33
  • Joined

  • Last visited

Nexus Mods Profile

About myav

myav's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. if i'll summon bandits through console (player.placeatme 00037bfc as example) ===> all works and i receive ingame messages: checkname launched bandit detected, now check sex sex female detected But!.... If i'll meet the same bandits in the world (without console), i receive messages: checkname launched bandit detected, now check sex sex female NOT detected What is wrong? Why GetSex works vs NPC summoned through console but don't work vs NPC whom i meet in the game ? How to fix this ? standart cloak => OnEffectStart => CheckWho() Function CheckWho () ActorBase UCM_TempBase = selfactor.GetActorBase() string TempName=selfactor.GetDisplayName() int MySex = UCM_TempBase.GetSex() .... if(selfactor.IsInFaction(BanditFaction)) CheckName() debug.notification("checkname launched") if (FinalName=="-63z-32z-19z-28z-24z-14z0z0z0z0z0z0") debug.notification("bandit detected, now check sex") if MySex == 1 debug.notification("sex female detected") TempName="changed name" else debug.notification("sex female NOT detected") endif
  2. So.... for 7 years of skyrim' life, nobody don't try to use poisons for AI ? that all are silent and no ideas ((
  3. I have tried the next: Potion property DamageHealth01 auto Event OnCombatStateChanged(Actor akTarget, int aeCombatState) if (aeCombatState == 1) Utility.Wait(1.5) if (selfactor.GetEquippedItemType(1) < 7 && selfactor.GetEquippedItemType(1) != 0) debug.notification("try to apply poison") form MyPoison = DamageHealth01 as Form selfactor.EquipItem(MyPoison, false, true) endif endif EndEventand i get: 1. the message "try to apply poison" ==> so, NPC hold correct weapon in the hand otherwise the message would not appear. 2. potion "damage 15 health" in the NPC inventory ==> game add correct potion to invetory of the npc But NPC don't use it on his dagger. Who can to help, where is my logical error ? and how to force NPC to use potion on weapon?
  4. testing continues... NPC with maces/axes (with two-handed versions too) listen to the next command: HoldBlock_Allias.ForceRefTo(selfactor); HoldBlock_Allias => empty allias with empty package where is combat style with 100% defense Utility.Wait(0.25) selfactor.EvaluatePackage() if selfactor.getAnimationVariablebool("IsAttacking") Debug.SendAnimationEvent(selfactor as objectreference, "attackStop") endif Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Utility.Wait(0.5) Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Utility.Wait(0.5) Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Utility.Wait(0.5) HoldBlock_Allias.Clear()so, i find the way how to hold block 2 seconds for 50% of the NPC types, and half of the problem is finished. But.. npc with daggers and swords - ignore all this and ignore block commands/animations (at close distance). So, left 50% of the problem :-P how to force these types of the enemies to block. Anybody know any short animation which can cancel attack animations? and will be possible for swords/knifes to force blocking with command: int i = 0 while i < 20 if selfactor.getAnimationVariablebool("IsAttacking") Debug.SendAnimationEvent(selfactor as objectreference, SHORT stop attack animation) endif if !selfactor.getAnimationVariablebool("IsBlocking") Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") endif Utility.Wait(0.1) i += 1 endwhilei found only 1 working animation: "attackstop", But this animation is not short (( and very visible when it casts 20 times in a row, when cancel attacks. the next was tested too: * staggerStop - don't cancel attacks * to make NPC friendly - cancels combat and npc ignore block commands * to add to forcefullbodystagger faction - don't cancel launched attack * paralysis - down npc and it ignore block animations So, who can help with short cancel? animation or idle or other way
  5. maxarturo, I have written before: That "under paralysis" - npc ignore block commands (( and fall on the ground. During testing, template (MagicEffect) was: PerkDeepFreezeParalysis (with cleared: sound and visual)
  6. maxarturo, can you give me more details? 1. Which animation to register and which animation to send? 2. How to create freeze spell? I didn't find freeze variant in the Magic Effect > Effect Archetype *if to use paralysis - NPC fall on the ground and ignore all block commands *if to use template: FreezeSlowEffect, this only slow movement speed, but dont freeze the character *if to use stagger (even with none Visual FX) NPC play stagger animation and ignore block too NexusComa, during combat AI ignore faction changes and relation changes while CombatTarget != none. And no commands that to reset it, except StopCombat. But if to stop combat => AI will hide weapons, and without weapons - ignore all block commands. If you know THE WAY how to make friendly NPC without stop combat - pls write, and i'll test blocking
  7. "some things just can't be done ..." I hope that the "blocking" is not on this list )) I have started this question, not only here, but on other big forums of CK scripting too... For whole 2 months of trying to find the way, how to force npc to block at close distance (when he want to hit), i see 4 variants: 1. to change Combat Style for 2 seconds (0% attacking, 100% blocking), and as result: npc will hold block 2 seconds. But problem is that Combat Style is locked, during combat... I have tried: * to use SKSE commands (convert combatstyle variables into form and to change them and to return back). This method really change CS offensive/defensive numbers and we can check this with debug.notification(needed number). But AI ignore changes. * to use ForceRefTo where allias have package with other combatstyle * to stop combat and to restart it, as trying to remove lock. all this don't work during combat ((( Maybe, they don't work because needed to update AI after changes. If to use reset AI through console - AI of the NPC updates and start to use new offensive numbers and EVERYTHING WORKS (including "hold block", at close distance). But... if to repeat the same in the papyrus: ResetAI during combat - crashes game, and i don't know how to write code without crash with this command. 2. to force AI to change his combat behavior through Package (which weapons to use, how often to attack, and e.t.c.), as have suggested maxarturo. And result: it really force NPC to stop attacking, as I have tested today. But I didn't find commands that would force him to block. Combination: force "attack stop" (through package) + SendAnimation(block) - don't works (( 3. combination: confidence 0 + SendAnimation(block) + StopMoving => this method works, but NPC crying too many (during confidence 0) and i don't know how to make "silent" version... 4. To create Custom Idle with blocking and to do the same, as did author of the UltimateCombat with custom dodge (AI of the NPC ignore SendAnimation(dodge commands) at close distance, but don't ignore his idle with custom dodge) . But i don't know how to create idle with custom block (which will work at close distance) Nexus have million+ of visitors.. Is there really no pro-encoder left today that would suggest how to solve this blocking problem?
  8. maxarturo, 1. shield is not weapon, how to define it? I found only 1 way: Weapon Type > Linked Reference - Armor:Shield. But with this variant - NPC only move and ignore enemy completelly. No attacks and no blocking. 2. Only 20% of npc have shield. how blocking will work with this method, if npc blocks with melee weapons and don't have shield? 3. Second suggested method i can't use, because my script is for all npc in the world. I can't add package to everybody vanilla npc, because other mods can rewrite vanilla objects too. Mb, game have idle of shield blocking? As example, NPC don't want to dodge at close distance too when i use debug.sendanimation. But if to use: playidle(customdodge) - npc dodge. Mb the same is possible for blocking? but i don't found blocking idle... So, i still need the help... with this Holy blocking (
  9. maxarturo, thanks for explanation. And i don't want to cover ALL game :smile: i only want to force npc to block 2 seconds))) You have suggested to use packages and factions that to make good blocking, but how? I have tested friendly variant before, too. And i have noticed that npc ignore - friendly he or not friendly, during combat, because his enemy is CombatTarget and changes in the relations - don't stop his aggression. Other way - to make him friendly and to send command - stop combat (that to reset combattarget). But if NPC will stop combat => he will remove his weapons from the hands instantly (and without weapons - npc will ignore blocking and other battle commands) Can you write 1 more message and to explain the way, how package or faction can help to hold blocking? I can send 4 times in a row "rising of the shield", that to obtain 0.5+0.5+0.5+0.5 = 2 seconds, but NPC ignore this "rising" command at close distance (( I'm not lazy and i very want to finish this problem.. I have tried A LOT of ways.. but all results - fail (( that's why I wrote here on the forum, in the hope that somebody will help, who has more experience in battle animations than me.
  10. all old scripters are dead? and only newcomers read this forum? ( No answer from 11 february.. 34 days (( UP thread.
  11. After a lot of experiments, not perfect, but working way: Debug.SendAnimationEvent(selfactor as objectreference, "staggerStop") selfactor.SetDontMove(true) SelfActor.SetAV("Confidence", 0 as Float) SelfActor.EvaluatePackage() Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Utility.Wait(0.3000000) Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Utility.Wait(0.3000000) Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Utility.Wait(0.3000000) Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Utility.Wait(0.3000000) SelfActor.SetAV("Confidence", 4 as Float) SelfActor.EvaluatePackage() selfactor.SetDontMove(false)With confidence 0, cowards don't desire to attack and they listen to commands: block at close distance)) But i get a new problem (( With confidence 0, npc yell too much about surrending and about: stop to hit them) ANYONE pls help, how to force NPC to be silent after hit? to break standart yells or to replace standart voice dialogue with custom empty? Who have experience with voice dialogue scripts and can help?
  12. i have checked dodge mods and battle mods where npc doing dodges.. And I have replaced "SendAnimationEvent" to PlayIdle(CustomDodgeIdle) Now dodge - works, and my topic question is closed.
  13. testing continues... "attackStop" animation - enough that to break usual attack and to do any other kinds of attacks, after it (power attack or bash attack). But how to force animation "blockStart" ? NPC do this animation from the script, only when he is not too close to the player. How to force to start blocking when NPC is close? "attackStop" - cancels the attack, but NPC starts new one immediately and ignore blockStart. All what i want: blocking for 2 seconds when NPC is on the close distance to the enemy. Who can help, how to script this ? Console command tcai is perfect from one side (npc do animations from the scripts, and ignore own will with the desire to attack), but it disables all NPCs ((( when needed only 1 target. DisableAI is bad too.. It not only disable ai, it also disables the weight of the actor and he may freeze in an unnatural pose, after a hit. To change combatstyle is not good too. Because i need only 2 seconds, not all time of the blocking, and combatstyle is locked during battle. Who is skilled and can help how to force npc to block 2 seconds and to ignore own will which commands to attack instead to block?
  14. i have tested a lot of animation commands, and some of them works only when NPC ==> NOT attacking. As example: Debug.SendAnimationEvent(selfactor as objectreference, "blockStart") Debug.SendAnimationEvent(selfactor as objectreference, "SneakStart") Debug.SendAnimationEvent(selfactor as objectreference, "SneakSprintStartRoll") debug.SendAnimationEvent(selfactor as objectreference, "bashPowerStart")All these commands - works (tested) but they only work if the command is given at the moment - between NPC attacks. And if a command for these attacks is given when the NPC is already making an attack (during weapon swing), these commands will not be activated and will not work in practice. Do you know animation or idle (which does not move much npc) which can stop /break/cancel already launched attack? that to start these commands after it.
×
×
  • Create New...