Jump to content

TheNormalnij

MTA Contributors
  • Posts

    685
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by TheNormalnij

  1. Наверное, половина русских надписей не влезла.
  2. очень интересная штука была в цикле: --server self.status[i] = { } self.status[i][1] = getPlayerName( player ) self.status[i][2] = { 0, 0, 0 } Да, все работает, но почему при такой инициализации self.status[i] = { getPlayerName( player ), { 0, 0, 0 } } в цикле с условием self.status[i][1] == getPlayerName( player ) давало некорректный результат? UP Некорректно в смысле того, что self.status[1] иногда получался таблицей, иногда показывало игрока UP2 Только self.status[1][1] давало ожидаемый результат
  3. КАК именно не работает? Тебе точно надо давать деньги игроку на серверной стороне
  4. в таком стиле можно ставить условия, однако в логике ошибка. takePlayerMoney ( localPlayer ) возвращает bool значение( true или false ). getPlayerMoney ( localPlayer ) возвратить число. Если типы первого и второго значения разные, то конструкция возвращает false, то есть начнет выполнятся код расположенный в else.
  5. -- Очень пафосный намек Срань господня!
  6. Kernell, ха, боишься конкуренции
  7. Хмм... А сколько тогда надо загинать? За 50 строк кода даже сотня иногда много. Как тогда рассчитывать?
  8. ROCK. С nfs u2. Оттуда потом срипировал на 30 мб трэк, ибо с нета трудно качественную версию найти.
  9. Уже несколько раз так было
  10. пробуй в разных местах ставить outputDebugString, это тебе точно поможет выяснить, на каком этапе у тебя что-то теряет значение.
  11. ну тогда уже два бинда может первая down: когда нажата кнопка включается бесконечный таймер и там происходит что-то, второй бинд up: когда кнопка отпускается, убить таймер. Извиняюсь за возможность некрасиво излагать мысли =) function new1() timer = setTimer( function() body end, 100, 0) end bindKey ( "h", "down", new1 ) bindKey ( "h", "up", function() killTimer( timer ) end ) Что-то такое я имел ввиду
  12. Да, я конечно читал что это дает http://ilovelua.narod.ru/about_lua.html#Methods, использовал на практике. Значит это будет называться Методом, как я понял. Это будет выгодно использовать, если я имею добрый объем данных в таблице. Спасибо
  13. Помогите осознать то, что я делаю на lua. У меня есть таблица с функциями( func ) , которые ориентированны на работу с одним типом данных. Далее я делаю из обычной таблицы( tabl ) метатаблицу (setmetatable( tabl, { __index = func } ) и потом еще несколько таких таблиц. Вот это и есть ООП? func - это класс, а table и остальные - объекты класса?
  14. Спасибо. Что-то я не мог ее найти. Зато было интересное времяпровождение
  15. c стандартный нубский вопрос. Ответ: откройте порты в модеме, разрешите их в брандмауэре, дайте друзьям свой внешний ip
  16. Получает html цвет формата #FF53e3 и возвращает цвета rgb из неё. function html_to_rgb( html ) if html then html = string.upper ( html ) t = { } for i=1,6 do b = string.byte( html, i + 1 ) if b >= 44 and b <= 57 then t[i] = b - 48 end if b >= 65 and b <= 70 then t[i] = b - 55 end if not t[i] then return false end end red = (t[1] * 16) + ( t[2] ) green = (t[3] * 16) + ( t[4] ) blue = (t[5] * 16) + ( t[6] ) return red, green, blue end return false end
  17. elementRotationToPoint, можно проще, видел в зомби скрипте. function elementRotationToPoint( el, px, py, pz ) x, y, z, = getElementPosition ( el ) rotalion = ( 360 - math.deg ( math.atan2 ( ( x - px ), ( y - py ) ) ) ) % 360 setPedRotation( el, 0, 0, rotalion ) end
  18. да, такой вариант ещё удобнее = ) мой вариант дерьмо =-)
  19. Наверное, можно создать таблицу, в которой будут прописаны название машин по порядку. Чтобы найти в ней имя авто по ид, нужно получит ид ( тут он v[1] ) и отнять от него 399 ( в моем случае нужно и работает )) myCarName = { "Ваз", "Уазик", "Ведро с гайками" } -- Список авто по порядку ид 400, 401, 402 ... local carName = myCarName[ v[1] - 399 ] -- вот этим заменить 17 строку
  20. Успехов =) Сделайте еще автоматическую настройку языка, исходя из языка системы.
  21. Не проверял, скорее всего должно работать =) function cMusic (source, commandName) myCar = getPedOccupiedVehicle ( source ) if myCar then local x,y,z = getElementPosition ( myCar ) local sound = playSound3D ("music.mp3", x, y, z, true) attachElements ( sound, myCar, 0, 0, 0 ) -- return true end -- return false end addCommandHandler ( "music", cMusic )
  22. да, это элемент, поэтому используй attachElements.
  23. Ну, так как paintjob это всего лишь новая текстура в txd, то, вероятно, да.
  24. Спасибо, надеюсь у меня что-то выйдет.
×
×
  • Create New...