Karpyha 10 Опубликовано 23 июня, 2015 //============================================================================== 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 724 Опубликовано 23 июня, 2015 Еще раз прописать /tv id. Должен показываться не от 1. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Karpyha 10 Опубликовано 23 июня, 2015 Еще раз прописать /tv id. Должен показываться не от 1. Все равно также, в геймере так, вид первого лица при тв, если игрок в машине. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rustyk 453 Опубликовано 23 июня, 2015 PlayerSpectatePlayerкидай Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Karpyha 10 Опубликовано 24 июня, 2015 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 453 Опубликовано 24 июня, 2015 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 368 Опубликовано 24 июня, 2015 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 453 Опубликовано 24 июня, 2015 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 368 Опубликовано 24 июня, 2015 Лучше уже ТВ переделать полностью, есть же в пабликах уроков уйма. Почему бы не переделать.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rustyk 453 Опубликовано 24 июня, 2015 Лучше уже ТВ переделать полностью, есть же в пабликах уроков уйма. Почему бы не переделать.. Зачем переделывать , если можно просто изменить 4 строчки кода?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
st1vka 224 Опубликовано 24 июня, 2015 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 453 Опубликовано 24 июня, 2015 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) Проблема была не в этом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АЭРОФЛОТ 19 Опубликовано 25 июня, 2015 (изменено) в КМД /tv: if(IsPlayerInAnyVehicle(specplayerid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid)); else PlayerSpectatePlayer(playerid, specplayerid); вместо PlayerSpectatePlayer(playerid, specplayerid); Изменено 25 июня, 2015 пользователем Cudder Выделять нужно в код. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты