Вопрос к всем скриптерам lua

VRush

https://t.me/vrushscript
Автор темы
2,416
1,192
Прошлую тему удалил из-за оффтопа и прочего
Дайте мне любое ТЗ, но не слишком сложно
Пример: "
При тексте в чате "Меня зовут (имя)" выводилось имя в чат" или "Сделай имгуи окно с 2 кнопками, которые будут менять цвет с красного на зеленый в зависимости от нажатий"

Мне это надо для усовершенства навыков, буду писать скрипт и кидать его в тему, а вы как можете критикуйте.

И попрошу не оффтопить в теме.
Также критиковать код будет тот кто дал мне ТЗ, остальные могут в ЛС форума (чтобы не засирать тему)
 

Rice.

Известный
Модератор
1,756
1,623
Скрипт, который будет показывать список людей в бронежилетах и в масках в зоне стрима. Делал для следящей администрации за гетто.
Чтобы тебе не искать hex цвет /mask, то сам дам: {665E5E}.
Когда сделаешь, то могу свою версию скрипта скинуть. Будет интересно сравнить код.
Скриншот в игре:
506np0NTguM.jpg
 
  • Нравится
Реакции: VRush

VRush

https://t.me/vrushscript
Автор темы
2,416
1,192
Скрипт, который будет показывать список людей в бронежилетах и в масках в зоне стрима. Делал для следящей администрации за гетто.
Чтобы тебе не искать hex цвет /mask, то сам дам: {665E5E}.
Когда сделаешь, то могу свою версию скрипта скинуть. Будет интересно сравнить код.
Скриншот в игре:
506np0NTguM.jpg
Lua:
require 'lib.moonloader'
local font = renderCreateFont('Arial', 12, 9)
players = {}
function main()
   while not isSampAvailable() do wait(0) end
      lua_thread.create(render)
      lua_thread.create(update)
   while true do wait(-1) end
end
function update()
   while true do wait(0)
      players = {}
      tablePeds = getAllChars()
      for i=1, #tablePeds do
         armour = getCharArmour(tablePeds[i])
         _, id = sampGetPlayerIdByCharHandle(tablePeds[i])
         ss = (('%06X'):format(sampGetPlayerColor(id)))
         if armour > 0 or ss == '665E5E' then
            table.insert(players,'{'..ss..'}'..sampGetPlayerNickname(id)..'('..id..') | Armour:'..armour)
         end
      end
   end
end
function render()
   while true do wait(0)
      renderFontDrawText(font, 'Список:'..table.concat(players,"\n"), 300, 300, 0xFFFFFFFF, 0x90000000)
   end
end
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сделать хп худ номирной(кислород, хп машины, кислород, стамина*, броня) + если допустим у вас 160 хп, то поверх хп полоски маленькой будет рисоваться прямоугольник с этими 60 дополнительными процентами x2 полоска т.е ну можно и дальше x3...x1000, так же такие мульти полоски сделать для хп машины, у машины хп 5000, значит x5 полосок по 1к, чтобы на разных разрешениях полоски стояли на тех же местах, как и на другом разршенение и чтобы масштабировалось под размер монитора, чтобы было подобно обычным полоскам в гташке, полоску бар можно сделать для стамины так же, и добавить чтобы можно было сделать бары вертикальными, а не только горизонтальными, на выбор пользователя(хп машины бар, стамины бар)
Пример менюшки
146357
146358
146359
146360
 
  • Bug
Реакции: AugustTN и VRush

VRush

https://t.me/vrushscript
Автор темы
2,416
1,192
Функция, которая должна будет определять версию SA:MP(r1, r2, r3, r4, dl). Должна возвращать одно значение: полное название версии SA:MP.
Lua:
local ffi = require("ffi")

function get_samp_version()
    if samp_base == nil or samp_base == 0 then
        samp_base = getModuleHandle("samp.dll")
    end
    if samp_base ~= 0 then
        local e_lfanew = ffi.cast("long*", samp_base + 60)[0]
        local nt_header = samp_base + e_lfanew
        local entry_point_addr = ffi.cast("unsigned int*", nt_header + 40)[0]
        if entry_point_addr == 0x31DF13 then
            return "0.3.7 R1"
         elseif entry_point_addr == 0x3195DD then
            return "0.3.7 R2"
         elseif entry_point_addr == 0xCC4D0 then
            return "0.3.7 R3"
         elseif entry_point_addr == 0xCBCB0 then
            return "0.3.7 R4"
         elseif entry_point_addr == 0xFDB60 then
            return "0.3.7 DL"
        end
    end
    return "unknown"
end
 
  • Bug
Реакции: kizn

Death_

Потрачен
51
1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если не сложно сделай пожалуйста имгуй окно с 2-мя кнопками: 1. Активация ( что бы при нажатии на нее в чат вводилась команда /farm ) 2. Информания ( что бы при нажатии на нее появлялся диалог с информацией любой ) Сделай пожалуйста, если не сложно)
 

chapo

чопа сребдс // @moujeek
Модератор
8,868
11,576
Lua:
local ffi = require("ffi")

function get_samp_version()
    if samp_base == nil or samp_base == 0 then
        samp_base = getModuleHandle("samp.dll")
    end
    if samp_base ~= 0 then
        local e_lfanew = ffi.cast("long*", samp_base + 60)[0]
        local nt_header = samp_base + e_lfanew
        local entry_point_addr = ffi.cast("unsigned int*", nt_header + 40)[0]
        if entry_point_addr == 0x31DF13 then
            return "0.3.7 R1"
         elseif entry_point_addr == 0x3195DD then
            return "0.3.7 R2"
         elseif entry_point_addr == 0xCC4D0 then
            return "0.3.7 R3"
         elseif entry_point_addr == 0xCBCB0 then
            return "0.3.7 R4"
         elseif entry_point_addr == 0xFDB60 then
            return "0.3.7 DL"
        end
    end
    return "unknown"
end
автора укажи
 

VRush

https://t.me/vrushscript
Автор темы
2,416
1,192
Если не сложно сделай пожалуйста имгуй окно с 2-мя кнопками: 1. Активация ( что бы при нажатии на нее в чат вводилась команда /farm ) 2. Информания ( что бы при нажатии на нее появлялся диалог с информацией любой ) Сделай пожалуйста, если не сложно)
 

Вложения

  • JOPA.lua
    1 KB · Просмотры: 7
  • Нравится
Реакции: Death_