ActivatePortal(object, string, string, string, int)

Send a player's client to a new server, where the player's character will log in.

void ActivatePortal(
    object oTarget,
    string sIPaddress = "",
    string sPassword = "",
    string sWaypointTag = "",
    int bSeamless = FALSE
);

Parameters

oTarget

PC of the client to transfer.

sIPaddress

DNS name or IP address (and optional port) of new server. (Default: "")

sPassword

Password for login to the destination server. (Default: "")

sWaypointTag

If set, arriving PCs will jump to this waypoint after appearing at the start location. (Default: "")

bSeamless

If TRUE, the transition will be made 'seamless', and the PC will not get a dialogue box on transfer. (Default: FALSE)


Description

ActivatePortal attempts to redirect a client to a new server (for example when hopping about in connected semi-persistent worlds).

sIPaddress can be a numeric IP Address (e.g. 192.168.0.84) or an alphanumeric DNS name ("www.bioware.com"), and can also include a port setting (192.168.0.84:5121 or "www.bioware.com:5121"). If no port is specified, it will default to 5121.

sPassword is the login password for the destination server

sWaypointTag: if this is set, after portalling the character will be moved to this waypoint, if it exists.

If bSeamless is set to TRUE , the client will not be prompted with the information window telling them about the server, and they will not be allowed to save a copy of their character (if they are using a local vault character).



Remarks

This works for portalling within a module, too, but briefly pops up a 'logging in' window - even in 'seamless' mode.

The non-seamless popup is heinously ugly, and says nothing about what's going on. You may want to provide some information to a PC before portalling them if you use the default option.


Known Bugs

- Waypoint tags must be all upper-case for the waypoint jump to work on arrival.

- Leaving a trigger by ActivatePortal does not fire its OnExit event. An Area's OnExit is (correctly) fired.


Version

1.22

Example

// In the OnUsed of a statue
// Sends the using PC to another (fictional) server
// with player password "mumb0Jumb0", and has
// the PC appear at waypoint "ISK_WP_PORTAL". The
// player will not be notified that they've moved server.
#include "nw_i0_generic"
void main() 
{
     object oPC = GetLastUsedBy();
     if (!GetIsPC( oPC )) return;
     ActivatePortal(oPC, "nwn.iskander.tv:5432", "mumb0Jumb0", "ISK_WP_PORTAL", TRUE);
}

See Also

functions: ActionJumpToLocation
categories: Area Functions | Module Functions | Movement Functions | PC Only Functions | Server Functions
events: OnClientEnter Event | OnClientLeave Event


 author: Iskander Merriman, editor: Dave Robinson