Lua Auto Leader [Monser DM]

SamperJostkiy

Участник
Автор темы
175
22
Версия SA-MP
  1. Любая
Здравствуйте, хочу вам показать, авто взятие лидерки для Monser DM на /gw
Все версии скрипта, не будут удаляться, а находится во вложениях!!!

Активация и деактивация:/leader
Функционал:
При нахождении нужной строки в чате выводит сообщение что само возьмёт лидерку и нажимает на букву Y

Зависимости:
Samp.lua


Отдельное спасибо:

@Biuti за работу с кодировкой​

04/09/2021 | AutoLeader
Релиз

05/09/2021 | AutoLeader 1.1
Убрал библиотеку vkeys.lua
Добавил вкл/выкл по команде.

О своих багах/предложениях прошу рассказать комментарием под темой!!!
 

Вложения

  • AutoLeader.lua
    575 байт · Просмотры: 6
  • AutoLeader 1.1.lua
    763 байт · Просмотры: 11
Последнее редактирование:

PanSeek

аче)
Модератор
750
1,055
Зачем здесь vkeys вообще? Зачем использовать поток все время в хуке, который и так поток. Если уж и хотел использовать задержку, то мог по-другому сделать.
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('%{42AAFF%}Вы лидируете по убийствам среди членов банды, желаете стать лидером банды?') and not sampIsCursorActive() then
        sampAddChatMessage("Ооo тебе предлагают стать лидером, я сам это сделаю!!!", 0xFF004D)
        lua_thread.create(function()
            setVirtualKeyDown(89, true)
            wait(250)
            setVirtualKeyDown(89, false)
        end)
    end
end
Или лучше сделать, что-то вроде того:
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('%{42AAFF%}Вы лидируете по убийствам среди членов банды, желаете стать лидером банды?') and not sampIsCursorActive() then
        sampAddChatMessage("Ооo тебе предлагают стать лидером, я сам это сделаю!!!", 0xFF004D)
        sendClickKeySync(89)
    end
end

function sendClickKeySync(key)
    local data = allocateMemory(68)
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    sampStorePlayerOnfootData(myId, data)

    local weaponId = getCurrentCharWeapon(PLAYER_PED)
    setStructElement(data, 36, 1, weaponId + tonumber(key), true)
    sampSendOnfootData(data)
    freeMemory(data)
end
 
  • Нравится
Реакции: shitcodes

YarmaK

Известный
512
122
Ебать вы гоните…. Сложно кнопочку нажать? Там же конкуренции нету лида по 5 сек видеть будет…
 
  • Нравится
Реакции: F0RQU1N, rvng и jenqqq

SamperJostkiy

Участник
Автор темы
175
22
Зачем здесь vkeys вообще? Зачем использовать поток все время в хуке, который и так поток. Если уж и хотел использовать задержку, то мог по-другому сделать.
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('%{42AAFF%}Вы лидируете по убийствам среди членов банды, желаете стать лидером банды?') and not sampIsCursorActive() then
        sampAddChatMessage("Ооo тебе предлагают стать лидером, я сам это сделаю!!!", 0xFF004D)
        lua_thread.create(function()
            setVirtualKeyDown(89, true)
            wait(250)
            setVirtualKeyDown(89, false)
        end)
    end
end
Vkeys требовался раньше(уберу её), потому что я делал локальную переменную flood_key в которую помещал VK_Y, что потом требовалось место id клавиши в setVirtualKeyDown (писал раньше setVirtualKeyDown(flood_key) ),

Если вы играли на монсере то знаете что после сообщения которое идет у меня в скрипте на проверке, не последнее, после его идет ещё одно сообщение, по этому я поставил задержку, т.к если её не поставить будет открываться меню сервера

Прошу обьяснить вот это с функции sendClickKeySync(key)

Или лучше сделать, что-то вроде того:
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('%{42AAFF%}Вы лидируете по убийствам среди членов банды, желаете стать лидером банды?') and not sampIsCursorActive() then
        sampAddChatMessage("Ооo тебе предлагают стать лидером, я сам это сделаю!!!", 0xFF004D)
        sendClickKeySync(89)
    end
end

function sendClickKeySync(key)
    local data = allocateMemory(68)
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    sampStorePlayerOnfootData(myId, data)

    local weaponId = getCurrentCharWeapon(PLAYER_PED)
    setStructElement(data, 36, 1, weaponId + tonumber(key), true)
    sampSendOnfootData(data)
    freeMemory(data)
end

Ебать вы гоните…. Сложно кнопочку нажать? Там же конкуренции нету лида по 5 сек видеть будет…
Дело не в том, что нажать на пару кнопочек, дело в том, что в процессе игры ты забываешь о чате, и даже не смотришь на его, а потом начинаешь чекать чат и видишь: Ваше предложение стать лидером, истекло. Вроде как обидно, но и на /gw не хочется перезаходить.
 
Последнее редактирование:

YarmaK

Известный
512
122
Vkeys требовался раньше(уберу её), потому что я делал локальную переменную flood_key в которую помещал VK_Y, что потом требовалось место id клавиши в setVirtualKeyDown (писал раньше setVirtualKeyDown(flood_key) ),

Поток для задержки буду использовать в нужном месте.

Прошу обьяснить вот это с функции sendClickKeySync(key)
Или лучше сделать, что-то вроде того:
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('%{42AAFF%}Вы лидируете по убийствам среди членов банды, желаете стать лидером банды?') and not sampIsCursorActive() then
        sampAddChatMessage("Ооo тебе предлагают стать лидером, я сам это сделаю!!!", 0xFF004D)
        sendClickKeySync(89)
    end
end

function sendClickKeySync(key)
    local data = allocateMemory(68)
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    sampStorePlayerOnfootData(myId, data)

    local weaponId = getCurrentCharWeapon(PLAYER_PED)
    setStructElement(data, 36, 1, weaponId + tonumber(key), true)
    sampSendOnfootData(data)
    freeMemory(data)
end


Дело не в том, что нажать на пару кнопочек, дело в том, что в процессе игры ты забываешь о чате, и даже не смотришь на его, а потом начинаешь чекать чат и видишь: Ваше предложение стать лидером, истекло. Вроде как обидно, но и на /gw не хочется перезаходить.
Действительно, проще скачать скрипт который будет нагружать игру хотя бы даже немного чем потратить 3 секунды на перезаход… так еще ты аптечки на респе возьмешь, а главное во время пвп у тебя лида возьмется и скин лидера дадут, а при смене скина у тебя фриз будет)
 
Последнее редактирование:
  • Нравится
Реакции: SamperJostkiy

SamperJostkiy

Участник
Автор темы
175
22
Действительно, проще скачать скрипт который будет нагружать игру хотя бы даже немного чем потратить 3 секунды на перезаход… так еще ты аптечки на респе возьмешь, а главное во время пвп у тебя лида не возьмется и скин лидера не дадут, а при смене скина у тебя фриз будет)
Когда вы возьмёте лд, вам выдадут скин, и это может запутать чела который будет с вами в пвп. А так полностью с вами согласен.
 

SamperJostkiy

Участник
Автор темы
175
22
Дело не в том, что нажать на пару кнопочек, дело в том, что в процессе игры ты забываешь о чате, и даже не смотришь на его, а потом начинаешь чекать чат и видишь: Ваше предложение стать лидером, истекло. Вроде как обидно, но и на /gw не хочется перезаходить.
 

SkyVeim

Активный
247
64
Дело не в том, что нажать на пару кнопочек, дело в том, что в процессе игры ты забываешь о чате, и даже не смотришь на его, а потом начинаешь чекать чат и видишь: Ваше предложение стать лидером, истекло. Вроде как обидно, но и на /gw не хочется перезаходить.
глуппо, от скрипта нету смысла. Легче перезайти.
 

|| NN - NoName ||

Известный
1,013
546
Зачем здесь vkeys вообще? Зачем использовать поток все время в хуке, который и так поток. Если уж и хотел использовать задержку, то мог по-другому сделать.
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('%{42AAFF%}Вы лидируете по убийствам среди членов банды, желаете стать лидером банды?') and not sampIsCursorActive() then
        sampAddChatMessage("Ооo тебе предлагают стать лидером, я сам это сделаю!!!", 0xFF004D)
        lua_thread.create(function()
            setVirtualKeyDown(89, true)
            wait(250)
            setVirtualKeyDown(89, false)
        end)
    end
end
Или лучше сделать, что-то вроде того:
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('%{42AAFF%}Вы лидируете по убийствам среди членов банды, желаете стать лидером банды?') and not sampIsCursorActive() then
        sampAddChatMessage("Ооo тебе предлагают стать лидером, я сам это сделаю!!!", 0xFF004D)
        sendClickKeySync(89)
    end
end

function sendClickKeySync(key)
    local data = allocateMemory(68)
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    sampStorePlayerOnfootData(myId, data)

    local weaponId = getCurrentCharWeapon(PLAYER_PED)
    setStructElement(data, 36, 1, weaponId + tonumber(key), true)
    sampSendOnfootData(data)
    freeMemory(data)
end
Можно даже без events обойтись))
 

SamperJostkiy

Участник
Автор темы
175
22
Пока что обновлений не будет, т.к у меня проблемы с кодом.