- ВойтиАвторизация через uNet
- РегистрацияРегистрация на сайте через uNet
Текущая версия SA-MP: 0.3.7
IP: 77.220.180.96:7777
Новые сообщения · Поиск |
|
|
Модератор форума: KaTacTpOqpa |
Форум Помощь по скриптингу SA-MP Вопросы по скриптингу Проблема с воротами. (Автоматические ворота.) |
Проблема с воротами. | ||||
|
Polcar | Сообщение # 2 | 12:53:08 27 Июл 2010 |
Руководитель проекта SM
Администраторы
Сообщений: 788
Репутация: 323
|
ты неправильно сделал функцию PlayerToPoint, там недолжно быть playerid вроде, эта функция короче делает, если ты заехал на эти координаты функции то дам вводи эту команду, также могут быть в другом ошибки, это же гф мод
|
Demetrius | Сообщение # 3 | 14:53:46 27 Июл 2010 |
VIP-пользователи
Сообщений: 1192
Репутация: 158
|
убрал playerid, все те же ошибки... списал с форума...
Sweet >>> Armin >>> Demetrius SA:MP >> MTA:SA >> IRL |
Polcar | Сообщение # 4 | 15:16:29 27 Июл 2010 |
Руководитель проекта SM
Администраторы
Сообщений: 788
Репутация: 323
|
там вроде если немного потыркать, знаки { } поубирать или порасставить по другому то я думаю исправить проблему можно
я сам с этими функциями неработает, точно немогу сказать, только с PlayerToPoint работал. у меня всё получалось |
Polcar | Сообщение # 5 | 15:16:53 27 Июл 2010 |
Руководитель проекта SM
Администраторы
Сообщений: 788
Репутация: 323
|
спиши с годфазера или там посмотри
|
Demetrius | Сообщение # 6 | 08:04:44 30 Июл 2010 |
VIP-пользователи
Сообщений: 1192
Репутация: 158
|
Спс, но я нашел другой способ: Для НАчала добавить где все new:
Code new gate; new OpenGate[MAX_PLAYERS]; Потом добавим сами ворота:
Code gate = CreateObject(object_ID, closed_X, closed_Y, closed_Z, closed_rad_X, closed_rad_Y, closed_rad_Z);//тут напишите свои кординаты Потом к форвардам добавляем:
Code forward CheckGate(); Потом добавим в OnGameModInit таймер:
Code SetTimer("CheckGate", 500, true); И создаем сам паблик:
Code public CheckGate() { for(new i = 0; i < GetMaxPlayers(); i++) { if(!IsPlayerConnected(i)) continue; if (PlayerInfo[i][pLeader] == 1 || PlayerInfo[i][pMember] == 1) //эту строчку я заменил на if (IsPlayerAdmin(i)) { потому что у меня с этим кодом возникла проблема { if(PlayerToPoint(10.0, i, closed_X, closed_Y, closed_Z) && OpenGate[i] == 0) //тут засовываем координаты закрытых воротclosed_X..Y..Z { MoveObject(c_gate, open_X, open_Y, open_Z); //тут засовываем координаты открытых ворот open_X..Y..Z, c_gate - это название которое мы дали в new gate; , следовательно вместо c_gate пишем gate OpenGate[i] = 1; } else if(!PlayerToPoint(10.0, i, closed_X, closed_Y, closed_Z) && OpenGate[i] == 1) //тут координаты закрытых ворот вместо closed_X..Y..Z { MoveObject(c_gate, closed_X, closed_Y, closed_Z); //тут координаты закрытых ворот вместо closed_X..Y..Z OpenGate[i] = 0; } } } } Вот и все. У меня никаких ероров и варнингов небыло. Sweet >>> Armin >>> Demetrius SA:MP >> MTA:SA >> IRL |
| |||
| |||