Последние Файлы GTA 4
Последние Файлы GTA-MP
Реклама
Урок по созданию рандомной камеры при входе в игру
Великс Дата: Пятница, 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%
Статус:
Спасибо,но все же самая чёткий полет камеры в Виневуде,там она не смотрит а качественно летает
Великс Дата: Пятница, 25.02.2011, 17:15 | Сообщение # 3
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды:
287
Город: Мухосранск
Репутация:
8429
Замечания:
0%
Статус:
CopyPaste from Pulsed Roleplay...На основе этого можно сделать довольно много различных приветствий)
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
Goshik Дата: Пятница, 25.02.2011, 17:57 | Сообщение # 4
Уверенный в себе
Группа:
Пользователи
Сообщений: 280
Награды:
1
Город: ---
Репутация:
18
Замечания:
60%
Статус:
http://govnokod.ru/ тебе сюда
K-e-n-t Дата: Пятница, 25.02.2011, 18:01 | Сообщение # 5
Местный
Группа:
Продвинутые
Сообщений: 649
Награды:
6
Город: pTz city
Репутация:
30
Замечания:
0%
Статус:
Goshik, http://idiybeic9.ru а тебе суда [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%
Статус:
а где имено вставить?
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%
Статус:
Чтота не получается
www.forum.relaxport.ru
jaguar86rus Дата: Суббота, 26.02.2011, 14:09 | Сообщение # 14
Уверенный в себе
Группа:
Пользователи
Сообщений: 232
Награды:
1
Город: Пойковский
Репутация:
-13
Замечания:
20%
Статус:
Ky4kydyk, в public onplayerspawn вставляй (паблик возможно с ошибкой написал )
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);