Kaidon Jorn

Changing how schematics are used in SLM

Recommended Posts

Heh..

I have no idea what you're talking about.

 

Ya know, if I could edit a_sioncut2.ncs without it breaking the cutscene, we would probably be in business. But I've tried a dozen times before and it always breaks the scene. Might be cause DeNCS doesn't decompile that script right.. 

I dont know.

 

 

Here's what I had before I gave up

 

void main() {


object oPC = GetFirstPC();
object oSbr = GetObjectByTag("pera_lghtsbr_018", 0);
object oWP = GetObjectByTag("WP_SbrOnFloor", 0);




if (GetIsObjectValid(oSbr)) {
DestroyObject(oSbr);
}
ActionWait(0.3);
CreateItemOnFloor("pera_lghtsbr_018",  GetLocation(oWP), 1);
SendMessageToPC(oPC, "I have fired and you should have seen the lightsaber"); 
}

Share this post


Link to post
Share on other sites

Well, you could send me the script (fresh from DeNCS) and the changes you wanted and I could at least take a look at it.

you mean a_sioncut2?

 

Ok, gimme a minute

 

 

Here we go

 

The waypoint tag is WP_SbrOnFloor

waypoint name is wp_sbronfloor (if that matters)

The coordiantes are  

-1.37065

-7.515512

0.00052

saber tag is pera_lghtsbr_018

a_sion_cut2.nss

Edited by Kaidon Jorn

Share this post


Link to post
Share on other sites

Sorry for taking so long to get back to you.

 

The forums don't notify you if a post is edited, so I didn't see your file until around 7PM. At that point, we had to leave for a barbeque and a fireworks show.

 

This script might work, though you'd need to fiddle with the 0.0 on the Location to get it facing a realistic way...

 

 

 

void main()
{
    object oDarthSion = GetObjectByTag("DarthSion", 0);
    object oKreia = GetObjectByTag("kreia", 0);
    object oAtton = GetObjectByTag("atton", 0);

    if (!GetIsObjectValid(oDarthSion) ||
        !GetIsObjectValid(oKreia) ||
        !GetIsObjectValid(oAtton))
    {
        AurPostString("No Darth Sion and/or Kreia, don't bother with the rest of the cut scene", 5, 7, 10.0);
        return;
    }
    int nParam1 = GetScriptParameter(1);
    switch (nParam1)
    {
        case 0:
        {
            AssignCommand(oKreia, ClearAllActions());
            AssignCommand(oKreia, ActionJumpToLocation(GetLocation(GetObjectByTag("WP_kreia_start", 0))));

            vector struct2 = GetPositionFromLocation(GetLocation(GetObjectByTag("WP_fight_kreia", 0)));

            AssignCommand(oKreia, ActionDoCommand(SetFacingPoint(struct2)));
            AssignCommand(oKreia, SetLockOrientationInDialog(oKreia, 1));

            break;
        }
        case 1:
        {
            effect effect1 = EffectMovementSpeedDecrease(50);
            ApplyEffectToObject(1, effect1, oDarthSion, 15.0);

            AssignCommand(oDarthSion, ClearAllActions());
            AssignCommand(oDarthSion, ActionForceMoveToLocation(GetLocation(GetObjectByTag("WP_fight_sion", 0)), 0, 30.0));

            vector struct4 = GetPositionFromLocation(GetLocation(GetObjectByTag("WP_sion_left", 0)));

            AssignCommand(oDarthSion, ActionDoCommand(SetFacingPoint(struct4)));
            AssignCommand(oDarthSion, SetLockOrientationInDialog(oDarthSion, 1));

            break;
        }
        case 2:
        {
            SetFakeCombatState(oKreia, 1);

            vector struct6 = GetPositionFromLocation(GetLocation(oDarthSion));

            AssignCommand(oKreia, ActionDoCommand(SetFacingPoint(struct6)));
            AssignCommand(oKreia, ActionPlayAnimation(10173, 1.0, 0.0));
            AssignCommand(oKreia, ActionPlayAnimation(19, 1.0, (-1.0)));
            AssignCommand(oKreia, SetLockOrientationInDialog(oKreia, 1));
            AssignCommand(oKreia, CreatureFlourishWeapon(oKreia));

            break;
        }
        case 3:
        {
            AssignCommand(oKreia, ClearAllActions());
            AssignCommand(oKreia, ActionForceMoveToLocation(GetLocation(GetObjectByTag("WP_fight_kreia", 0)), 0, 30.0));

            vector struct8 = GetPositionFromLocation(GetLocation(oDarthSion));

            AssignCommand(oKreia, ActionDoCommand(SetFacingPoint(struct8)));
            AssignCommand(oKreia, SetLockOrientationInDialog(oKreia, 1));

            break;
        }
        case 4:
        {
            AssignCommand(oDarthSion, CreatureFlourishWeapon(oDarthSion));
            break;
        }
        case 5:
        {
            AssignCommand(oKreia, ActionUnequipItem(GetItemInSlot(4, OBJECT_SELF), 0));
            ChangeObjectAppearance(oKreia, 627);
            CreateObject(OBJECT_TYPE_ITEM, "pera_lghtsbr_018", Location(Vector(-1.37065, -7.515512, 0.00052), 0.0), 0);
            break;
        }
        case 6:
        {
            vector struct10 = GetPositionFromLocation(GetLocation(GetObjectByTag("WP_sion_right", 0)));
            AssignCommand(oDarthSion, ActionDoCommand(SetFacingPoint(struct10)));
            AssignCommand(oDarthSion, SetLockOrientationInDialog(oDarthSion, 1));
            break;
        }
        case 7:
        {
            vector struct12 = GetPositionFromLocation(GetLocation(GetObjectByTag("kreia_sion_door", 0)));
            AssignCommand(oDarthSion, ActionDoCommand(SetFacingPoint(struct12)));
            AssignCommand(oDarthSion, SetLockOrientationInDialog(oDarthSion, 1));
            break;
        }
        case 8:
        {
            AssignCommand(oAtton, ClearAllActions());
            AssignCommand(oAtton, ActionForceMoveToObject(GetFirstPC(), 1, 1.0, 30.0));
            break;
        }
        case 9:
        {
            object oRWeapItem = GetItemInSlot(4, oKreia);
            DestroyObject(oRWeapItem, 0.0, 0, 0.0, 0);
            break;
        }
        case 10:
        {
            break;
        }
        case 11:
        {
            AssignCommand(oDarthSion, ClearAllEffects());
            break;
        }
        case 12:
        {
            AssignCommand(oKreia, ActionUnequipItem(GetItemInSlot(4, OBJECT_SELF), 0));
            AssignCommand(oKreia, ActionUnequipItem(GetItemInSlot(5, OBJECT_SELF), 0));
            AssignCommand(oKreia, ActionUnequipItem(GetItemInSlot(18, OBJECT_SELF), 0));
            AssignCommand(oKreia, ActionUnequipItem(GetItemInSlot(19, OBJECT_SELF), 0));
            AssignCommand(oKreia, ActionEquipItem(CreateItemOnObject("w_melee_06", oKreia, 1, 1), 4, 1));
            break;
       }
    }
}

 

 

Share this post


Link to post
Share on other sites

Hey no problem.

I appreciate the effort, but I really don't think it's going to work.

I tried it a few more times with no luck.

But don't worry about it, not a big deal.

Besides it's time to move on and get the rest of this stuff working and in the can.

 

Speaking of...

Here is a short vid showing you what schematics will look like in 2.0 for the most part.

 

https://youtu.be/iZSR0Z5DFtI

 

The 3rd and last one didn't fire the animation or effects, Not really sure whats with that. Consuming one right after the other will probably do that I guess, but other than that the script is fine. Globals are set and all that.

It now also checks to see if you even took the power at level up. I made it selectable at level 8 but still not sure if that will be permanent.

Last couple seconds of the video just showing that they are consumed and not cluttering up your inventory.

 

AAAND!,...AAANNND!...went and made them unlimited use until you learn it - in case you (or any party member) haven't learned the power yet.

They will now only be destroyed when you have the ability and the schematic is actually learned.

Cuz, I didn't think of that before...man that was an exhausting 4 hours.  :P

Edited by Kaidon Jorn

Share this post


Link to post
Share on other sites

Wow! You managed to make Gerevik more useful AND made the Jedi Enclave twice as interesting! Great work, especially on writing Gerevik. That dialogue was appropriate and perfect for his datapad.

Share this post


Link to post
Share on other sites

Part of it.

it's how you get the Apostle saber now. Rather than just having it drop off of Gerevik. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.