Просто раскрыл и оттабулировал код. Немного переделал.
PHP код:
CMD:spec(playerid,params[])
{
if(Player[playerid][pAdmin] < 3 || AdminDuty[playerid] == 0) return NoRights;
if(Spectate[playerid] == 999)
{
if(sscanf(params,"u",params[0]))
return send(playerid,COLOR_COMAND,"[КОМАНДЫ] {FFFFFF}/spec [id игрока].");
if(!IsPlayerConnected(params[0]))
return Notonline;
if(Player[params[0]][pAdmin] > Player[playerid][pAdmin])
return send(playerid,COLOR_RED,"[ОШИБКА] {FFFFFF}Ты не можешь наблюдать за администратором старше тебя.");
TogglePlayerSpectating(playerid,1);
SetCameraBehindPlayer(params[0]);
Spectate[playerid] = params[0];
SetPlayerInterior(playerid,GetPlayerInterior(params[0]));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(params[0]));
PlayerSpectatePlayer(playerid,params[0]);
new Float:health,
// НИЧОСИ
// мы же не индийское имя записываем
// MAX_PLAYER_NAME
giveplayer[124];
GetPlayerHealth(Spectate[playerid],health);
TextDrawShowForPlayer(playerid, FULLRECON[playerid]);
GetPlayerName(Spectate[playerid],giveplayer,sizeof(giveplayer));
GameTextForPlayer(playerid,"~w~Pe›њЇ ®a—ћ«љe®њ¬~g~‹kћ«¤e®",5000,6);
SetCameraBehindPlayer(params[0]);
UpdatePlayerPosition(playerid);
return 1;
}
if(Spectate[playerid] != 999)
{
Spectate[playerid] = 999;
TogglePlayerControllable(playerid,1);
TogglePlayerSpectating(playerid,0);
SetCameraBehindPlayer(playerid);
GameTextForPlayer(playerid,"~w~Pe›њЇ ®a—ћ«љe®њ¬~r~‹Ёkћ«¤e®", 5000, 6);
/* Как подсказывает мой хрустальный шар,
то вы так возвращаете игрока на начало "спека" ?
new Float:x,Float:y,Float:z;
x = Player[playerid][pDpos_x];
y = Player[playerid][pDpos_y];
z = Player[playerid][pDpos_z];
ServerSetPlayerPos(playerid,x,y,z+0.5);
*/
// Насоздавали массивов
// Теперь мучаетесь с ними
// #define не слоабаков =(
new Float:x,Float:y,Float:z;
ServerSetPlayerPos( playerid,Player[playerid][pDpos_x],
Player[playerid][pDpos_y],
Player[playerid][pDpos_z]+0.5);
// ...
SetPlayerInterior(playerid,Player[playerid][pDint]);
SetPlayerVirtualWorld(playerid, Player[playerid][pDworld]);
TextDrawHideForPlayer(playerid,FULLRECON[playerid]);
}
return 1;
}
И что за ServerSetPlayerPos? Надеюсь, что не
PHP код:
// КЭК
#define ServerSetPlayerPos(%0,%1,%2,%3) \
(SetPlayerPos(%0,%1,%2,%3))