seriych Posted September 18, 2014 Share Posted September 18, 2014 В процессе развития одной из тем на форуме, возникла необходимость создать новую. Итак, уже давно имеем проблему, связанную с тем, что если какой-то игрок сменил игровой ник, то мы можем забыть кто это или вообще потерять его, если следим за ним на каком-нибудь статистическом ресурсе, используя его ник. В частности, если мы добавляем иконку игрока в 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-шники найдет, и иконки сгенерит. Ну или для начала неудобную :-) чтобы пользователи могли просить других более опытных. Короче, обсуждаем, пишем, помогаем... 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 19, 2014 Share Posted September 19, 2014 Например, мной подготовлен список из 4903 id игроков, забаненных WG за подставные бои 4903 совершенно одинаковых картинок? Нужно как-то оптимизировать этот момент. куда можно и список ников скопипастить Я за чтение из файла. и иконку выбрать, и она сама и id-шники найдет, и иконки сгенерит Тогда лучше было бы записать ID в файл, и вместо целой кучи одинаковых иконок использовать одну единственную. Мне видится какая-то простенькая программка, с нормальным gui Хмм... Странно, что на форуме с таким количеством знатоков Delphi никто не откликнулся. Что ж, готов помочь. С GUI пока не работал, под Windows - тем паче, но всё когда-то бывает впервые. Осталось только выкроить время... @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted September 19, 2014 Author Share Posted September 19, 2014 Тогда лучше было бы записать ID в файл, и вместо целой кучи одинаковых иконок использовать одну единственную. Обсуждение нового функционала XVM- это к sirmax в раздел предложений. @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 20, 2014 Share Posted September 20, 2014 Работа идёт... Задачи поставлены в таком порядке: - Научиться получать ID игрока по нику - Автоматизировать процесс копирования иконок из clanicons/<region>/nick в clanicons/ID и переименовывания Nick => ID - GUI Первый пункт выполнен на половину - уже можно получать ID игрока в виде JSON строк. Осталось только приделать парсер JSON. Исполняемый файл, исходники => id.tar.gz 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted September 20, 2014 Share Posted September 20, 2014 Автоматизировать процесс копирования иконок из clanicons//nick в clanicons/ID и переименовывания Nick => ID 'имхо' Было бы неплохо к ToDo добавить "Автоматизировать процесс замены иконки в clanicons/ID" - мне не нравится предложенная ТС иконка (в другой теме), но переименовать 4900 раз свою иконку по имеющимся ID - выше моих сил... зы если уж делать функционал, связанный с ID, то и этот момент надо бы предусмотреть... @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 20, 2014 Share Posted September 20, 2014 "Автоматизировать процесс замены иконки в clanicons/ID" Хорошая идея. мне не нравится предложенная ТС иконка (в другой теме), но переименовать 4900 раз свою иконку по имеющимся ID - выше моих сил @sirmax, вот явный пример, когда это упростило бы жизнь пользователю. @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 21, 2014 Share Posted September 21, 2014 (edited) Вот и более-менее удобное приложение. Использование: 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 September 21, 2014 by Azbuka_slovensko 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 25, 2014 Share Posted September 25, 2014 (edited) Небольшое обновление: -Убран cURL (-4Мб всяких библиотек) -Больше стабильности - Помощь по аргументам и их значениям: id --help id -h - Программа, запущенная с такими параметрами: id --id --nick <Player_Name> --region <region> Возвращает ID игрока id.tar.gz На подходе - действия над ID для большого количества иконок. Edited September 25, 2014 by Azbuka_slovensko 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 27, 2014 Share Posted September 27, 2014 Списки 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 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 5, 2014 Share Posted October 5, 2014 Очередное обновление. Новое: - Язык D был заменён на Lua. D очень хороший язык, но имеет корявый инструментарий. - Больше ничего нового. Был восстановлен весь функционал, ранее реализованный на D. Внимание! Теперь вместо команды: id <аргументы> Используется: lua id.lua <аргументы> id.tar.gz 1 @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted October 5, 2014 Author Share Posted October 5, 2014 Язык D был заменён на Lua жесткий тип, однако :-) @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 6, 2014 Share Posted October 6, 2014 (edited) жесткий тип, однако :-) Альтернатив нет. C/C++ - заново учить кучу аспектов. Ada - проблемы с JSON библиотеками, а писать парсер целиком - слишком долго. Язык Ассемблера - Прийдётся писать две разных программы: для x86 и x86_64. И у меня есть сомнения насчёт наличия JSON парсера. Ruby - слишком объёмный интерпретатор. Python - меня раздражает важность переносов в коде. Java - зависимость от JVM Lua - маленькая, имеет кучу библиотек и предельно простая. Edited October 6, 2014 by Azbuka_slovensko @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 7, 2014 Share Posted October 7, 2014 - Улучшен алгоритм добавления имён иконок в файл - Теперь можно работать со списками ID: Создавать список ID игроков по папке с иконками: lua id.lua --icon2list --workdir=<Папка_с_иконками> --list=<Файл_списка> Внимание: файл списка каждый раз перезаписывается. И создавать папку с иконками по файлу списка и одной иконке: lua id.lua --list2icon --icon=<Иконка> --list=<Файл_списка> --workdir=<Выходная_папка> Внимание: копирование пока реализованно с помощью стандартной утилиты XCOPY. Поэтому запаситесь терпением... После того, как разберусь с копированием файлов, займусь преобразованием списков (Nick.lst => Id.lst) id.tar.gz @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 7, 2014 Share Posted October 7, 2014 (edited) Lua - маленькая, имеет кучу библиотек и предельно простая к сожалению, не все пользователи знакомы с работой в "исполняемом окошке" (типа cmd.exe) которое выдает программа. попытка ввода id --help и/или id -h ничего не дала... как пользователю, безусловно относящемуся к упомянутой категории ("нуп") мне необходим readme.txt с помощью - описанием всего что возможно... а по-уму (ИМХО и только) надо бы интерфейс "окон" (если есть желание распространить прогу в "массы", а не оставить на откуп ограниченному кругу спецов))) первый пост: увидеть какую-то удобную софтинку, которая поможет проделывать аналогичные действия любому желающему как "любой желающий" отмечу - ПО не юзабельно для "нупа"))) Edited October 7, 2014 by Duv21 @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 7, 2014 Share Posted October 7, 2014 помощью - описанием всего что возможно... "Установка" программы: 1. Открываем id.tar.gz c помощью архиватора. (Чаще всего это WinRAR или 7Zip) 2. Внутри окажется ещё один архив - id.tar. Открываем его всё тем же архиватором. 3. Выделите все файлы в архиве и распакуйте их в папку (Например C:\id\). Для этого достаточно перетащить выделенные файлы из окна архиватора в окно проводника. Работа с программой: 1. Откройте окно "Выполнить" (Через Пуск -> Выполнить или Win + R) 2. В открывшемся окне введите cmd и нажмите "Ок". 3. Откроется окно терминала. 4. Введите в окно: cd C:\id и нажмите Enter. 5. Теперь можно работать с программой: надо бы интерфейс "окон" GUI Будет. если есть желание распространить прогу в "массы", а не оставить на откуп ограниченному кругу спецов Эта программа в любом случае будет нужна ограниченному кругу лиц. @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 7, 2014 Share Posted October 7, 2014 GUI Будет. отлично, ждем... @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 8, 2014 Share Posted October 8, 2014 - Изменён парсер аргументов - больше скорости. - Копирование теперь осуществляется функциями 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 @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 11, 2014 Share Posted October 11, 2014 - Исправления небольших ошибок - Написан GUI. id.tar.gz 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 11, 2014 Share Posted October 11, 2014 Работает. есть мысли, как "вытянуть" из клиента контакты (друзья, игнор, клан)? сам не знаю... @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 11, 2014 Share Posted October 11, 2014 есть мысли, как "вытянуть" из клиента контакты (друзья, игнор, клан)? Надо копать пайтон. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.