-
Posts
1,967 -
Joined
-
Last visited
-
Days Won
1
Everything posted by MX_Master
-
Могу ошибаться, но вроде можно с помощью attachTrailerToVehicle
-
Ты вообще понял, что тебе посоветовали? Создание второй функции сделай до создания первой. function enterCom(message) if(message == "!enter") then getInterior = executeSQLSelect("interiors","*","id = '"..interior.."'") local o=0 table.foreach(getInterior,function() o=o+1 end) if(o~=0) then setElementInterior(source,tonumber(getInterior[1]["interior"]),tonumber(getInterior[1]["x"]),tonumber(getInterior[1]["y"]),tonumber(getInterior[1]["z"])) setElementDimension(source,tonumber(dimension)) setElementData(source,"location",type) else outputConsole("Can't enter: ERROR 1",source) end end end function ableEnterCom(interior,dimension,type) addEventHandler("onPlayerChat",getRootElement(),enterCom) end function enterTo(entity) if(getElementType(entity) == "player") then if(isPedInVehicle(entity)) then getEnter = executeSQLSelect("enters","*","enter_marker_id = '"..getElementID(source).."'") local k=0 table.foreach(getEnter,function() k=k+1 end) if(k~=0) then ableEnterCom(getEnter[1]["interior"],getEnter[1]["dimension"],getEnter[1]["id"]) end end end end addEventHandler("onMarkerHit",getRootElement(),enterTo) function quit(message) if(message == "!exit") then location = getElementData(source,"location") if(location~="world") then getWorld = executeSQLSelect("enters","*","id = '"..location.."'") marker = getElementByID(getWorld[1]["enter_marker_id"]) local x,y,z = getElementPosition(marker) setElementInterior(source,0,x,y,z) setElementDimension(source,0) setElementData(source,"location","world") end end end addEventHandler("onPlayerChat",getRootElement(),quit)
-
Функция enterCom создана внутри функции ableEnterCom и является локальной, а это неправильно в данном случае. Функция enterCom должна быть глобальной, чтобы указать ее как обработчик события.
-
А самое интересное, что эти списки предопределенных переменных нигде не афишируются. О них можно узнать из разных страниц вики, а единой страницы нет (или есть?). Лично я нашел все переменные, создав специальный ресурс по логическому разбиению глобальных переменных на группы. До сих пор им пользуюсь для обновления файла подсветки синтаксиса в своем редакторе.
-
В долине тьмы стало светлее )))) Потому что у меня есть спички. Обросчайтезь
-
На вики есть и старые примеры, при которых root не являлась глобальной переменной. Вот еще список глобальных переменных в МТА на текущий момент: сервер _G _VERSION coroutine debug exports math resource resourceRoot root string table клиент _G _VERSION coroutine debug exports guiRoot localPlayer math resource resourceRoot root string table
-
а что в твоем понимании есть Z курсора? Я думаю это ты неправильно понял что это.
-
а как узнал, что она не та? поэтому с инфой сразу давайте пример, и чтобы он подтверждал баг
-
я не понял суть проблемы, давайте чёчче
-
тема еще про createVehicle ?
-
Извиняем (: Я тоже привык, что все по ИД было, но мне было реально мало функционала, а существующий весьма хромал. С думалкой у меня все в порядке, с логикой нормуль, хотелось чего-то более умного, чем гуи диалоги с 2 несгибаемыми кнопками. Но факт остается фактом, чтобы ТАМ начать играть, думать особенно не надо, и чтобы скриптить там сильно напрягаться ни к чему, даже простой редактор к клиенту прилагается. А как выглядят эти моменты в МТА? Чтобы начать играть надо пройти довольно интересный путь. Начинается он с установки клиента, а также с автоскачивания с инета разных библиотек и их установки (у новичка слегка потускнело лицо). Список серверов требует логического взгляда, т.к. он схож с инет браузером (новичек будет в непонятках уже). Далее конект и о боже - какое-то скачивание неизвестно чего, а самое главное ожидание окончания этого скачивания (новичек недоволен)! У чата нет истории введенных сообщений и для чего нужна консоль (новичок чешет репу в непонятках)? А ведь это все логичные вещи (новичек делает вывод, что это все ацтой). Но ведь дело все не в программе, а в самом человеке и его опыте! Поэтому чтобы играть в самп думать не нужно, а для игры в мта - нужно! А также нужно иметь хотя бы выше среднего опыт инет юзера. Ну а чтобы начать скриптить в МТА нужно быть реально волевым человеком, потому что придется все программы, данные и инфо собирать в разных местах, а потом это все изучать с квадратными глазами. Ведь сами слова "элемент" или "таблица" уже вызывают взрыв мозга ((:
-
Нужен отдельный отчет в баг трекере? Я просто нашел http://bugs.mtasa.com/view.php?id=6048 , где эта проблема только одна из списка багов с ботами. Посмотрите
-
Ну мне ли не знать про самп, я же сам оттуда приперся. Я ОЧЕНЬ ХОРОШО знаю ТОТ мультиплеер. Язык ИХ скриптинга я знаю на все 200%, но к языку претензий нет, дело в самом скриптинге и интерфейсе мультиплеера. Для игроков ТАМ создан минималистский интерфейс, который не обязывает напрягать мозг, даже 10-летний пацан ТАМ разберется в трех кнопках. Для скриптеров создан функционал, который сильно облегчает создание индивидуального интерфейса и всяких конструкций, поэтому даже 12-летний пацан сможет что-то добавить или создать. А вы попробуйте найти таких МТАшников по возрасту. Если и есть, то это исключение, потому что в МТА нужна логика, нужно думать над каждым действием, а это юным скриптерам не под силу ввиду недостатка опыта и образования. Ввиду этой простоты в ТОМ мультиплеере становится хуже только опытным скриптерам. Детям там всегда хорошо. А вот опытным скриптёрам приходится несладко. Приходится всерьез заморачиваться и тридесятыми путями создавать более логические механизмы и конструкции. Детальных настроек-то нет. Поэтому имеют место такие абсурдные вещи, как ГУИ окна, где кол-во кнопок строго установлено на 2 или 3 и убрать лишние нельзя! А как вам новые иконки на карте, созданные с помощью ганг зон? А свои плагины стримеров объектов, свои аудио плагины и даже отдельный клиент для них? И они все равно сидят на этом сухом пайке уже три года, а выйти посмотреть на мир других гта мультиплееров не могут. Это будет оскорблением, если вот этим опытным скриптерам кто-то скажет, что фича, которую они так долго делают уже есть в МТАSA или IV-MP! Они уже даже смирились с тем, что их новый и еще не созданный функционал уже давно есть в МТАSA! Могу даже поспорить, что они не в курсе, что МТА стал мультиязычным. А про такие факты, что в МТА можно юзать шейдеры, выставлять синхронизированные настройки для транспорта и юзать голосовой чат.. про такие факты знают единицы из ТОГО мультиплеера. И если это им рассказать это будет как нож в спину и могут ваще ТАМ на форуме забанить (: Зачем нужен мозг, если есть самп, где уже все продумано за тебя.. мучайся на здоровье.
-
Ну вот как раз нужно открыть не 1, а как минимум 3 порта. Два я уже описал, а третий нужен для получения от сервера открытых переменных, таких как название мода, список игроков (обычно, это порт 22126 (фрмируется как порт для подключения + 123, т.е. 22003 + 123 = 22126) ). Разберетесь с переадресацией портов и другие игроки смогут качать файлы.
-
А ты спрашивай у нас (: мы много знаем
-
- Делать переадресацию портов в настройках роутера/модема не только для порта для подключения к серверу (обычно, это порт 22003), но и для порта встроенного веб сервера (обычно, это 22005)
-
Могу опять как совет предложить сделать проект на гугл коде. Показать там что у тебя уже есть и что требуется.
-
Подумай подольше и может быть поймешь.
-
Каждый хочет видеть и работать на том языке, который он знает.
-
Переадресация портов ? Файлы качаются со встроенного веб серва, на указанном в конфиге порте, поэтому нужно прокидывать порт для встроенного веб серва тоже.
-
Фаервол. Роутер может не переадресовывать порты.
-
Если скрипт действительно в utf8, а не ANSI. Если все как положено, а результат тот же - открыть отчет о баге снова. http://bugs.mtasa.com/view.php?id=6367
-
маленькие радости большого мультиплеера ))
-
и оружие можно тоже поменять, т.к. сейчас можно менять их модельки
-
Альт мульт для гта4 весьма сырой. Только в РП подобный мод можно играть. Стреляцца и гонять на тачках не имеет смысла, кроме как развлечься на 5 минут. В официальный мульт гта4 играют единицы. Самперы сидят в сампе потому что там не надо думать!