Checking if someone is a member (and specific rank?) of a fa

Post » Wed Nov 04, 2009 2:43 am

Hey guys,

It's been a while bur I'm very much still in to Morrowind and still interested in dabbling here and there. Of course by now I've forgotten everything I've previously learned about scripting so I've a little question.

Originally in a little mod I made for myself a looong time ago, very originally titled 'ordinator armour fix' I'd removed the OrdinatorUniform script from the Indoril Cuirass/Helm and both types of Her Hands Cuirass and Helm too for good measure. But I've just recently started up on the Morrowinding front again (so I've been tryng to create the perfect modlist, tweaking things, reading these forums, browsing PES and otherwise avoiding playing the game because "it's not perfect yet!") and I've had a much better idea. What I'd like to do is modify the script, alittle which in its original form looks exactly like this

begin OrdinatorUniform;script for ordinator armor so people can react to you wearing itshort OnPCEquipshort OnPC				;this is needed since this script also runs on the armor pieces the NPC wearsif ( OnPCEquip == 1 )	set WearingOrdinatorUni to 1	set OnPC to 1endif;this one has been equipped by PC ast some point, so check for it being unequippedif ( OnPC == 1 )	;oops, now he took it off	if ( OnPCEquip == 0 )		set WearingOrdinatorUni  to 0		set OnPC to 0						;start looking again if he has it on	endifendifend OrdinatorUniform



To something a bit like this:

begin OrdinatorUniform;script for ordinator armor so people can react to you wearing itshort OnPCEquipshort OnPC				;this is needed since this script also runs on the armor pieces the NPC wears[b]if ( OnPCEquip == 1 )  AND IF (Tribunal temple rank >= let's say... rank 6, that's pretty high and holy) or if  ( Journal B8_MeetVivec >= 50 (you've completed both trials, met vivec and he's publicly declared you Nerevar incarnate, so y'know since you're the messiah now maybe they won't try and rip you apart for wearing the holy armour))then return and do nothing[/b]else if ( OnPCEquip == 1 )	set WearingOrdinatorUni to 1	set OnPC to 1endifthen the rest


Is that doable, does that even make sense (I know it isn't real code, I'm just saying "this is kinda what I want to do, help please"), and is that the easiest way to go about doing it or do I want to do something more like this, maybe it'd be cleaner:

if ( OnPCEquip == 1 ) Andif (Journal B8_MeetVivec <= 5)Thenif (Tribunal temple rank <= 5)  Else return and do nothing 'cause we like this guy


What I want to do is... if he's wearing it and he's been declared Nerevarine then all is good. If he's not Nerevarine, but he's a high ranking temple member then it's also all good, but if he's not one of the two then it's time to prosecute with extreme prejudice.
User avatar
Amy Masters
 
Posts: 3277
Joined: Thu Jun 22, 2006 10:26 am

Post » Tue Nov 03, 2009 9:17 pm

That last method you suggested is the most efficient because you can just nest all of the conditionals rather than writing the "result" code twice under two separate else-if's. And the "GetPCRank" function is what you need:

if ( GetPCRank "Faction" < 6 )

User avatar
El Khatiri
 
Posts: 3568
Joined: Sat Sep 01, 2007 2:43 am


Return to III - Morrowind