Перейти к содержимому

Знакомство с PjOrion

Программа PjOrionProject "ORION" — это инструмент, упрощающий разработку модификаций для игры «Мир Танков».

Наиболее полезная функция PjOrionREPL (Read-Eval-Print Loop) для Python‑скриптов игры. Она позволяет подключиться к процессу игры и выполнять код в его контексте без перезапуска клиента.

Установка

  1. Скачайте последнюю версию PjOrion из официальной темы на форуме. Нас интересует архив PjOrion_1.3.5_11.08.2019.zip (архив с DLL).

  2. Распакуйте архив в любую папку.

Распакованный архив

unpacked

  1. Запустите PjOrion.exe.
Окно программы

main

  1. В папке игры переименуйте /win64/Tanki.exe в /win64/WorldOfTanks.exe. Это нужно для того, чтобы PjOrion мог найти исполняемый файл игры.
Переименованный файл

main

  1. Создайте две символические ссылки (symlink) из корня игры в папку /win64 для файлов paths.xml и version.xml. Это нужно для того, чтобы PjOrion мог найти конфигурационные файлы игры.

    Что бы создать такие ссылки, запустите cmd.exe (командную строку) от имени администратора и выполните следующие команды:

    cmd
    mklink C:\Games\Tanki\win64\paths.xml C:\Games\Tanki\paths.xml
    mklink C:\Games\Tanki\win64\version.xml C:\Games\Tanki\version.xml

    Замените C:\Games\Tanki на путь до вашей папки с игрой.

Пример создания символических ссылок

mklink-result

  1. В PjOrion нажмите WOT-Transmission -> Options..., во всплывающем окне уберите галочку с Automatically search a WOT, после чего выберите путь до папки с игрой и подпапки win64:
Окно настроек

options

  1. Запустите игру через PjOrion, нажав WOT-Transmission -> Run WOT-Client -> WorldOfTanks. Игра запустится, а в консоли PjOrion должен появиться лог игры:
Консоль PjOrion

game-launched

Настройка подсказок кода

В PjOrion есть функция подсказок кода непосредственно для объектов игры. Для её активации:

  1. Нажмите ПКМ (правую кнопку мыши) по окну ввода скриптов
  2. Выберите раздел Select the attributes source
  3. Выберите пункт WOT
Меню выбора источника подсказок

suggestions-source

После этого в окне ввода скриптов после символа . (точка) будут появляться подсказки с атрибутами и методами объектов игры.

Пример подсказок

suggestions

Использование

Если у вас получилось запустить игру через PjOrion и лог игры успешно подхватился, вы готовы к использованию REPL — Read-Eval-Print Loop (цикл чтения‑выполнения‑вывода), который позволяет выполнять Python‑код в контексте игры.

В нижней части окна PjOrion есть поле ввода, в котором можно писать Python‑код и выполнять его внутри запущенной игры.

В консоли вы можете импортировать любые модули игры, например BigWorld, в котором находятся основные функции движка.

Для выполнения кода нажмите Shift+F5 или WOT-Transmission -> Exec script in client (for ANSI).

Пример 1: Вывод версии игры

Напечатайте в консоли следующий код и выполните его:

PjOrion
python
from helpers import getShortClientVersion

print(getShortClientVersion())
Результат выполнения кода

example-1

Пример 2: Вывод никнейма игрока

Функция BigWorld.player() возвращает объект игрока, который в ангаре является экземпляром класса PlayerAccount. У этого объекта есть атрибут name, в котором хранится никнейм игрока.

PjOrion
python
import BigWorld

print(BigWorld.player().name)
Результат выполнения кода

example-2

Авторы

История изменений