20:17
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Помощь с камерой
maximus-vrnДата: Среда, 16.02.2011, 01:25 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Нужно чтобы админы имели возможность следить за игроками, для этого в таймере брал координаты игрока и создавал камеру для админа, камера включается, но самого игрока не видно, как и его транспорта. Что нет так?
Code
public Slegkatimer(playerid)
{
   for(new i=0;i<GetMaxPlayers();i++)
   {
   if(Admslegka[i] != 0)
   {
   new Float:plocx,Float:plocy,Float:plocz;
   new Interiorslegka, VirtualWorldslegka;
   etPlayerPos(Slegka[i], plocx, plocy, plocz);
   Interiorslegka = GetPlayerInterior(Slegka[i]);
   VirtualWorldslegka = GetPlayerVirtualWorld(Slegka[i]);
   SetPlayerCameraPos(Admslegka[i], plocx, plocy, plocz+100);
   SetPlayerCameraLookAt(Admslegka[i], plocx, plocy, plocz);
   SetPlayerPos(Admslegka[i], plocx, plocx, plocz-100.0);
   SetPlayerInterior(Admslegka[i], Interiorslegka);
   SetPlayerVirtualWorld(Admslegka[i], VirtualWorldslegka);
   }
    }
}



Сообщение отредактировал maximus-vrn - Среда, 16.02.2011, 01:25
VagrantДата: Среда, 16.02.2011, 06:03 | Сообщение # 2
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
maximus-vrn, Я так думаю что лучше использовать TogglePlayerSpectate(playerid,1); и тогда всё будет видно.


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!
AndrejsДата: Среда, 16.02.2011, 10:14 | Сообщение # 3
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
Используй для пешего:
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, ID игрока за которым следить);

И для транспорта:
TogglePlayerSpectating(playerid, 1);
PlayerSpectateVehicle(playerid, ID транспорта игрока);

Это всё поверхностно, если будут проблемы опишу более подробно





Сообщение отредактировал McSquizzy - Среда, 16.02.2011, 10:14
maximus-vrnДата: Среда, 16.02.2011, 13:52 | Сообщение # 4
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Значит таймер уже не нужен? Вот без таймера получается такая вещь

Code
if(dialogid==15)
   {
   if(!response)
   {
   Shtab[playerid] = 0;
   return 1;
   }
   if(response)
    {
    new Interiorslegka, VirtualWorldslegka;
    new vehicle;
    Slegka = strval(inputtext);
    if(!IsPlayerConnected(Slegka))
     {
    SendClientMessage(playerid,COLOR_RED,"Игрока под этим id нет на сервере");
    return 1;
     }
   TogglePlayerControllable(playerid, 0);
   Interiorslegka = GetPlayerInterior(Slegka);
   VirtualWorldslegka = GetPlayerVirtualWorld(Slegka);
   if(GetPlayerState(Slegka) == 1)
   {
   TogglePlayerSpectating(playerid, 1);
   PlayerSpectatePlayer(playerid, Slegka);
   }
   if((GetPlayerState(Slegka) == 2) || (GetPlayerState(Slegka) == 3))
   {
   vehicle = GetPlayerVehicleID(Slegka);
   TogglePlayerSpectating(playerid, 1);
   PlayerSpectateVehicle(playerid, vehicle);
   }
   SetPlayerInterior(playerid, Interiorslegka);
   SetPlayerVirtualWorld(playerid, VirtualWorldslegka);
   Admslegka[playerid] = 1;
   }
   }



Сообщение отредактировал maximus-vrn - Среда, 16.02.2011, 13:53
AndrejsДата: Среда, 16.02.2011, 15:12 | Сообщение # 5
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
maximus-vrn, интерьер или виртуальный мир не верный. Попробуй ещё раз ввести, команда не всегда работает с первого раза. И на заметку: за собой следить нельзя



maximus-vrnДата: Среда, 16.02.2011, 15:19 | Сообщение # 6
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
McSquizzy, за собой не следил. Пробовал несколько раз и всё время этот результат.
AndrejsДата: Среда, 16.02.2011, 21:41 | Сообщение # 7
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
Вот тебе коды в общем, должны работать:
Code
    if(strcmp(cmd, "/spectate", true) == 0 || strcmp(cmd, "/specate", true) == 0)
  {
   tmp = adminspec_strtok(cmdtext, idx);
   if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specate [playerid]");
    return 1;
   }
   specplayerid = strval(tmp);

   if(!IsPlayerConnected(specplayerid)) {
       SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active.");
    return 1;
   }
   TogglePlayerSpectating(playerid, 1);
   PlayerSpectatePlayer(playerid, specplayerid);
   SetVirtualWorld(playerid, GetPlayerVirtualWorld(specplayerid));
   SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
    return 1;
  }

   if(strcmp(cmd, "/spectateveh", true) == 0 || strcmp(cmd, "/specateveh", true) == 0)
   {
   tmp = adminspec_strtok(cmdtext, idx);
   if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specateveh [vehicleid]");
    return 1;
   }
   specvehicleid = strval(tmp);

   if(specvehicleid < MAX_VEHICLES) {
       CheckPos(playerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, specvehicleid);
    gSpectateID[playerid] = specvehicleid;
    gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
   }
    return 1;
  }

   if(strcmp(cmd, "/spectateoff", true) == 0 || strcmp(cmd, "/specateoff", true) == 0)
   {
   TogglePlayerSpectating(playerid, 0);
   SpawnPlayer(playerid);
   return 1;
  }




maximus-vrnДата: Четверг, 17.02.2011, 00:17 | Сообщение # 8
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Я в код добавил GetPlayerPos() и SetPlayerPos() , теперь работает, но при нажатии кнопки вправо/влево игрок респавнится. Не понятно почему.
Code
if(dialogid==15)
   {
   if(!response)
   {
   Shtab[playerid] = 0;
   return 1;
   }
   if(response)
    {
    new vehicle;
    new Float:posx,Float:posy,Float:posz;
    Slegka = strval(inputtext);
    if(!IsPlayerConnected(Slegka))
     {
    SendClientMessage(playerid,COLOR_RED,"Игрока под этим id нет на сервере");
    return 1;
     }
   TogglePlayerControllable(playerid, 0);
      GetPlayerPos(Slegka, posx, posy, posz);
      SetPlayerPos(playerid, posx, posy, posz);
      SetPlayerInterior(playerid, GetPlayerInterior(Slegka));
   SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Slegka));
   if(GetPlayerState(Slegka) == 1)
   {
   TogglePlayerSpectating(playerid, 1);
   PlayerSpectatePlayer(playerid, Slegka);
   }
   if((GetPlayerState(Slegka) == 2) || (GetPlayerState(Slegka) == 3))
   {
   vehicle = GetPlayerVehicleID(Slegka);
   TogglePlayerSpectating(playerid, 1);
   PlayerSpectateVehicle(playerid, vehicle);
   }
   Admslegka[playerid] = 1;
   }
   }

И также респавн происходит при команде
Code
if(!strcmp(cmdtext, "/stops", true))
      {
       if(Admslegka[playerid] != 0)
       {
       Slegka = 0;
       Admslegka[playerid] = 0;
    SetPlayerVirtualWorld(playerid, 1);
    Shtab[playerid] = 0;
    TogglePlayerControllable(playerid, 1);
    TogglePlayerSpectating(playerid, 0);
    SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
    SetPlayerInterior(playerid,3);
    }
   return 1;
   }

хотя должно было переместить в здание. Никак не исправить, так всегда респавн будет при использовании этой функции?



Сообщение отредактировал maximus-vrn - Четверг, 17.02.2011, 00:18
VagrantДата: Пятница, 18.02.2011, 08:08 | Сообщение # 9
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
maximus-vrn, Да респавн будет всегда. Но я как-то давно делал что бы небыло. Может потом напишу время будит.


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!
maximus-vrnДата: Пятница, 18.02.2011, 11:45 | Сообщение # 10
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Vagrant, Напишите если не трудно, а то я сделал проверку при респавне, но это всё равно неудобно.
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua