|
Форум Обсуждение аддонов Разработка аддонов WoW Модуль привязки аддона к серверу |
Модуль привязки аддона к серверу |
Здравствуйте сегодня я вам покажу как сделать модуль привязки аддона к серверу.
Инструкция по созданию toc файла - тык Ссылка на предыдущие статью - тык Скачать notepad++ - тык API функции - тык Создаем функцию с помощью которой мы будем проверять подлинность сервера. Code function validrealm() Делаем переменную в которой будет хранится нужный нам реалмлист. Code NyllAdmin["server"] = ("$server: logon.wowjp.net $"):sub(10, -3) Как это работает? Мы с помощью sub захватываем текст слева с 10 буквы, и текст справа с 3 буквы. Теперь делаем переменную которая будет получать реалм сервера на котором мы находимся. Code NyllAdmin["valid"] = GetCVar("realmList"); Эта переменная будет захватывать реалмлист сервера на котором мы находимся. Теперь делаем условие: Если реалм на котором мы щас не совпадает с реалмлистом написанном в 1 переменной то.. Code if NyllAdmin["valid"] ~= NyllAdmin["server"] then Теперь указываем сообщение которое будет писать нам что сервер недоступный. Code print("server не подходит "..NyllAdmin["valid"]); return; И указываем сообщение которое будет писаться если сервер подошел. Code else print("Сервер подошел!") Закрываем функцию. Code end end Теперь создаем фрейму которая будет запускать нашу проверку каждый раз как войдем в мир. Code local serv = CreateFrame("Frame") Регистрируем ивент. Code serv:RegisterEvent("VARIABLES_LOADED") Указываем что при запуске ивента нужно запустить функцию с проверкой. Code serv:SetScript("OnEvent", validrealm) Также если вы оооочень хотите спрятать реалм с которым сравнивать то я для вас написал маленький массив с буквами. Code l = {[1]="q", [2]="w", [3]="e", [4]="r", [5]="t", [6]="y", [7]="u", [8]="i", [9]="o", [10]="p", [11]="a", [12]="s", [13]="d", [14]="f", [15]="g", [16]="h", [17]="j", [18]="k", [19]="l", [20]="z", [21]="x", [22]="c", [23]="v", [24]="b", [25]="n", [26]="m"} Вот весь код который должен у нас получится. Code l = {[1]="q", [2]="w", [3]="e", [4]="r", [5]="t", [6]="y", [7]="u", [8]="i", [9]="o", [10]="p", [11]="a", [12]="s", [13]="d", [14]="f", [15]="g", [16]="h", [17]="j", [18]="k", [19]="l", [20]="z", [21]="x", [22]="c", [23]="v", [24]="b", [25]="n", [26]="m"} function validrealm() NyllAdmin["server"] = ("$server: logon.wowjp.net $"):sub(10, -3) NyllAdmin["valid"] = GetCVar("realmList"); if NyllAdmin["valid"] ~= NyllAdmin["server"] then print("server не подходит "..NyllAdmin["valid"]); return; else print("Сервер подошел!") end end local serv = CreateFrame("Frame") serv:RegisterEvent("VARIABLES_LOADED") serv:SetScript("OnEvent", validrealm) На этом все! Удачи вам.
Маме беркута привет!
Сообщение # 1 написано 17.06.2012 в 12:28
|
Хороший аддон. Следующим шагом к нему просится возможность передавать/принимать данные с сервера. Например по веб-запросу или еще как.
Таким образом можно было бы реализовать уникальные примочки на своем сервере или идентификацию, чтобы те, у кого есть аддон получали определенные преимущества или доступ. Был бы очень благодарен автору за подобный урок.
Сообщение # 4 написано 22.06.2012 в 22:07
|
Quote (rvv) Хороший аддон. Следующим шагом к нему просится возможность передавать/принимать данные с сервера. Например по веб-запросу или еще как. Таким образом можно было бы реализовать уникальные примочки на своем сервере или идентификацию, чтобы те, у кого есть аддон получали определенные преимущества или доступ. Был бы очень благодарен автору за подобный урок. Связь с веб сервером невозможна А на счет передачи пакетов от аддона к серверу это можно.
Маме беркута привет!
Сообщение # 5 написано 22.06.2012 в 22:22
|
Судя по видео всё возможно! ) Хотя самому не вериться (
Добавлено (03.07.2012, 02:45)
Сообщение # 6 написано 03.07.2012 в 02:45
|
| |||
| |||