RakSAMP Raksamp хелп

alex777777777

Участник
Автор темы
65
11
Не могу купить сим-карту, прилетаю к 24/7, захожу в инту, подбираю пикап магазина, отправляю пакет который должен отвечать за выбор симкарты в меню покупки, почему то работает только на 1 из 20 аккаунтов, пытался решить никак не получается. Может у кого то есть готовое решение покупки сим-карты и использование ее через инвентарь?

Код:
    coordStart(1847, -1872, 13, 50, 2, true)
    wait(80000)
    setBotPosition(-26, -188, 1003)
    print('в 24 на 7')
    coordStart(-29, -185, 1003, 50, 2, true)
    print(" за симкой " )
    wait(3000)
    sendKey(1024)
    wait(3000)
    sendKey(1024)
    sendTable(simcard)
    print('1')
    wait(6000)
    sendInput('/invent')
    print('/invent')
    wait(3000)
    sendClickTextdraw(2168)
    wait(1500)
    sendClickTextdraw(2301)
    wait(3000)
    sendDialogResponse(id, 1, 0, '')
end)

Код:
local simcard = {220, 18, 34, 0, 109, 111, 117, 110, 116, 97, 105, 110, 46, 116, 101, 115,116, 68, 114, 105, 118, 101, 46, 115, 101, 108, 101, 99, 116, 86, 101, 104,105, 99, 108, 101, 124, 55, 0, 0, 0, 0}



Решение от статаполки, но я не смог в нем разобраться. Помогите
Lua:
    if data.text == "items:item_sim_card" and buying == true and not pokupkasimki and buyphone == true then
        newTask(function()
            wait(500)
            sendClickTextdraw(id-2)
            pokupkasimki = true
            printm("Покупаем сим-карту.")
        end)
    end
    --[[if data.text == "items:item_sim_card" then
        newTask(function()
            wait(500)
            sendClickTextdraw(id-1)
        end)
    end]]
    if data.text == "items:item_sim_card" and pokupkasimki and buyphone == true then
        newTask(function()
            wait(500)
            sendClickTextdraw(id-1)
            
        end)
    end
    if data.text == "items:item_sim_card" and buying == true and not pokupkasimki and abuse == false then
        newTask(function()
            wait(500)
            sendClickTextdraw(id-2)
            pokupkasimki = true
            printm("Покупаем сим-карту.")
        end)
    end
 
Решение
получать эти данные можно с помощью https://www.blast.hk/threads/115062/
вводишь в чат /textdraw , заходишь в инвентарь и наведи мышь на id текстдрава над иконкой симкарты, у тебя выведет всю инфу, оттуда достань позицию по x и id модельки. можешь просто по модельке искать. по покупке есть вопросы?

Lua:
function clickTextdraw(textdrawId)
    newTask(function ()
        wait(500)
        sendClickTextdraw(textdrawId)
    end)
end

function samp.onShowTextDraw(textdrawId, data)
    if (data.position.x > 210.0) then -- замени расположение по иксу
        if data.modelId == 123 then -- замени id модели текстдрава
            clickTextdraw(textdrawId)
        end
    end
end
[/QUOTE]

FANAT.FANATA

Участник
72
14
Не могу купить сим-карту, прилетаю к 24/7, захожу в инту, подбираю пикап магазина, отправляю пакет который должен отвечать за выбор симкарты в меню покупки, почему то работает только на 1 из 20 аккаунтов, пытался решить никак не получается. Может у кого то есть готовое решение покупки сим-карты и использование ее через инвентарь?

Код:
    coordStart(1847, -1872, 13, 50, 2, true)
    wait(80000)
    setBotPosition(-26, -188, 1003)
    print('в 24 на 7')
    coordStart(-29, -185, 1003, 50, 2, true)
    print(" за симкой " )
    wait(3000)
    sendKey(1024)
    wait(3000)
    sendKey(1024)
    sendTable(simcard)
    print('1')
    wait(6000)
    sendInput('/invent')
    print('/invent')
    wait(3000)
    sendClickTextdraw(2168)
    wait(1500)
    sendClickTextdraw(2301)
    wait(3000)
    sendDialogResponse(id, 1, 0, '')
end)

Код:
local simcard = {220, 18, 34, 0, 109, 111, 117, 110, 116, 97, 105, 110, 46, 116, 101, 115,116, 68, 114, 105, 118, 101, 46, 115, 101, 108, 101, 99, 116, 86, 101, 104,105, 99, 108, 101, 124, 55, 0, 0, 0, 0}



Решение от статаполки, но я не смог в нем разобраться. Помогите
вроде бы статаполка добавил проверку на то, есть ли телефон
 

gravanoo

Участник
46
21
Не могу купить сим-карту, прилетаю к 24/7, захожу в инту, подбираю пикап магазина, отправляю пакет который должен отвечать за выбор симкарты в меню покупки, почему то работает только на 1 из 20 аккаунтов, пытался решить никак не получается. Может у кого то есть готовое решение покупки сим-карты и использование ее через инвентарь?

Код:
    coordStart(1847, -1872, 13, 50, 2, true)
    wait(80000)
    setBotPosition(-26, -188, 1003)
    print('в 24 на 7')
    coordStart(-29, -185, 1003, 50, 2, true)
    print(" за симкой " )
    wait(3000)
    sendKey(1024)
    wait(3000)
    sendKey(1024)
    sendTable(simcard)
    print('1')
    wait(6000)
    sendInput('/invent')
    print('/invent')
    wait(3000)
    sendClickTextdraw(2168)
    wait(1500)
    sendClickTextdraw(2301)
    wait(3000)
    sendDialogResponse(id, 1, 0, '')
end)

Код:
local simcard = {220, 18, 34, 0, 109, 111, 117, 110, 116, 97, 105, 110, 46, 116, 101, 115,116, 68, 114, 105, 118, 101, 46, 115, 101, 108, 101, 99, 116, 86, 101, 104,105, 99, 108, 101, 124, 55, 0, 0, 0, 0}



Решение от статаполки, но я не смог в нем разобраться. Помогите
покажи диалог с покупкой, почему у тебя и текстдравы и цеф? или там что-то поменяли уже
 

alex777777777

Участник
Автор темы
65
11
покажи диалог с покупкой, почему у тебя и текстдравы и цеф? или там что-то поменяли уже
Привет, магазин - цеф инвентарь на текстдравах сделан, с текстдравами работаю что бы симку активировать

покажи диалог с покупкой, почему у тебя и текстдравы и цеф? или там что-то поменяли уже
1751137911801.png
 

gravanoo

Участник
46
21
получать эти данные можно с помощью https://www.blast.hk/threads/115062/
вводишь в чат /textdraw , заходишь в инвентарь и наведи мышь на id текстдрава над иконкой симкарты, у тебя выведет всю инфу, оттуда достань позицию по x и id модельки. можешь просто по модельке искать. по покупке есть вопросы?

Lua:
function clickTextdraw(textdrawId)
    newTask(function ()
        wait(500)
        sendClickTextdraw(textdrawId)
    end)
end

function samp.onShowTextDraw(textdrawId, data)
    if (data.position.x > 210.0) then -- замени расположение по иксу
        if data.modelId == 123 then -- замени id модели текстдрава
            clickTextdraw(textdrawId)
        end
    end
end
[/QUOTE]
 
Последнее редактирование:

alex777777777

Участник
Автор темы
65
11
получать эти данные можно с помощью https://www.blast.hk/threads/115062/
вводишь в чат /textdraw , заходишь в инвентарь и наведи мышь на id текстдрава над иконкой симкарты, у тебя выведет всю инфу, оттуда достань позицию по x и id модельки. можешь просто по модельке искать. по покупке есть вопросы?
там не текст дравы, там только cef
 
  • Злость
Реакции: gravanoo

gravanoo

Участник
46
21
там не текст дравы, там только cef
Lua:
function sendcef(str)
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt16(#str)
    bs:writeString(str)
    bs:writeInt32(0)
    bs:writeInt16(0)
    bs:sendPacket()
    bs:reset()
end

function onReceivePacket(id, bs)
    if id == 220 then
        bs:ignoreBits(8)
        if (bs:readInt8() == 17) then
            bs:ignoreBits(32)
            local length = bs:readInt16()
            local encoded = bs:readInt8()
            local str = (encoded ~= 0) and bs:readEncoded(length + encoded) or bs:readString(length)
            print(str)

            if str:find('') then -- вставь строку которая находится после того как бот встал на пикап
                sendcef('onActiveViewChanged|MountainTestDrive')
                sendcef('mountain.testDrive.selectVehicle|0')
            end
        end
    end
end
будет что-то типо этого, можешь отправить через sendTable

это для покупки симкарты. для активации я тебе выше ответил(инвентарь работает на текстдравах)
 

alex777777777

Участник
Автор темы
65
11
Lua:
function sendcef(str)
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt16(#str)
    bs:writeString(str)
    bs:writeInt32(0)
    bs:writeInt16(0)
    bs:sendPacket()
    bs:reset()
end

function onReceivePacket(id, bs)
    if id == 220 then
        bs:ignoreBits(8)
        if (bs:readInt8() == 17) then
            bs:ignoreBits(32)
            local length = bs:readInt16()
            local encoded = bs:readInt8()
            local str = (encoded ~= 0) and bs:readEncoded(length + encoded) or bs:readString(length)
            print(str)

            if str:find('') then -- вставь строку которая находится после того как бот встал на пикап
                sendcef('onActiveViewChanged|MountainTestDrive')
                sendcef('mountain.testDrive.selectVehicle|0')
            end
        end
    end
end
будет что-то типо этого, можешь отправить через sendTable

это для покупки симкарты. для активации я тебе выше ответил(инвентарь работает на текстдравах)
Привет, решил надо было инициализировать само меню покупки 24/7, теперь не могу понять почему у меня открывается что ли не весь инвентарь,
Код:
    --1
    wait(8000)
    coordStart(1847, -1872, 13, 50, 2, true)
    wait(30000)
    setBotPosition(-26, -188, 1003)
    print('в 24 на 7')
    coordStart(-29, -185, 1003, 50, 2, true)
    print(" за симкой " )
    wait(5000)
    sendTable{220, 17, 0, 0, 0, 0, 255, 255, 255, 255}
    sendTable{220, 17, 0, 0, 0, 0, 255, 255, 255, 255}
    sendTable{220, 17, 0, 0, 0, 0, 255, 255, 255, 255}
    sendTable{220, 24, 0, 0, 0, 0, 128}
    sendTable{220, 24, 0, 0, 0, 0, 128}
    sendTable{220, 17, 0, 0, 0, 0, 48, 0, 0, 0}
    sendTable{220, 17, 0, 0, 0, 0, 48, 0, 0, 0}
    sendTable{220, 17, 0, 0, 0, 0, 48, 0, 0, 0}
    print('Инициализировали cef.simcard')
    sendTable{220, 18, 37, 0, 111, 110, 65, 99, 116, 105, 118, 101, 86, 105, 101, 119, 67, 104, 97, 110, 103, 101, 100, 124, 77, 111, 117, 110, 116, 97, 105, 110, 84, 101, 115, 116, 68, 114, 105, 118, 101, 0, 0, 0, 0}
    wait(2000)
    sendTable(simcard)
    print('Отправили пакет покупки симкарты')
    wait(3000)
    sendTable{220, 18, 24, 0, 109, 111, 117, 110, 116, 97, 105, 110, 46, 116, 101, 115, 116, 68, 114, 105, 118, 101, 46, 99, 108, 111, 115, 101, 0, 0, 0, 0}
    print('Закрыли cef.simcard')
    wait(6000)
    sendInput('/invent')
    print('Открыли инвентарь')
    wait(2000)
    sendClickTextdraw(2169)
    wait(200)
    sendClickTextdraw(2301)
    wait(250)
    sendClickTextdraw(2302)
    print('simcarta')
    wait(200)
    sendInput('/phone')
    sendInput('/phone')
    --2
1751217544386.png
 

Вложения

  • {A9FFE23C-C85E-4C9E-BF44-D92A83D397AA}.png
    {A9FFE23C-C85E-4C9E-BF44-D92A83D397AA}.png
    402.3 KB · Просмотры: 34
  • {B2BDF585-CC2F-4EF2-A702-5BD2D6CA6748}.png
    {B2BDF585-CC2F-4EF2-A702-5BD2D6CA6748}.png
    406.8 KB · Просмотры: 42

gravanoo

Участник
46
21
Привет, решил надо было инициализировать само меню покупки 24/7, теперь не могу понять почему у меня открывается что ли не весь инвентарь,
Код:
    --1
    wait(8000)
    coordStart(1847, -1872, 13, 50, 2, true)
    wait(30000)
    setBotPosition(-26, -188, 1003)
    print('в 24 на 7')
    coordStart(-29, -185, 1003, 50, 2, true)
    print(" за симкой " )
    wait(5000)
    sendTable{220, 17, 0, 0, 0, 0, 255, 255, 255, 255}
    sendTable{220, 17, 0, 0, 0, 0, 255, 255, 255, 255}
    sendTable{220, 17, 0, 0, 0, 0, 255, 255, 255, 255}
    sendTable{220, 24, 0, 0, 0, 0, 128}
    sendTable{220, 24, 0, 0, 0, 0, 128}
    sendTable{220, 17, 0, 0, 0, 0, 48, 0, 0, 0}
    sendTable{220, 17, 0, 0, 0, 0, 48, 0, 0, 0}
    sendTable{220, 17, 0, 0, 0, 0, 48, 0, 0, 0}
    print('Инициализировали cef.simcard')
    sendTable{220, 18, 37, 0, 111, 110, 65, 99, 116, 105, 118, 101, 86, 105, 101, 119, 67, 104, 97, 110, 103, 101, 100, 124, 77, 111, 117, 110, 116, 97, 105, 110, 84, 101, 115, 116, 68, 114, 105, 118, 101, 0, 0, 0, 0}
    wait(2000)
    sendTable(simcard)
    print('Отправили пакет покупки симкарты')
    wait(3000)
    sendTable{220, 18, 24, 0, 109, 111, 117, 110, 116, 97, 105, 110, 46, 116, 101, 115, 116, 68, 114, 105, 118, 101, 46, 99, 108, 111, 115, 101, 0, 0, 0, 0}
    print('Закрыли cef.simcard')
    wait(6000)
    sendInput('/invent')
    print('Открыли инвентарь')
    wait(2000)
    sendClickTextdraw(2169)
    wait(200)
    sendClickTextdraw(2301)
    wait(250)
    sendClickTextdraw(2302)
    print('simcarta')
    wait(200)
    sendInput('/phone')
    sendInput('/phone')
    --2
Посмотреть вложение 273186
Инициализацию я тебе сделал.
Не нужно совать клики по текстдраву и покупку в этот поток. Сделай проверками как я тебе сделал
 

alex777777777

Участник
Автор темы
65
11
как я понял тебе нужно написать квестовика, вроде есть слитые но полу рабочие они доходят до 5 лвл но квесты не до конца заканчивают возьми их и доделай и все
легче с нуля написать, чем старый дописывать и разбираться в коде и багах

Инициализацию я тебе сделал.
Не нужно совать клики по текстдраву и покупку в этот поток. Сделай проверками как я тебе сделал
Неа, я дебажил у меня просто почему то текстдравы предметов не идут, просто инвентарь 1. - model id // 2 - textdrawid, выходят только иконки инвентаря, но никак не предметы

1751275355793.png
 
Последнее редактирование:

Похожие темы

    • Закрыта
    • Решено
    Ответы
    1
    Просмотры
    677
  1. Ответы
    5
    Просмотры
    1K