В этой статье я постараюсь немного объяснить серверную часть.
Наш главный помощник - вики
На сервер сайде можно творить чудеса с помощью кривого кода
Пример: код без каких либо проверок
Начнём с net'ов.
Неты можно отсылать игроку при любом действии.
Страница на вики
Ниже предоставлю свой небольшой код:
SQL запросы
При помощи SQL запроса можно записать данные в дата базу локального сервера
На этом пока всё
Постараюсь позже записать ролик, с более детальным рассказом об этом, если лень не будет
Наш главный помощник - вики
На сервер сайде можно творить чудеса с помощью кривого кода
Пример: код без каких либо проверок
Начнём с net'ов.
Неты можно отсылать игроку при любом действии.
Страница на вики
Ниже предоставлю свой небольшой код:
Lua:
-- shared
if CLIENT then
local fr = vgui.Create('EditablePanel')
fr:SetSize(ScrW(), ScrH())
fr:SetTerm(2) -- фрейм будет виден 2 секунды, далее скроется
fr:MakePopup()
local bt = vgui.Create('DButton', fr)
bt:Dock(BOTTOM)
bt:SetText('Отправка нета')
bt.DoClick = function()
net.Start('myfirstnet') -- запускаем нет
net.WriteString('Привет сервер!') -- отправляем значение, может быть любое. Для отправки данных из таблиц рекоменду использовать net.WriteInt
net.SendToServer() -- отправляем на сервер
end
elseif SERVER then
util.AddNetworkString('myfirstnet') -- создаем нет
net.Receive('myfirstnet', function() -- ресиваем нет
local p = net.ReadString() -- читаем данные с клиента
print(p) -- принтим результат
end)
end
SQL запросы
При помощи SQL запроса можно записать данные в дата базу локального сервера
Код:
sql.Query( "CREATE TABLE IF NOT EXISTS myfirstsql(`name` TEXT, `steamid64` TEXT)")
hook.Add('PlayerInitialSpawn', 'myfirstsqlzapros', function(ply)
local zapr = sql.Query('SELECT * FROM `myfirstsql` WHERE `name` ='..sql.SQLStr(ply:Name())..'AND `steamid64` ='..sql.SQLStr(ply:SteamID64())..';') -- делаем запрос
if (zapr) then -- если
print('огогогого') -- принтим в консоль
end -- конец
end)
На этом пока всё
Постараюсь позже записать ролик, с более детальным рассказом об этом, если лень не будет