Jump to content

Any mod with "Permanent Invisibility" as ability


NighTragEl4d

Recommended Posts

Well i tried to make a script for a "race" with invisibility but i havent succeded...mostly...

Anyway i know about a mods that adds invisibility from items but i need a good script if some1 can help me,anyway what im looking/trying to do is for my mod in development:

Invisibility is always active except when player attacks or its in combat,when the player isnt anymore in combat or he doesnt attacks invisibility "comes" back again...Effect is the same as from Dota Rikimarus skill Permanent Invisibility (thats the mod im trying to make accually xD to ohnest) if someone is willing to help please reply.

Link to comment
Share on other sites

Haven't experimented with it, but the actual invisibility effect won't work when used as an ability. Using 100% chameleon instead should work.

 

A possible work around could be something like this:

Create a trivial object, an invisible activator is perfect. Drop one in a dummy cell, mark it as persistent and give it a name.

Create a spell with effect: invisibility for 0s on target.

Create an ability which is added as a racial ability, containing a script effect.

Use the following script in the previous ability:

scn AbilityCast

ref me

begin scripteffectupdate
if IsSpellTarget *1* == 0
 if isincombat == 0
  set me to getself
  *2*.moveto me, 0, 0, 0
  *2*.cast *1* me
 endif
endif
end

*1* being the editor ID of the spell and *2* being the name given to the activator.

 

That should give them an everlasting invisibility as long as they aren't in combat. It might need a bit more work to neaten it up, but that should work as is. No guarantees given though.

Link to comment
Share on other sites

Yea i tried with a chameleon and here is my script :

 

 

scn PermanentInvisibility

 

short Sneaking

short Running

short Swimming

ref StealthEffect

 

begin ScriptEffectUpdate

 

if (StealthEffect == 1)

return

endif

 

if (IsSneaking == 1)

if (Sneaking == 0)

if (isininterior == 1)

if (getav invisibility <= 0)

modav chameleon 100

setactoralpha 0

set Sneaking to 1

set Swimming to 1

endif

endif

endif

endif

 

if (Sneaking == 1)

if (running == 1)

if (swimming == 1)

if (getav invisibility <= 0)

modav chameleon -100

setactoralpha 1

set Sneaking to 0

set running to 1

set swimming to 1

endif

endif

endif

 

if (Sneaking == 1)

If (player.isincombat == 1)

modav chameleon -100

setactoralpha 1

set Sneaking to 0

set running to 0

set swimming to 0

endif

endif

 

if (Sneaking == 1)

if (getAV invisibility > 0)

modav chameleon -100

setactoralpha 1

set Sneaking to 0

set running to 1

set swimming to 1

endif

endif

 

if (Sneaking == 1)

if (getav chameleon > 100)

modav chameleon -100

setactoralpha 1

set Sneaking to 0

set swimming to 1

set running to 1

endif

endif

endif

end

 

Begin ScriptEffectFinish

 

if (Sneaking == 1)

if (getav chameleon >= 120)

modav chameleon -100

setactoralpha 1

set Sneaking to 0

set running to 1

set swimming to 1

endif

endif

 

if (Sneaking == 1)

if (getAV invisibility > 0)

if (getav chameleon >= 100)

modav chameleon -100

setactoralpha 1

set Sneaking to 0

set swimming to 1

set running to 1

endif

endif

endif

end

 

Note . this is old script.

 

but i messed up something badly here :S,idk what to do i even maked new script with chameleon and still it doesnt work :S

Link to comment
Share on other sites

I have made a ring with 9000 invisibility, 100% chameleon and AncientGhostScript. Nobody attacks me even i keep attacking them, they simple don't see me at all. Guards stop me and say their "stop criminal, you have violated the law" but after conversation guard just stands there.

 

I think what really makes the effect is AncientGhost Script. Im new to this stuff and don't know much about scripts, but it has worked fine for me.

 

edit:

 

Well I don't know. I just looked what ghostscript does and all it does is change shader.

Edited by raatorotta
Link to comment
Share on other sites

Is Chameleon a global variable? Could've sworn it was just a generic spell effect.

 

All of the PMS effects are just shaders. NPCs will not change their reactions. If you don't want an NPC to be able to be hit, use SetGhost to 1.

Link to comment
Share on other sites

raatorotta: The invisibility on the ring wont even be active, as I said before, it doesn't work as an ability (effectively the same as an apparel enchantment). The ancient whatever will probably just apply a shader, nothing to do with making you invisible. The 100% chameleon by itself is the only thing producing that effect, if you were to remove the other two it would still work in exactly the same way.

 

NighTragEl4d: The script you have is complete overkill and is probably causing more problems than it solves (ignoring the mound of errors in it). Just create an ability with 100% chameleon on self and add/remove it to apply the effect. Modifying the behind-the-scenes values is more often than not just going to leave you in a world of hurt.

 

With the simple ability the script just becomes:

scn PermaInvis

begin scripteffectupdate
if issneaking == 1
 if isincombat == 0
  if isininterior == 1
if isspelltarget *1* == 0
	addspell *1*
endif
return
  endif
 endif
endif
if isspelltarget *1* == 1
 removespell *1*
endif 
end

That will apply the chameleon when not in combat, (is) sneaking and (is) indoors and ensure it isn't applied any other time. It's relatively simple to add more conditions to it, but if you want anything more complex than a simple and or or of the conditions, it may get a little more interesting.

Edited by Skevitj
Link to comment
Share on other sites

Yea that sort of thing said to me logic dragon about add/remove spell =),ill test it =) ty all.

 

Btw skevitj is that script applies only when char is sneaking or everything, i mean when he walks normally etc?

 

 

EDIT: I have test it,ability only applies when the char is sneaking,i need invisibility when he is and hes not sneaking if you understand,but ability removes it self when you hit/or in combat. But anyway good script =).

 

EDIT 2: ok i did it here is the script :

 

scn PermaInvis

 

begin scripteffectupdate

if isincombat == 0

if isininterior <= 1

if isspelltarget SatyrPermanentInvisibility == 0

addspell SatyrPermanentInvisibility

endif

return

endif

endif

if isincombat == 1

if isspelltarget SatyrPermanentInvisibility == 1

removespell SatyrPermanentInvisibility

endif

endif

end

 

This works but only with 95 chameleon because when you hit someone with 100 chameleon they cant see you and script doesnt applies :S,i put 95 chameleon and it worked.Anyway ty all again for help.

Also ive tested it with Invisibility,but when i hit someone invisibility wears off i alert npc who i attacked then invisibility comes again in instant anyone knows about some "wait" command or smth so i can delay Invisibility until combat is over?

Edited by NighTragEl4d
Link to comment
Share on other sites

That was sort of the gist of the last sentence in my post, if you want more conditions, just layer them on top, or if you want less you can just remove them. As long as there is at least one condition it doesn't really matter.

 

I knew that error would probably be there, in that once the chameleon is applied, combat would probably never be initiated. I had hoped that the detection peak which occurs when you hit someone would have triggered the combat test to fail, but oh well.

 

If you use OBSE, IsAttacking could easily be added in to ensure the decloak on hit, and that should be enough to put them in combat, preventing the cloak from coming back until they're out of combat.

 

Another possible workaround could be IsWeaponOut which may allow you to decloak them as soon as they go into combat mode (will still allow casters to run around invisible though).

 

It depends on what you're applying the ability to though, ie, If it is applied to a PC character IsInCombat will never test true with 100% chameleon, but it will if the ability is on an NPC.

 

 

The code above modified with a simple timer:

scn PermaInvis  

short timercounter  

begin scripteffectupdate  
if isweaponout == 0  
 if isincombat == 0  
  if isspelltarget *1* == 0  
if timercounter <= 0   
	addspell *1*   
else   
	set timercounter to timercounter - getsecondspassed   
endif   
  endif
  return   
 endif  
endif  
if isspelltarget *1* == 1  
 removespell *1*    
endif
[/font][font="Arial"]set timercounter to 5[/font]
[font="Arial"]end

 

I've replaced the sneaking test with IsWeaponOut, so if you have your weapon drawn, you won't be invisible. As it currently is, if you satisfy all the conditions for invisibility, after 5s it will be applied (but instantly the first time).

 

EDIT: Ok, fixed up, that should work now

Edited by Skevitj
Link to comment
Share on other sites

Ok tnx,anyway ill apply this and test it,if its good ill add it in update.

Anyway i have done with v1.0 so ill upload it on Tesnexus,try it out,ill post link here =).

Link to comment
Share on other sites

  • Recently Browsing   0 members

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