public OnPlayerConnect(playerid) { if(fexist(UserPath(playerid))) { INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Welcome","Password:","Log-in","Exit"); } else { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Welcome","Password to register:","Register","Exit"); } return 1; }
public OnPlayerRequestClass(playerid,classid) { new Float:x, Float:y, Float:z; x = PlayerInfo[playerid][pPos_x]; y = PlayerInfo[playerid][pPos_y]; z = PlayerInfo[playerid][pPos_z]; SetPlayerPos(playerid, x, y, z); SetPlayerInterior(playerid, 0); TogglePlayerSpectating(playerid, 1); SetTimerEx("LoginCinematic", 100, false, "d", playerid); PlayAudioStreamForPlayer(playerid,"https://www.dropbox.com/u/2m/login.mp3?dl=1"); return 1; }
forward LoginCinematic(playerid); public LoginCinematic(playerid) { InterpolateCameraPos(playerid, 1248.241333, 153.582839, 25.311567, 1370.322875, 431.673645, 24.460834, 30000); InterpolateCameraLookAt(playerid, 1250.376098, 158.097091, 25.058088, 1372.360595, 436.238433, 24.562707, 30000); return 1; }
Make a timer for OnPlayerConnect.
Copy and paste your OnPlayerConnect and just make it into something else. Set a timer for 1ms. Add TogglePlayerSpectating(playerid, true) under OnPlayerConnect and the cinematics. Only way it worked for me. |
public OnPlayerConnect(playerid) { new Float:x, Float:y, Float:z; x = PlayerInfo[playerid][pPos_x]; y = PlayerInfo[playerid][pPos_y]; z = PlayerInfo[playerid][pPos_z]; SetPlayerPos(playerid, x, y, z); SetPlayerInterior(playerid, 0); TogglePlayerSpectating(playerid, 1); SetTimerEx("LoginCinematic", 1, false, "f", playerid);
public OnPlayerConnect(playerid) { SetTimerEx("OP_OnPlayerConnect", 1000, false, "i", playerid); }