Перейти к содержанию
Авторизация  
Karpyha

/tv

Рекомендуемые сообщения

Karpyha
//==============================================================================
if(strcmp(cmd, "/tv", true) == 0)
    {
    if(IsPlayerConnected(playerid))
     {
     if (PlayerInfo[playerid][pAdmin] >= 1||PlayerInfo[playerid][pHelper] >= 1)
      tmp = adminspec_strtok(cmdtext, idx);
       if(!strlen(tmp)) {
       SendClientMessage(playerid, COLOR_WHITE, "USAGE: /tv [playerid]");
       return 1;
       }
       specplayerid = strval(tmp);
        if(!IsPlayerConnected(specplayerid)) {
           SendClientMessage(playerid, COLOR_RED, "Этот игрок не в сети.");
        return 1;
        }
        TogglePlayerSpectating(playerid, 1);
        PlayerSpectatePlayer(playerid, specplayerid);
        SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
        gSpectateID[playerid] = specplayerid;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
         return 1;
       }

Здравствуйте, как сделать тв не от первого лица, когда человек в машине, он показывает вид первого лица.

Основа геймер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
meL

Еще раз прописать /tv id. Должен показываться не от 1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Karpyha

Еще раз прописать /tv id. Должен показываться не от 1.

Все равно также, в геймере так, вид первого лица при тв, если игрок в машине.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

 PlayerSpectatePlayer
кидай

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Karpyha

 PlayerSpectatePlayer

кидай

public Spectator()
{
	new str[96];//256
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
		    if(KickPlayer[i]==1) { Kick(i); } // test123
			else if(KickPlayer[i]==2) { Ban(i); }
			//if(GetPlayerPing(i) >= 500 && PlayerInfo[i][pAdmin] < 1) { Kick(i); }
			if(Spectate[i] < 253 && Spectate[i] != 255)
			{
				SetPlayerColor(i,COLOR_SPEC);
				TogglePlayerControllable(i, 0);
				new targetid = Spectate[i];
				if(IsPlayerConnected(targetid))
				{
				    TogglePlayerSpectating(i, 1);
				    if(PlayerInfo[i][pAdmin] >= 1)
				    {
				        new Float:health;
					    new name[MAX_PLAYER_NAME];
					    GetPlayerName(targetid, name, sizeof(name));
					    GetPlayerHealth(targetid, health);
					    format(str, sizeof(str), "~n~~n~~n~~n~~n~~n~~y~%s(ID:%d)~n~~y~€ѓOPOB’E:%.1f",name,targetid,health);//здороье
					    GameTextForPlayer(i, str, 2500, 3);
				    }
				    if(IsPlayerInAnyVehicle(targetid))
					{
					    new carid = GetPlayerVehicleID(targetid);
					    PlayerSpectateVehicle(i, carid);
					}
					else
					{
					    PlayerSpectatePlayer(i, targetid);
					}
					if(GetPlayerInterior(targetid) == 0)
					{
						SetPlayerInterior(i,0);
					}
					else if(GetPlayerInterior(targetid) > 0)
					{
						SetPlayerInterior(i,GetPlayerInterior(targetid));
					}
				}//Targetid connected
			}
			if(Spectate[i] == 253)
			{
				TogglePlayerControllable(i, 1);
				TogglePlayerSpectating(i, 0);
				SetPlayerInterior(i,Unspec[i][sPint]);
				PlayerInfo[i][pInt] = Unspec[i][sPint];
				PlayerInfo[i][pLocal] = Unspec[i][sLocal];
				Unspec[i][sLocal] = 255;
				SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][sPx],  Unspec[i][sPy], Unspec[i][sPz]-1.0, 1.0, -1, -1, -1, -1, -1, -1);
				gTeam[i] = PlayerInfo[i][pTeam];
				SetPlayerToTeamColor(i);
				MedicBill[i] = 0;
				if(PlayerInfo[i][pDonateRank] > 0)
		        {
		            SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][Coords][0], Unspec[i][Coords][1], Unspec[i][Coords][2], 10.0, -1, -1, -1, -1, -1, -1);
					SpawnPlayer(i);
					SetCameraBehindPlayer(i);
		        }
		        else
		        {
					SpawnPlayer(i);
				}
				Spectate[i] = 255;
			}
			if(Spectate[i] == 254)
			{
				TogglePlayerControllable(i, 1);
				SetPlayerInterior(i,Unspec[i][sPint]);
				PlayerInfo[i][pInt] = Unspec[i][sPint];
				PlayerInfo[i][pLocal] = Unspec[i][sLocal];

				SetPlayerPos(i, Unspec[i][sPx],  Unspec[i][sPy], Unspec[i][sPz]);
				Spectate[i] = 255;
			}
			if(Spectate[i] == 256)
			{
				SetPlayerToTeamColor(i);
				Spectate[i] = 255;
			}
			if(Spectate[i] == 257)
			{
				Spectate[i] = 254;
			}
		}
	}
}

в этом паблике он и в команде в /tv и всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk
if(IsPlayerInAnyVehicle(targetid))
                    {
                        new carid = GetPlayerVehicleID(targetid);
                        PlayerSpectateVehicle(i, carid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

Замени на 

if(IsPlayerInAnyVehicle(targetid))
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Red_Devils

 

if(IsPlayerInAnyVehicle(targetid))
                    {
                        new carid = GetPlayerVehicleID(targetid);
                        PlayerSpectateVehicle(i, carid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

Замени на 

if(IsPlayerInAnyVehicle(targetid))
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

 

И что это получится?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

 

 

if(IsPlayerInAnyVehicle(targetid))
                    {
                        new carid = GetPlayerVehicleID(targetid);
                        PlayerSpectateVehicle(i, carid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

Замени на 

if(IsPlayerInAnyVehicle(targetid))
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

 

И что это получится?

 

Это получится и так и так будет смотреть за плеером нормально)

Можно просто это всё убрать и оставить  PlayerSpectatePlayer(i, targetid);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Red_Devils

Лучше уже ТВ переделать полностью, есть же в пабликах уроков уйма. Почему бы не переделать..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

Лучше уже ТВ переделать полностью, есть же в пабликах уроков уйма. Почему бы не переделать..

Зачем переделывать , если можно просто изменить 4 строчки кода?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
st1vka

 

                    if(IsPlayerInAnyVehicle(targetid))
                    {
                        new carid = GetPlayerVehicleID(targetid);
                        PlayerSpectateVehicle(i, carid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

Замени на 

if(IsPlayerInAnyVehicle(targetid))
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

 

Лол, заменит он и толку то? Всё равно спек за игроком будет, тогда уж заменить в кмд на:

if(IsPlayerInAnyVehicle(specplayerid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
else PlayerSpectatePlayer(playerid, specplayerid)

А в паблике на:

 

if(IsPlayerInAnyVehicle(targetid)) PlayerSpectateVehicle(i, GetPlayerVehicleID(targetid));
else PlayerSpectatePlayer(i, targetid)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

 

 

                    if(IsPlayerInAnyVehicle(targetid))
                    {
                        new carid = GetPlayerVehicleID(targetid);
                        PlayerSpectateVehicle(i, carid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

Замени на 

if(IsPlayerInAnyVehicle(targetid))
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }
                    else
                    {
                        PlayerSpectatePlayer(i, targetid);
                    }

 

Лол, заменит он и толку то? Всё равно спек за игроком будет, тогда уж заменить в кмд на:

if(IsPlayerInAnyVehicle(specplayerid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
else PlayerSpectatePlayer(playerid, specplayerid)

А в паблике на:

if(IsPlayerInAnyVehicle(targetid)) PlayerSpectateVehicle(i, GetPlayerVehicleID(targetid));
else PlayerSpectatePlayer(i, targetid)

Проблема была не в этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
АЭРОФЛОТ
в КМД /tv: 

 



if(IsPlayerInAnyVehicle(specplayerid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
else PlayerSpectatePlayer(playerid, specplayerid);


 

вместо

 



PlayerSpectatePlayer(playerid, specplayerid);

Изменено пользователем Cudder
Выделять нужно в код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.