Jump to content

AMARANT

Members
  • Posts

    748
  • Joined

  • Last visited

Everything posted by AMARANT

  1. 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.
  2. Is there any way to reverse controls in MTA? I mean replace "forwards" bind with "backwards" bind temporarily, etc.
  3. Согласен. Совсем забыл про getTickCount(). Без таймеров однозначно будет лучше. Автор, делай по 2-му варианту.
  4. 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)
  5. 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.
  6. 74-го и 5-го нету, остальные есть.
  7. Попробуй применить анимацию спустя секунду.
  8. При атаке педа отменять действие. function cancelPedDamage ( attacker ) cancelEvent() -- cancel any damage done to peds end addEventHandler ( "onClientPedDamage", getRootElement(), cancelPedDamage ) givePlayerMoney(thePlayer,money[1][1][1])
  9. Надеюсь МТА не станут толкать в Стиме))
  10. Дебаг будет ругаться когда в маркер будет въезжать например машина. И у машины как бы тоже не может быть принадлежности к команде. Дело в том что в твоем коде аргумент 'hitPlayer' на самом деле является не игроком, а элементом. Поэтому еще стоит сделать проверку на тип элемента. И само название переменной лучше бы сделать hitElement, чтоб не путаться.
  11. 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) Должно работать. Убедись что название команды правильно проверяешь и не пропустил там точку или еще что.
  12. Ты пытаешься определить команду маркера, а не игрока. А маркеры не могут быть в какой-то команде. Почитай внимательно что представляет собой 'source' в функции onMarkerHit.
  13. Так конечно, что это за проверка такая. Ты просто проверяешь наличие такой команды как "S.W.A.T.". Ты же не проверяешь принадлежность к этой команде игрока который вошел в маркер.
  14. Найди скрипт где ты обновляешь эти данные и убери везде в строках как SET value='101' кавычки, чтобы было -> SET value=101 . Есть вероятность что значение должно быть числом, а не строкой, откуда и ошибка.
  15. Ты написал неполный текст ошибки.
  16. Событие onMarkerHit на сервере, которое аналогичное клиентскому, имеет аргумент 'hitElement'. Т.е. легко отлавливается любой входящий элемент, игрок или транспорт например. Проверяешь как и на клиенте тип элемента и выполняешь нужные действия. Что касается твоей главной проблемы, а именно вывода окна только наступившему в маркер игроку. Здесь тебе понадобится эта функция: triggerClientEvent Если ты не в курсе, то эта функция вызывает на стороне клиента нужную тебе функцию, как например взаимодействие с GUI, которое как ты знаешь возможно только на клиенте. Поэтому пользуешься этой волшебной функцией для открытия твоего окна и будет тебе счастье.
  17. 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.
  18. В Weapon Property нет такой функции, там просто общий урон. Но ты можешь проверять при выстрелах какой тип элемента твоя цель. Будь-то машина, пед, объект и т.п. Функции: onClientPlayerWeaponFire getElementType
  19. Да, возможно. Насколько я помню, в рендере вычислять координаты ТС, позиции на экране, а затем отрисовывать там DX-текст. Нужны следующие функции: onClientRender getElementPosition getScreenFromWorldPosition dxDrawText Как-то так...
  20. А зачем на английском тут? Тем более на таком продвинутом.
  21. Отлавливай свой colshape событием https://wiki.multitheftauto.com/wiki/OnClientColShapeHit, а потом уже делай че хочешь.
×
×
  • Create New...