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

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

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

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

/spec

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

Deomons

Новичок
Когда я ввожу /spec то сервер вырубаеться,ошибок и варнингов нет
Вот код /spec
Это в new
PHP:
new Spectate[MAX_PLAYERS];
new Menu:specmenu;
new Toogle[MAX_PLAYERS];
Это в public OnPlayerCommandText
PHP:
if(strcmp(cmd, "/spec", true) == 0)
   {
   if(IsPlayerConnected(playerid))
          {
           new specid;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "» {00a8ff}Eniieucoaoa eiiaiao: {FFFFFF} /spec [PlayerID]");
    specid = ReturnUser(tmp);
    if(specid == playerid) return SendClientMessage(playerid, COLOR_GREY, "[Ioeaea] - Au oeacaee naie ID");
    if(PlayerInfo[specid][pAdmin] >= 6) return SendClientMessage(playerid,COLOR_GREY,"[Ioeaea] - Au ia ii?aoa iaae?aaou ca aaieieno?aoeae");
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
         if(IsPlayerConnected(specid))
         {
          if(GetPlayerState(specid) == PLAYER_STATE_SPECTATING && gSpectateID[specid] != INVALID_PLAYER_ID)
          {
           GetPlayerName(gSpectateID[specid], sendername, sizeof(sendername));
                  format(string, sizeof(string), "[Adm] Yoio ea?ie iaae?aaao ca {00a8ff}%s{ffffff} [PlayerID: {00a8ff}%d{ffffff}]", sendername,gSpectateID[specid]);
                  SendClientMessage(playerid, COLOR_BLUE, string);
                  return 1;
          }
          if(GetPlayerState(specid) != 1 && GetPlayerState(specid) != 2 && GetPlayerState(specid) != 3) return SendClientMessage(playerid, COLOR_GREY, " Ea?ie ia anooiee a ea?o!");
          StartSpectate(playerid, specid);
          Spectate[playerid] = specid;
          ShowMenuForPlayer(specmenu,playerid);
         }
    }
   }
   return 1;
  }
Это в В public OnPlayerSelectedMenuRow
PHP:
if(Current == specmenu)
   {
    new giveplayer[24],sendername[24],string[150];
    GetPlayerName(Spectate[playerid], giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
    switch(row)
    {
        case 0:
          {
         StartSpectate(playerid, Spectate[playerid]);
         ShowMenuForPlayer(specmenu,playerid);
            }
         case 1:
               {
                  new spechp = Spectate[playerid];
//                RepairVehicleAC(GetPlayerVehicleID(playerid));
                Gas[GetPlayerVehicleID(spechp)] = 100;
                  format(string, sizeof(string), "Игрок %s получил 100 hp от администратора %s",giveplayer ,sendername);
                  ABroadCast(COLOR_GREY,string,1);
                SetPlayerHealthAC(spechp, 100.0);
                SetPlayerHealthAC(spechp, 100.0);
                PlayerInfo[spechp][pHealth] = 100;
                   ShowMenuForPlayer(specmenu,playerid);
               }
         case 2:
           {
                  if(Toogle[Spectate[playerid]] == 0)
                  {
           TogglePlayerControllable(Spectate[playerid], 0);
           format(string, sizeof(string), "Игрок %s был заморожен администратором %s",giveplayer ,sendername);
           ABroadCast(COLOR_GREY,string,1);
            ShowMenuForPlayer(specmenu,playerid);
            Toogle[Spectate[playerid]] = 1;
           }
           else
           {
                 TogglePlayerControllable(Spectate[playerid], 1);
          format(string, sizeof(string), "Игрок %s был разморожен администратором %s",giveplayer ,sendername);
          ABroadCast(COLOR_GREY,string,1);
           ShowMenuForPlayer(specmenu,playerid);
           Toogle[Spectate[playerid]] = 0;
         }
    }
    case 3:
          {
          format(string, sizeof(string), "GMtest проведен на игроке %s администратором %s",giveplayer, sendername);
         ABroadCast(COLOR_GREY,string,1);
         new Float:boomx, Float:boomy, Float:boomz;
         GetPlayerPos(Spectate[playerid],boomx, boomy, boomz);
         CreateExplosion(boomx, boomy , boomz, 5, 2);
         ShowMenuForPlayer(specmenu,playerid);
    }
    case 4:
          {
           new Float:shealth;
         new Float:slx, Float:sly, Float:slz;
         GetPlayerHealth(Spectate[playerid], shealth);
         SetPlayerHealth(Spectate[playerid], shealth-5);
         GetPlayerPos(Spectate[playerid], slx, sly, slz);
         SetPlayerPos(Spectate[playerid], slx, sly, slz+5);
         PlayerPlaySound(Spectate[playerid], 1130, slx, sly, slz+5);
         format(string, sizeof(string), "Игрок %s получил от администратора %s",giveplayer ,sendername);
         ABroadCast(COLOR_GREY,string,1);
         ShowMenuForPlayer(specmenu,playerid);
    }
    case 5:
    {
                   new Float:slx, Float:sly, Float:slz;
                   GetPlayerName(Spectate[playerid], giveplayer, sizeof(giveplayer));
         GetPlayerName(playerid, sendername, sizeof(sendername));
         SetPlayerHealth(Spectate[playerid], 130);
         GetVehiclePos(GetPlayerVehicleID(Spectate[playerid]), slx, sly, slz);
         SetVehiclePos(GetPlayerVehicleID(Spectate[playerid]), slx, sly, slz+100);
         PlayerPlaySound(Spectate[playerid], 1130, slx, sly, slz+5);
         format(string, sizeof(string), "Транспорт игрока %s проверен администратором %s",giveplayer ,sendername);
         ABroadCast(COLOR_GREY,string,1);
         ShowMenuForPlayer(specmenu,playerid);
    }
    case 6:
         {
         new playersip[150];
         GetPlayerIp(Spectate[playerid],playersip,sizeof(playersip));
         new bablonarykah = PlayerInfo[playerid][pMoney];
         new bablovbanke = PlayerInfo[playerid][pAccount];
         format(string,sizeof(string), "{ffffff} Nick - %s\n IP: %s\n Money: %d\n BankMoney: %d ",giveplayer,playersip,bablonarykah,bablovbanke);
         ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"{bbbbbb}Информация о игроке",string,"Okay","");
         ShowMenuForPlayer(specmenu,playerid);
    }
    case 7:
          {
         ShowStats(playerid,Spectate[playerid]);
         ShowMenuForPlayer(specmenu,playerid);
    }
    case 8:
          {
          if (PlayerInfo[playerid][pAdmin] >= 2)
          {
          format(string, sizeof(string), "sKick - Игрок %s отсоеденен от сервера администратором %s",giveplayer ,sendername);
         ABroadCast(COLOR_GREY,string,1);
           Kick(Spectate[playerid]);
           }
            else
            {
               SendClientMessage(playerid, COLOR_YELLOW, "Функция доступна администраторам 2 ADM LEVEL и выше");
               ShowMenuForPlayer(specmenu,playerid);
                return 1;
            }
        }
    case 9:
 {
          if (PlayerInfo[playerid][pAdmin] >= 3)
          {
          new banplayer = Spectate[playerid];
          format(string, sizeof(string), "sBan - Игрок %s заблокирован на неопределенный срок администратором %s",giveplayer ,sendername);
         ABroadCast(COLOR_GREY,string,1);
         PlayerInfo[banplayer][pBanned] = 1;
           Kick(banplayer);
           }
            else
            {
               SendClientMessage(playerid, COLOR_YELLOW, "Функция доступна администраторам 3 ADM LEVEL и выше");
               ShowMenuForPlayer(specmenu,playerid);
                return 1;
            }
        }
    case 10:
    {
         StopSpectate(playerid);
         Spectate[playerid] = 255;
         PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    }
   }
  }
Это в public Menu()
PHP:
public Menu()
{
    specmenu = CreateMenu(" ", 1, 500.0, 150.0, 100.0 );
    AddMenuItem(specmenu,0,"Update");
    AddMenuItem(specmenu,0,"HP = 100");
    AddMenuItem(specmenu,0,"Freeze");
    AddMenuItem(specmenu,0,"GMtest");
    AddMenuItem(specmenu,0,"Slap");
    AddMenuItem(specmenu,0,"VehSlap");
    AddMenuItem(specmenu,0,"Info");
    AddMenuItem(specmenu,0,"Stats");
    AddMenuItem(specmenu,0,"sKick");
    AddMenuItem(specmenu,0,"sBan");
    AddMenuItem(specmenu,0,"Spec Off");
    DisableMenuRow(specmenu, 0);
}
Это в public OnVehicleDamageStatusUpdate
PHP:
stock StartSpectate(playerid, specid)
{
    for(new x=0; x<GetMaxPlayers(); x++)
    {
        if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid)
        {
        //   AdvanceSpectate(x);
        }
    }
    if(IsPlayerInAnyVehicle(specid))
    {
        SetPlayerInterior(playerid,GetPlayerInterior(specid));
        SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(specid));
        TogglePlayerSpectating(playerid, 1);
        PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specid));
        gSpectateID[playerid] = specid;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
    }
    else
    {
        SetPlayerInterior(playerid,GetPlayerInterior(specid));
        SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(specid));
        TogglePlayerSpectating(playerid, 1);
        PlayerSpectatePlayer(playerid, specid);
        gSpectateID[playerid] = specid;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
    }
    new ping = GetPlayerPing(specid);
    new Float:health;
    new Float:armour;
    GetPlayerHealth(specid, health);
    new string[100], name[24];
    GetPlayerName(specid,name,sizeof(name));
    SetTimer("SpectatorOb", 1000, 0);
    format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~NICK: %s - ID: %d~n~HP: %.0f - AP: %.1f - PING: %d", name,specid,health,armour,ping);
    GameTextForPlayer(playerid,string,10000,3);
    return 1;
}
stock StopSpectate(playerid)
{
    TogglePlayerSpectating(playerid, 0);
    gSpectateID[playerid] = INVALID_PLAYER_ID;
    gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
    GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~n~~w~Spectator Mode Off",3000,3);
    return 1;
}
Команду брал от сюда http://pawno-info.ru/threads/90183-spec-%D0%A0%D0%B5%D0%B6%D0%B8%D0%BC-%D0%BD%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F?highlight=%2Fspec
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу