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

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

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

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

Проблема со /spec'om

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

сослан

Новичок
Здравствуйте, У меня есть две проблемы(ки) с командой /spec, 1(ое) Когда пишу /spec 1 И спекаю, потом хочу /specoff - А инфо остается на экране. Как избавится от проблемы? и 2 проблема, Какой нибудь новичёк заходит в игру. и он типо спекает за кем-то. А он не Админ! •(Помогите пожалуйста :))•

Код:
if(strcmp(cmd, "/spec", true) == 0) {
        tmp = strtok(cmdtext, idx);
        GetPlayerName(specplayerid, giveplayer, sizeof(giveplayer));
        if(!strlen(tmp)) {
            SendClientMessage(playerid, COLOR_WHITE, "Используй: /spec [playerid]");
            return 1;
        }
        specplayerid = strval(tmp);
        if(!IsPlayerConnected(specplayerid)) {
        SendClientMessage(playerid, COLOR_WHITE, "{ff3300}[Ошибка]{FFFFFF} Не активный игрок");
            return 1;
        }
        if(playerid == specplayerid)
        {
        SendClientMessage(playerid, COLOR_WHITE, "{ff3300}[Ошибка]{FFFFFF} Нельзя наблюдать за самим собой");
        return 1;
        }
        if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
        {
        SendClientMessage(playerid, COLOR_WHITE, "{ff3300}[Ошибка]{FFFFFF} Вы уже спекаете");
        return 1;
        }
        if (PlayerInfo[playerid][pAdmin] >= 1)//???????? ?? ??????[?????? ????]
		{
  giveplayerid = ReturnUser(tmp);
if(GetPlayerState(giveplayerid) == 1)
{
SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(giveplayerid));
}
else if(GetPlayerState(giveplayerid) == 2)
{
SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(giveplayerid));
}
else if(GetPlayerState(giveplayerid) == 3)
{
SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(giveplayerid));
}
        if(IsPlayerInAnyVehicle(specplayerid))
    {
        SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
        TogglePlayerSpectating(playerid, 1);
        PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
        gSpectateID[playerid] = specplayerid;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
        SpecHATimer[playerid] = SetTimerEx("SpecHArefresh",1000,true,"ff",playerid,specplayerid);
    }
    else
    {
        SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
        TogglePlayerSpectating(playerid, 1);
        PlayerSpectatePlayer(playerid, specplayerid);
        gSpectateID[playerid] = specplayerid;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
        SpecHATimer[playerid] = SetTimerEx("SpecHArefresh",1000,true,"ff",playerid,specplayerid);
    }
     return 1;
    }
    }
    if(strcmp(cmd, "/specoff", true) == 0) {
        if (PlayerInfo[playerid][pAdmin] >= 1)//???????? ?? ??????
        {
        TogglePlayerSpectating(playerid, 0);
        gSpectateID[playerid] = INVALID_PLAYER_ID;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
        KillTimer(SpecHATimer[playerid]);
        KillTimer(SpecHATimer[playerid]);
        KillTimer(SpecHATimer[playerid]);
        }
        return 1;
    }
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу