что такое скрипты в вов

Click-wow.ru

что такое скрипты в вов. rating star. что такое скрипты в вов фото. что такое скрипты в вов-rating star. картинка что такое скрипты в вов. картинка rating star. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.что такое скрипты в вов. rating star. что такое скрипты в вов фото. что такое скрипты в вов-rating star. картинка что такое скрипты в вов. картинка rating star. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.что такое скрипты в вов. rating star. что такое скрипты в вов фото. что такое скрипты в вов-rating star. картинка что такое скрипты в вов. картинка rating star. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.что такое скрипты в вов. rating star blank. что такое скрипты в вов фото. что такое скрипты в вов-rating star blank. картинка что такое скрипты в вов. картинка rating star blank. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.что такое скрипты в вов. rating star blank. что такое скрипты в вов фото. что такое скрипты в вов-rating star blank. картинка что такое скрипты в вов. картинка rating star blank. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.

Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.

На самом деле разработчики это предусмотрели и добавили в игровой движок возможность избавиться от такого рода работы, для этого нужно использовать скрипты для wow. Проблема в том, что не все игроки знают об этом, в данной статье мне хотелось бы рассказать о наиболее популярных скриптах для wow.

Список скриптов для wow

Первым таким подарком от разработчиков является скрипт, который поможет обменять абсолютно любое количество баджей в один клик. Итак приступим.

Создайте макрос (команда /macro ) и впишите туда следующее (без кавычек):

» /script local function buy (n,q) for i=1,100 do if n==GetMerchantItemInfo(i) then BuyMerchantItem(i,q) end end end buy («Emblem of Heroism»,140) «

В последних скобочках мы вписываем название вашей эмблемки и количество без ошибок, язык эмблемки зависит от того, какой у вас клиент.

2) Сломался рекаунт? Он больше не отображает правильную информацию про ДПС и ХПс? Рекаунт одним словом работает не правильно? Скрипт для ремонта рекаунта ниже.

По схеме описанной выше сделайте новый макрос. Напоминаю, что макросы из общего списка макросов (тавтология во как) можно вытаскивать на панельки, это очень удобно. Пишем без кавычек.

3) Скрипт на добавление игроков в гильдию. Не нужно им злоупотреблять.

» /script n=GetNumWhoResults(); i=1; while(i «

4) Существует необходимость линкануть предмет в макрос?

5) Скрипт на выход из группы

6) Полная перезагрузка интерфейса без релога

7) Скрипт для отдаления камеры от персонажа или его ездового (летающего) животного.

» /console cameraDistanceMaxFactor 3.4 «

Оговорюсь, но его нужно использовать вновь после релога или входа в игру.

8) Скрипт для отмены дуэли вов:

9) На пиратках часто бывает так, после того, как вы стали призраком, подбегаете к телу а реснуться нельзя, этот скрипт должен помочь.

11) Не редко может помочь хилу на арене. Берем напарника в таргет.

» /target «имя» (без кавычек)

12) Выбор цели цели.

Так же макросы могут помочь и в управлении петами ваших персонажей.

13) Наиболее популярные команды для петов.

а) Ваш пет атакует ваш таргет.

б) Пет просто бегает за вами.

в) Ваш пет застынет на месте и не будет ничего делать

г) Бывают ситуации, когда панель управления питомцем пропадает, в частности я сталкивался с этим во время игры за своего варлока и ДК. Исправить это можно скриптом ниже.

14) А этот скрипт автоматически изучает все недостающие спеллы у тренера.

/ run LoadAddOn»Blizzard_TrainerUI» f=ClassTrainerTrainButton f.e = 0 if f:GetScript»OnUpdate» then f:SetScript(«OnUpdate», nil)else f:SetScript(«OnUpdate», function(f,e) f.e=f.e+e if f.e>.01 then f.e=0 f:Click() end end)end

15) Довольно-таки забавный макрос, часто им пользовался. Если у вас есть множество маунтов и хочется внести в игру разнообразие вписываем в начале макроса команду, а затем перечисляем маунтов (заклинаний, вещей). Теперь вы тоже знаете макрос на вызов случайного маунта.

16) Макрос Спешиваться.

17) Кастует спелл, указанный в макросе. Например:

/target SolBadGuy
/castsequence reset=5 Молитва духа, Молитва стойкости, Молитва защита от темной магии.

19) Возвращаем себе первоначальный облик. Неважно кто вы дру, шп, вар или еще кто-нибудь.

Источник

World of Warcraft: одна строка кода, чтобы потерять все

что такое скрипты в вов. image loader. что такое скрипты в вов фото. что такое скрипты в вов-image loader. картинка что такое скрипты в вов. картинка image loader. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.

Интерфейс WoW (например, строка меню, окно чата и другие 2D графические элементы) и также дополнения написаны на языке Lua. Обе стороны строки — RemoveExtraSpaces и также RunScript — легальные функции и часть WoW Lua API. Но введение этой строки кода в диалоговом окне изменяет поведение интерфейса WoW.

Что делает эта команда на самом деле?

/run — команда для интерпретации следующего текста как сценария Lua.
RemoveExtraSpaces — встроенная функция, которая удаляет ненужные пробелы из текста.
RunScript — функция, которая выполняет текст в качестве кода Lua (аналогично команде /run )

Чем это опасно?

Неосторожный игрок вводит в своем диалоговом окне вредоносную строку кода, потому что его убедили слова нападавшего. Но вместо того, чтобы получить редкие предметы, он становится жертвой.

что такое скрипты в вов. image loader. что такое скрипты в вов фото. что такое скрипты в вов-image loader. картинка что такое скрипты в вов. картинка image loader. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.
Ничего не подозревающий игрок собирается отправить вредоносную строку кода

что такое скрипты в вов. image loader. что такое скрипты в вов фото. что такое скрипты в вов-image loader. картинка что такое скрипты в вов. картинка image loader. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.
Злоумышленник отправляет сообщение в чате жертве

что такое скрипты в вов. image loader. что такое скрипты в вов фото. что такое скрипты в вов-image loader. картинка что такое скрипты в вов. картинка image loader. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.
Полученное сообщение интерпретируется как Lua код и затем выполняется

То, что было показано выше, является довольно безвредным примером этой уязвимости, доказательства концепции. Но на самом деле — это означает, что злоумышленник теперь может удаленно контролировать интерфейс жертвы. Это очень похоже на поведение троянов, которые изображают из себя что-то полезное и затем выполняют свою вредоносную функцию. В реальном случае, вместо того, чтобы создавать сообщения с текстом «Test», злоумышленники запускает другой сценарий, пример которого будет приведен ниже.

Временное скрытие и сохранение команды

После того как жертва открыла бэкдор в свой интерфейс, злоумышленник отправляет следующее сообщение:

что такое скрипты в вов. image loader. что такое скрипты в вов фото. что такое скрипты в вов-image loader. картинка что такое скрипты в вов. картинка image loader. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.
Атакующий устанавливает новый канал передачи данных

В случае, если команда была выполнена, сообщение, которое показано выше, не будет видно жертве, но будет выполнено немедленно. Тот факт, что функция чата больше не работает может показаться подозрительным и жертва, возможно, попробует перезапустить игру. Злоумышленник действует достаточно быстро, чтобы решить эту проблему. Отправив команду, показанную выше, которая устанавливает новый канал связи, они снова восстанавливают нормальную работу чата не вызывая подозрений.

Для того, чтобы понять цель этой команды, нужно знать что в WoW есть возможность общаться с помощью скрытого канала (локально и удаленно). Этот канал установлен через использование событий “CHAT_MSG_ADDON”.

что такое скрипты в вов. image loader. что такое скрипты в вов фото. что такое скрипты в вов-image loader. картинка что такое скрипты в вов. картинка image loader. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.

Сценарий создает фрейм (строка 2), к которому можно установить различные свойства. Сценарий регистрирует события CHAT_MSG_ADDON с конкретным префиксом (строка 6 и 25). Только тот, кто знает выбранный префикс, может тайно управлять интерфейсом жертвы. Это все равно что пароль для бэкдор.

Каждый раз, когда угнанный интерфейс получает CHAT_MSG_ADDON, событие с секретным префиксом, код будет выполняться тихо и без ведома жертвы.

Вывод: пока злоумышленник не решит Вам показать, что происходит, Вы, к сожалению, про это не узнаете.

Даже при том, что речь идет о дополнениях, которые могут связаться через скрытый канал, у жертвы не обязательно должны быть установлены дополнения, чтобы атаки прошла успешно.

Какой вред может быть причинен?

В виду того, что злоумышленник будет иметь полный доступ к интерфейсу жертвы, он может собрать полную информацию про него. Но взломщик не сможет собрать какую-либо подробную информацию о других игроках. В WoW игроки имеют возможность делится/продавать предметы друг другу. Если злоумышленник знает местонахождение персонажа жертвы и находится в пределах досягаемости, он может удаленно открыть окно торговли и передать себе золото, предметы и все, что можно передать. Практически ограбить жертву.

Описанный сценарий демонстрирует социальную атаку на ряду с технической. Теперь хакер может с помощью жертвы отправлять убедительные сообщение ее друзьям, коллегам и другим игрокам, с которыми тесно общается персонаж, тем самым увеличивая количество захваченных персонажей.

Как можно себя защитить?

Ответ простой и очевидный: не нужно вводить такого рода команду или любую другую, которая будет предложена даже Вам давнишним другом.

В данном примере мы говорили об атакующем персонаже в игре, кто принадлежал к популярной гильдии. Но по факту он не принадлежал к этой гильдии. Он выбрал известную гильдию и скопировал имя, заменив “L” на “I”. Возможно, Вы уже знакомы с такими методом фишинг-атак.

Кроме того, будьте осторожны при загрузке дополнений используйте защищенные и популярные веб-сайты, сохраните свои дополнения, чтобы их можно было в любой момент заменить. Возможно, что некоторые из этих обновлений могут уже содержать вредоносный код. Подобная проблема была замечена в 2014, когда так называемый “ElvUI Backdoor” был обнаружен в одном из дополнений.

Сам глюк может быть исправлено только Blizzard. Они должны убедиться, что перезапись такой функции будет невозможен в дальнейшем. Blizzard уже выпустили предварительный релиз для предстоящего дополнения «Legion». В данном дополнении они учли обсуждаемый тут сценарий и добавили предупреждение перед отправкой сообщения, которое содержит вредоносный характер.

что такое скрипты в вов. image loader. что такое скрипты в вов фото. что такое скрипты в вов-image loader. картинка что такое скрипты в вов. картинка image loader. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.

Выбор “Yes” отключает сообщение навсегда, даже перезапуск не вернет его – по этой причине вопрос нельзя считать решенным. Чтобы повторно активировать данное сообщение, нужно вручную удалить одну строку кода в конфиг-файле.

Источник

Что такое скрипты в вов

Код помещаем в аддон BindBP. Открывается он по слеш команде /bp, далее кликаем по крестику, задаём имя и иконку, нажимаем «ок» и у нас появится основное окно в которое нужно вписывать скрипт. Для последующего редактирования нужно будет кликать левой клавишей мышки по иконке «макроса» т.к. правая задаёт бинд. Бинд на скрипт во избежание «палева» лучше не ставить т.к. всё содержимое улетит в чат.

Запускать нужно 1 раз, вошли в игру запустили и забыли до тех пор, пока не перезагрузите интерфейс /reload или релогнитесь.

Не даёт использовать Хватку Смерти в Тотем Заземления и Отражение заклинания. Если на цели есть данные бафы то используется спел Темная власть, который сбивает данные бафы.
/run if (not UnitBuff(«target», «Отражение заклинания»)) and (not UnitBuff(«target», «Эффект тотема заземления»)) then RunMacroText(«/cast Хватка смерти») end
/run if UnitBuff(«target», «Отражение заклинания») or UnitBuff(«target», «Эффект тотема заземления») then RunMacroText(«/cast Темная власть») end

Для Ледяных оков
/run if (not UnitBuff(«target», «Эффект тотема заземления»)) and (not UnitBuff(«target», «Отражение заклинания»)) then RunMacroText(«/cast Ледяные оковы»)end
/run if UnitBuff(«target», «Эффект тотема заземления») or (UnitBuff(«target», «Отражение заклинания»)) then RunMacroText(«/cast Темная власть»)end

Для Лика смерти
/run if (not UnitBuff(«target», «Эффект тотема заземления»)) and (not UnitBuff(«target», «Отражение заклинания»)) then RunMacroText(«/cast Лик смерти») end
/run if UnitBuff(«target»,»Отражение заклинания») or UnitBuff(«target»,»Эффект тотема заземления») then RunMacroText(«/cast Темная власть») end

PS: Я никому не навязываю использование запрещенный скриптов и макросов. Я понимаю что в некоторых ситуациях они только усугубят положение. Я понимаю что руки главное и ничто их не заменит.
Играл на пиратке, был интерес. Результат тут. Надеюсь это кого-то заинтересует и он сделает большее хотя бы для себя.

PPS: Данная информация составлена мной(DiSq) и использовалась на клиенте 3.3.5

Источник

Тема: Макросы/скрипты для WoW

Опции темы
Отображение

Отмена очереди заклинаний (Добавлено в 4.1)
Начиная с катаклизма, в wow внедрена система, которая компенсирует задержку между применением заклинаний. Предположим, GCD 1,5 сек. Если заспамить заклинание за 0,1-0,5 сек до его отката, то оно будет произноситься автоматически после завершения первого. Следующий макрос отменяет автоприменение при спаме, либо высокой задержке.

Перезагрузка интерфейса. Из игры не выходит. Во время перезагрузки вы находитесь в игровом мире!

Включает режим «Отошел от клавиатуры» — все люди, вам написавшие, будут уведомлены об этом соответствующей фразой. Например: /afk Ушел курить.

У макроса снизу принцип работы тот же, только включает режим «Не беспокоить».

Если у вас пропала панелька умений для питомцев, то этот скрипт для вас. Охотникам этот скрипт не подходит, только Чернокнижники и Рыцари Смерти (актуально для FUN реалма):

Макрос на автоматическое изучение профессий/обучение у тренера.
Для отмены /reload, перезайти или повторно ввести макрос:

Макрос на подтверждение сбора добычи/покупки (Нажатие кнопки «Да»). Тут аддон для автоматического принятия лута.

Использование предметов и аксессуаров.

Рисунок

Макросы на воскрешение.
Достает дух из тела, если кнопка «Покинуть тело» не активна (Выручает в 99% случаев).

Берет в цель юнит с точно указанным именем. Если имя написано неверно или юнит далеко от вас, то ваша цель не изменится.

Макрос на смену комплекта экипировки.

Манипуляции с панелями заклинаний
Существует две команды, которые позволяют изменять страницы панелей заклинаний: /changeactionbar и /swapactionbar. /changeactionbar использует в качестве значения одно число и всегда переключается на страницу с этим номером. Примером использования может быть аспекты охотника. Например:

Другое

Включает звуковые + текстовые сообщения об ошибках.

Макрос для удаления вещей белого качества.

Макрос для удаления вещей зеленого качества. Принцип такой же, что и у макроса выше.

Макрос на удаление определенных вещей. Удаляет из сумок определенный предмет.

Макрос для покупки реагентов и прочего. Как работает?! Подходим к нужному вендору, открываем страницу, где находится нужная покупка и активируем макрос. В кавычках вводить можно любой итем: Первобытный дух, Фолиант ясного разума и т.д., затем сразу же количество, в нашем случае это 10.

Отключение слежения за персонажем на которого направлено ваше потоковое заклинание:

На простом примере. Используем Исповедь, а затем Кара во время произнесения потокового заклинания. Макрос не позволяет произносить Кара, пока полностью не закончится каст Исповедь.

Выключаются все аддоны + перегружает UI (Пользовательский Интерфейс):

Перезагружает полностью все аддоны.

Макрос позволяет выйти с команды 2х2\3х3\5х5,если не получается выйти привычным способом. В основном такая проблема возникает при смене ника.

Отмена квестов из журнала.
По 1 квесту, начиная сверху:

Для охоты на рарников. Если в таргете появится нужный рарник, оповестит в пм любого игрока или даже Вас самих, саундтреком и красным текстом по середине экрана. (Можно вводить названия рарника вручную, текст сообщения пм, либо вообще его убрать.) Если в таргете нет рарника, которого ищете макросом, оповещать не будет.

*click*

Инструкция F.A.Q.

## Title: Script
## Interface: 60000

Более-менее разобравшиеся в кодах lua задаются вопросом, откуда брать код самой текстуры (например, чтобы скрыть какой-то объект в игре).
Ответ: используем макрос /fstack.

Важно : можно вставить в любой имеющийся аддон, например, Bartender4. В самом конце, между имеющимся кодом и тем, что собираемся добавить, должна быть пустая разделяющая строка.

Автоматическая отправка письма в чат. (работало на WoD, сейчас не знаю)

Каналы

Далее, просто добавляем коды в первоначально созданный аддон.

Удаление циферок со стандартных фреймов (лечение/урон):

P.S Немного побольше о функции макроса /click и /fstack
Команда /fstack открывает доступ к наименованиям панелей API интерфейса. В сочетании с /click можно добиться возможностей, о которых до этого момента могли только задумываться или искали особый аддон.
Это работает не так, как функции /run или /script, хотя в целом они практически взаимозаменяемы.
Например, чтобы отменить какой-то квест, нужно ввести /script SetAbandonQuest(); AbandonQuest(); — в этом случае отменится выбранный квест. Во втором варианте это выглядит так: /click QuestLogFrameAbandonButton /click StaticPopup1Button1. Итог будет одинаковым. Но вариант с квестами слишком заурядный и бесполезный, ведь можно нажать 3 кнопки самостоятельно и убрать кв без особых усилий. Есть фишки покруче, например в связке с другими макросами или даже скиллами на панелях. Допустим, у Вас есть макрос, но он полностью не вписывается в ограничение 255 символов (согласен, можно поставить аддон на макросы), мы сделаем еще один макрос, который дополнит предыдущий и прожмется вместе с ним, используя команду в нем /click. В зависимости от установленных аддонов строка может отличаться. Если стоит Bartender4, то выглядеть будет примерно так: /click BT4Button1, что нажмет клавишу 1. Можно использовать в рыбалке для очистки хлама, при закидывании удочки. Но не стоит этим ограничиваться, это один из самый простых способов использования возможностей данной команды.

В итоге, выставив Первый макрос на клавишу 1, второй на 2 и третий 3 мы нажимаем только одну кнопку 1, попутно открывая коробки и моллюсков, а также удаляя ненужные вещи (да-да, луциана даже вендору лень продавать).

Источник

Что такое скрипты в вов

Пожалуйста, обратите внимание, что это не имеет никакого эффекта
на скрипт.

Обратите внимание, что ключевое слово «function» пишется с маленькой буквы. Использование большой буквы «F» (или любой другой буквы) приведет к тому что система, не признает ее за функцию. То же самое для имен функций, аргументов и т.д.

Ну как упоминалось ранее, они являются аргументами. Почти в каждой функции, которые вы используете как Lua Scripter вы будете использовать значения внутри этих скобок. Существуют различные аргументы для различных событий. Вот наиболее распространенные:

Квадратные скобки указывают факультативный выбор. (Unit, Event)может быть использован вместо (Unit, Event, pMisc) например.

Создание вашей первой функции.

В соответствии с традицией, ваша первая функция/сценарий будет «Привет Мир!».

200?’200px’:»+(this.scrollHeight+5)+’px’);»>
function HelloWorld()
print(«Привет Мир!»)
print(«Это мой первый сценарий LUA!»)
end

Вас интересует что я сделал? Ну, во-первых, я создал функцию HelloWorld без аргументов. Обратите внимание, что я еще добавил пару круглых скобках. Это является обязательным для каждой функции которую вы создаете. В первой строке, функция HelloWorld () ничего не делает, кроме как рассказать Lua, что мы начинаем новую функцию, которую мы обозначили под названием «HelloWorld», и что он не имеет аргументов.

Далее идет print скобки кавычки. Внутри этих кавычек вы пишете тот текст который вы хотите видеть.

Скучно да? Это не полезно, так что мы будем двигаться немного дальше.

Ваш первый gossip скрипт.

Теперь создайте новый файл lua и напишите в нем

— Variables
local NPC_ID = YourEntryID

Замените YourEntryID на ид вашего NPC.

Переменная данных, которое хранит определенную часть данных. В отличие от C + +, нет типами переменных в Lua. Кроме того, нет необходимости беспокоиться о неподписанных / Подпись переменных.

Переменная создается путем ввода строки в сценарий. Эта строка может быть почти везде, однако, оно не может быть ключевым словом или именем функций.

Кроме того, переменные могут быть только буквенно-цифровые и подчеркивания или дефис в них. Вы можете использовать эти символы:

Обратите внимание, что переменные чувствительны к регистру. MY_VAR не то же самое, как my_var или My_VaR.

Глобальная переменная может переходить от одного сценария к другому, так что это может вызвать проблемы. Лучше всего использовать локальные переменные, которые остаются внутри текущего сценария, для уменьшения помех.

Хорошие имена переменных:

Неверное имя переменных:

Это всегда хорошая идея, чтобы назвать ваши переменные функции.

Это не так просто, чтобы знать, что он делает, как это:

Во всяком случае, вернемся к Gossip NPC!

— Variables
local NPC_ID = YourEntryID

Прежде всего, давайте создадим новую функцию под названием «exampleGossipOnTalk (Unit, Event, player). Эти аргументы являются стандартными для OnTalk события сплетни. Мероприятие OnTalk сплетни первого меню в диалоге который вы видите, когда вы говорите с NPC.

— On Triggers
function exampleGossipOnTalk(Unit, Event, player)
end

Обратите внимание, что я добавил end ниже функции. Мы должны закончить каждую функцию, которая будет создана, или Lua будет бросать ошибку. Теперь, когда мы создали функцию, давайте добавим RegisterUnitEvent. Обычно, если вы создаете босса, вы будете использовать RegisterUnitEvent(), но так как мы делаем Gossip NPC, мы используем RegisterUnitGossipEvent. Отметим, что это учитывается. Добавляйте это под соответствующий раздел;

RegisterUnitGossipEvent () имеет четыре аргумента: ID, Event ID и имя функции. Вы можете использовать переменные для ID Event ID и событий, поэтому я добавил NPC_ID переменной вместо ID.

Сейчас этот сценарий будет регистрироваться как пустая функция, когда вы говорите с NPC. Это что-то, но это бесполезно. Итак, давайте начнем его конкретизацию.

Как мы видели выше, заявления идут между функцией и концом (function и end), например, так.

Добавлено (01.10.2012, 02:01)
———————————————
Чтобы начать создание gossip меню, Lua должен знать, что мы создаем меню, мы создаем оболочку, используя: GossipCreateMenu() заявление.

Обратите внимание, что :GossipCreateMenu() имеет двоеточие перед ним; это означает, что требуется Unit. По умолчанию, Группа ‘Unit’. Это не нужно менять, если мы имеем дело с несколькими НПС в один сценарий; Мы вернемся к этому позже. Давайте добавим наше заявление в функцию.

Это утверждение может сбить вас с толку; INTID? CODE? ICON_ID? Что это такое? Ну, ICON_IDs как вы видите рядом с текстом, когда вы открываете меню. Есть несколько различных значков, идентификаторов перечисленных ниже;

INTID? Ну, когда вы используете функцию OnSelect, INTID используется, чтобы определить, какое меню было открыто. Таким образом, вы должны использовать уникальные IntIDs для каждого выбора меню или сценария иначе они не будут работать. Кроме того, IntID используется в числовой форме.

Это добавляет три варианта нашего меню, Телепорт меня в столицу, Удалить болезнь после воскрешения, и вариант, чтобы закрыть меню. Тем не менее, это не будет работать. Мы создали меню, но, мы не сможем послать его к игроку. Для этого мы добавим: GossipSendMenu() команду.

Что делает нашу функцию такой:

Давайте добавим это к остальной части нашего кода:

200?’200px’:»+(this.scrollHeight+5)+’px’);»>
—[[
Мой первый сценарий!
]]
— Variables
local NPC_ID = ид нпс

— On Triggers
function exampleGossipOnTalk(Unit, Event, player)
Unit:GossipCreateMenu(100, player, 0)
Unit:GossipMenuAddItem(0, «Телепорт меня в столицу.», 1, 0)
Unit:GossipMenuAddItem(0, «Удалить болезнь после воскрешения.», 2, 0)
Unit:GossipMenuAddItem(0, «Выход.», 3, 0)
Unit:GossipSendMenu(player)
end

— RegisterUnitEvents
RegisterUnitGossipEvent(NPC_ID, 1, «exampleGossipOnTalk»)

У нас получилось! Однако, это только показывает меню. Варианты не будут работать, вы будете иметь возможность видеть их, но если вы нажмете на них, ничего не произойдет. Вы должны прописать ему, что делать. И мы делаем это с нашей второй функцией; OnSelect

Это ничего не значит для вас на данный момент, не так ли? Давайте создадим еще одну функцию.

200?’200px’:»+(this.scrollHeight+5)+’px’);»>
—[[
Мой первый сценарий!
]]
— Variables
local NPC_ID = ид нпс

— On Triggers
function exampleGossipOnTalk(Unit, Event, player)
Unit:GossipCreateMenu(100, player, 0)
Unit:GossipMenuAddItem(0, «Телепорт меня в столицу.», 1, 0)
Unit:GossipMenuAddItem(0, «Удалить болезнь после воскрешения.», 2, 0)
Unit:GossipMenuAddItem(0, «Выход.», 3, 0)
Unit:GossipSendMenu(player)
End
function exampleGossipOnSelect(Unit, Event, player, id, intid, code, pMisc)
end

— RegisterUnitEvents
RegisterUnitGossipEvent(NPC_ID, 1, «exampleGossipOnTalk»)

И добавить RegisterUnitGossipEvent под OnTalk

200?’200px’:»+(this.scrollHeight+5)+’px’);»>
—[[
Мой первый сценарий!
]]
— Variables
local NPC_ID = ид нпс

— On Triggers
function exampleGossipOnTalk(Unit, Event, player)
Unit:GossipCreateMenu(100, player, 0)
Unit:GossipMenuAddItem(0, «Телепорт меня в столицу.», 1, 0)
Unit:GossipMenuAddItem(0, «Удалить болезнь после воскрешения.», 2, 0)
Unit:GossipMenuAddItem(0, «Выход.», 3, 0)
Unit:GossipSendMenu(player)
End
function exampleGossipOnSelect(Unit, Event, player, id, intid, code, pMisc)
end

— RegisterUnitEvents
RegisterUnitGossipEvent(NPC_ID, 1, «exampleGossipOnTalk»)
RegisterUnitGossipEvent(NPC_ID, 2, exampleGossipOnSelect)

Итак, давайте добавим первый вариант (из 3) наших новых функций.

Он используется, чтобы проверить, если определенные условия. Помните, когда мы добавили варианты, и мы должны были определить уникальный номер? Это было intid. Таким образом, если intid, я выбрал 1 («Телепорт меня в столицу!”), То мы запустим эту часть сценария.

Эти значения говорят о том что они телепортируют игрока по введенным координатам.
Для примера я возьму Shattrat. Его координаты.

Так что это будет выглядеть так:

Теперь мы знаем, что это делает, и мы будем двигаться дальше;
Player:GossipComplete(). Это довольно просто и не требует весь абзац, чтобы объяснить это. Он просто закрывает меню.

Подождите, у нас есть два end? Да, мы сделали все правильно. «if» заявление необходимо положить конец, так как Lua не может определить, когда он закончился.
Давайте посмотрим что у нас получилось.

Таким образом, мы понимаем, что это все делает? Хорошо. Давайте перейдем на следующий intid; Удалить болезнь после воскрешения.

Как вы можете видеть, мы создали другую, петлю. На этот раз, она работает, только если intid равен 2. Таким образом, в этой функции мы хотим удалить ауру болезнь после воскрешения. Теперь идем на wowhead.com и находим там ид ауры 15007.
Смотрим что у нас получается.

Что мы тут видим. Я добавил

HasAura() проверяет есть ли на вас эта аура.
RemoveAura() снимает эту ауру.

Так же я добавил player:SendBroadcastMessage объяснять что это делает я не буду. Так как это понятно наглядно.

Конечно, вы все равно должны добавить end для «if» и «function».

Итак, теперь у нас есть два intids, давайте посмотрим на нашу функцию сейчас, и добавить последнюю.

Мы просто добавили в intid 3: GossipComplete(), потому что опция стоит, чтобы закрыть окно.

Теперь посмотрим что у нас получилось.

Молодцы! Вы создали свой первый сценарий функционирования. Или, по крайней мере, с помощью этого учебника. Сохраните его как TeleporterNPC.lua и поместить его в папку scripts. Поставьте нпс и перезагрузите сервер, и наслаждайтесь вашим первым сценарием!

Таким образом, вы знаете, как использовать If и elseif но, используя следующее довольно сложно читать ну и как то однообразно;

Вместо этого, вы можете заменить 2й и 3й if на elseIf, в зависимости от ситуации. elseIf в основном удаляет последующие if и заканчивается так, что они легко читаются. Вот наглядным пример.

Как вы можете видеть, это гораздо легче читать, чем предыдущие.

Ну что же. Вот и конец этого учебника. Вторая часть будет более позже.

Так же если вы будете использовать lua скрипты с русскими символами не забываем ставить кодировку UTF-8

Всем удачного изучения этого языка. что такое скрипты в вов. smile. что такое скрипты в вов фото. что такое скрипты в вов-smile. картинка что такое скрипты в вов. картинка smile. Наверняка многие игроки не раз сталкивались с необходимостью выполнять множество однообразных действий в игре. Давайте подумаем, что можно с этим сделать.

Если у вас есть какие то либо вопросы то не стесняйтесь задавайте их.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *