Spectate Player / Free Cam Exit Causes Respawn
#1

I am trying using the default spectate filterscript and a freecam script i have found, both of which, once exited, makes you respawn to the default spawn location. How can I have it so when u finish spectating a player or going in cam mode, you spawn back to where you were before?

Also, is it possible, with a freecam command, to make it so when i exit the freecam view, i spawn where the camera left off? Kind of like a teleport command in a way.
Reply
#2

Use GetPlayerPos

https://sampwiki.blast.hk/wiki/GetPlayerPos
Reply
#3

Code:
dcmd_spec(playerid, params[]) {
	new id;
	if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[ERROR] {FFFFFF}This command is for admins only, nerd.");
    else if (sscanf(params, "d", id)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[ERROR] {FFFFFF}Usage: /spec <id>");
	else if (id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[ERROR] {FFFFFF}Invalid player ID.");
    else {
        GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
        GetPlayerFacingAngle(playerid, pos[3]);
		TogglePlayerSpectating(playerid, 1);
		PlayerSpectatePlayer(playerid, id);
		SetPlayerInterior(playerid,GetPlayerInterior(id));
		gSpectateID[playerid] = id;
		gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
 		return 1;
	}
}

dcmd_unspec(playerid, params[]) {
    #pragma unused params
    if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[ERROR] {FFFFFF}This command is for admins only, nerd.");
    else {
    	TogglePlayerSpectating(playerid, 0);
		gSpectateID[playerid] = INVALID_PLAYER_ID;
		gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
		SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
		SetPlayerFacingAngle(playerid, pos[3]);
		return 1;
	}
}
Here is my code and it wont work. I dont know why.
Reply
#4

anyone?

really need this fixed
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)