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

 



 
          





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





Последние Файлы 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, PrettySweetie  
Переход с Pawn на Lua. Часть 7
PrettySweetieДата: Пятница, 24.06.2011, 17:38 | Сообщение # 1
Местный
Группа: Продвинутые
Сообщений: 704
Награды: 19
Город: Нериак
Репутация: 1221
Замечания: 0%
Статус:
Переход с Pawno на Lua. Часть 7 — Элементы и заморозка игрока.

Элементы

Очередной небольшой урок.
В МТА пикапы, машины, игроки, маркеры на карте и т. п. - это элементы, и они объединены общими функциями. Всего, если мне изменяет память, то в МТА может быть 65535 элементов (вроде проскальзывала такая информация, если не так — то поправьте пожалуйста). То есть здесь нет деления по ограничениям как в сампе.

Для большинства элементов, с которыми вы будете сталкиваться, могут быть применены общие функции, такие как:
destroyElement
setElementData
setElementPosition

Заморозка игрока

Опять же если я все правильно помню, то в сампе можно заморозить игрока только так, чтобы он не смог ни только двигаться, но и камеру поворачивать. В МТА для этого есть удобная функция
Code

toggleAllControls ( player thePlayer, bool enabled, [bool gtaControls=true, bool mtaControls=true] )


gtaControls – функции ГТА
mtaControls – функции МТА

Пример:
Данный код заморозит игрока.
Code

toggleAllControls ( thePlayer, false )    


Полезная информация:
Я обычно делаю так:
Code

toggleAllControls ( thePlayer, false, true, false )

Это позволяет игроку крутить камеру, но не позволяет ходить.

Для разморозки игрока надо поставить данные аргументы в значение true.

Большой пример:
Code

function freezeThisDude ( thePlayer, freezeTime ) -- объявляем функцию с аргументами игрока и временем заморозки
     toggleAllControls ( thePlayer, false )         -- замораживаем игрока
     setTimer ( toggleAllControls, freezeTime, 1, thePlayer, true ) -- размораживаем игрока спустя какое то время
end – закрываем функцию
   
function freezeOnEnterVehicle ( theVehicle, seat, jacked ) -- объявляем функцию
     freezeThisDude ( source, 5000 ) -- вызываю первую функцию; 5000мс = 5 секунд
end -- закрываем функцию
addEventHandler ( "onPlayerVehicleEnter", getRootElement(), freezeOnEnterVehicle ) -- соединяем эвент и функцию


Дополнительно:
Информация об элементахх на вики

Добавлено (24.06.2011, 17:38)
---------------------------------------------
Забыл добавить:

P.S. Этот, и все остальные мои уроки написанны так, как я понимаю Lua и как мне удобно в нем работать


AirKiteДата: Пятница, 08.07.2011, 01:13 | Сообщение # 2
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Quote (Wolf_War)
P.S. Этот, и все остальные мои уроки написанны так, как я понимаю Lua и как мне удобно в нем работать

В целом всё равно молодец. + тебе заслуженный ;)



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
VintProgДата: Четверг, 01.12.2011, 23:09 | Сообщение # 3
Новенький
Группа: Пользователи
Сообщений: 5
Награды: 0
Город: Владивосток
Репутация: 15
Замечания: 0%
Статус:
еще бы статей)))))) Круто получается, все равно MTA лучше стал теперь чем SA-MP.


http://gtaexe.3dn.ru/ - Глобальный ресурс GTA
CoderДата: Четверг, 01.12.2011, 23:43 | Сообщение # 4
Постоялец
Группа: I'm V.I.P.
Сообщений: 339
Награды: 17
Город: Краснодар
Репутация: 770
Замечания: 0%
Статус:
[off]
Quote (VintProg)
MTA лучше стал теперь чем SA-MP

он всегда был лучше...[/off]

psychoДата: Воскресенье, 04.12.2011, 11:47 | Сообщение # 5
16 | 13
Группа: I'm V.I.P.
Сообщений: 327
Награды: 11
Репутация: 645
Замечания: 20%
Статус:
Quote (Coder)
он всегда был лучше...

Солидарен....

Жду ещё уроков. :)

CoolDarkДата: Понедельник, 05.12.2011, 18:39 | Сообщение # 6
Освоившийся
Группа: Пользователи
Сообщений: 83
Награды: 0
Город: Вологда
Репутация: 30
Замечания: 0%
Статус:
Хороший урок. Добавить нечего.
vodilasДата: Среда, 05.06.2013, 13:25 | Сообщение # 7
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Рибята как заморозить время???
PrettySweetieДата: Пятница, 14.06.2013, 18:32 | Сообщение # 8
Местный
Группа: Продвинутые
Сообщений: 704
Награды: 19
Город: Нериак
Репутация: 1221
Замечания: 0%
Статус:
vodilas, можно установить длину минуты очень большую. Я делал так: устанавливал длину минуты на очень много (вроде 1 час), и каждый час обнулял время до нужного мне.


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





 


 


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