База данных / Хостинг / Как работать

Статус
В этой теме нельзя размещать новые ответы.

Cosmo

Известный
Автор темы
Друг
646
2,597
Версия MoonLoader
.026-beta
Всем здрасьте. Надоело топтаться на месте и хочу освоить такую вещь как добавления для LUA-скриптов "онлайн базы данных". Есть несколько вопросов по этому поводу.
1) Какой хостинг/сервер лучше подойдёт для каких-то простых целей, например просто добавление-удаление ников игроков в какой-то список, дабы потом скрипт мог с этим работать в режиме реального времени
2) Как с этим работать впринципе, через какие библиотеки и т.д.
3) Есть ли какие-то готовые, простые примеры без всякой лишней дряни, в качестве исходника
Извиняюсь если что то не так назвал или как то не правильно выразился
 
Решение
Самый простой пример через pastebin.com
upd: Ссылка должна был raw
Lua:
--[[
--
(c)alexandersaxon
--
]]--
local requests = require('requests') -- библиотека requests
function main()
    repeat wait(0) until isSampAvailable()
    local request = requests.get('ссылка на текст с никами, каждый ник с новой строчки') -- получаем ссылку
    local nick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) -- получаем свой ник
    local function res()
        for n in request.text:gmatch('[^\r\n]+') do -- получаем список ников из ссылки
            if nick:find(n) then return true end  -- если находит ник то все гуд и скрипт работает дальше
        end
        return false
    end
    if not res() then error('не привязан иди...

Fott

Простреленный
3,431
2,267
Самый простой пример через pastebin.com
upd: Ссылка должна был raw
Lua:
--[[
--
(c)alexandersaxon
--
]]--
local requests = require('requests') -- библиотека requests
function main()
    repeat wait(0) until isSampAvailable()
    local request = requests.get('ссылка на текст с никами, каждый ник с новой строчки') -- получаем ссылку
    local nick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) -- получаем свой ник
    local function res()
        for n in request.text:gmatch('[^\r\n]+') do -- получаем список ников из ссылки
            if nick:find(n) then return true end  -- если находит ник то все гуд и скрипт работает дальше
        end
        return false
    end
    if not res() then error('не привязан иди покупай') end -- если нету ника тогда скрипт выдает в лог ошибку "не привязан иди покупай"
    sampAddChatMessage('скрипт загружен автор вася пупочкин', -1) -- если скрипт загрузился то напишет в чат
end
 
Последнее редактирование:

winten

Потрачен
409
182
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1) лучше использовать vds. можно полностью настроить как тебе нужно, но это не так просто, как например виртуальный хостинг (shared hosting)
2) хоть как. urlDownloadToFile/requests/etc
3) исходник чего тебе нужен?
 
  • Нравится
Реакции: Cosmo

Cosmo

Известный
Автор темы
Друг
646
2,597
1) лучше использовать vds. можно полностью настроить как тебе нужно, но это не так просто, как например виртуальный хостинг (shared hosting)
2) хоть как. urlDownloadToFile/requests/etc
3) исходник чего тебе нужен?
Исходник, скрипта, в котором реализован самый простой способ получения списка(массива) с никами игроков допустим. Возможно плохо искал, но то что нужно попадалось только с закрытым кодом
 

winten

Потрачен
409
182
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Исходник, скрипта, в котором реализован самый простой способ получения списка(массива) с никами игроков допустим. Возможно плохо искал, но то что нужно попадалось только с закрытым кодом
зачем клиенту передавать все ники?
 

Cosmo

Известный
Автор темы
Друг
646
2,597
зачем клиенту передавать все ники?
Хорошо, просто исходник, который взаимодействует с базой никнеймов на хостинге (Может, удалять, редактировать, добавлять)
 

winten

Потрачен
409
182
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Злость
Реакции: Cosmo

Smeruxa

Известный
1,297
681
Асинхронные запросы <3
Заходишь на гитхаб.
Создаешь json таблицу
Вводишь ник string типа
выполняешь асинхронный запрос
Либой cjson ( как то так ) декодишь
local table = cjson.decode(table)
дальше перебираешь таблицу
for k,v in ipairs(table) do
Проверяешь на ник
if sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(playerPed)) == v then
thisScript():unload()
 
  • Вау
Реакции: Cosmo

Fott

Простреленный
3,431
2,267
Асинхронные запросы <3
Заходишь на гитхаб.
Создаешь json таблицу
Вводишь ник string типа
выполняешь асинхронный запрос
Либой cjson ( как то так ) декодишь
local table = cjson.decode(table)
дальше перебираешь таблицу
for k,v in ipairs(table) do
Проверяешь на ник
if sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(playerPed)) == v then
thisScript():unload()
Патч thisScript().unload() и твоя привязка пошла куда подальше
 

Fott

Простреленный
3,431
2,267
if not lic then else end и тогда нет смысла отгружать скрипт
Инжектим в скрипт перменную lox с значением true (lic 3 буквы lox 3 буквы), в хекс едиторе меняем в проверке lic на lox и сохраняем. Вуаля. Кряк готов за минуту
 
Статус
В этой теме нельзя размещать новые ответы.