|
A handful of dust.
Join Date: Feb 2005
Location: The Eleven-Day Empire
Posts: 5,691
Current Game: KotOR II
|
Updated my journal
Quote:
Originally Posted by newbiemodder
Looks really good DI...what animation do you have the npc's doing as they approach?
|
Thanks, newbie!
And the NPCs are just doing the "typing at a computer" animation, because I replaced the computer model with the holocron for testing.
Quote:
Originally Posted by Quanon
Looks like typing on keyboard to me 
|
Well spotted.
Quote:
|
Very nice little update DI; I'm certain many a modder can use this little prop. I love the subtle glow you gave it. Nice!
|
Thanks, Q. Hopefully, the resource will encourage some more widespread modding.
Quote:
Originally Posted by Sith Holocron
I approve of this message.
(Paid by the Committee to Elect Sith Holocron as Artifact of the Empire.)
|
Quote:
Originally Posted by Hassat Hunter
(This is for KOTOR2, not sure if it works for KOTOR1, not sure why it shouldn't)
Try opening the module.ifo or the area, then under Mod_OnPlrDeath add a custom script. In that script handle resurection and deletion of enemies
|
First of all, thanks for the script!
I'm using Mod_OnPlrDeath to start a dialogue, though, from which I move the player and destroy the characters. This allows me to have the announcer say that the player is dead, play the death animation, etc.. Then I heal the player, jump him back to the start point of the module, and (in theory) destroy the excess enemies.
Quote:
Modified slightly from Visas training in TSLRCM, and untested, but you'll get the idea from it what I am intending;
(Also note the script counts for the entire area, so if it's used outside of the arena, add in a check the area fight is undergo. In this example the > and < global checks.)
|
Thanks for this. I was trying something similar with a switch clause, but neither that nor this worked for me. What I'm working with right now (hidden in case of spoilers:
Code:
// di_duat01 endscript: This needs to:
// 1. Restore the party - DONE
// 2. Fade out - DONE
// 3. Move the player to the correct location - DONE
// 4. Fade in - DONE
// 5. Play the correct animation on return to the starting location
// 6. Set the correct global and journal entries
// 7. Destroy remaining enemies.
void main ()
{
object oPC = GetFirstPC();
location oLoc1 = GetStartingLocation();
object oArea = GetArea(oPC);
int di_pm1 = 42;
int di_pm2 = 43;
int nFight = GetGlobalNumber("di_tat_win");
int iAlign = GetAlignmentGoodEvil(oPC);
int iGen = GetGender(GetFirstPC());
int nNPC1;
int nNPC2;
object oNPC1;
object oNPC2;
object oC1;
object oC2;
object oC3;
object oC4;
object oC5;
object oC6;
oC1 = GetObjectByTag("di_c1");
oC2 = GetObjectByTag("di_c2");
oC3 = GetObjectByTag("di_c3");
oC4 = GetObjectByTag("di_c4");
oC5 = GetObjectByTag("di_c5");
oC6 = GetObjectByTag("di_c6");
if ((GetGlobalNumber("di_tat_win") >= 0) && GetGlobalNumber("di_tat_win") < 7)
{
if (GetGlobalNumber("di_tat_win") == 0)
{
DelayCommand(1.0, DestroyObject(oC1, 0.0, 0, 0.0));
DelayCommand(1.0, DestroyObject(oC2, 0.0, 0, 0.0));
DelayCommand(1.0, DestroyObject(oC3, 0.0, 0, 0.0));
DelayCommand(1.0, DestroyObject(oC4, 0.0, 0, 0.0));
DelayCommand(1.0, DestroyObject(oC5, 0.0, 0, 0.0));
DelayCommand(1.0, DestroyObject(oC6, 0.0, 0, 0.0));
}
else if (GetGlobalNumber("di_tat_win") == 1)
{
DestroyObject(GetObjectByTag("di_dw2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_ih2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_sb2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_pr2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_ma2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_ga2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_ad2"), 0.0, 0, 0.0);
}
else if (GetGlobalNumber("di_tat_win") == 2)
{
DestroyObject(GetObjectByTag("di_tr_1"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_tr_2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_tr_3"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_tr_4"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_tr_5"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_tr_6"), 0.0, 0, 0.0);
}
if (GetGlobalNumber("di_tat_win") == 3)
{
DestroyObject(GetObjectByTag("di_dw2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_ma2"), 0.0, 0, 0.0);
}
else if (GetGlobalNumber("di_tat_win") == 4)
{
DestroyObject(GetObjectByTag("di_r_1"), 0.0, 0, 0.0);
}
else if (GetGlobalNumber("di_tat_win") == 5)
{
if(iAlign < 50)
{
DestroyObject(GetObjectByTag("di_ma2"), 0.0, 0, 0.0);
}
else
{
DestroyObject(GetObjectByTag("di_ad2"), 0.0, 0, 0.0);
}
}
if (GetGlobalNumber("di_tat_win") == 6)
{
DestroyObject(GetObjectByTag("di_ga2"), 0.0, 0, 0.0);
DestroyObject(GetObjectByTag("di_pr2"), 0.0, 0, 0.0);
}
else if (GetGlobalNumber("di_tat_win") == 7)
{
if(iGen == GENDER_FEMALE)
{
DestroyObject(GetObjectByTag("di_sb2"), 0.0, 0, 0.0);
}
else
{
DestroyObject(GetObjectByTag("di_ih2"), 0.0, 0, 0.0);
}
}
}
nNPC1 = GetLocalNumber(oArea, di_pm1);
if (nNPC1 != 99) {
oNPC1 = SpawnAvailableNPC(nNPC1, GetLocation(oPC));
AddPartyMember(nNPC1, oNPC1);
}
nNPC2 = GetLocalNumber(oArea, di_pm2);
if (nNPC2 != 99) {
oNPC2 = SpawnAvailableNPC(nNPC2, GetLocation(oPC));
AddPartyMember(nNPC2, oNPC2);
}
SetGlobalFadeOut(0.0, 1.0);
AssignCommand(oPC, ActionJumpToLocation(oLoc1));
DelayCommand(2.0, SetGlobalFadeIn(0.0, 1.0));
}
I just can't work out why it refuses to work. If you (or anyone else) can spot the problem, I'd be most appreciative.
Quote:
Originally Posted by Sith Holocron
I approve of this message.
(Paid by the Committee to Elect Sith Holocron as Artifact of the Empire.)
|
Like the changelings, you're everywhere.
Quote:
Originally Posted by Slstoev
Epic work, Insidious.
|
Thanks, Slstoev.
***
All right, so last time I posted the Sith Holocron, and since you guys all seemed to like that one a lot, I don't intend to alter it (at least for now), since I think it's pretty good, too.
This time, I've got the Jedi holocron done. I'm not entirely sure about it, so again, your feedback and comments are really useful. In particular, I'm not sure that the centre isn't a little blank, and I haven't been able to give the glass a shine without it being ridiculously shiny and impossible to see anything inside it.
There's also a UV mapping issue which I need to resolve, with a couple of faces on the "glass" in the holocron, which I think are being created by mdlops, since I've exported the model several times to end up with this result.
The central blue bit is animated, which is why as a special treat, I've got my first video update!
Share and Enjoy!
Works-In-Progress
~
Mods Released
~
Website
~
Jallama Reed is the New Pioneer. Jallama Reed is Life Under Siege. Jallama Reed is the Model of Tragedy. Jallama Reed is the Avatar of Us All.
|