Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Z.C.M.D] /spec /specoff

Статус
В этой теме нельзя размещать новые ответы.

Kazon

Компетентный
Вот команда /spec /specoff Знаю многие её ищут вот и выложил в 2-х вариантах на обычных и на ZCMD + Sscanf

Команда на ZCMD + Sscanf:
PHP:
CMD:spec(playerid, params[])
{
    if(!IsPlayerConnected(playerid)) return true;
    if(PlayerInfo[playerid][pAdmin] < 1) return true;
    if(GetPVarInt(playerid, "SpecBool") == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "Вы за кем-то уже наблюдаете!");
    if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /spec [id игрока]");
    if(!IsPlayerConnected(params[0])) return true;
    if(params[0] == playerid) return SendClientMessage(playerid, COLOR_LIGHTRED, "Вы не можете наблюдать за собой!");
    GetPlayerPos(playerid, params[1], params[2], params[3]);
	GetPlayerFractingAngle(playerid, params[4]);
	SetPVarInt(playerid, "SpecBool", 1);
	SetPVarFloat(playerid, "SpecX", params[1]);
    SetPVarFloat(playerid, "SpecY", params[2]);
    SetPVarFloat(playerid, "SpecZ", params[3]);
    SetPVarFloat(playerid, "SpecF", params[4]);
    SetPVarInt(playerid, "SpecInt", GetPlayerInterior(playerid));
    SetPVarInt(playerid, "SpecWorld", GetPlayerVirtualWorld(playerid));
	if(IsPlayerInAnyVehicle(params[0])) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(params[0]));
    else PlayerSpectatePlayer(playerid, params[0]);
	SetPlayerInterior(playerid, GetPlayerInterior(params[0]));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(params[0]));
    TogglePlayerSpectating(playerid, true);
    return SendMes(playerid, COLOR_ORANGE, "Наблюдение за: %s (ID: %d)", sendername(params[0]), params[0]); // Ëó÷øå sendername() çàìåíèòå íà ñâîþ
}
PHP:
CMD:specoff(playerid, params[])
{
    if(!IsPlayerConnected(playerid)) return true;
    if(PlayerInfo[playerid][pAdmin] < 1) return true;
    if(GetPVarInt(playerid, "SpecBool") == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Вы не ведёте наблюдение!");
    TogglePlayerSpectating(playerid,false);
    SetPlayerPos(playerid, GetPVarFloat(playerid, "SpecX"), GetPVarFloat(playerid, "SpecY"), GetPVarFloat(playerid, "SpecZ"));
    SetPlayerFacingAngle(playerid, GetPVarFloat(playerid, "SpecF"));
    SetPlayerVirtualWorld(playerid, GetPVarFloat(playerid, "SpecWorld"));
    SetPlayerInterior(playerid, GetPVarFloat(playerid, "SpecInt"));
    DeletePVar(playerid, "SpecBool");
	DeletePVar(playerid, "SpecX");
	DeletePVar(playerid, "SpecY");
	DeletePVar(playerid, "SpecZ");
	DeletePVar(playerid, "SpecF");
	DeletePVar(playerid, "SpecInt");
	DeletePVar(playerid, "SpecWorld");
    return SendClientMessage(playerid, COLOR_LIGHTRED, "Наблюдение прекращено!");
}
[HR][/HR]

Обычный вид команды:

PHP:
if(strcmp(cmd, "/spec", true) == 0)
{
    if(!IsPlayerConnected(playerid)) return true;
    if(PlayerInfo[playerid][pAdmin] < 1) return true;
    if(GetPVarInt(playerid, "SpecBool") == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "Вы за кем-то уже наблюдаете!");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /spec [id игрока]");
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!IsPlayerConnected(giveplayerid)) return true;
	if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_LIGHTRED, "Вы не можете наблюдать за собой!");
	new Float:Pos[4];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
	GetPlayerFractingAngle(playerid, Pos[3]);
	SetPVarInt(playerid, "SpecBool", 1);
	SetPVarFloat(playerid, "SpecX", Pos[0]);
    SetPVarFloat(playerid, "SpecY", Pos[1]);
    SetPVarFloat(playerid, "SpecZ", Pos[2]);
    SetPVarFloat(playerid, "SpecF", Pos[3]);
    SetPVarInt(playerid, "SpecInt", GetPlayerInterior(playerid));
    SetPVarInt(playerid, "SpecWorld", GetPlayerVirtualWorld(playerid));
	if(IsPlayerInAnyVehicle(giveplayerid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(giveplayerid));
    else PlayerSpectatePlayer(playerid, giveplayerid);
    SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
    TogglePlayerSpectating(playerid, true);
    return SendMes(playerid, COLOR_ORANGE, "Наблюдение за: %s (ID: %d)", sendername(giveplayerid), giveplayerid); // Ëó÷øå sendername() çàìåíèòå íà ñâîþ
}
PHP:
if(strcmp(cmd, "/specoff", true) == 0)
{
    if(!IsPlayerConnected(playerid)) return true;
    if(PlayerInfo[playerid][pAdmin] < 1) return true;
    if(GetPVarInt(playerid, "SpecBool") == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Вы не ведёте наблюдение!");
    TogglePlayerSpectating(playerid,false);
    SetPlayerPos(playerid, GetPVarFloat(playerid, "SpecX"), GetPVarFloat(playerid, "SpecY"), GetPVarFloat(playerid, "SpecZ"));
    SetPlayerFacingAngle(playerid, GetPVarFloat(playerid, "SpecF"));
    SetPlayerVirtualWorld(playerid, GetPVarFloat(playerid, "SpecWorld"));
    SetPlayerInterior(playerid, GetPVarFloat(playerid, "SpecInt"));
    DeletePVar(playerid, "SpecBool");
	DeletePVar(playerid, "SpecX");
	DeletePVar(playerid, "SpecY");
	DeletePVar(playerid, "SpecZ");
	DeletePVar(playerid, "SpecF");
	DeletePVar(playerid, "SpecInt");
	DeletePVar(playerid, "SpecWorld");
    return SendClientMessage(playerid, COLOR_LIGHTRED, "Наблюдение прекращено!");
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу