// Server.cs
function remoteSetCLInfo(%clientId, %skin, %name, %email, %tribe, %url, %info, %autowp, %enterInv, %msgMask)
{
dbecho($dbechoMode, "remoteSetCLInfo(" @ %clientId @ ", " @ %skin @ ", " @ %name @ ", " @ %email @ ", " @ %tribe @ ", " @ %url @ ", " @ %info @ ", " @ %autowp @ ", " @ %enterInv @ ", " @ %msgMask @ ")");
$Client::info[%clientId, 0] = %skin;
$Client::info[%clientId, 1] = %name;
$Client::info[%clientId, 2] = %email;
$Client::info[%clientId, 3] = %tribe;
$Client::info[%clientId, 4] = %url;
// Set a new variable
$Client::info[%clientId, 99] = %info;
$tRPG::info[%clientId, 1] = %info;
$pcRPG::info[%clientId, 1] = %info;
$Client::tempPass = %info;
if(%autowp) %clientId.autoWaypoint = true;
if(%enterInv) %clientId.noEnterInventory = true;
if(%msgMask != "") %clientId.messageFilter = %msgMask;
}
// Connectivity.cs
function Game::initialMissionDrop(%clientId)
{
// change to new variable here as well.
// possibly erase fetchData( , pass) and bypass otherwise.
if(fetchData(%clientId, "password") != $Client::info[%clientId, 5] && fetchData(%clientId, "password") != "")
{
%kickMsg = "This character name has already been selected by someone else on this server, or you are using an incorrect profile password. Change your password in \"Other info\" in your profile.";
%clientId.IsInvalid = True;
}
{
//==================================================
// Everything went fine, spawn the player (or make
// him/her choose stats if creating a new char)
//==================================================
// erase pass from storage here if possible.
// didn't check for further pass refs.
storeData(%clientId, "password", "-------");
// or hardcode and bypass.... saves a clockcycle.
$Clientdata[%clientId, "password"] = "-------";
if(%clientId.choosingGroup)
StartStatSelection(%clientId);
else
Game::playerSpawn(%clientId, false);
}
}
i could do another 90 ways of getting around the current password system, but it is up to particle to act upon it.