Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

Passive force power help

Page: 1 of 1
 ace92
10-31-2006, 2:10 PM
#1
I've got 3 questions about my script:
1)i scripted the power,puted EVERYTHING where it should be writed everything that i need but when i want to you use it doesn't shows me the power but in my powers and feets thingy menu i can see i have,what to do?
2)ok thanks but i want to make as i get from an enemy so i'l join him and not that i can have it throw level up...how do i do that?
3)can i make it that my character will change his entire body i mean that Black tattoo like will show on his body?
THANKS!!!!! big time thanks
 Lit Ridl
11-01-2006, 8:03 AM
#2
1.0 Put here your script, I want to look on it.
1.1 I hope you haven't forgot to add line to the spells.2da? If no, than may you show what is there?
1.2 Have you saved spells.2da to the Override folder?

2.0 What do you mean? Want to get force power? But want it to be anappearable on the menu? Ope nyour spells.2da and in place of all those jediguardian, sithmarauder and other classes set all those fields to -1, go to the innate and set it to -1 too.
3.0 Yes, you can. You may use

ChangeObjectAppearance(ObjectToChange, nAppearance);
nAppearance - is the row number of the exact appearance in your appearance.2da.
Or to do it temporary you may do this:

effect eDisguise = EffectDisguise(nAppearance);
ApplyEffectToObject(nDuration, eDisguise, oObject, fDuration);

nAppearance - is the row number of the exact appearance in your appearance.2da.
oObject - the object you want it to be applied to, if it is for Friendly force power, than use OBJECT_SELF. nDuration - duration type, there are few of them:
DURATION_TYPE_INSTANT - not used here
DURATION_TYPE_TEMPORARY - for the specified time of fDuration (0.0 format)
DURATION_TYPE_PERMANENT - until removed
You will not need fDuration in all cases except of the DURATION_TYPE_TEMPORARY.
About DURATION_TYPE_PERMANENT, how it works.
Insert this in the start of your code, before all actions and before void main():

void RemoveThisEffect(int nEffectTypeID, object oObject)
{
int bValid = FALSE;
effect eThis;
eThis = GetFirstEffect(oObject);
while (GetIsEffectValid(eThis))
{
if (GetEffectType(eThis) == nEffectTypeID)
{
bValid = TRUE;
RemoveEffect(oObject, eThis);
}
eThis = GetNextEffect(oObject);
}
}

This will make a special function for you.
How to use it later:

RemoveThisEffect(EFFECT_TYPE_DISGUISE, OBJECT_SELF);


Also you may insert this right after the previous function:
void Morph(object oToMorph=OBJECT_SELF, int MorphTo=0, int nDur=DURATION_TYPE_TEMPORARY, float fSec=0.0)
{
ApplyEffectToObject(nDur, EffectDisguise(GetAppearanceType(GetSpellTargetObject())), oToMorph, fSec);
}
How to use it later:

int nApearance = 179; // Row number in appearance.2da
Morph(OBJECT_SELF, nAppearance, DURATION_TYPE_TEMPORARY, 45.0f);

Ask me more if I've forgot something.
 Darth InSidious
11-01-2006, 1:29 PM
#3
Did you compile the script?
 ace92
11-01-2006, 2:02 PM
#4
here is the script:


void main() {
effect eLink1 = EffectAbilityIncrease(ABILITY_STRENGTH, 75);
eLink1 = EffectLinkEffects(eLink1, EffectBlasterDeflectionIncrease(100));
eLink1 = EffectLinkEffects(eLink1, EffectAttackIncrease(3));
eLink1 = EffectLinkEffects(eLink1, EffectVisualEffect(VFX_PRO_FORCE_ARMOR));

int iIdx;

for (iIdx = 0; iIdx < GetPartyMemberCount(); iIdx++) {
object oParty = GetPartyMemberByIndex(iIdx);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink1, oParty, 20.0);
}
}



and i need a temporry 20 sec. script can you write for me?
 Lit Ridl
11-01-2006, 11:30 PM
#5
Hmm...
Script looks perfect and 100% working...
And it's effect lasts for 20 seconds as I see...
Than the problem is that you forgot to do something in spells.2da
Ah, and don't forget about icon.

If you have made new row in spells.2da, than be sure that in the impactscript column you have specified name of your script without any .nss or .ncs.
And really, have you compiled your script?

p.s. if it still doesn't work send all files to me and I will fix everything and I'll write installer for it.
 ace92
11-02-2006, 7:37 AM
#6
Everything you said is ok with the script and all
 Lit Ridl
11-02-2006, 8:21 AM
#7
So, it works?
 ace92
11-02-2006, 12:44 PM
#8
no i verfied everything you said and it doesn't works
 Lit Ridl
11-02-2006, 10:41 PM
#9
no i verfied everything you said and it doesn't works
Hmm...
Try to send me all your files by e-mail.
I will check and fix them, and send them you back.

One another thing: be sure that you've choosen the biggest value in the forcefriendly row of all numbers you see in it.
Be sure that priority is set to 0 if this is single force power, no itemtargeting and etc.
So, if still nothing, send them to me.
 ace92
11-03-2006, 1:09 PM
#10
no i did what you told me and it worked,thanks!!!
for the Appearance to what do i attach the script to?
 Lit Ridl
11-03-2006, 3:12 PM
#11
no i did what you told me and it worked,thanks!!!
for the Appearance to what do i attach the script to?
Glad to hear that!
 ace92
11-04-2006, 3:10 AM
#12
i'm glad to but what do i do with the Appearance script what do i do with it?do i attach to something or do i put in the same script?
 Lit Ridl
11-04-2006, 3:29 AM
#13
i'm glad to but what do i do with the Appearance script what do i do with it?do i attach to something or do i put in the same script?
You may insert it anywhere.
But if you want to add it to the existing script, remove void main () {}
from my sequence.
ReRead again, and you'll understand everything.
 ace92
11-04-2006, 1:40 PM
#14
ok can i do it like i don't want it to change to another body or shape i just want black tattoo like on the body can i do that?
 Lit Ridl
11-05-2006, 1:28 AM
#15
ok can i do it like i don't want it to change to another body or shape i just want black tattoo like on the body can i do that?
Oh, that is possible, but really difficult.
Are you going to make it appliable by your force power?
Tatoos are reskins...
Anyway I had some experience of drawing pictures on the ground by using VFXes...
But ground and body are different things...
I think that reskin - is only one way.
Of course you can duplicate each row in appearance.2da with tatoo applied...
But all this is really difficult.
 ace92
11-05-2006, 10:56 AM
#16
i mean for the 20 sec the force power is on it's going to appear,so any idea or a way so i'l start?
 Lit Ridl
11-05-2006, 10:36 PM
#17
i mean for the 20 sec the force power is on it's going to appear,so any idea or a way so i'l start?
Ah!
You want it's effects to appear after 20 seconds???
Then use
DelayCommand(20.0f, YourCommand);
Replace your command with the effect of your force power.
 ace92
11-06-2006, 6:57 AM
#18
no after but in the 20 sec
 Lit Ridl
11-06-2006, 7:59 AM
#19
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink1, oParty, 20.0);
That is part of your code.
See DURATION_TYPE_TEMPORARY and 20.0f ???
They make it lasts for 20 seconds.
Just a tip: it is very bad to link visual effects with standard ones, I recommend you to unlink it.
If you want VFX_PRO_FORCE_ARMOR to last for 20 seconds, then it will not.
VFX_PRO_* type cannot last.
But VFX_DUR_* will last as many time, as you want.
Page: 1 of 1