Aller au contenu

Photo

Overwater transitions, need help!


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1
K Kin

K Kin
  • Members
  • 109 messages
 Basically i have a dock, where i talk to this guy and I "take control" of a boat, by becoming it. I can move around the ship using WASD and my character basically has transformed into it, but ive placed on water etc..

So when i go across the sea, i originally start in the normal view, so i can rotate my camera and its like looking over my character as normal, on land.

So when i enter the transition placed on the water, i spawn in an overland map (overwater), like im charting a ship on a map, but as im playing as the ship still, my character spawns by me, and act's as my follower, even when I'm the character (but as a ship) :S


http://puu.sh/3znu4.png

This is just a test, but as you can see, I'm the ship, and my character's following me.


What I'd like is that i can enter the transition, still be the ship, and not have my charactr following me.

#2
kamal_

kamal_
  • Members
  • 5 260 messages
Need more information on the script you are using to change the player into a boat, and the onEnter script from the OM you are using.

#3
K Kin

K Kin
  • Members
  • 109 messages
http://nwvault.ign.c...s.Detail&id=266 Is the mod

Script for changing me into the boat is;

#include "ginc_actions"
#include "ginc_overland"
#include "ginc_rou_ships"

void main(int nthShip = 0)
{
object oPC = GetPCSpeaker();
object oShip;
int nth = 1;

if(nthShip)
{
oShip = GetNearestObjectByTag(ROU_OM_SHIP_TAG, oPC, nthShip);

if(oShip != OBJECT_INVALID)
{
if(!ROU_CheckShipDeed(oPC, GetLocalString(oShip, "sShipTag"), oShip))
{
SendMessageToPC(oPC, "You need a deed of ownership to use that ship.");
return;
}
}
}
else
{
oShip = GetNearestObjectByTag(ROU_OM_SHIP_TAG, oPC, 1);
while(oShip != OBJECT_INVALID)
{
if(ROU_CheckShipDeed(oPC, GetLocalString(oShip, "sShipTag"), oShip))
{
break;
}

nth++;
oShip = GetNearestObjectByTag(ROU_OM_SHIP_TAG, oPC, nth);
}
}

if(oShip != OBJECT_INVALID)
{
ROU_OM_SkiffToShip(oShip, oPC);
}
}

#4
kevL

kevL
  • Members
  • 4 078 messages
it looks like SetPartyActor() in 'ginc_overland', which is called by the ship's boarding event, sets the PC ScriptHidden ...

therefor it's likely that the onExit of the area, or perhaps the onEnter event of your overland area is removing the ScriptHidden flag from the PC. -> this might be hardcoded engine behavior idk. If so just set the PC hidden again,



( nb. haven't traced why, but the PC is also set as a local object on the ship; in my experience this is problematic when transitioning between *modules* iirc - just a headsup: it may be related but probly not )

#5
K Kin

K Kin
  • Members
  • 109 messages
That didnt work :C

#6
Tchos

Tchos
  • Members
  • 5 083 messages
If you have only one character in your party (the main character) and no companions, I really have no clue why your original self would appear as a companion once you become the boat. But kevL is correct, that SetPartyActor() should hide all party members except for the currently controlled one, which should appear as a boat.

I apply the boat transformation to the entire party, so you can still switch between party members just as on the normal SoZ overland map, but it doesn't change the appearance of the boat.