Хелпа с: курдмастер, объекты, ну и ещё

Статус
В этой теме нельзя размещать новые ответы.

RedBoxWhite

Известный
Автор темы
337
27
Как вообще работает курдмастер? Сурсов не находил, а хочу сделать)
Как управлять объектами? Поставил объекты так:
Lua:
if testCheat("k") then
        raz = createObject(1437, 1801.489014, 156.257004, 29.624001)
        dva = createObject(1437, 1801.489014, 160.757004, 29.323999)
end
Как сделать, чтобы оно правильно работало?
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while true do
        wait(0)
        if locateCharAnyMeans2d(playerPed, 1959.12, 207.0, 40.0, 40.0, false) then
            for int = 0, 1000 do
                oh = sampGetObjectHandleBySampId(int)
                if doesObjectExist(oh) then
                    if locateObject2d(oh, 1958.12, 208.5, 40.0, 40.0, false) then
                        local oModel = getObjectModel(oh)
                        if oModel == 19576 then
                            kis, x, y, tr = getObjectCoordinates(oh)
                        end
                        if oModel == 673 then
                            kis1, x1, y1, tr1 = getObjectCoordinates(oh)
                            if locateObject2d(oh, x, y, 3.0, 3.0, false) then
                                locateObject2d(oh, x1, y1, 2.0, 2.0, true)
                            end
                        end
                    end
                end
            end
        end
    end
end

Как в ml сделать это?
CLEO:
while true
wait 0
    if 0B4C:  samp is_dialog_active -1
    then
    0BD7: samp get_dialog_text 0@
        if 0c18: 0 = 0@ "Уровень:"
        then
            0@ += 8
            0af8: "%s" -1 0@
        end
    end
end

И почему при загрузке гта, некоторые скрипты не работают, приходится перезагружать их
 
Последнее редактирование:

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,320
курдмастер? это типа тп на короткие расстояния?
смещение координат с определенным шагом по направлению взгляда камеры наверное
вот сурцы на клео нагуглил
http://ru.cleo.wikia.com/wiki/Coordmaster

сурцы ниоч. або старье
 
Последнее редактирование:
  • Нравится
Реакции: RedBoxWhite

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,453
Можно довести до ума как тебе хочется.
Использовал функу (которая находится) SCM-функциях от фипа, понятное название которой я так и не узнал:
Lua:
local coordmaster_timer = os.clock()
function coordmaster(from, to, offsets, every)
    if (os.clock() - coordmaster_timer > every) then
        coordmaster_timer = os.clock()

        local anglerad = getAngle(from, to)
        if (getDistanceBetweenCoords2d(from.x, from.y, to.x, to.y) > offsets.y) then
            from.x = from.x + math.cos(anglerad) * offsets.x
           from.y = from.y + math.sin(anglerad) * offsets.x

           from.x = from.x + math.sin(-anglerad) * offsets.y
           from.y = from.y + math.cos(-anglerad) * offsets.y
           from.z = from.z + offsets.z
           if (from.z < -90.0) then from.z = -90.0 end

           setCharHeading(playerPed, math.deg(anglerad))
           setCharCoordinates(playerPed, from.x, from.y, from.z)
            return false
        else
            requestCollision(to.x, to.y)
            setCharCoordinates(playerPed, to.x, to.y, getGroundZFor3dCoord(to.x, to.y, 1000.0))
            return true
        end
    end
end

function getAngle(fstart, fend)
    return -math.atan2(fend.x - fstart.x, fend.y - fstart.y);
end

Lua:
local charPosition = {}
charPosition.x, charPosition.y, charPosition.z = getCharCoordinates(playerPed)
coordmaster(charPosition, {x=500.0, y=100.0, z=36.6}, {x=0.0, y=60.0, z=0.0}, 0.5)

= coordmaster(from, to, offsets, every)
from - текущие координаты
to - координаты в которые нужно попасть
offsets - смещение(обычно применяют по Y; и зачем я добавлял сюда другие оси - можешь не спрашивать)
every - каждые x сек.​

Как в ml сделать это?
CLEO:
while true
wait 0
    if 0B4C:  samp is_dialog_active -1
    then
    0BD7: samp get_dialog_text 0@
        if 0c18: 0 = 0@ "Уровень:"
        then
            0@ += 8
            0af8: "%s" -1 0@
        end
    end
end

Без цикла(если ты хочешь получить сразу же значение после "Уровень:")
Lua:
if sampIsDialogActive(-1) then
    local dlgText = sampGetDialogText()
    local res = dlgText:match("Уровень: (%d+)")
    if res then
        sampAddChatMessage(res, -1)
    end
end

Либо прям полное "конвертирование" твоего кода с клео:
Lua:
if sampIsDialogActive(-1) then
    local dlgText = sampGetDialogText()
    local chrPos = dlgText:find("Уровень:")
    if chrPos then
        local dlgTextSub = dlgText:sub(chrPos)
        sampAddChatMessage(dlgTextSub, -1)
    end
end
 
Последнее редактирование:
  • Нравится
Реакции: FYP и RedBoxWhite

RedBoxWhite

Известный
Автор темы
337
27
Забыл ещё написать про это:
Как это сделать в ml
CLEO:
while true
wait 0
    if 0B4C:  samp is_dialog_active -1
    then
        0BD7: samp get_dialog_text 0@
        if 0c18: 1@ = 0@ "IP:"
        then
            0AA5: call 0x8220AD num_params 3 pop 3 params 23@ "IP: %s" 1@
        end
    end
end
И вот это надо, не решили ещё(
Как управлять объектами? Поставил объекты так:
Как сделать, чтобы оно правильно работало?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,453
Как управлять объектами? Поставил объекты так:
А ты их видишь хотя бы? Пример для создания:
Lua:
function main()
    while not isKeyJustPressed(VK_C) do
        wait(0)
    end

    local pX, pY, pZ = getOffsetFromCharInWorldCoords(playerPed, 0.0, 2.0, 0.0) -- перед персонажем

    requestModel(1427) -- запрос на загрузку модели
    loadAllModelsNow() -- загрузка всех запрошенных моделей
    while not isModelAvailable(1427) do -- ждем полной загрузки модели
        wait(0)
    end

    local obj1 = createObject(1427, pX, pY, pZ) -- создаем объект
    setObjectVisible(obj1, true) --  делаем его видимым(необязательно)
    markModelAsNoLongerNeeded(1427) -- "удаляем" ранее загруженную модель, т.к. объект уже создан

    print("Object handle:" .. obj1)

    while isKeyDown(VK_C) do -- ??
        wait(0)
    end

    while not isKeyJustPressed(VK_C) do
        wait(0)
    end

    print("Destroy object...")

    deleteObject(obj1)
end
Если ты создал их локально, то они никоим образом не должны находиться в пуле объектов сампа. Это ж нелогично.

Забыл ещё написать про это:
Как это сделать в ml
Выше есть похожий пример с match
 
  • Нравится
Реакции: RedBoxWhite

RedBoxWhite

Известный
Автор темы
337
27
А ты их видишь хотя бы? Пример для создания:
Lua:
function main()
    while not isKeyJustPressed(VK_C) do
        wait(0)
    end

    local pX, pY, pZ = getOffsetFromCharInWorldCoords(playerPed, 0.0, 2.0, 0.0) -- перед персонажем

    requestModel(1427) -- запрос на загрузку модели
    loadAllModelsNow() -- загрузка всех запрошенных моделей
    while not isModelAvailable(1427) do -- ждем полной загрузки модели
        wait(0)
    end

    local obj1 = createObject(1427, pX, pY, pZ) -- создаем объект
    setObjectVisible(obj1, true) --  делаем его видимым(необязательно)
    markModelAsNoLongerNeeded(1427) -- "удаляем" ранее загруженную модель, т.к. объект уже создан

    print("Object handle:" .. obj1)

    while isKeyDown(VK_C) do -- ??
        wait(0)
    end

    while not isKeyJustPressed(VK_C) do
        wait(0)
    end

    print("Destroy object...")

    deleteObject(obj1)
end
Если ты создал их локально, то они никоим образом не должны находиться в пуле объектов сампа. Это ж нелогично.


Выше есть похожий пример с match
С объектами буду знать, но всё же, надо сделать из этого:
3pdmFS7qKng.jpg

Сделать вот это:
eWeDfQ2FlLU.jpg
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,453
Это называется угол поворота объекта. Ага
 
  • Нравится
Реакции: RedBoxWhite
Статус
В этой теме нельзя размещать новые ответы.