- 1,295
- 249
- Версия MoonLoader
- .026-beta
написал для себя выставку товаров потому что в скриптах нет функции сохранения продажи после перезахода, каждый раз выбрать надо что продавать. а палатку купить не могу (да и не факт что там есть такая функция).
короче все работает круто и как должно, просто цену не ставит который должен. на 407 линии код для выставки или вот в спойлер. ставит на все товары одно и ту же цену
уже 3ый день пытаюсь дописать и ничего не выходит, дайте хоть совет пожалуйста
72-398 линии просто скипайте, это для перехода страниц
короче все работает круто и как должно, просто цену не ставит который должен. на 407 линии код для выставки или вот в спойлер. ставит на все товары одно и ту же цену
уже 3ый день пытаюсь дописать и ничего не выходит, дайте хоть совет пожалуйста
Lua:
-- ставка цен (надо активировать команду для переменной - vistavka)
if id == 3060 and vistavka then
for t, p in pairs(mysell) do
--lua_thread.create(function()
if text:gmatch(t) and vistavka then
lua_thread.create(function()
wait(100)
sampSendDialogResponse(3060, 1, 0, p)
end)
else--[[if not text:gmatch(t) and vistavka then]]
lua_thread.create(function()
wait(30)
sampSendDialogResponse(3060, 0, 0, false)
end)
end
-- end)
end
end
72-398 линии просто скипайте, это для перехода страниц
Lua:
-- библиотеки
require "lib.moonloader"
local sampev = require "lib.samp.events"
local keys = require "vkeys"
local mysell = {
["Метла"] = "1500999",
["Хотдог"] = "1400999",
["Монокль"] = "1300999"
}
-- vars
local lavka_name = "Sell"
local lavka_color = 1
local lavka_type = 0
local vistavka = true
local sell_scan = false
local delay1 = 400
local delay2 = 1500
local delay3 = 1500
local delayx = 500
-- переменные
local lavka_colors = {"{E94E4E}", "{E94EC0}", "{B64EE9}", "{664EE9}", "{4E9EE9}", "{4ED7E9}", "{4EE9A4}", "{4EE960}", "{9EE94E}", "{D2E94E}", "{E9BD4E}", "{E9854E}", "{A63030}", "{303FA6}", "{30A641}", "{FFFFFF}"}
local page, lastpage = 0, 0
local tovar_kolvo = 0
local tovar_pages = 0
local vistavka_launch = false
local gonext = false
-- main
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(tonumber(delay2)) end
--if not doesDirectoryExist(getWorkingDirectory().."/config/MyLavka") then createDirectory("moonloader\\config\\MyLavka") end
--if not doesFileExist("moonloader/config/MyLavka/mylavka.ini") or not doesFileExist("moonloader/config/MyLavka/tovar_sell.ini") or not doesFileExist("moonloader/config/MyLavka/tovar_buy.ini") then inicfg.save(settings, "MyLavka\\mylavka") inicfg.save(tovar_sell, "MyLavka\\tovar_sell") inicfg.save(tovar_buy, "MyLavka\\tovar_buy") end
-- проверить в чате перезапуски скрипта
sampAddChatMessage("{80ff80}My Lavka", -1)
-- добавление команд
sampRegisterChatCommand("sellscan", function()
sell_scan = not sell_scan
sampAddChatMessage("{80ff80}Сканирование " .. tostring(sell_scan), -1)
end)
sampRegisterChatCommand("autoprice", function()
vistavka = not vistavka
sampAddChatMessage("{80ff80}Выставление " .. tostring(vistavka), -1)
end)
sampRegisterChatCommand("autosell", function()
vistavka_launch = not vistavka_launch
sampAddChatMessage("{80ff80}Выставление " .. tostring(vistavka_launch), -1)
end)
sampRegisterChatCommand("raz", function(tovar_kolvo1)
lua_thread.create(function()
tovar_kolvo = tonumber(tovar_kolvo1)
tovar_pages = math.ceil(tonumber(tovar_kolvo) / 19)
sampAddChatMessage("{80ff80}Выставить {ff00ff}" .. tovar_kolvo .. " {80ff80}товаров на {ff00ff}" .. tovar_pages .. "{80ff80} страниц.", -1)
end)
end)
while true do
wait(0)
-- перейти на следующую страницу (надо активировать команду для переменной - vistavka)
if not sampIsChatInputActive() and sampIsDialogActive(3050) and vistavka and isKeyJustPressed(VK_NUMPAD3) then
sampSendDialogResponse(3050, 1, 20, false)
end
if vistavka and vistavka_launch then
if tovar_kolvo < 20 then
for i = 1, tonumber(tovar_kolvo) do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
elseif 19 < tovar_kolvo and tovar_kolvo < 39 then
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, tonumber(tovar_kolvo)-19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
elseif 38 < tovar_kolvo and tovar_kolvo < 58 then
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, tonumber(tovar_kolvo)-38 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
elseif 57 < tovar_kolvo and tovar_kolvo < 77 then
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, tonumber(tovar_kolvo)-57 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
elseif 76 < tovar_kolvo and tovar_kolvo < 96 then
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, tonumber(tovar_kolvo)-76 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
elseif 95 < tovar_kolvo and tovar_kolvo < 115 then
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, tonumber(tovar_kolvo)-95 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
elseif 114 < tovar_kolvo and tovar_kolvo < 134 then
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, tonumber(tovar_kolvo)-114 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
elseif 133 < tovar_kolvo and tovar_kolvo < 153 then
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, 19 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
sampSendDialogResponse(3050, 1, 20, false)
wait(tonumber(delay1))
for i = 1, tonumber(tovar_kolvo)-133 do
wait(tonumber(delay1))
sampSendDialogResponse(3040, 1, 0, false)
wait(tonumber(delay1))
sampSendDialogResponse(3050, 1, i-1, false)
wait(tonumber(delay2))
end
vistavka_launch = false
end
end
end
end
-- sampev
function sampev.onShowDialog(id, style, title, button1, button2, text) -- sampSendDialogResponse(int id, int button, int listitem, zstring input)
-- ставка цен (надо активировать команду для переменной - vistavka)
if id == 3060 and vistavka then
for t, p in pairs(mysell) do
--lua_thread.create(function()
if text:gmatch(t) and vistavka then
lua_thread.create(function()
wait(100)
sampSendDialogResponse(3060, 1, 0, p)
end)
else--[[if not text:gmatch(t) and vistavka then]]
lua_thread.create(function()
wait(30)
sampSendDialogResponse(3060, 0, 0, false)
end)
end
-- end)
end
end
-- если надо указать количество в ручную
--[[if id == 3060 and text:find("Введите количество и цену за один товар") and not vistavka then
lua_thread.create(function()
wait(tonumber(delay2))
sampSetCurrentDialogEditboxText(",100")
end)
end ]]
--[[
-- сканирование предметов для продажи (надо активировать команду для переменной - sell_scan)
if id == 3040 and text:find("Выставить товар на продажу") and sell_scan then
sampSendDialogResponse(id, 1, 0, false)
return false
end
-- сканирование предметов для продажи
if id == 3050 and title:find("Страница %d%/%d") and sell_scan then
page, lastpage = title:match("Страница (%d)%/(%d)")
if page == lastpage then
sell_scan = false
sampSendDialogResponse(id, 0, 0, false)
else
sampSendDialogResponse(id, 1, 20, false)
return false
end
end
]]
-- аренда лавки
if id == 3010 and text:find("Стоимость аренды лавки") then
sampSendDialogResponse(id, 1, 0, false)
return false
end
-- настройка лавки
if id == 3030 and title:find("Выберете цвет") then
sampSendDialogResponse(3030, 1, lavka_color, false)
return false
end
if id == 3021 and title:find("Выберите тип вашей лавки") then
sampSendDialogResponse(id, 1, lavka_type, false) -- 0 продавать 1 покупать
return false
end
if id == 3020 and text:find("Введите название вашей лавки") then
sampSendDialogResponse(id, 1, 0, lavka_name)
sampAddChatMessage("{80ff80}Название лавки: " .. lavka_colors[tonumber(lavka_color) + 1] .. lavka_name, -1)
return false
end
end