Jump to content
Korean Random

Генерация id игроков по никам, добавление иконок игроков в XVM и т.п.


Recommended Posts

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

 

Итак, уже давно имеем проблему, связанную с тем, что если какой-то игрок сменил игровой ник, то мы можем забыть кто это или вообще потерять его, если следим за ним на каком-нибудь статистическом ресурсе, используя его ник. В частности, если мы добавляем иконку игрока в XVM, то она перестанет отображаться, если игрок сменит ник. Начиная с версии XVM 5.3.4, доступна опция отображения иконок игрока по id (который не меняется при смене ника), в связи с чем возник вопрос, как можно автоматизировать процесс перевода своих иконок с ников на id.

Например, мной подготовлен список из 4903 id игроков, забаненных WG за подставные бои: http://www.koreanrandom.com/forum/topic/18347-безумию-храбрых/page-2#entry212206

В данной теме хочется со временем увидеть какую-то удобную софтинку, которая поможет проделывать аналогичные действия любому желающему:

 

 

Чтобы пользователь мог самостоятельно получать список id по списку ников, надо это явно сделать как-то иначе, по-нормальному. Можно и обычный html файлик, который будет просить скопипастить в него список игроков, но он сгенерить иконки не сможет- только список id, который надо будет самому копипастить куда-то в другое место, запускать другой скрипт, который уже иконки сгенерит. Короче, нифига не юзерфрэндли. Мне видится какая-то простенькая программка, с нормальным gui, куда можно и список ников скопипастить, и иконку выбрать, и она сама и id-шники найдет, и иконки сгенерит.

Ну или для начала неудобную :-) чтобы пользователи могли просить других более опытных. Короче, обсуждаем, пишем, помогаем...

  • Upvote 2
Link to comment
Short link
Share on other sites

 

 

Например, мной подготовлен список из 4903 id игроков, забаненных WG за подставные бои

4903 совершенно одинаковых картинок? Нужно как-то оптимизировать этот момент.

 

 

 

куда можно и список ников скопипастить

Я за чтение из файла.

 

 

 

и иконку выбрать, и она сама и id-шники найдет, и иконки сгенерит

Тогда лучше было бы записать ID в файл, и вместо целой кучи одинаковых иконок использовать одну единственную.

 

 

 

Мне видится какая-то простенькая программка, с нормальным gui

Хмм... Странно, что на форуме с таким количеством знатоков Delphi никто не откликнулся.

Что ж, готов помочь. С GUI пока не работал, под Windows - тем паче, но всё когда-то бывает впервые.

Осталось только выкроить время...

Link to comment
Short link
Share on other sites

 

 

Тогда лучше было бы записать ID в файл, и вместо целой кучи одинаковых иконок использовать одну единственную.
Обсуждение нового функционала XVM- это к sirmax в раздел предложений.
Link to comment
Short link
Share on other sites

Работа идёт...

post-20225-0-48775400-1411233024_thumb.png

Задачи поставлены в таком порядке:

   - Научиться получать ID игрока по нику

   - Автоматизировать процесс копирования иконок из clanicons/<region>/nick в clanicons/ID и переименовывания Nick => ID

   - GUI

 

Первый пункт выполнен на половину - уже можно получать ID игрока в виде JSON строк. Осталось только приделать парсер JSON.

Исполняемый файл, исходники => id.tar.gz

  • Upvote 2
Link to comment
Short link
Share on other sites

 

 

Автоматизировать процесс копирования иконок из clanicons//nick в clanicons/ID и переименовывания Nick => ID

'имхо'

Было бы неплохо к ToDo добавить "Автоматизировать процесс замены иконки в clanicons/ID" - мне не нравится предложенная ТС иконка (в другой теме), но переименовать 4900 раз свою иконку по имеющимся ID - выше моих сил...

зы

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

Link to comment
Short link
Share on other sites

 

 

"Автоматизировать процесс замены иконки в clanicons/ID"

Хорошая идея.

 

 

мне не нравится предложенная ТС иконка (в другой теме), но переименовать 4900 раз свою иконку по имеющимся ID - выше моих сил

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

Link to comment
Short link
Share on other sites

post-20225-0-27060900-1411308961_thumb.png

Вот и более-менее удобное приложение.

Использование: id.exe <WoT_Dir>

WoT_Dir в формате C:/my/wot/dir  - обратите внимание на слеши (/) и то, что в конце слеш не ставится!

Что делает программа:

Ищет иконки по папкам clanicons/<REGION>/nick |=> переименовывает иконки Nick => ID |=> копирует иконки в clanicons/ID/ |=> удаляет папки clanicons/<REGION>/nick.

Внимание!: Создайте бекап "/res_mods/xvm/res/clanicons"!
Внимание!: Я не несу ответственности за все последствия использования программы (взрывы, пожары, попадание на луну, стихийные бедствия, экономические кризисы и т.д. и т.п.

 

'Если у вас большое кол-во иконок игроков для региона RU...'

То запаситесь терпением. Получение ID для RU региона - довольно длительное занятие, так как API загруженно сильнее, чем на остальных регионах

id.tar.gz

Edited by Azbuka_slovensko
  • Upvote 1
Link to comment
Short link
Share on other sites

post-20225-0-29335400-1411647944_thumb.png

Небольшое обновление:

  -Убран cURL (-4Мб всяких библиотек)

  -Больше стабильности

  - Помощь по аргументам и их значениям:

id --help
id -h

  - Программа, запущенная с такими параметрами:

id --id --nick <Player_Name> --region <region>

Возвращает ID игрока

 

id.tar.gz

 

На подходе - действия над ID для большого количества иконок.

Edited by Azbuka_slovensko
  • Upvote 1
Link to comment
Short link
Share on other sites

Списки ID будут в простом формате: один ID - одна строка.

Программа уже умеет генерировать список ID по папке с иконками:

  id --icon2list --workdir C:/work/ --listfile C:/work.lst 

Скоро будет добавлена возможность создавать папку с кучей иконок по файлу-списку и одной картинки:

  id --list2icon --outdir C:/out/ --listfile C:/work/list --image C:/icon.png

Если нет предложений по формату списков, то после этого займусь GUI.

id.tar.gz

  • Upvote 1
Link to comment
Short link
Share on other sites

Очередное обновление.

  Новое:

     - Язык D был заменён на Lua. D очень хороший язык, но имеет корявый инструментарий.

     - Больше ничего нового. Был восстановлен весь функционал, ранее реализованный на D.

 

Внимание! Теперь вместо команды:

id <аргументы>

Используется:

lua id.lua <аргументы>

id.tar.gz

  • Upvote 1
Link to comment
Short link
Share on other sites

жесткий тип, однако :-)

Альтернатив нет.

C/C++  - заново учить кучу аспектов.

Ada - проблемы с JSON библиотеками, а писать парсер целиком - слишком долго.

Язык Ассемблера - Прийдётся писать две разных программы: для x86 и x86_64. И у меня есть сомнения насчёт наличия JSON парсера.

Ruby - слишком объёмный интерпретатор.

Python - меня раздражает важность переносов в коде.

Java - зависимость от JVM

Lua - маленькая, имеет кучу библиотек и предельно простая.

Edited by Azbuka_slovensko
Link to comment
Short link
Share on other sites

  - Улучшен алгоритм добавления имён иконок в файл

  - Теперь можно работать со списками ID:

Создавать список ID игроков по папке с иконками:

lua id.lua --icon2list --workdir=<Папка_с_иконками> --list=<Файл_списка>

Внимание: файл списка каждый раз перезаписывается.

 

И создавать папку с иконками по файлу списка и одной иконке:

lua id.lua --list2icon --icon=<Иконка> --list=<Файл_списка> --workdir=<Выходная_папка>

Внимание: копирование пока реализованно с помощью стандартной утилиты XCOPY. Поэтому запаситесь терпением...

 

После того, как разберусь с копированием файлов, займусь преобразованием списков (Nick.lst => Id.lst)

id.tar.gz

Link to comment
Short link
Share on other sites

Lua - маленькая, имеет кучу библиотек и предельно простая

к сожалению, не все пользователи знакомы с работой в "исполняемом окошке" (типа cmd.exe)  которое выдает программа. попытка ввода id --help и/или id -h ничего не дала...

как пользователю, безусловно относящемуся к упомянутой категории ("нуп") мне необходим readme.txt с помощью - описанием всего что возможно...

а по-уму (ИМХО и только) надо бы интерфейс "окон" (если есть желание распространить прогу в "массы", а не оставить на откуп ограниченному кругу спецов)))

первый пост:

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

 

как "любой желающий" отмечу - ПО не юзабельно для "нупа")))

Edited by Duv21
Link to comment
Short link
Share on other sites

помощью - описанием всего что возможно...

"Установка" программы:

1. Открываем id.tar.gz c помощью архиватора. (Чаще всего это WinRAR или 7Zip)

2. Внутри окажется ещё один архив - id.tar. Открываем его всё тем же архиватором.

3. Выделите все файлы в архиве и распакуйте их в папку (Например C:\id\). Для этого достаточно перетащить выделенные файлы из окна архиватора в окно проводника.

 

Работа с программой:

1. Откройте окно "Выполнить" (Через Пуск -> Выполнить или Win + R)

post-20225-0-70345300-1412687424_thumb.png

2. В открывшемся окне введите cmd и нажмите "Ок".

post-20225-0-14295600-1412687425_thumb.png

3. Откроется окно терминала.

post-20225-0-27587900-1412687425_thumb.png

4. Введите в окно:

cd C:\id

и нажмите Enter.

post-20225-0-43851300-1412687425_thumb.png

5. Теперь можно работать с программой:

post-20225-0-31543100-1412687424_thumb.png

 

 

 

 

надо бы интерфейс "окон"

GUI Будет.

 

 

если есть желание распространить прогу в "массы", а не оставить на откуп ограниченному кругу спецов

Эта программа в любом случае будет нужна ограниченному кругу лиц.

Link to comment
Short link
Share on other sites

   - Изменён парсер аргументов - больше скорости.

   - Копирование теперь осуществляется функциями Lua - больше скорости для list2icon

   - Новая функция - nick2id. Она открывает файл с никами, переименовывает их в ID и сохраняет в файл.

lua id.lua --nick2id --list=<Файл списка> --region=<Регион [--outlist=<Выходной файл списка>]

Если аргумент --outlist не указан, то файл указанный опцией --list будет перезаписан.

   - Изменён текст справки (-h или --help)

   - socket/core.dll и mime/core.dll объединены в net.dll

 

Следующий этап - поиск GUI фреймворка и создание GUI...

id.tar.gz

Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...