• Страница 1 из 1
  • 1
Форум » Обсуждение аддонов » Разработка аддонов WoW » Random, функция
Random, функция
Nyll


Здравствуйте пользователи WoWJP.net
В этом гайде я расскажу как использовать функцию Random.


  • Функция Random, на wowprogramming - Тык (На английском)


Для примера мы создадим аддон, для серверов типа "Все гмы"
На таких серверах как вы знаете, включена команда .aura id. Люди делают макросы, чтобы кидать ауры на кого-либо.
Мы создадим аддон, который будет кидать наши ауры, рандомно.


Для начала создаем папку Random. Создать папку, можно в любом месте.
В папке Random, создаем документ toc, под названием random.toc.
В документе random.toc, пишем:

Код
## Interface: 40200
## Title: Random
## Author: Nyll
## Version: 1.1
## Notes: Random v.1.1
## eMail: @wowjp.net
## URL: wowjp.net

random.lua



Теперь я расскажу вам что значит этот код

Код
## Interface: 40200

  • Версия игры, в нашем случаи 4.2.0

    Код
    ## Title: Random

  • Название аддона

    Код
    ## Author: Nyll

  • Автор аддона

    Код
    ## Version: 1.1

  • Версия аддона

    Код
    ## Notes: Random v.1.1

  • Описание аддона

    Код
    ## eMail: @wowjp.net

  • Email Автора

    Код
    ## URL: wowjp.net

  • Сайт Автора

    Теперь сохраняем наш toc, файл, желательно с кодировкой UTF


    Теперь перейдем к документу lua
    Создаем документ random.lua, открываем его, и пишем в нем:

    Код
    randoms={70608,44873,65630} -- Иды
    prandom=function() --Получение функции
    local num=table.getn(randoms) -- Создание массива
    --[[ Отправка сообшений в чат
    ]]
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       

    end -- Конец


    Теперь я вам объясню значение, каждой строчки кода.

    Код
    randoms={70608,44873,65630}

    Здесь мы пишем иды аур, которые будут использоваться при использовании аддона.
    Иды надо писать, через запятые!

    Код
    prandom=function()

    Получение функции, Random.

    Код
    local num=table.getn(randoms)

    Создаем массив, который используется, в примере 1.

    Код
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")

    Эти сторки обозначают скока аур, будет использыватся за 1 раз.
    Пример: 1 строчка - 1 аура при нажатии.
    Цитата
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")

    Значит сообщение будут отправляться в гильд чат. Зачем это нужно? Это нужно за тем что если вы мертвы, все равно кинуть, ауры.
    Цитата
    SendChatMessage(".aura "..randoms[random(1,num)],"guild")

    Команда .aura, которая будет кидать наши ауры.

    Я решил не делать в наш рандом слеш, команду по этому мы будем использовать аддон, через функцию.
    Чтобы кинуть ауры нам надо будет ввести команду /run random()

    Вот и все. Теперь сохраняем наш документ, кидаем папку с документами, в папку с игру а именно в Addons, и наслаждаемся рандом аурами.

    Огромное спасибо PsihoDelik, за картинку

    [download]Random - для WoW 4.2[/download]


    Полезные ссылки:
    1. -
    2. Инструкция по созданию toc файла
    3. Скачать Sublime Text 2
    4. API функции
  • Прикрепления: 2487289.png (119.7 Kb)
    Маме беркута привет!
    Сообщение # 1 отредактировано Nyll - Среда, 26.06.2013, 00:02
    H_A_PK
    Скаут
    Цитата
    Code
    randoms={70608,44873,65630}

    Здесь мы пишем иды аур, которые будут использоваться при использовании аддона.

    wacko и таки, тип переменной непонятен =/
    Цитата (Nyll)
    Получение функции, Random.

    :о и для чего это делать и что будет если этого не делать, мб вы имели ввиду что мы присваиваем нашей переменной функцию ?
    Цитата
    table.getn(randoms)

    это что за функция ? )
    Цитата
    random(1,num)

    и так как нихрена не понятно что присваивается переменной num нихренна не понятен и сам рандом
    Сообщение # 2 написано 10.01.2013 в 02:09
    Nyll
    Цитата (H_A_PK)
    и таки, тип переменной непонятен =/

    Массив smile
    Если записывать его так:
    Код
    massiv = 123,123,123

    То будет ошибка.
    Массив с цифрами я делаю так.
    Код
    massiv = {123,123,123}

    Теперь ошибки не будет.
    Или же с буквами
    Код
    massiv = {"ололо","ололо","ололо"}
    Маме беркута привет!
    Сообщение # 3 написано 10.01.2013 в 04:55
    H_A_PK
    Скаут
    Код
    randoms[1] = 70608
    randoms[2] = 44873
    randoms[3] = 65630
      prandom=function()
      local num=table.getn(randoms) -- num = 3 ?
      --[[ Отправка сообшений в чат  
      ]]  
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      SendChatMessage(".aura "..randoms[random(1,num)],"guild")       
      end

    я правильно понял ?
    Сообщение # 4 написано 10.01.2013 в 11:01
    Nyll
    Цитата (H_A_PK)
    я правильно понял ?

    Тут дело не в "Правильно" или нет а дело в удобности..
    Так да правильно но работать не будет. Вот пример когда будет работать:
    Код

    randoms = {}
    randoms[1] = 70608   
    randoms[2] = 44873   
    randoms[3] = 65630   
    function Randomss()
          SendChatMessage(".aura "..randoms[random(1,3],"guild")
    end
    Маме беркута привет!
    Сообщение # 5 отредактировано Nyll - Четверг, 10.01.2013, 12:30
    Форум » Обсуждение аддонов » Разработка аддонов WoW » Random, функция
    • Страница 1 из 1
    • 1
    Поиск: