-
Posts
748 -
Joined
-
Last visited
Everything posted by AMARANT
-
When I tried to set control enabled with setControlState, my player was always running. Controls "forwards" and "backwards" work like that, unfortunately. But I need them to be pressed just once. Like you press "W" or "S" on your keyboard.
-
Is there any way to reverse controls in MTA? I mean replace "forwards" bind with "backwards" bind temporarily, etc.
-
Согласен. Совсем забыл про getTickCount(). Без таймеров однозначно будет лучше. Автор, делай по 2-му варианту.
-
MYBUTTON = "z" DELAY = 5 PRESSED = false function myFunction() if not PRESSED then PRESSED = true outputChatBox("The button was pressed.") setTimer(function() PRESSED = false end,DELAY*1000,1) end end bindKey(MYBUTTON,"down",myFunction)
-
That will do, thanks
-
Hello there. How can I check that a player got caught in the rain? I know I can easily check the weather to see if it rains. But I want to do it more accurately so the player could seek shelter from the rain. For example, if you stand under the bridge while raining then my script won't have any effect. Thanks in advance.
-
74-го и 5-го нету, остальные есть.
-
Попробуй применить анимацию спустя секунду.
-
При атаке педа отменять действие. function cancelPedDamage ( attacker ) cancelEvent() -- cancel any damage done to peds end addEventHandler ( "onClientPedDamage", getRootElement(), cancelPedDamage ) givePlayerMoney(thePlayer,money[1][1][1])
-
Надеюсь МТА не станут толкать в Стиме))
-
Дебаг будет ругаться когда в маркер будет въезжать например машина. И у машины как бы тоже не может быть принадлежности к команде. Дело в том что в твоем коде аргумент 'hitPlayer' на самом деле является не игроком, а элементом. Поэтому еще стоит сделать проверку на тип элемента. И само название переменной лучше бы сделать hitElement, чтоб не путаться.
-
gate = createObject ( 980, 272, 2509.7, 17.95, 0, 0, 90 ) markerforgate = createMarker ( 272, 2509, 16, "cylinder", 9, 0, 0, 0, 0 ) function moveGate( hitPlayer, matchingDimension ) local playerTeam = getPlayerTeam ( hitPlayer ) local ss = getTeamName ( playerTeam ) if ss=="S.W.A.T" then moveObject(gate, 2000, 272, 2509.7, 9.5) setTimer(moveBack, 2500, 1) else outputDebugString("ss") end end addEventHandler("onMarkerHit", markerforgate, moveGate) Должно работать. Убедись что название команды правильно проверяешь и не пропустил там точку или еще что.
-
hitPlayer в твоем случае.
-
Ты пытаешься определить команду маркера, а не игрока. А маркеры не могут быть в какой-то команде. Почитай внимательно что представляет собой 'source' в функции onMarkerHit.
-
Так конечно, что это за проверка такая. Ты просто проверяешь наличие такой команды как "S.W.A.T.". Ты же не проверяешь принадлежность к этой команде игрока который вошел в маркер.
-
Взять пример чего?
-
ERROR: While updating account with 'UPDATE userdata SET val
AMARANT replied to p123456's topic in Russian / Русский
Найди скрипт где ты обновляешь эти данные и убери везде в строках как SET value='101' кавычки, чтобы было -> SET value=101 . Есть вероятность что значение должно быть числом, а не строкой, откуда и ошибка. -
ERROR: While updating account with 'UPDATE userdata SET val
AMARANT replied to p123456's topic in Russian / Русский
Ты написал неполный текст ошибки. -
Взаимодействие клиентской части с серверной
AMARANT replied to GibraltarLabrador's topic in Russian / Русский
Событие onMarkerHit на сервере, которое аналогичное клиентскому, имеет аргумент 'hitElement'. Т.е. легко отлавливается любой входящий элемент, игрок или транспорт например. Проверяешь как и на клиенте тип элемента и выполняешь нужные действия. Что касается твоей главной проблемы, а именно вывода окна только наступившему в маркер игроку. Здесь тебе понадобится эта функция: triggerClientEvent Если ты не в курсе, то эта функция вызывает на стороне клиента нужную тебе функцию, как например взаимодействие с GUI, которое как ты знаешь возможно только на клиенте. Поэтому пользуешься этой волшебной функцией для открытия твоего окна и будет тебе счастье. -
Is it possible to use color codes like "#00FF00" with guiSetText and guiLabelSetColor functions? It seems that I can't use these codes to make my text in gui-label two-colored.
-
В Weapon Property нет такой функции, там просто общий урон. Но ты можешь проверять при выстрелах какой тип элемента твоя цель. Будь-то машина, пед, объект и т.п. Функции: onClientPlayerWeaponFire getElementType
-
Да, возможно. Насколько я помню, в рендере вычислять координаты ТС, позиции на экране, а затем отрисовывать там DX-текст. Нужны следующие функции: onClientRender getElementPosition getScreenFromWorldPosition dxDrawText Как-то так...
-
А зачем на английском тут? Тем более на таком продвинутом.
-
Отлавливай свой colshape событием https://wiki.multitheftauto.com/wiki/OnClientColShapeHit, а потом уже делай че хочешь.