- 95
- 526
Модуль для более комфортной работы с максимально удобной площадкой samp-store. Короче полноценный парсер на луа
Позволяет смотреть каталог аккаунтов, каталог покупок, покупать аккаунты, выставлять аккаунты без нужды в дополнительном подтверждении через чекер
Необходимые библиотеки для работы (переместить по пути /scripts/libs/):
Важно! Перед началом использования вам нужен аккаунт в сервисе решения капчи - rucaptcha.com
После регистрации необходимо пополнить баланс (50 руб. достаточно) и после найти API KEY, который находится во вкладке «Настройки аккаунта» - rucaptcha.com/setting
Функции:
[TH][FONT=courier new]Аргументы функции
[/TH]
[/TD]
[TD]
[/TD]
[/TR]
[/TABLE]
[TR]
[TH][FONT=courier new]Аргументы функции
[/TH]
[TH][/TH]
[/TR]
[TD][TABLE]
[TR]
[TD][CENTER][B]main (обязательный)[/B][/CENTER][/TD]
[TD][CENTER][SPOILER="список аргументов"]
[TABLE]
[TR]
[TD][CENTER]server[/CENTER][/TD]
[TD][LEFT]IP:PORT сервера[/LEFT][/TD]
[TD][CENTER]price[/CENTER][/TD]
[TD][LEFT]цена в рублях[/LEFT][/TD]
[TD][CENTER]reg[/CENTER][/TD]
[TD][LEFT]рег. данные (IP only)
(можно оставить поле пустым)[/LEFT][/TD]
[TD][CENTER]code[/CENTER][/TD]
[TD][LEFT]код безопасности
(можно оставить поле пустым)[/LEFT][/TD]
[TD][CENTER]skin[/CENTER][/TD]
[TD][LEFT]ID скина[/LEFT][/TD]
[TD][CENTER]mob[/CENTER][/TD]
[TD][LEFT]привязка мобильника
(0 - нет привязки, 1 - есть)[/LEFT][/TD]
[TD][CENTER]email[/CENTER][/TD]
[TD][LEFT]привязка email
(0 - нет привязки, 1 - есть)[/LEFT][/TD]
[TD][CENTER]lvl[/CENTER][/TD]
[TD][LEFT]уровень[/LEFT][/TD]
[TD][CENTER]money[/CENTER][/TD]
[TD][LEFT]деньги[/LEFT][/TD]
[TD][CENTER]alogin[/CENTER][/TD]
[TD][LEFT]ник[/LEFT][/TD]
[TD][CENTER]password[/CENTER][/TD]
[TD][LEFT]пароль[/LEFT][/TD]
[TD][CENTER]info[/CENTER][/TD]
[TD][LEFT]инфа после покупки
(можно оставить поле пустым)[/LEFT][/TD]
[TD][CENTER]tittle[/CENTER][/TD]
[TD][LEFT]заголовок
(можно оставить поле пустым)[/LEFT][/TD]
[/SPOILER][/CENTER][/TD]
[/TR]
[TR]
[TD]
[TD]
[/TR]
[TR]
[TD]
[TD]
[/TR]
[TR]
[TD]
[TD]
[/TR]
[TR]
[TD]
[TD]
[/TR]
[TR]
[TD]
[TD]
[/TR]
[TR]
[TD]
[TD]
[/TR]
[TR]
[TD]
[TD]
[/TR]
[/TABLE][/TD]
[TD]
[/TD]
[/TR]
[/TABLE][/font][/font][/size][/font][/size][/font]
Позволяет смотреть каталог аккаунтов, каталог покупок, покупать аккаунты, выставлять аккаунты без нужды в дополнительном подтверждении через чекер
Необходимые библиотеки для работы (переместить по пути /scripts/libs/):
- requests (вместе уже идут либы cjson, base64, md5)
- encoding (НУЖНЫ ТОЛЬКО encoding.lua и iconv.dll ИЗ ПАПКИ /moonloader/lib/)
- htmlparser
- Зависимость от rucaptcha (придётся тратить ~0.16 руб. каждые 10 дней для решения рекапчи)
- Синхронные запросы
- Установить требуемые библиотеки
- Закинуть ss_api.lua по пути /scripts/libs/
Важно! Перед началом использования вам нужен аккаунт в сервисе решения капчи - rucaptcha.com
После регистрации необходимо пополнить баланс (50 руб. достаточно) и после найти API KEY, который находится во вкладке «Настройки аккаунта» - rucaptcha.com/setting
Функции:
module.initSession(login, password, rucaptcha_api_key)- Функция для инициализации сессии на samp-store. Требует логин, пароль от samp-store и так же API KEY от сервиса rucaptcha
Возвращает true при успешной авторизации, false при ошибке
После авторизации создаётся cookie файл в корневой папке бота, сессия будет активна 10 дней
Для проверки на инициализацию и валидность cookie есть две функции -isSessionInit()иisValidSession()соответственно
| Аргументы функции | |||||||
|---|---|---|---|---|---|---|---|
|
Lua:
|
module.parseCatalog(details)- Функция для просмотра каталога с аккаунтами. Есть возможность передавать необходимые фильтры в details для более точечной выборки
Необязательно передавать в details все возможные аргументы
Возвращает массив с аккаунтами из каталога в случае успеха
| Аргументы функции | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Lua:
|
module.parsePurchases(details)- Функция для просмотра своих покупок. Есть возможность передавать необходимые фильтры в details для более точечной выборки
Необязательно передавать в details все возможные аргументы
Возвращает массив с аккаунтами из списка покупок в случае успеха
| Аргументы функции | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Lua:
|
module.getAccountInfo()- Функция для получения данных про ваш аккаунт samp-store
Возвращает API ключ, никнейм, баланс, замороженный баланс в случае успеха
| Аргументы функции | |||
|---|---|---|---|
|
Lua:
|
module.parseAccount(store_id)- Функция для просмотра информации об аккаунте
Возвращает массив с данными в случае успеха
Дополнительно возвращаетlogin,password,reg_ip,codeесли аккаунт куплен вами
Дополнительно возвращаетpriceесли этот аккаунт выставлен на продажу
| Аргументы функции | |||
|---|---|---|---|
|
Lua:
|
module.buyAccount(store_id)- Функция для покупки аккаунта на площадке. Покупка обычно занимает от 30 до 120 секунд в зависимости от нагруженности чекера
Возвращает массив с данными в случае успеха
[TH][FONT=courier new]Аргументы функции
| [TABLE] [TR] [TD][CENTER][B]store_id[/B][/CENTER] | [CENTER]идентификационный номер аккаунта[/CENTER] |
[TD]
Lua:
local res, data = store.buyAccount(228)
if res then
--[[
возвращает массив:
score
cash
phone
email
vk
reg
skin
server
seller
seller_rep
login
password
reg_ip
code
price
--]]
print("Successful buy!")
print(string.format("Login %s", data.login))
print(string.format("Pass %s", data.password))
print(string.format("RegIP %s", data.reg_ip))
print(string.format("SecCode %s", data.code))
else
print(string.format("buyAccount error! Error: %s", data))
end
[/TR]
[/TABLE]
[ICODE]module.uploadAccount(main, stats, business, cars, houses, licenses, skills, inventory)[/ICODE]
- [FONT=verdana][SIZE=3][FONT=verdana][SIZE=3]Функция для загрузки и выставления аккаунта на продажу
Функция имеет как обязательные аргументы, так и те, которые можно не передавать
Автоматически подтверждает аккаунт без необходимости проверять через чекер
Возвращает идентификационный номер загруженного аккаунта в случае успеха
[TR]
[TH][FONT=courier new]Аргументы функции
[TH][/TH]
[/TR]
[TD][TABLE]
[TR]
[TD][CENTER][B]main (обязательный)[/B][/CENTER][/TD]
[TD][CENTER][SPOILER="список аргументов"]
[TABLE]
[TR]
[TD][CENTER]server[/CENTER][/TD]
[TD][LEFT]IP:PORT сервера[/LEFT][/TD]
[TD][CENTER]price[/CENTER][/TD]
[TD][LEFT]цена в рублях[/LEFT][/TD]
[TD][CENTER]reg[/CENTER][/TD]
[TD][LEFT]рег. данные (IP only)
(можно оставить поле пустым)[/LEFT][/TD]
[TD][CENTER]code[/CENTER][/TD]
[TD][LEFT]код безопасности
(можно оставить поле пустым)[/LEFT][/TD]
[TD][CENTER]skin[/CENTER][/TD]
[TD][LEFT]ID скина[/LEFT][/TD]
[TD][CENTER]mob[/CENTER][/TD]
[TD][LEFT]привязка мобильника
(0 - нет привязки, 1 - есть)[/LEFT][/TD]
[TD][CENTER]email[/CENTER][/TD]
[TD][LEFT]привязка email
(0 - нет привязки, 1 - есть)[/LEFT][/TD]
[TD][CENTER]lvl[/CENTER][/TD]
[TD][LEFT]уровень[/LEFT][/TD]
[TD][CENTER]money[/CENTER][/TD]
[TD][LEFT]деньги[/LEFT][/TD]
[TD][CENTER]alogin[/CENTER][/TD]
[TD][LEFT]ник[/LEFT][/TD]
[TD][CENTER]password[/CENTER][/TD]
[TD][LEFT]пароль[/LEFT][/TD]
[TD][CENTER]info[/CENTER][/TD]
[TD][LEFT]инфа после покупки
(можно оставить поле пустым)[/LEFT][/TD]
[TD][CENTER]tittle[/CENTER][/TD]
[TD][LEFT]заголовок
(можно оставить поле пустым)[/LEFT][/TD]
[/TR]
[TR]
[TD]
stats
[/TD][TD]
статистика аккаунта
вложенная таблица с полями
name - название столбца
value - значение столбца
[/TD]вложенная таблица с полями
name и valuename - название столбца
value - значение столбца
[/TR]
[TR]
[TD]
business
[/TD][TD]
таблица с перечислением бизнесов
[/TD][/TR]
[TR]
[TD]
cars
[/TD][TD]
таблица с перечислением машин
[/TD][/TR]
[TR]
[TD]
houses
[/TD][TD]
таблица с перечислением домов
[/TD][/TR]
[TR]
[TD]
licenses
[/TD][TD]
лицензии
вложенная таблица с полями
name - название лицении
value - значение
[/TD]вложенная таблица с полями
name и valuename - название лицении
value - значение
[/TR]
[TR]
[TD]
skills
[/TD][TD]
скиллы оружия
вложенная таблица с полями
name - название оружия
value - значение (от 0 до 100)
[/TD]вложенная таблица с полями
name и valuename - название оружия
value - значение (от 0 до 100)
[/TR]
[TR]
[TD]
inventory
[/TD][TD]
таблица с перечислением содержимого инвентаря
[/TD][/TR]
[/TABLE][/TD]
[TD]
[URL='https://i.imgur.com/ikGjcuc.png']СКРИН что получится на выходе[/URL]
[CODE lang="lua" highlight="1"]local res, acc_id = store.uploadAccount(
{
["server"] = "80.66.82.144:7777",
["price"] = 300,
["reg"] = "127.0.0.1",
["code"] = "",
["skin"] = 78,
["mob"] = 0,
["email"] = 0,
["lvl"] = 5,
["money"] = 5000000,
["alogin"] = "Test_Test",
["password"] = "123456789",
["info"] = "",
["tittle"] = "Тестовое описание"
},
{
{name = "Уровень", value = 5},
{name = "Наличные деньги", value = 500000},
{name = "Деньги в банке", value = 50000000},
{name = "Номер телефона", value = 666666},
{name = "Предупреждения", value = 0},
{name = "Пол", value = "Мужчина"},
{name = "Уровень розыска", value = 0},
{name = "Организация", value = "LSPD"},
{name = "Ранг", value = "Рядовой"}
},
{
"Продуктовый магазин №17",
"АЗС №55"
},
{
"Infernus",
"SandKing",
"Faggio"
},
{
"Дом 171"
},
{
{name = "Лицензия на авто", value = "Нет"},
{name = "Лицензия на мото", value = "Есть"},
{name = "Лицензия на полёты", value = "Есть"}
},
{
{name = "Pistol", value = "0"},
{name = "Silenced Pistol", value = "0"},
{name = "Desert Eagle", value = "0"},
{name = "ShotGun", value = "0"},
{name = "SawnOff ShotGun", value = "0"},
{name = "SPAS12 ShotGun", value = "0"},
{name = "Micro UZI", value = "0"},
{name = "MP5", value = "0"},
{name = "AK47", value = "0"},
{name = "M4A1", value = "0"},
{name = "SniperRifle", value = "0"}
},
{
"Ящик Пандоры",
"Яблочный сок"
}
)
if res then
print(string.format("uploadAccount OK. StoreID %d", acc_id))
else
print(string.format("uploadAccount error! Error: %s", acc_id))
end[/CODE]
[CODE lang="lua" highlight="1"]local res, acc_id = store.uploadAccount(
{
["server"] = "80.66.82.144:7777",
["price"] = 300,
["reg"] = "127.0.0.1",
["code"] = "",
["skin"] = 78,
["mob"] = 0,
["email"] = 0,
["lvl"] = 5,
["money"] = 5000000,
["alogin"] = "Test_Test",
["password"] = "123456789",
["info"] = "",
["tittle"] = "Тестовое описание"
},
{
{name = "Уровень", value = 5},
{name = "Наличные деньги", value = 500000},
{name = "Деньги в банке", value = 50000000},
{name = "Номер телефона", value = 666666},
{name = "Предупреждения", value = 0},
{name = "Пол", value = "Мужчина"},
{name = "Уровень розыска", value = 0},
{name = "Организация", value = "LSPD"},
{name = "Ранг", value = "Рядовой"}
},
{
"Продуктовый магазин №17",
"АЗС №55"
},
{
"Infernus",
"SandKing",
"Faggio"
},
{
"Дом 171"
},
{
{name = "Лицензия на авто", value = "Нет"},
{name = "Лицензия на мото", value = "Есть"},
{name = "Лицензия на полёты", value = "Есть"}
},
{
{name = "Pistol", value = "0"},
{name = "Silenced Pistol", value = "0"},
{name = "Desert Eagle", value = "0"},
{name = "ShotGun", value = "0"},
{name = "SawnOff ShotGun", value = "0"},
{name = "SPAS12 ShotGun", value = "0"},
{name = "Micro UZI", value = "0"},
{name = "MP5", value = "0"},
{name = "AK47", value = "0"},
{name = "M4A1", value = "0"},
{name = "SniperRifle", value = "0"}
},
{
"Ящик Пандоры",
"Яблочный сок"
}
)
if res then
print(string.format("uploadAccount OK. StoreID %d", acc_id))
else
print(string.format("uploadAccount error! Error: %s", acc_id))
end[/CODE]
[URL='https://i.imgur.com/iuS0Bvr.png']СКРИН что получится на выходе[/URL]
[CODE lang="lua" highlight="1"]local res, acc_id = store.uploadAccount(
{
["server"] = "80.66.82.128:7777",
["price"] = 2000,
["reg"] = "",
["code"] = "",
["skin"] = 305,
["mob"] = 1,
["email"] = 1,
["lvl"] = 20,
["money"] = 0,
["alogin"] = "Test_Test",
["password"] = "987654321",
["info"] = "Описание покупателю после покупки",
["tittle"] = "Тестовое описание"
},
{
{name = "Уровень", value = 20},
{name = "Организация", value = "Нет"},
{name = "Ранг", value = "Микрочелик"}
},
_,
_,
_,
{
{name = "Лицензия на авто", value = "Нет"},
{name = "Лицензия на мото", value = "Есть"},
{name = "Лицензия на полёты", value = "Есть"}
},
{
{name = "Pistol", value = "100"},
{name = "Silenced Pistol", value = "33"},
{name = "Desert Eagle", value = "100"},
{name = "ShotGun", value = "100"},
{name = "SawnOff ShotGun", value = "0"},
{name = "SPAS12 ShotGun", value = "0"},
{name = "Micro UZI", value = "69"},
{name = "MP5", value = "5"},
{name = "AK47", value = "0"},
{name = "M4A1", value = "100"},
{name = "SniperRifle", value = "0"}
},
_
)
if res then
print(string.format("uploadAccount OK. StoreID %d", acc_id))
else
print(string.format("uploadAccount error! Error: %s", acc_id))
end[/CODE]
[CODE lang="lua" highlight="1"]local res, acc_id = store.uploadAccount(
{
["server"] = "80.66.82.128:7777",
["price"] = 2000,
["reg"] = "",
["code"] = "",
["skin"] = 305,
["mob"] = 1,
["email"] = 1,
["lvl"] = 20,
["money"] = 0,
["alogin"] = "Test_Test",
["password"] = "987654321",
["info"] = "Описание покупателю после покупки",
["tittle"] = "Тестовое описание"
},
{
{name = "Уровень", value = 20},
{name = "Организация", value = "Нет"},
{name = "Ранг", value = "Микрочелик"}
},
_,
_,
_,
{
{name = "Лицензия на авто", value = "Нет"},
{name = "Лицензия на мото", value = "Есть"},
{name = "Лицензия на полёты", value = "Есть"}
},
{
{name = "Pistol", value = "100"},
{name = "Silenced Pistol", value = "33"},
{name = "Desert Eagle", value = "100"},
{name = "ShotGun", value = "100"},
{name = "SawnOff ShotGun", value = "0"},
{name = "SPAS12 ShotGun", value = "0"},
{name = "Micro UZI", value = "69"},
{name = "MP5", value = "5"},
{name = "AK47", value = "0"},
{name = "M4A1", value = "100"},
{name = "SniperRifle", value = "0"}
},
_
)
if res then
print(string.format("uploadAccount OK. StoreID %d", acc_id))
else
print(string.format("uploadAccount error! Error: %s", acc_id))
end[/CODE]
[URL='https://i.imgur.com/4UXiX3X.png']СКРИН что получится на выходе[/URL]
[CODE lang="lua" highlight="1"]local res, acc_id = store.uploadAccount(
{
["server"] = "185.169.134.173:7777",
["price"] = 777,
["reg"] = "",
["code"] = "",
["skin"] = 246,
["mob"] = 0,
["email"] = 0,
["lvl"] = 101,
["money"] = 100000000,
["alogin"] = "Test_Test",
["password"] = "987654321",
["info"] = "Описание покупателю после покупки",
["tittle"] = "Тестовое описание"
},
_,
_,
_,
_,
_,
_,
_
)
if res then
print(string.format("uploadAccount OK. StoreID %d", acc_id))
else
print(string.format("uploadAccount error! Error: %s", acc_id))
end[/CODE]
[CODE lang="lua" highlight="1"]local res, acc_id = store.uploadAccount(
{
["server"] = "185.169.134.173:7777",
["price"] = 777,
["reg"] = "",
["code"] = "",
["skin"] = 246,
["mob"] = 0,
["email"] = 0,
["lvl"] = 101,
["money"] = 100000000,
["alogin"] = "Test_Test",
["password"] = "987654321",
["info"] = "Описание покупателю после покупки",
["tittle"] = "Тестовое описание"
},
_,
_,
_,
_,
_,
_,
_
)
if res then
print(string.format("uploadAccount OK. StoreID %d", acc_id))
else
print(string.format("uploadAccount error! Error: %s", acc_id))
end[/CODE]
[/TR]
[/TABLE][/font][/font][/size][/font][/size][/font]
Вложения
Последнее редактирование: