Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Картинки итемов для ООГ разработки

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 13.01.2014, 00:00   #1
 Разведчик
Аватар для wajskopf
 
wajskopf никому не известный тип
Регистрация: 15.08.2011
Сообщений: 25
Популярность: 10
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
 
Question Картинки итемов для ООГ разработки

Как правильнее использовать картинки в программе? Сразу скачать огрромную базу изображений и вшивать их в программу? или делать автоматическую загрузку изображения из сети? Я пока использую второй вариант, но мне не нравится каждый раз при запуске качать что-то из интернета...
  Ответить с цитированием
Старый 13.01.2014, 00:05   #2
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Картинки итемов для ООГ разработки

Вытащить из клиента?
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 13.01.2014, 02:11   #3
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

Распишу свои мысли по этому поводу:

1) Загрузка по сети (с pwdatabase.com):
+ Не надо парится с вытаскиванием изображений из клиента, все уже вытащено за нас
+ Не надо тащить изображения вместе с программой
- Сайт не наш, за него мы не отвечаем. А если ляжет? Если закроет доступ с внешних источников? Да и негодное это дело, хотлинки делать.
- Некоторых параноиков может насторожить тот факт, что программа лезет на какой-то там сервер.

2) Загрузка по сети (наш сервер)
+ Плюсы те же
- Надо самому поддерживать базу в актуальном состоянии
- Параноики еще больше возмущаться, ибо прога лезет не на проверенный сайт, а куда-то неясно куда.

3) Таскать всю кипу изображений с программой
+ Изображения будут всегда доступны
- Надо поддерживать актуальность библиотеки каким-то образом у клиента
- Большой вес программы, надо придумывать некоторые хитрости по уменьшению веса

4) Выдирать с клиента при работе
+ не надо поддерживать актуальность какой-либо бд, за это отвечают китайцы
+ вес программы минимален
- Нужен клиент ПВ.
- Программа должна уметь читать elements.data, значит надо искать конфиги
- Надо распаковывать pck файл и оттуда выдирать нужные изображения (видимо, заранее, ибо дело долгое)
- Надо уметь конверитровать/выводить dds файлы (вроде иконки там в таком формате)

Я для себя выбрал третий способ, но с небольшими поправками - например, удаление дубликатов, что снизило вес бд. Ну и другие фишки)

А вообще никто не мешает комбинировать варианты. Самые популярные иконки зашить в прогу, а остальные тягать с сайта
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Пользователь сказал cпасибо:
wajskopf (13.01.2014)
Старый 13.01.2014, 20:05   #4
 Разведчик
Аватар для wajskopf
 
wajskopf никому не известный тип
Регистрация: 15.08.2011
Сообщений: 25
Популярность: 10
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

Цитата:
Сообщение от N00bSa1b0tПосмотреть сообщение
Самые популярные иконки зашить в прогу, а остальные тягать с сайта

Какие иконки, вот например, вы считаете популярными?
  Ответить с цитированием
Старый 13.01.2014, 20:13   #5
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

Цитата:
Сообщение от wajskopfПосмотреть сообщение
Какие иконки, вот например, вы считаете популярными?

Зависит от типа программы.
Если котобот - то, например, можно ориентироваться на котосайт, там вроде большинство популярных товаров.

Если какой-нибудь оог-точер - то картинки итемов 1 лвла, на которых обычно точат.

ну и так далее)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 13.01.2014, 20:14   #6
 Разведчик
Аватар для wajskopf
 
wajskopf никому не известный тип
Регистрация: 15.08.2011
Сообщений: 25
Популярность: 10
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

точно...)
  Ответить с цитированием
Старый 14.01.2014, 20:57   #7
 Пехотинец
Аватар для ToRcH2565
 
ToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известен
Регистрация: 02.08.2009
Сообщений: 57
Популярность: 417
Сказал(а) спасибо: 12
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Картинки итемов для ООГ разработки

[Ссылки могут видеть только зарегистрированные пользователи. ]
предметы 1-30000 (айди)..
Формат файла gZip архив, внутри склейка...(просто содержимое файлов склеяно)

2 байта кол-во файлов в архиве
дальше как то так...
в цикле от 0 до прочитаного кол-ва...
2 байта размер
если размер меньше 10 байт(по идее везде 0, но!... 10 наверняка) то на момент создания файла - такого итема не существовало, заменяем на итем с id=1 там вопросительный знак...(берем просто ссылку на картинку с id=1)
данные(gif файл), кол-во байт = прочитаный размер.


Воткните под спойлер.. код ужасен, но править уже лень) не нужен мне этот файл...
ссылка на gZip под делфи, на шарпе есть родной класс....
[Ссылки могут видеть только зарегистрированные пользователи. ]
Код:
// Rad XE2-XE5 Load Gif Image From gzip.
Uses 
  GIFimg;
Procedure LoadGifItemList;
Var
  ccf:TFileStream;
  v:TMemoryStream;
  f:TMemoryStream;
  cnt,sz:Word;
  i:Integer;
begin
  ccf:=TFileStream.Create('Data/ItemImg',fmOpenRead);
  v:=TMemoryStream.Create;
  GZDecompressStream(ccf,v);
  ccf.Free;
  f:=TMemoryStream.Create;
  v.Position:=0;
  v.Read(cnt,2);
  GifItemCount:=cnt;
  SetLength(GifItemList,cnt+1);
  for I := 0 to cnt do
  begin
    if (i mod 100)=0 then
      Begin
      End;
    v.Read(sz,2);
    if sz<10 then
    begin
      GifItemList[i]:=GifItemList[1];
    end else
    Begin
      f.Clear;
      v.Read(z,sz);
      f.Write(z,sz);
      f.Position:=0;
      GifItemList[i].Image:=TGIFImage.Create;
      GifItemList[i].Image.LoadFromStream(f);
    End;
  end;
  f.Free;
  v.Free;
end;
Добавлено через 3 минуты
Цитата:
Сообщение от N00bSa1b0tПосмотреть сообщение
сли какой-нибудь оог-точер - то картинки итемов 1 лвла, на которых обычно точат.

Цитата:
Сообщение от N00bSa1b0tПосмотреть сообщение
3) Таскать всю кипу изображений с программой
+ Изображения будут всегда доступны
- Надо поддерживать актуальность библиотеки каким-то образом у клиента
- Большой вес программы, надо придумывать некоторые хитрости по уменьшению веса

Вот нечто подобное и у меня) только с одим лиш исключением, не вся база и не удалены дубли, что кстати легко исправить просто переделав фалй( применить исключение в 10 байт на хранение айди оригинала для дублей)

Последний раз редактировалось ToRcH2565; 14.01.2014 в 21:01. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 01.02.2014, 10:12   #8
 Разведчик
Аватар для FriendsKenny
 
FriendsKenny на правильном пути
Регистрация: 13.07.2011
Сообщений: 22
Популярность: 20
Сказал(а) спасибо: 16
Поблагодарили 7 раз(а) в 6 сообщениях
Отправить сообщение для FriendsKenny с помощью Skype™
 
По умолчанию Re: Картинки итемов для ООГ разработки

Примерно так это работает у меня:

Код:
            var dir_img = Environment.CurrentDirectory + "\\temp\\";
            if (!Directory.Exists(dir_img))
            {
                Directory.CreateDirectory(dir_img);
            }
            string name_img = id.ToString() + ".gif";
            if (File.Exists(dir_img + name_img))
            {
                img_path = dir_img + name_img;
            }
            else
            {
                string url = String.Format("http://www.pwdatabase.com/images/icons/generalm/{0}.gif", id);
                string path = dir_img + name_img;
                System.Net.WebClient w = new System.Net.WebClient();
                w.DownloadFile(url, path);
                img_path = path;
            }
Решает кучу проблем сразу
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
j091 (03.02.2014), pw.assistant (01.02.2014)
Старый 01.02.2014, 11:33   #9
 Сержант
Аватар для pw.assistant
 
pw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауру
Регистрация: 16.02.2012
Сообщений: 105
Популярность: 651
Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

а id иконки откель берется?
________________
backup - акт проявления трусости
  Ответить с цитированием
Старый 01.02.2014, 12:29   #10
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Картинки итемов для ООГ разработки

Цитата:
а id иконки откель берется?

Совпадает с айди предмета - проверил.
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 03.02.2014, 15:42   #11
 Разведчик
Аватар для vogel
 
vogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личность
Регистрация: 17.09.2009
Сообщений: 46
Популярность: 1187
Сказал(а) спасибо: 8
Поблагодарили 50 раз(а) в 13 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

У меня все иконки и названия предметов лежат в SQLite базе, которая одним файликом поставляется вместе с продуктом.
  Ответить с цитированием
Старый 03.02.2014, 17:35   #12
 Разведчик
Аватар для FriendsKenny
 
FriendsKenny на правильном пути
Регистрация: 13.07.2011
Сообщений: 22
Популярность: 20
Сказал(а) спасибо: 16
Поблагодарили 7 раз(а) в 6 сообщениях
Отправить сообщение для FriendsKenny с помощью Skype™
 
По умолчанию Re: Картинки итемов для ООГ разработки

Цитата:
Сообщение от vogelПосмотреть сообщение
У меня все иконки и названия предметов лежат в SQLite базе, которая одним файликом поставляется вместе с продуктом.

Сколько база весит?
  Ответить с цитированием
Старый 03.02.2014, 20:48   #13
 Пехотинец
Аватар для ToRcH2565
 
ToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известен
Регистрация: 02.08.2009
Сообщений: 57
Популярность: 417
Сказал(а) спасибо: 12
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Картинки итемов для ООГ разработки

Цитата:
Сколько база весит?

+ к вопросу, и также, нагрузка на достать не лишняя ли? в таком варианте проще хранить файлами\архивом...
  Ответить с цитированием
Старый 04.02.2014, 14:33   #14
 Разведчик
Аватар для vogel
 
vogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личность
Регистрация: 17.09.2009
Сообщений: 46
Популярность: 1187
Сказал(а) спасибо: 8
Поблагодарили 50 раз(а) в 13 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

База с учётом перевода названий на все 7 языков весит примерно 50 мегов. Работает просто охренительно быстро. Скрипт полного парсинга pwdatabase, чтоб заполнить её с нуля выполняется где-то сутки. Но меня это не парит - результатом я доволен.
  Ответить с цитированием
Старый 05.02.2014, 09:54   #15
 Разведчик
Аватар для nitrotek
 
nitrotek душа компанииnitrotek душа компанииnitrotek душа компанииnitrotek душа компанииnitrotek душа компанииnitrotek душа компанииnitrotek душа компанииnitrotek душа компании
Регистрация: 10.06.2010
Сообщений: 30
Популярность: 940
Сказал(а) спасибо: 7
Поблагодарили 139 раз(а) в 22 сообщениях
 
По умолчанию Re: Картинки итемов для ООГ разработки

Цитата:
Сообщение от N00bSa1b0t
3) Таскать всю кипу изображений с программой
+ Изображения будут всегда доступны
- Надо поддерживать актуальность библиотеки каким-то образом у клиента
- Большой вес программы, надо придумывать некоторые хитрости по уменьшению веса

По мне это самый оптимальный вариант. Моя база на 2-х языках весит примерно 10 метров, 80 % массы занимают иконки. А актуальность библиотеки у клиента можно поддерживать с помощью авто-обновлений. Чтобы не мучить pwdatabase.com и себя в ожидании, парсим всё у актуального клиента.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интегрированная среда разработки ботов Stratego Другие Игры 99 21.08.2023 18:44
[Статья] C++ Выбор среды разработки Yukikaze С/С++ 8 15.10.2013 22:40
[Обсуждение] [Идеи]Полезно для разработки bradis Общение и обсуждение Perfect World 3 18.08.2013 23:21
Цикл разработки Майнкрафта joker_fist Общение на темы MineCraft 1 13.11.2012 21:08
[Файл] Программа для разработки макросов Drakus Скрипты и прочий софт для Point Blank 0 21.03.2011 18:21

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 22:32.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net