Всем привет. Люди меня спрашивали: "Как пользоваться
Давайте сначала я вам расскажу, что делает данная функция. Данная функция позволяет делать любые изменения и действия в структурах SA:MP. Теперь покажу как пользоваться функцией.
Для начала давайте сделаем простенький скрипт и подключим к нему библиотеку "SA-MP API"
Мы сделали простой скрипт и подключили библиотеку, к примеру я хочу получить свой ник, давайте это сделаем! Но для начала перейдем в папку
Как мы видим "stSAMP" названа в библиотеке как "pBase", именно это название нам и нужно будет. Наш ник хранится в структуре "stPlayerPool" (можно конечно его взять и из "stLocalPlayer", но я буду его брать из "stPlayerPool"), давайте я покажу как из "pBase" перейти в "stPlayerPool":
Откроем файл "stSAMP.lua" и увидим такую картину:
Наша задача перейти в stSAMPPools (там хранятся все пулы SA:MP), обратим внимание на эту строчку:
Мы видим, что тут "stSAMPPools" назван как pPools, давайте перейдем в "stSAMPPools" по примеру выше:
Теперь откроем файл "stSAMPPools" и увидим там вот такую строчку:
Мы уже почти добрались до структуры "stPlayerPool", она названа как "pPlayer", снова припишем ее в коде:
Теперь мы находимся в "stPlayerPool", тут и хранится наш ник, а именно в этой строке:
Можем вывести наш ник на экран, делается это так:
Заключение: Как вы наверно могли понять, с помощью этой функции можно делать очень крутых вещей. Я надеюсь, что я довольно понятно все объяснил, если у кого-то будут вопросы, пишите в тему :)
module.Get()
в SA-MP API?" В этой теме я покажу и расскажу как пользоваться данной функцией.Давайте сначала я вам расскажу, что делает данная функция. Данная функция позволяет делать любые изменения и действия в структурах SA:MP. Теперь покажу как пользоваться функцией.
Для начала давайте сделаем простенький скрипт и подключим к нему библиотеку "SA-MP API"
Lua:
local dl = require "SA-MP API.init" -- подключаем библиотеку
function main()
while not dl.GetIsAvailable() do wait(0) end
wait(-1)
end
lib/SA-MP API/samp/*ВЕРСИЯ САМП ПОД КОТОРУЮ ВЫ ПИШИТЕ СКРИПТ*/
. В папке мы увидим все структуры с которыми мы можем работать, самая главная в данной библиотеке структура stSAMP.lua
именно она прописывается в самом начале нашей функции. Всего библиотека включает в себя 7 главных структур от которых мы можем "отталкиваться" для поиска нужной нам структуры и значения:
Lua:
pChat = stChatInfo
pChatInput = stInputInfo
pKillList = stKillInfo
pBase = stSAMP
pScoreboard = stScoreboardInfo
pRecentDialog = stDialogInfo
pMisc = stGameInfo
Lua:
local dl = require "SA-MP API.init" -- подключаем библиотеку
function main()
while not dl.GetIsAvailable() do wait(0) end
local this = dl.Get().pBase -- сейчас мы находимся в pBase
if ( this == nil ) then -- проверка на существование структуры, если функция Get() возвращает 0, то крашим скрипт с ошибкой
error("pBase = nil")
end
wait(-1)
end
Откроем файл "stSAMP.lua" и увидим такую картину:
Наша задача перейти в stSAMPPools (там хранятся все пулы SA:MP), обратим внимание на эту строчку:
Мы видим, что тут "stSAMPPools" назван как pPools, давайте перейдем в "stSAMPPools" по примеру выше:
Lua:
local dl = require "SA-MP API.init" -- подключаем библиотеку
function main()
while not dl.GetIsAvailable() do wait(0) end
local this = dl.Get().pBase.pPools -- ПРИПИСАЛИ К pBase "pPools"
if ( this == nil ) then -- проверка на существование структуры, если функция Get() возвращает 0, то крашим скрипт с ошибкой
error("pBase = nil")
end
wait(-1)
end
Мы уже почти добрались до структуры "stPlayerPool", она названа как "pPlayer", снова припишем ее в коде:
Lua:
local dl = require "SA-MP API.init" -- подключаем библиотеку
function main()
while not dl.GetIsAvailable() do wait(0) end
local this = dl.Get().pBase.pPools.pPlayer -- ПРИПИСАЛИ К pPools "pPlayer"
if ( this == nil ) then -- проверка на существование структуры, если функция Get() возвращает 0, то крашим скрипт с ошибкой
error("pBase = nil")
end
wait(-1)
end
Можем вывести наш ник на экран, делается это так:
Lua:
local dl = require "SA-MP API.init" -- подключаем библиотеку
function main()
while not dl.GetIsAvailable() do wait(0) end
local this = dl.Get().pBase.pPools.pPlayer -- ПРИПИСАЛИ К pPools "pPlayer"
if ( this == nil ) then -- проверка на существование структуры, если функция Get() возвращает 0, то крашим скрипт с ошибкой
error("pBase = nil")
end
MyNickName = this.strLocalPlayerName -- записали ник из структуры в переменную
printStringNow(MyNickName, 5000) -- вывели этот ник
wait(-1)
end
Заключение: Как вы наверно могли понять, с помощью этой функции можно делать очень крутых вещей. Я надеюсь, что я довольно понятно все объяснил, если у кого-то будут вопросы, пишите в тему :)