Deny1337 |
Дата: Четверг, 22.10.2015, 15:19 | Сообщение # 1
|
Новичок
Сообщений: 12
Статус: Offline
|
Привет, сегодня мы сделаем шлагбаум!
Для начало создадим переменную new.
Создали мы ее для того что бы записать, прикрепить (как вам угодно) в нее объект А делаем мы это вот таким образом:
Код opengate = CreateObject(980,935.29998779297,-836.20001220703,96.5,0,0,0,300);
Функция
создает объект по заданным координатам Координаты к этой функции мы пишем в () таких вот скобках. Сами координаты состоят из 6 частей и разделяются запятыми всего частей кода 8, так как вы уже поняли, что координаты это 6 частей, а оставшиеся 2 это id создаваемого объекта и расстояние на котором его будет видно. Рассмотрим 6 частей
Код CreateObject(id объекта,Координаты по оси X,Координаты по оси Y,Координаты по оси Z,Координаты по оси R-X,Координаты по оси R-Y,Координаты по оси R-Z, Расстояние видимости объекта);
максимальное значение видимости объекта = 300
Код Программа с помощью которых вы сможете установить координаты: Map Construction Поиск объектов можете сделать на сайте Samp-objects
Код if(strcmp("/open", cmd, true) == 0) значит что если мы ввели в консоль вызываемую кнопкой F6 команду /open то она вызывает следующие действия. Строка
Код new open[MAX_PLAYERS];
переменная open присваивается для каждого игрока индивидуально. Ею мы будем смотреть закрыты ли наши двери или нет. Строка
Код if(open[playerid] == 0) If в переводе с английского означает "Если" То есть
Код Если(переменная open[id игрока который использует команду]== 0) { то делаем следующее действие.
Код MoveObject(opengate,935.29998779297,-836.20001220703,96.5,10); // Открываем ворота
Двигает наш объект по заданным координата. А именно это делает функция MoveObject, после этой функции мы задаем координаты. Сейчас распишу вам полностью строку
Двигаем объект(сам объект, помните мы в переменную opengate записали объект, вот сейчас мы его используем,Координаты по оси X,Координаты по оси Y,Координаты по оси Z,Скорость предвидения объекта,Координаты по оси R-X,Координаты по оси R-Y,Координаты по оси R-Z);
В данном случаи мы не используем координаты R-X, R-Z, R-Y, но если вам надо то знайте что они ставятся только после скорости передвижения объекта и ни как до его. Дальше строка
Код open[playerid] = 1; // Устанавливаем значение открытых ворот
показывает что наш шлагбаум открыт, и закроется только тогда, когда переменной open будет присвоено значение 0. дальше думаю все логично. Кстати строка
Полный код выглядит вот так!
Код //Ко всем переменным new opengate; //В public OnGameModeInit(): opengate = CreateObject(980,935.29998779297,-836.20001220703,96.5,0,0,0,300); //В public OnPlayerCommandText: if(strcmp("/open", cmd, true) == 0) { new open[MAX_PLAYERS]; if(open[playerid] == 0) // Проверяем закрыты ли ворота { MoveObject(opengate,935.29998779297,-836.20001220703,96.5,10); // Открываем ворота open[playerid] = 1; // Устанавливаем значение открытых ворот } if(open[playerid] == 1) // Проверяем открыты ли ворота { MoveObject(opengate,935.29998779297,-831.90002441406,96.5,10); // Закрываем ворота open[playerid] = 0; // Устанавливаем значение закрытых ворот } return 1; }
Все спасибо! Кому помог +
Сообщение отредактировал Deny1337 - Пятница, 30.10.2015, 10:11 |
|
|
|
Hot_Ice |
Дата: Суббота, 24.10.2015, 18:18 | Сообщение # 2
|
Новичок
Сообщений: 13
Статус: Offline
|
Весьма неплохо. Спасибо.
ASD
|
|
|
|
barawek_won |
Дата: Среда, 28.10.2015, 20:49 | Сообщение # 3
|
Боец
Сообщений: 62
Статус: Offline
|
Спасибо, лови +.
Приму в дар аккаунты 3+ lvl на проектах Samp-Rp / Diamond-Rp / Advance-Rp. Приму юани/шмот/аккаунты в игре Perfect World. Приму аккаунты WOT. Приму логи. Буду очень признателен Вам за них :3
|
|
|
|
[Steep] |
Дата: Среда, 28.10.2015, 21:31 | Сообщение # 4
|
Боец
Сообщений: 96
Статус: Offline
|
Тоже самое что и с воротами, полезно новичкам!
-
|
|
|
|
TheMoOmer |
Дата: Четверг, 29.10.2015, 10:55 | Сообщение # 5
|
Боец
Сообщений: 111
Статус: Offline
|
Чуть-чуть,посидишь тут и можно пойти создавать свой сервер
|
|
|
|
TheMo1sey |
Дата: Суббота, 07.11.2015, 22:53 | Сообщение # 6
|
Любитель
Сообщений: 32
Статус: Offline
|
Мне было очень полезно, спасибо за уроки.
|
|
|
|
[СМ]Маршал |
Дата: Суббота, 07.11.2015, 23:21 | Сообщение # 7
|
Боец
Сообщений: 55
Статус: Offline
|
норм урок,все понятно,и оформил
Помогайте людям - они помогут вам
|
|
|
|