STAWR Posted August 15, 2015 Share Posted August 15, 2015 не, это я проверял. и заходи и выходил. оружие нормально меняется на кулак, а вот последнее не хочет работать проверял, всё работает. хп снимает как стреляющему, так и жертве. Link to comment
K1parik Posted August 19, 2015 Share Posted August 19, 2015 есть ли аналог onMarkerHit для клиентской стороны? хочу сделать открывающееся окошко при входе на маркер и не хочется для такой мелочи использовать серверную часть Link to comment
Kenix Posted August 19, 2015 Share Posted August 19, 2015 Научитесь пользоваться wiki mta. https://wiki.multitheftauto.com/wiki/OnClientMarkerHit Link to comment
Jonathan.P Posted September 7, 2015 Share Posted September 7, 2015 Хочу чтобы клиент не хранил некоторые заменяемые модели. Правильно ли будет удалять файлы моделей через fileDelete сразу после замены? Link to comment
Other Languages Moderators Disinterpreter Posted September 7, 2015 Other Languages Moderators Share Posted September 7, 2015 Хочу чтобы клиент не хранил некоторые заменяемые модели. Правильно ли будет удалять файлы моделей через fileDelete сразу после замены? Обходится запретом на удаление. Link to comment
Jonathan.P Posted September 7, 2015 Share Posted September 7, 2015 Обходится запретом на удаление. А вообще возможно? Link to comment
N1kS Posted September 8, 2015 Share Posted September 8, 2015 Да просто шифруйте модель и все. Пусть у клиента лежит зашифрованная модель. Вряд ли она ему пригодится. Link to comment
Other Languages Moderators Disinterpreter Posted September 8, 2015 Other Languages Moderators Share Posted September 8, 2015 А вообще возможно? https://social.technet.microsoft.com/Fo ... windows7ru Выше тебе предложили шифровать - это наилучший вариант. Link to comment
FranklinRoosevelt Posted September 8, 2015 Share Posted September 8, 2015 Вряд ли она ему пригодится. Мне кажется что некоторые модели как раз таки можно сразу залить себе на сервер, без надобности расшифровки. Link to comment
Kenix Posted September 8, 2015 Share Posted September 8, 2015 Как вариант если у вас много моделей на сервере, то просто сохранять файлы в виде хэша (в названии файла), в одной папке соответственно. Никто не сможет украсть, т.к файлов слишком много, очень много времени займет поиск подходящих dff и/или col файлов, хотя кому надо тот найдет. Link to comment
FranklinRoosevelt Posted September 11, 2015 Share Posted September 11, 2015 Всем привет, у меня возник тригонометрический вопрос для тех кто знает её, вообщем, есть вектор задан двумя точками и нужно узнать координаты точки на n метрических единиц по вектору, нужна сама формула, вот даже нарисовал для понимания: ( здесь n = 8 ) http://cs622319.vk.me/v622319107/50add/UJGh0wa7UCk.jpg Буду благодарен за полезные ссылки. Link to comment
FranklinRoosevelt Posted September 11, 2015 Share Posted September 11, 2015 Ещё один вопрос, похож к предыдущему: есть объект и нужно найти точку на n-ом расстояние от него, по XYZ, например по Х она на +2, по Y +3, и по Z +4, нужна формула которая будет учитывать все углы поворота (RX, RY, RZ). Я пытался сделать что-то такое: local rx, ry, rz = getElementRotation(element) local sx = x + math.sin(math.rad(-rz)) * 2 local sy = y + math.cos(math.rad(-rz)) * 2 local sz = z sz = sz + math.sin(math.rad(-ry)) * 2 sx = sx + math.cos(math.rad(-ry)) * 2 sz = sz + math.sin(math.rad(-rx)) * 2 sy = sy + math.cos(math.rad(-rx)) * 2 Но видимо я где-то что-то сделал не так, первый расчет правильный, а вот два следующих нет. Надеюсь кто-то даст ответ. Link to comment
STAWR Posted September 11, 2015 Share Posted September 11, 2015 arctg((Yb-Ya)/(Xb-Xa)) = arccos((Xc-Xb)/n) = arcsin((Yc-Yb)/n) Xc = n*cos(arctg((Yb-Ya)/(Xb-Xa))) + Xb Yc = n*sin(arctg((Yb-Ya)/(Xb-Xa))) + Yb Link to comment
FranklinRoosevelt Posted September 11, 2015 Share Posted September 11, 2015 arctg((Yb-Ya)/(Xb-Xa)) = arccos((Xc-Xb)/n) = arcsin((Yc-Yb)/n)Xc = n*cos(arctg((Yb-Ya)/(Xb-Xa))) + Xb Yc = n*sin(arctg((Yb-Ya)/(Xb-Xa))) + Yb Я так понимаю это ответ на первый вопрос? Первая строчка не очень ясна. arctg((Yb-Ya)/(Xb-Xa)) = arccos((Xc-Xb)/n) = arcsin((Yc-Yb)/n) Link to comment
STAWR Posted September 11, 2015 Share Posted September 11, 2015 а что тут не понятного... разные записи одного и того же угла Link to comment
FranklinRoosevelt Posted September 11, 2015 Share Posted September 11, 2015 а что тут не понятного... разные записи одного и того же угла Что-то либо я не так сделал, либо с формулой, т.к. точка даже не попала на прямую и была точно не там где должна была. Вот что я делал: Xc = 8*cos(arctg(3/4))+5 = 10.40 Yc = 8*sin(arctg(3/4))+5 = 12.36 arctg((Yb-Ya)/(Xb-Xa)) = arccos((Xc-Xb)/n) = arcsin((Yc-Yb)/n) Вот здесь есть Хс и Yc, но нам же и это надо найти. Link to comment
STAWR Posted September 11, 2015 Share Posted September 11, 2015 ну так я и выразил Xc и Yc из первой записи Xc = 8*cos(arctg(3/4))+5 = 11.4 Yc = 8*sin(arctg(3/4))+5 = 9.8 чёт ты жёстко тупишь... по второму: Xк = n*cos(rx) + Xн Yк = n*cos(ry) + Yн Zк = n*cos(rz) + Zн где к - конечные, н - начальные rx - угол между вектором и проекцией на плоскость YZ ry - угол между вектором и проекцией на плоскость XZ rz - угол между вектором и проекцией на плоскость XY в твоём примере n*cos(rx) = 2, n*cos(ry) = 3, n*cos(rz) = 4 Link to comment
FranklinRoosevelt Posted September 11, 2015 Share Posted September 11, 2015 ну так я и выразил Xc и Yc из первой записиXc = 8*cos(arctg(3/4))+5 = 11.4 Yc = 8*sin(arctg(3/4))+5 = 9.8 чёт ты жёстко тупишь... по второму: Xк = n*cos(rx) + Xн Yк = n*cos(ry) + Yн Zк = n*cos(rz) + Zн где к - конечные, н - начальные rx - угол между вектором и проекцией на плоскость YZ ry - угол между вектором и проекцией на плоскость XZ rz - угол между вектором и проекцией на плоскость XY в твоём примере n*cos(rx) = 2, n*cos(ry) = 3, n*cos(rz) = 4 Оо огромное спасибо, расписал максимально, я просто arctg не правило нашел. Link to comment
TheNormalnij Posted September 12, 2015 Share Posted September 12, 2015 function getPositionFromElementOffset(element,offX,offY,offZ) local m = getElementMatrix ( element ) -- Get the matrix local x = offX * m[1][1] + offY * m[2][1] + offZ * m[3][1] + m[4][1] -- Apply transform local y = offX * m[1][2] + offY * m[2][2] + offZ * m[3][2] + m[4][2] local z = offX * m[1][3] + offY * m[2][3] + offZ * m[3][3] + m[4][3] return x, y, z -- Return the transformed point end Link to comment
FranklinRoosevelt Posted September 12, 2015 Share Posted September 12, 2015 по второму:Xк = n*cos(rx) + Xн Yк = n*cos(ry) + Yн Zк = n*cos(rz) + Zн где к - конечные, н - начальные rx - угол между вектором и проекцией на плоскость YZ ry - угол между вектором и проекцией на плоскость XZ rz - угол между вектором и проекцией на плоскость XY в твоём примере n*cos(rx) = 2, n*cos(ry) = 3, n*cos(rz) = 4 Этот способ что-то не работает, да и на вид он слишком простой, вот как я делал: local rx, ry, rz = getElementRotation(element) local x, y, z = getElementPosition(element) local sx = 2*math.cos(rx)+x local sy = 2*math.cos(ry)+y local sz = 2*math.cos(rz)+z function getPositionFromElementOffset(element,offX,offY,offZ) local m = getElementMatrix ( element ) -- Get the matrix local x = offX * m[1][1] + offY * m[2][1] + offZ * m[3][1] + m[4][1] -- Apply transform local y = offX * m[1][2] + offY * m[2][2] + offZ * m[3][2] + m[4][2] local z = offX * m[1][3] + offY * m[2][3] + offZ * m[3][3] + m[4][3] return x, y, z -- Return the transformed point end То что надо, все отлично работает, спасибо большое, я знал что здесь нужно с матрицами работать, но обычно только для XY делал, а эта функция она же с вики? Link to comment
STAWR Posted September 12, 2015 Share Posted September 12, 2015 сложный/простой... это решение того, что ты спрашивал. Если ты другое имел в виду, то нужно правильно описывать. Link to comment
Jonathan.P Posted September 13, 2015 Share Posted September 13, 2015 С чем связано то, что функция getElementBoundingBox иногда возвращает неточные координаты? Т.е. рамка иногда как бы сьезжает выше/ниже, правее/левее. Проверял на машинах. Коллизия и полигоны в порядке. Link to comment
FranklinRoosevelt Posted September 16, 2015 Share Posted September 16, 2015 Всем доброе время суток, у меня легкий вопрос исключительно о lua, суть: есть два цикла, которые перебирают двух мерный массив, и когда выполняется какое-то логическое действие тогда надо полностью выйти с циклов. Пример: for y = 1, 5 do for x = 1, 5 do if y == 2 and x == 2 then break end end end Этот код просто выходит с внутреннего цикла. Надеюсь я понятно все объяснил и кто-то даст ответ. Я так подумал можно сделать таким образом: slop = false for y = 1, 5 do if slop then break end for x = 1, 5 do if y == 2 and x == 2 then slop = true break end end end Но это как-то не рационально. Link to comment
Elengar Posted September 17, 2015 Share Posted September 17, 2015 Но это как-то не рационально. Рационально. Есть еще вариант на while это сделать. Link to comment
FranklinRoosevelt Posted September 17, 2015 Share Posted September 17, 2015 Есть еще вариант на while это сделать. О точно, спасибо, на while будет более красиво. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now