[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
команда нужна
Дата: 25.03.2010, Четверг, 11:34:00 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 132
Репутация: 6+
у кого есть комнда админское тв ?киньте плз если не жалко
Дата: 25.03.2010, Четверг, 13:01:42 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 76+
Держи
Code
if(strcmp(cmd, "/specplayer", true) == 0)
    {
    if(IsPlayerConnected(playerid))
     {
     if (PlayerInfo[playerid][pAdmin] >= 1)
      tmp = adminspec_strtok(cmdtext, idx);
       if(!strlen(tmp)) {
       SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [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;
       }
      }

TV off
Code
if(strcmp(cmd, "/specoff", true) == 0)
    {
    if(IsPlayerConnected(playerid))
     {
     if (PlayerInfo[playerid][pAdmin] >= 1)
     {
     TogglePlayerSpectating(playerid, 0);
     gSpectateID[playerid] = INVALID_PLAYER_ID;
     gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
     return 1;
     }
    }
}

С тебя
Дата: 25.03.2010, Четверг, 13:31:34 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 132
Репутация: 6+
спасиб!!! ))))

Добавлено (25.03.2010, 13.31)
---------------------------------------------
я поторопился))))ошибки выдают,надо другую)))D

Дата: 25.03.2010, Четверг, 14:01:02 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 76+
Quote (чел)
ошибки выдают

Какие говори CRAZY У мну стоит всё норм
Дата: 25.03.2010, Четверг, 14:39:09 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 132
Репутация: 6+
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9658) : error 017: undefined symbol "adminspec_strtok"
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9658) : error 033: array must be indexed (variable "tmp")
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9663) : error 017: undefined symbol "specplayerid"
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9664) : error 017: undefined symbol "specplayerid"
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9669) : error 017: undefined symbol "specplayerid"
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9670) : error 017: undefined symbol "specplayerid"
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9671) : error 017: undefined symbol "gSpectateID"
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9671) : error 001: expected token: ";", but found "]"
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9671) : error 029: invalid expression, assumed zero
C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(9671) : fatal error 107: too many error messages on one line
Дата: 25.03.2010, Четверг, 14:52:58 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 76+
Лан обьясню...

Ко всем нью:

Code
new gSpectateType[MAX_PLAYERS];
new gSpectateID[MAX_PLAYERS];

После всех нью:
Code
adminspec_strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
     index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
     result[index - offset] = string[index];
     index++;
    }
    result[index - offset] = EOS;
    return result;
}

В OnPlayerCommandText:

Code
new specplayerid, specvehicleid;

Так же переделай команду:

Code
if(strcmp(cmd, "/specplayer", true) == 0)
    {
    if(IsPlayerConnected(playerid))
     {
     if (PlayerInfo[playerid][pAdmin] >= 1)
      tmp = adminspec_strtok(cmdtext, idx);
       if(!strlen(tmp)) {
       SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [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;
       }
      }
if(strcmp(cmd, "/specvehicle", true) == 0)
    {
    if(IsPlayerConnected(playerid))
     {
     if (PlayerInfo[playerid][pAdmin] >= 1)
     tmp = adminspec_strtok(cmdtext, idx);
      if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specvehicle [vehicleid]");
      return 1;
      }
      specvehicleid = strval(tmp);
          if(specvehicleid < MAX_VEHICLES) {
       TogglePlayerSpectating(playerid, 1);
       PlayerSpectateVehicle(playerid, specvehicleid);
       gSpectateID[playerid] = specvehicleid;
       gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
        return 1;
      }
       }
     }
if(strcmp(cmd, "/specoff", true) == 0)
    {
    if(IsPlayerConnected(playerid))
     {
     if (PlayerInfo[playerid][pAdmin] >= 1)
     {
     TogglePlayerSpectating(playerid, 0);
     gSpectateID[playerid] = INVALID_PLAYER_ID;
     gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
     return 1;
     }
    }
}

Вроде всё,а ещё если нету public Spectator() то вставляй это ко всем пабликам:
Code
public Spectator()
{
  new string[256];
  for(new i = 0; i < MAX_PLAYERS; i++)
  {
   if(IsPlayerConnected(i))
   {
       if(KickPlayer[i]==1) { Kick(i); }
    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(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~y~%s(ID:%d)~n~~y~„…€м…:%.1f",name,targetid,health);
          GameTextForPlayer(i, string, 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);
     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;
    }
   }
  }
}

Ко всем нью:
Code
new Spectate[MAX_PLAYERS];

В OnPlayerConnect
Code
Spectate[playerid] = 255;

Ко всем пабликам:
Code
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
  // IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE
  // TO CHANGE THEIR INTERIOR ID TO MATCH
  new x = 0;
  while(x!=MAX_PLAYERS) {
      if( IsPlayerConnected(x) &&    GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
    gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER )
      {
          SetPlayerInterior(x,newinteriorid);
   }
   x++;
  }
return 1;
}
Дата: 25.03.2010, Четверг, 15:09:50 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 132
Репутация: 6+
Эт из ларпа походу да:?
Дата: 25.03.2010, Четверг, 15:10:26 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 76+
Непомню :D вроде нет CRAZY
Дата: 25.03.2010, Четверг, 15:14:34 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 132
Репутация: 6+
остаётся только это C:\DOCUME~1\9335~1\0016~1\6ACA~1\GAMEMO~1\gf.pwn(30003) : error 017: undefined symbol "ADMIN_SPEC_TYPE_PLAYER"
Дата: 25.03.2010, Четверг, 15:16:48 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 76+
Ко всем #define:
Code
#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
Дата: 06.10.2010, Среда, 21:45:07 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 47
Репутация: -27+
ОШИБКА ADMIN_SPEC_TYPE_VEHICLE
  • Страница 1 из 1
  • 1
Поиск: