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

 



 
          





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





Последние Файлы 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 из 2
  • 1
  • 2
  • »
Модератор форума: Alcoholik  
Урок по созданию рандомной камеры при входе в игру
ВеликсДата: Пятница, 25.02.2011, 16:09 | Сообщение # 1
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
В начало:
Code
new Camera[MAX_PLAYERS] = 0;//переменная для камеры

В public OnPlayerRequestClass добавляем вот это:

Code
Camera[playerid] = random(14);//рандом позиции 1-14

Далее добавим нужный public:

Code
forward RandCamera();//камера
public RandCamera()//
{
  for(new playerid=0; playerid<MAX_PLAYERS; playerid++)//цикл
  {
   if(Camera[playerid] == 1)//позиции камеры 1-14
   {
    SetPlayerCameraPos(playerid,1681.411621,-763.356384,148.705825);
    SetPlayerCameraLookAt(playerid,1681.278686,-764.281860,148.351058);
    }
   else if(Camera[playerid] == 2)
   {
    SetPlayerCameraPos(playerid,1415.301391,-2147.809570,79.198791);
    SetPlayerCameraLookAt(playerid,1414.812866,-2148.526611,78.701637);
   }
   else if(Camera[playerid] == 3)
   {
    SetPlayerCameraPos(playerid,1779.174804,-1622.587280,122.010215);
    SetPlayerCameraLookAt(playerid,1778.485961,-1622.035156,121.540443);
   }
   else if(Camera[playerid] == 4)
   {
    SetPlayerCameraPos(playerid,1442.391723,-1459.522949,124.713516);
    SetPlayerCameraLookAt(playerid,1442.751831,-1458.679443,125.112022);
   }
   else if(Camera[playerid] == 5)
   {
    SetPlayerCameraPos(playerid,1467.304443,-1680.321777,104.879547);
    SetPlayerCameraLookAt(playerid,1466.506103,-1680.697753,104.409126);
   }
   else if(Camera[playerid] == 6)
   {
    SetPlayerCameraPos(playerid,776.005859,-1360.885375,87.598037);
    SetPlayerCameraLookAt(playerid,776.522949,-1360.216186,87.064414);
   }
   else if(Camera[playerid] == 7)
   {
    SetPlayerCameraPos(playerid,798.147705,-1304.006103,45.748191);
    SetPlayerCameraLookAt(playerid,797.423461,-1303.458862,45.328765);
   }
   else if(Camera[playerid] == 8)
   {
    SetPlayerCameraPos(playerid,466.692352,-1608.645751,80.566879);
    SetPlayerCameraLookAt(playerid,465.993347,-1607.996459,80.267059);
   }
   else if(Camera[playerid] == 9)
   {
    SetPlayerCameraPos(playerid,199.214309,-1874.054687,6.274208);
    SetPlayerCameraLookAt(playerid,198.628906,-1874.840209,6.474921);
   }
   else if(Camera[playerid] == 10)
   {
    SetPlayerCameraPos(playerid,299.557434,-1983.443359,29.743234);
    SetPlayerCameraLookAt(playerid,300.340515,-1984.028076,29.531272);
   }
   else if(Camera[playerid] == 11)
   {
    SetPlayerCameraPos(playerid,1508.500732,-1719.914672,44.860275);
    SetPlayerCameraLookAt(playerid,1509.198974,-1719.340576,44.432716);
   }
   else if(Camera[playerid] == 12)
   {
    SetPlayerCameraPos(playerid,1309.945556,-1736.840942,126.898742);
    SetPlayerCameraLookAt(playerid,1309.151733,-1736.357421,126.529815);
   }
   else if(Camera[playerid] == 13)
   {
    SetPlayerCameraPos(playerid,1503.687500,-1827.494018,143.539886);
    SetPlayerCameraLookAt(playerid,1504.058471,-1828.373413,143.241531);
   }
   else if(Camera[playerid] == 14)
   {
    SetPlayerCameraPos(playerid,1900.170166,-630.527099,116.348869);
    SetPlayerCameraLookAt(playerid,1900.804687,-629.790771,116.113914);
   }
    else
    {
     Camera[playerid] = 0;
      }
  }
  return 1;
}

Далее таймер в public OnGameModeInit:

Code
SetTimer("RandCamera", 10, 1);

Вот и все, если у кого то есть вопросы по работоспособности функций, пишите, помогу.

Добавлено (25.02.2011, 16:09)
---------------------------------------------
Так же кину удобный редактор камеры (Автор:009)
Скачать


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
PustikДата: Пятница, 25.02.2011, 17:10 | Сообщение # 2
Группа: I'm V.I.P.
Сообщений: 1669
Награды: 129
Город: Кривой Рог
Репутация: 939
Замечания: 60%
Статус:
Спасибо,но все же самая чёткий полет камеры в Виневуде,там она не смотрит а качественно летает :D
ВеликсДата: Пятница, 25.02.2011, 17:15 | Сообщение # 3
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Quote (Pustik)
в Виневуде

CopyPaste from Pulsed Roleplay...На основе этого можно сделать довольно много различных приветствий)



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
GoshikДата: Пятница, 25.02.2011, 17:57 | Сообщение # 4
Уверенный в себе
Группа: Пользователи
Сообщений: 280
Награды: 1
Город: ---
Репутация: 18
Замечания: 60%
Статус:
http://govnokod.ru/
тебе сюда fun

K-e-n-tДата: Пятница, 25.02.2011, 18:01 | Сообщение # 5
Местный
Группа: Продвинутые
Сообщений: 649
Награды: 6
Город: pTz city
Репутация: 30
Замечания: 0%
Статус:
Goshik, http://idiybeic9.ru
а тебе суда fun fun fun
[MrVelix], Описание что оно даёт, я сначала подумал что ты респ рандомно в камеры тюряги решил написать, код глянул, понял. Что-нибудь сделать можно, но за основу сгодится.



Если я тебе помог, или сказал что то умное, ставь +
Я Francesko_Wilson
За деньги работаю качественнее и быстрее :crazy:
ВеликсДата: Пятница, 25.02.2011, 18:23 | Сообщение # 6
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Goshik, ок. Напиши лучше.


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
tailerДата: Пятница, 25.02.2011, 20:55 | Сообщение # 7
Новенький
Группа: Пользователи
Сообщений: 67
Награды: 27
Город: Казань
Репутация: 85
Замечания: 0%
Статус:
Молорик [MrVelix], :)
GoshikДата: Пятница, 25.02.2011, 21:33 | Сообщение # 8
Уверенный в себе
Группа: Пользователи
Сообщений: 280
Награды: 1
Город: ---
Репутация: 18
Замечания: 60%
Статус:
Quote (|MrVelix|)
Goshik, ок. Напиши лучше.

Code
public OnPlayerRequestClass(playerid, classid)
{
    switch(random(3))
    {
       case 0:
       {
          SetPlayerCameraPos(playerid,****);  
          SetPlayerCameraLookAt(playerid, **** );
       }
       case 1:
       {
          SetPlayerCameraPos(playerid,****);  
          SetPlayerCameraLookAt(playerid, **** );
       }
       case 2:
       {
          SetPlayerCameraPos(playerid,****);  
          SetPlayerCameraLookAt(playerid, **** );
       }
       case 3:
       {
          SetPlayerCameraPos(playerid,****);  
          SetPlayerCameraLookAt(playerid, **** );
       }
    }
    return 1;  
}

ну и при спавне вернуть камеру обратно

-HaoS-Дата: Суббота, 26.02.2011, 09:58 | Сообщение # 9
Группа: Продвинутые
Сообщений: 472
Награды: 19
Город: Омск
Репутация: 349
Замечания: 40%
Статус:
как сделать, чтобы при спавне камера возращалась? xD


www.forum.relaxport.ru
PustikДата: Суббота, 26.02.2011, 11:35 | Сообщение # 10
Группа: I'm V.I.P.
Сообщений: 1669
Награды: 129
Город: Кривой Рог
Репутация: 939
Замечания: 60%
Статус:
Ky4kydyk, SetCameraBehindPlayer(playerid); попробуй
-HaoS-Дата: Суббота, 26.02.2011, 11:59 | Сообщение # 11
Группа: Продвинутые
Сообщений: 472
Награды: 19
Город: Омск
Репутация: 349
Замечания: 40%
Статус:
а где имено вставить? sorry


www.forum.relaxport.ru
PustikДата: Суббота, 26.02.2011, 12:01 | Сообщение # 12
Группа: I'm V.I.P.
Сообщений: 1669
Награды: 129
Город: Кривой Рог
Репутация: 939
Замечания: 60%
Статус:
Ky4kydyk, наверное в спавн или
ongamemodeinit

-HaoS-Дата: Суббота, 26.02.2011, 12:54 | Сообщение # 13
Группа: Продвинутые
Сообщений: 472
Награды: 19
Город: Омск
Репутация: 349
Замечания: 40%
Статус:
Чтота не получается crazy


www.forum.relaxport.ru
jaguar86rusДата: Суббота, 26.02.2011, 14:09 | Сообщение # 14
Уверенный в себе
Группа: Пользователи
Сообщений: 232
Награды: 1
Город: Пойковский
Репутация: -13
Замечания: 20%
Статус:
Ky4kydyk, в public onplayerspawn вставляй (паблик возможно с ошибкой написал crazy )


HostName: ..::Excellent~Real~Play~Server::..
Address: 91.218.230.31:3333
Fus1Дата: Суббота, 26.02.2011, 15:38 | Сообщение # 15
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Code
#define    CAMERA_CHANGE_TIME    10    // интервал в секунда при смене камеры (10сек)

Code
new Float:CamBefSpawn[5][2][3] = //камера перед спавном игрока
  //первая позиция
  {
   {0.0,0.0,0.0},    //позиция игрока
                 {0.0,0.0,0.0}    //камера игрока
  },
  //вторая позиция
  {
   {0.0,0.0,0.0},
   {0.0,0.0,0.0}
  },
  //третия позиция
  {
   {0.0,0.0,0.0},
   {0.0,0.0,0.0}
  },
  //четвертая позиция
  {
   {0.0,0.0,0.0},
   {0.0,0.0,0.0}
  },
  //пятая позиция
  {
   {0.0,0.0,0.0},
   {0.0,0.0,0.0}
  }
};    

Code
forward TimerForPlayers();
public TimerForPlayers()
{
  for(new playerid; playerid < GetMaxPlayers(); playerid++)
  {
   if(IsPlayerConnected(playerid))
   {
    if(PlayerCameraTimer[playerid] > 0)
    {
     PlayerCameraTimer[playerid] --;
     if(PlayerCameraTimer[playerid] == 0)
     {
      new r = random(sizeof(CamBefSpawn));
      SetPlayerPos(playerid,CamBefSpawn[r][0][0],CamBefSpawn[r][0][1],CamBefSpawn[r][0][2]);
      SetPlayerCameraPos(playerid,CamBefSpawn[r][1][0],CamBefSpawn[r][1][1],CamBefSpawn[r][1][2]);
      SetPlayerCameraLookAt(playerid,CamBefSpawn[r][0][0],CamBefSpawn[r][0][1],CamBefSpawn[r][0][2]);
      SetPlayerLookAtFrom(playerid,CamBefSpawn[r][1][0],CamBefSpawn[r][1][1],
                    CamBefSpawn[r][0][0],CamBefSpawn[r][0][1]);
      PlayerCameraTimer[playerid] = CAMERA_CHANGE_TIME;
     }
    }
   }
  }
  return 1;
}

//public OnPlayerRequestClass(playerid, classid)

Code
if(PlayerCameraTimer[playerid] == 0 || PlayerCameraTimer[playerid] == -1)    //таймер ещё не поставили

// onplayerspawn

Code

PlayerCameraTimer[playerid] = -1;

// ongamemodinit
Code
Timer_Players    =   SetTimer("TimerForPlayers",1000,true);   //таймер ан 1 секунду

//public OnGameModeExit()

Code
KillTimer(Timer_Players);

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


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