Jump to content

Making creature melee with magical ability


yusukenl

Recommended Posts

I wanna make a gatekeeper which can hit others with magical melee attack, I know the easiest way is make a enchanted weapon for him.

But here is the concern,

on the model that gatekeeper has, I can make the gatekeeper equipped with weapon on hiss appearance. So will there be a conflict when I make the gatekeeper equipped with weapon and give him a sword to wield with ?

 

Also, if I want him to have knock back effect on its melee attack, how should I edit this script(I found it in the Oblvion.esm)

scn SE02GatekeeperScript

Ref HitTarget

short PushAwayForce

 

if PushAwayForce == 0

set PushAwayForce to 35

endif

 

If SECrime.GatekeeperHit == 1

PushActorAway HitTarget PushAwayForce

; Message "Called PushActorAway"

Set SECrime.GatekeeperHit to 0

EndIf

 

I actually don't quite get the yellow part, or should I just put

scn SE02GatekeeperScript

Ref HitTarget

PushActorAway HitTarget 35

 

How far is "35" actually ?

 

:thanks:

Link to comment
Share on other sites

You can't make creatures have enchanted attacks like weapons without giving them a weapon, and only some creatures have the nodes setup properly to allow weapons. There are no script blocks which run when the thing being scripted attacks something. Your best option would be to make a lesser power, on touch, with a scripted effect and a damage health/fatigue component. Although I'm sure there may be some other options with OBSE functions, they are likely too complicated, and won't be as effective. If a creature does not have a cast touch animation, they should use their normal attack animation.
Link to comment
Share on other sites

I see, I have made some spell for it already

but when I make the .esp file(activated in game already)

I tried to summon that creature via PlaceAtMe for testing, it didn't work

the console said "Item XXXX was not found for parameter ObjectID, Complied Script was not saved" What does that mean... I saved the .esp file already

Link to comment
Share on other sites

I see, I have made some spell for it already

but when I make the .esp file(activated in game already)

I tried to summon that creature via PlaceAtMe for testing, it didn't work

the console said "Item XXXX was not found for parameter ObjectID, Complied Script was not saved" What does that mean... I saved the .esp file already

You shouldn't try using console to add anything added by a mod unless you care to write down form numbers and figure out what index your mod is loaded in. It's really much easier to just make a quest script or place the actual creature somewhere to test it. Doing so also encourages people to learn a wider range of basic CS skills.

Link to comment
Share on other sites

ummm, do u mean the "if" statement in "begin - end" statement will only check the condition for once ?

if that's so, how to make the statement keep checking the condition until the battle ends ?

 

On attacked but missed part, my first idea was to make creature which sends everyone around it into the sky whenever it attacks, so I didn't make a missiing check on it.:P

Link to comment
Share on other sites

The Begin-End statement would only run when the creature enters combat. Not the creature is in combat, just the frame where it starts. If you made it Begin GameMode and checked if IsInCombat, it might work better. Though you'd need a way to stop it tearing a target's Fatigue to shreds. (It would run every frame the creature was attacking, and could quite likely damage fatigue 500 or more) For that you could have a DoOnce variable that makes sure the Fatigue is only damaged when it's 0, is set to 1 when the Fatigue is damaged, and set to 0 when the creature isn't attacking/isn't in combat.
Link to comment
Share on other sites

Are you wanting to make it every attack or something? That's probably a bad idea since it will currently affect whoever the current combat target is, no matter what (distance, blocking, godmode, whatever). And as you are making it use pushactoraway, once an actor is hit, they will likely not recover until they are dead as each and every hit will make them go ragdoll and reduce their stamina.

 

I still think you are making this more complicated than it needs to be. Just make a touch Lesser Power with 0 cost, novice, and give it the following effects;

Damage fatigue 100, radius 5 over 1 second

Scripted spell effect radius 5 over 1 second

 

Then with the scripted effect attach a simple script

 

scn yusukPushactoreffectscript01213145945712047

ref target

begin scripteffectstart
set target to getself
target.pushactoraway target -25
end

 

The only downside is that it will make the actor hit fall to the ground when hit, not knocked back. To make the actor move back you will need a persistant reference or declare such a reference in a quest scipt. The real question is if you are wanting this to apply to a single creature, or if you are trying to make it work with several creatures. If using a single creature, or atleast a few, specific creatures, this method will probably work out better for you in the long run.

 

The main difference is that in this method, the effect is used instead of a normal attack, rather than every time the creature attacks. This makes it less predictible, but still controllable through other scripts. Although the same thing could probably be achieved by a getrandompercent condition within the "happens every attack" script, such an effect is harder to control and may still occur too often.

Link to comment
Share on other sites

I finally made the effect works !!

but it is kinda different from what I expected though

the pushactoraway function didn't "push" npc away horizontally, instead the function just "throw" the npc into sky vertically or make them fall to the ground

is it what this function will do only ... ?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...