[Ajuda] Comando /tv nгo funciona
#1

Bom, sou novo no forum e estou tendo problema com meu comando /tv.
Acontece, que em vez de espiar a tela do jogador, a cвmera simplesmente fica congelada em cima do mar.

Meu comando:
Код:
CMD:tv(playerid,params[])
{
	if(Dados[playerid][Admin] >= 1)
	{
		new ID;
		if(sscanf(params,"d",ID))
 		{
  			SendClientMessage(playerid,COR_AMARELA,"Uso correto: /tv [id]");
    		return 1;
		}
		if(!IsPlayerConnected(ID))
		{
 			SendClientMessage(playerid,COR_AMARELA,"Jogador nгo conectado.");
   			return 1;
		}
        if(ID == playerid) return SendClientMessage(playerid,COR_ERRO, "[ERRO]: Vocк nгo pode assistir vocк mesmo");
        Assistindo[playerid]=true;
        if(IsPlayerInAnyVehicle(ID))
		{
			TogglePlayerSpectating(playerid, 1);
			PlayerSpectateVehicle(playerid, GetPlayerVehicleID(ID), SPECTATE_MODE_NORMAL);
		}
        else
		{
			TogglePlayerSpectating(playerid, 1);
			PlayerSpectatePlayer(playerid, ID, SPECTATE_MODE_NORMAL);
		}
		new Nome[MAX_PLAYER_NAME];
		GetPlayerName(ID,Nome,sizeof(Nome));
		new Nomeadm[MAX_PLAYER_NAME];
		GetPlayerName(playerid,Nomeadm,sizeof(Nomeadm));
		new msg[128];
		format(msg, sizeof(msg), "Assistindo %s (id:%d)...", Nome, ID);
		SendClientMessage(playerid,-1, msg);
		new aviso[128];
		format(aviso, sizeof(aviso), "» %s estб assistindo %s nesse momento", Nomeadm, Nome);
		MensagemProsAdmins(COR_VERDE, aviso);
	}
 	else
 	{
 		SendClientMessage(playerid,COR_ERRO,"[ERRO]: Vocк nгo tem permissгo para usar esse comando");
	}
	TempoComando[playerid] = GetTickCount();
	return 1;
}
Reply
#2

Geralmente isso se dб quando o player ta dentro de um interior, ai й sу dar 2x /tv que funciona pois a sua conta seta pra o interior dele e depois no segundo /tv ele exibe normalmente xD
Reply
#3

willttoonn, testei com um amigo e nуs estбvamos em mundo aberto '-'
Reply
#4

Tenta
Код:
CMD:tv(playerid,params[])
{
	if(Dados[playerid][Admin] >= 1)
	{
		new ID;
	        new interior, world;
		if(sscanf(params,"d",ID))
 		{
  			SendClientMessage(playerid,COR_AMARELA,"Uso correto: /tv [id]");
    		return 1;
		}
		if(!IsPlayerConnected(ID))
		{
 			SendClientMessage(playerid,COR_AMARELA,"Jogador nгo conectado.");
   			return 1;
		}
        if(ID == playerid) return SendClientMessage(playerid,COR_ERRO, "[ERRO]: Vocк nгo pode assistir vocк mesmo");
        Assistindo[playerid]=true;
        interior = GetInterior(ID);
	world = GetWorld(ID);
        if(IsPlayerInAnyVehicle(ID))
		{
			TogglePlayerSpectating(playerid, 1);
			PlayerSpectateVehicle(playerid, GetPlayerVehicleID(ID), SPECTATE_MODE_NORMAL);
                  	SetInterior(playerid,interior);
	                SetWorld(playerid, world);
		}
        else
		{
			TogglePlayerSpectating(playerid, 1);
			PlayerSpectatePlayer(playerid, ID, SPECTATE_MODE_NORMAL);
                  	SetInterior(playerid,interior);
	                SetWorld(playerid, world);
		}
		new Nome[MAX_PLAYER_NAME];
		GetPlayerName(ID,Nome,sizeof(Nome));
		new Nomeadm[MAX_PLAYER_NAME];
		GetPlayerName(playerid,Nomeadm,sizeof(Nomeadm));
		new msg[128];
		format(msg, sizeof(msg), "Assistindo %s (id:%d)...", Nome, ID);
		SendClientMessage(playerid,-1, msg);
		new aviso[128];
		format(aviso, sizeof(aviso), "» %s estб assistindo %s nesse momento", Nomeadm, Nome);
		MensagemProsAdmins(COR_VERDE, aviso);
	}
 	else
 	{
 		SendClientMessage(playerid,COR_ERRO,"[ERRO]: Vocк nгo tem permissгo para usar esse comando");
	}
	TempoComando[playerid] = GetTickCount();
	return 1;
}
Reply
#5

Desculpe nгo responder antes... Tava dando um erro e nгo conseguia logar
Bom, deu uns errinhos de undefined symbol

Entгo eu fiz dessa forma, que ao meu ver й a mesma coisa
Quote:

CMD:tv(playerid,params[])
{
if(Dados[playerid][Admin] >= 1)
{
new ID;
if(sscanf(params,"d",ID))
{
SendClientMessage(playerid,COR_AMARELA,"Uso correto: /tv [id]");
return 1;
}
if(!IsPlayerConnected(ID))
{
SendClientMessage(playerid,COR_AMARELA,"Jogador nгo conectado.");
return 1;
}
if(ID == playerid) return SendClientMessage(playerid,COR_ERRO, "[ERRO]: Vocк nгo pode assistir vocк mesmo");
new Float,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
SetPVarFloat(playerid,"xtv",x);
SetPVarFloat(playerid,"ytv",y);
SetPVarFloat(playerid,"ztv",z);
new Float:a = GetPlayerFacingAngle(playerid, a);
SetPVarFloat(playerid,"atv",a);
new i = GetPlayerInterior(playerid);
SetPVarInt(playerid, "itv", i);
new m = GetPlayerVirtualWorld(playerid);
SetPVarInt(playerid, "mtv", m);
TogglePlayerSpectating(playerid, true);
if(IsPlayerInAnyVehicle(ID))
{
SetPlayerInterior(playerid,GetPlayerInterior(ID));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(ID));
PlayerSpectateVehicle(playerid,GetPlayerVehicleID( ID));
}
else
{
SetPlayerInterior(playerid,GetPlayerInterior(ID));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(ID));
PlayerSpectatePlayer(playerid,ID);
}
Assistindo[playerid]=true;
Assistido[ID]=true;
AssistindoID[playerid]=ID;
new Nome[MAX_PLAYER_NAME];
GetPlayerName(ID,Nome,sizeof(Nome));
new Nomeadm[MAX_PLAYER_NAME];
GetPlayerName(playerid,Nomeadm,sizeof(Nomeadm));
new aviso[128];
format(aviso, sizeof(aviso), "» %s estб assistindo %s nesse momento", Nomeadm, Nome);
MensagemProsAdmins(COR_VERDE, aviso);
}
else
{
SendClientMessage(playerid,COR_ERRO,"[ERRO]: Vocк nгo tem permissгo para usar esse comando");
}
TempoComando[playerid] = GetTickCount();
return 1;
}

E eu acho que era isso mesmo... Muito obrigado pela atenзгo xD
Reply
#6

Tranquilo, tiver mais dъvidas sу dizer.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)