Jump to content

Вопросы и ответы по MTA.


Recommended Posts

помогите есть код

function createATM(thePlayer, commandName) 
    if (exports.global:isPlayerLeadAdmin(thePlayer)) and ( getElementDimension(thePlayer) >= 0 or exports.global:isPlayerScripter(thePlayer) ) then 
        local dimension = getElementDimension(thePlayer) 
        local interior = getElementInterior(thePlayer) 
        local x, y, z  = getElementPosition(thePlayer) 
        local rotation = getPedRotation(thePlayer) 
         
        z = z - 0.3 
         
        local id = mysql:query_insert_free("INSERT INTO atms SET x='" .. mysql:escape_string(x) .. "', y='" .. mysql:escape_string(y) .. "', z='" .. mysql:escape_string(z) .. "', dimension='" .. mysql:escape_string(dimension) .. "', interior='" .. mysql:escape_string(interior) .. "', rotation='" .. mysql:escape_string(rotation) .. "',`limit`=5000") 
                 
        if (id) then 
            local object = createObject(2942, x, y, z, 0, 0, rotation-180) 
            exports.pool:allocateElement(object) 
            setElementDimension(object, dimension) 
            setElementInterior(object, interior) 
            exports['anticheat-system']:changeProtectedElementDataEx(object, "depositable", 0, false) 
            exports['anticheat-system']:changeProtectedElementDataEx(object, "limit", 5000, false) 
             
            local px = x + math.sin(math.rad(-rotation)) * 0.8 
            local py = y + math.cos(math.rad(-rotation)) * 0.8 
            local pz = z 
             
            exports['anticheat-system']:changeProtectedElementDataEx(object, "dbid", id, false) 
  
            x = x + ((math.cos(math.rad(rotation)))*5) 
            y = y + ((math.sin(math.rad(rotation)))*5) 
            setElementPosition(thePlayer, x, y, z) 
             
            outputChatBox("ATM created with ID #" .. id .. "!", thePlayer, 0, 255, 0) 
        else 
            outputChatBox("There was an error while creating an ATM. Try again.", thePlayer, 255, 0, 0) 
        end 
    end 
end 
addCommandHandler("addatm", createATM, false, false) 
  

мне непоняты эти строки

x = x + ((math.cos(math.rad(rotation)))*5) 
            y = y + ((math.sin(math.rad(rotation)))*5) 
             
--------- 
local px = x + math.sin(math.rad(-rotation)) * 0.8 
            local py = y + math.cos(math.rad(-rotation)) * 0.8 
             
  

Link to comment

px и py инициализированы, но нигде не используются о_О

Данные строки кода высчитывают координаты относительно угла поворота игрока и устанавливают объект на них.

Обычном языком, этот код будет всегда устанавливать объект на 0.8 метра перед игроком и всегда в ту сторону, в которую он смотрит.

Link to comment

объясните на пальцах

 find a player named "someguy" and get his velocity. 
speedx, speedy, speedz = getElementVelocity ( pl ) 
  
-- use pythagorean theorem to get actual velocity 
-- raising something to the exponent of 0.5 is the same thing as taking a square root. 
actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5)  
  
-- multiply by 50 to obtain the speed in metres per second 
mps = actualspeed * 50 
  
-- other useful conversions 
-- kilometres per hour 
kmh = actualspeed * 180 
-- miles per hour 
mph = actualspeed * 111.847 
  

итак при чём тут теорема Пифагора "Для всякой тройки положительных чисел , и , такой, что , существует прямоугольный треугольник с катетами и и гипотенузой .

" и зачем результат теоремы умножать на 180 что получить в км/ч

Link to comment
объясните на пальцах
 find a player named "someguy" and get his velocity. 
speedx, speedy, speedz = getElementVelocity ( pl ) 
  
-- use pythagorean theorem to get actual velocity 
-- raising something to the exponent of 0.5 is the same thing as taking a square root. 
actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5)  
  
-- multiply by 50 to obtain the speed in metres per second 
mps = actualspeed * 50 
  
-- other useful conversions 
-- kilometres per hour 
kmh = actualspeed * 180 
-- miles per hour 
mph = actualspeed * 111.847 
  

итак при чём тут теорема Пифагора "Для всякой тройки положительных чисел , и , такой, что , существует прямоугольный треугольник с катетами и и гипотенузой .

" и зачем результат теоремы умножать на 180 что получить в км/ч

Ты уверен, что тебе надо это понимать?

Где ты тут, вообще, пифагорову теорему увидел? "Для всякой тройки положительных чисел" - Это же, вроде, про четные числа, не? И про прямо-треугольники здесь нет ничего...

Если ты действительно хочешь понять, то советую самому искать всю информацию... Иначе ниче ты не поймешь(

Кури про длину векторов...

А умножение на 180 или 111 - это издержки разницы дистанций.

http://gta.wikia.com/Unit#GTA3.2C_GTAVC_.26_GTASA

Edited by Guest
Link to comment

что за позорные изменения с радаром и худом в мта 1.3.3, ещё какая-то прогрузка снизу в центре экрана.

1. зачем размер радара и худа был увеличен, для кого, кем?

2. зачем нужно зачернение экрана при входе на сервера?

Как это говно убрать? Мне не нужен радар нестандартного размера и худ закрывающий пол экрана.

------------------------------------------------------------------------------------------------------------------------------

Всем спасибо, разобрался. Галочка напротив строки с Aspect-Ratio устранит проблему.

Link to comment

Пытаюсь поставить картинку на гуишку созданную вроде всё правильно функцию сделал. И в мете написал. В чём проблема. Ругается

Resource loaded but has errors(Couldnt parse meta file for resource register)

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...