1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Любая версия PWLuaOOG 0.3b

Тема в разделе 'PW Разработки', создана пользователем JonMagon, 21 дек 2014.

  1. TopicStarter Overlay

    JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    773
    Лайки:
    771
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    432.png
    Программа для работы с протоколом PW, которая исполняет любой код из LUA. Для работы необходим файл main.lua с функцией Main в папке scripts. Данный способ позволяет редактировать код прямо в блокноте.

    Это бета версия. В скрипте, что идет в архиве, я сделал вывод чата в консоль и, если выбранный персонаж женского пола, автопринятие предложения «взять на руки».

    Для запуска необходимо указать логин и пароль в settings.lua

    Функции OOG в LUA:
    • Console:
      • Print(message, line) — выводит в консоль сообщение серого цвета, последний параметр указывать необязательно, если его указать как false, сообщение будет выведено в той же строке.
      • Log(message) — выводит в консоль сообщение белого цвета с новой строки
      • Warning(message) — выводит в консоль сообщение желтого цвета с новой строки
      • Error(message) — выводит в консоль сообщение красного цвета с новой строки
      • Success(message) — выводит в консоль сообщение зеленого цвета с новой строки
    • ReceivedPacket:
      • ReadBytes(count) — читает из потока заданное количество байт
      • ReadByte() — читает байт
      • ReadWord() — читает одно машинное слово (ushort)
      • ReadDword() — читает двойное машинное слово (uint)
      • ReadString() — берет из потока CUInt и читает текст этой длины в кодировке ANSI
      • ReadUString() — берет из потока CUInt и читает текст этой длины в кодировке Unicode
      • ReadUStringZ() — читает из поток строку длиной 62 байта и конвертирует её в Unicode, обрезая до первого нулевого байта
      • ReadCUInt() — читает из потока CUInt
      • Seek(count, dir) — пропускает заданное количество байт в потоке, последний параметр необязателен (по-умолчанию равен 2), 1 — с начала потока, 2 — с текущей позиции, 3 — с конца потока
    • SendPacket:
      • WriteCUInt(value) — пишет в поток CUInt
      • WriteBytes(value) — пишет значения lua таблицы (массива) в поток
      • WriteWord(value, swap) — пишет в поток одно машинное слово, последний параметр необязателен, если он равен true, будет изменен порядок байт на противоположный
      • WriteDword(value, swap) — пишет в поток двойное машинное слово, последний параметр необязателен, если он равен true, будет изменен порядок байт на противоположный
      • WriteByte(value) — пишет указанный байт
      • WriteString(value) — пишет в поток текст в кодировке ANSI, дописывая перед ним длину в CUInt
      • WriteUString(value) — пишет в поток текст в кодировке Unicode, дописывая перед ним длину в CUInt
      • WriteUStringZ(value) — пишет в поток текст в кодировке Unicode длинной в 62 байта, где недостающие байты равны 0x00
      • PackContainer(opcode) — служит для упаковки текущего потока в контейнер, после необходимо вызывать SendPacket:Send(0x22)
      • SendPacket(opcode) — пакует текущий поток в пакет и отправляет на сервер
    • Protocol:
      • Connect(link, port) — вызывает подключение по указанному адресу и порту
      • Disconnect() — разрывает текущее соединение
      • InitRC4(CMKey, SMKey, Hash, login) — создает объекты RC4 для автоматического шифрования и расшифровки трафика
    • Crypt:
      • GetHash(login, password, key, tablename) — создает хеш и заполняет им указанную lua таблицу
    • Math:
      • RandomTable(tablename, count) — заполняет указанную lua таблицу случайными данными длиной count
    • luanet.import_type(assembly) — наследование dotNET сборки для использования в LUA.
      Пример:
      Код:
      Form = luanet.import_type("System.Windows.Forms.Form")
      form1 = Form()
      form1:Show()

    Вложения:

    • PWLuaOOG.zip
      Размер файла:
      174,8 КБ
      Просмотров:
      249
    Последнее редактирование: 21 дек 2014
    int 3, bublik))), Caffeine и 18 другим нравится это.
  2. kosmosmarli Пользователи

    Сообщения:
    41
    Лайки:
    1
    Пол:
    Мужской
    Репутация:
    1
    Страна:
    Angola Angola
    Как им работать ?
  3. JoLan Команда форума Администратор AngeliCore Программист

    Сообщения:
    1.061
    Лайки:
    937
    Пол:
    Мужской
    Репутация:
    7
    Команда:
    AngeliCore
    Страна:
    Russian Federation Russian Federation
  4. kosmosmarli Пользователи

    Сообщения:
    41
    Лайки:
    1
    Пол:
    Мужской
    Репутация:
    1
    Страна:
    Angola Angola
    А какой код имено вписать?
  5. JoLan Команда форума Администратор AngeliCore Программист

    Сообщения:
    1.061
    Лайки:
    937
    Пол:
    Мужской
    Репутация:
    7
    Команда:
    AngeliCore
    Страна:
    Russian Federation Russian Federation
    А что ты хочешь от программы? Захватить мир? Чашечку кофе?
  6. kosmosmarli Пользователи

    Сообщения:
    41
    Лайки:
    1
    Пол:
    Мужской
    Репутация:
    1
    Страна:
    Angola Angola
    В целях теста своего сервера !
  7. Zool Old school Пользователи

    Сообщения:
    91
    Лайки:
    27
    Пол:
    Женский
    Репутация:
    2
    Можно чашечку кофе, пожалуйста?
  8. TopicStarter Overlay

    JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    773
    Лайки:
    771
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    0.3b

    Понятия не имею, что там нового (компилировал 3 года назад).
    Вроде, контейнеры работали коряво и я что-то там чинил.
    В комплекте какие-то сраные скрипты, есть папка, которая работает под 1.3.6
    Грузится та, что обозвана "scripts".
    Для новых версий, вероятно, придётся реализовать новую авторизацию в protocol.lua

    Вложения:

    • Debug.zip
      Размер файла:
      194,8 КБ
      Просмотров:
      19
    ГрУбОсТь нравится это.
  9. TopicStarter Overlay

    JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    773
    Лайки:
    771
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    Последнее редактирование: 24 май 2018
    Denis-root и ГрУбОсТь нравится это.
  10. TopicStarter Overlay

    JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    773
    Лайки:
    771
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    Отправка сообщения в личку без ника отправителя.
    Код:
    function PrivateChat(wid, nick, message)
        SendPacket:WriteByte(0x0A)
        SendPacket:WriteByte(0xE8)
        SendPacket:WriteByte(0x00)
        SendPacket:WriteDword(RoleID, true)
        SendPacket:WriteUString(nick)
        SendPacket:WriteDword(wid, true)
        SendPacket:WriteUString(message)
        SendPacket:WriteByte(0x00)
        SendPacket:WriteDword(wid, true)
        SendPacket:Send(0x60)
        Console:Log(string.format("to %s: %s", nick, message))
    end
    Denis-root нравится это.
Черновик сохранён Черновик удалён

Поделиться этой страницей