Воскресенье - 22-Июня-2025 - 04:27
Новые сообщения Участники Правила форума Поиск RSS
  • Страница 1 из 1
  • 1
[Guide] Свои смайлы в клиент
DarkExtenДата: Воскресенье, 15-Мая-2011, 21:49 | Сообщение # 1
Мал. флудер
Группа: Администратор
Сообщений: 36
Награды: 0
Репутация: 10
Статус: Offline
Добрый день)
Если это где-то уже было, за ранее извиняюсь.

Что может пригодиться в процессе работы:
-gif редактор
-плагин фотошопа для работы с dds

-если не устраивает фотошоп, то, как альтернатива - DDS Converter

1. Исходный смайл, найденный на просторах интернета -

2. Разбиваем в любом gif редакторе наш смайлик на спрайты (кадры):

Далее, подчищаем фон кадров (делаем его прозрачным) и изменяем размер спрайтов - делаем его 32х32 пиксела (это важно!)
Естественно, все это делается в графическом редакторе (любом, на ваш вкус)

3. В том же графическом редакторе, создаем новый рисунок размером 512х512 пикселов с прозрачным фоном. Советую заранее настроить шаг сетки на 32 пиксела. Получается что-то похожее на это:

4. Перетаскиваем по-порядку наши 13 спрайтов полученных ранее на сделанную выше основу. Ход размещения - слева на право и сверху в низ. Вот как должно получиться в конечном итоге:

Сетка не позволяет промахнуться) (точное расположение спрайтов очень важно).

5. С графической частью закончили. Любым удобным способом создаем из получившегося рисунка dds файл (будь-то фотошоп или конвертер). Имеет смысл поэксперементировать с настройками dds.

6. Не для кого не секрет, что наборы смайлов хранятся в клиенте игры в Perfect World\element\surfaces.pck. Распаковываем его и лезем в папку /ingame/
Сами наборы смайлов представлены 2 мя файлами - emotionsХ.dds (который мы уже сделали выше) и emotionsХ.txt, немного о формате последнего.

непосредственно для нашего изготовленного смайла emotionsХ.txt выглядит следующим образом:

Code
0 13 "01hi" 10 20 30 40 50 60 70 80 90 100 110 120 130
13 1 "03test" 10
14 1 "03test" 10
15 1 "03test" 10
16 1 "03test" 10
17 1 "03test" 10
18 1 "03test" 10
19 1 "03test" 10
20 1 "03test" 10
21 1 "03test" 10
22 1 "03test" 10
23 1 "03test" 10
24 1 "03test" 10
25 1 "03test" 10
26 1 "03test" 10
27 1 "03test" 10
28 1 "03test" 10
29 1 "03test" 10
30 1 "03test" 10
31 1 "03test" 10
32 1 "03test" 10
33 1 "03test" 10
34 1 "03test" 10
35 1 "03test" 10
36 1 "03test" 10
37 1 "03test" 10
38 1 "03test" 10
39 1 "03test" 10
40 1 "03test" 10
41 1 "03test" 10
42 1 "03test" 10
43 1 "03test" 10
44 1 "03test" 10
45 1 "03test" 10
46 1 "03test" 10
47 1 "03test" 10
48 1 "03test" 10
49 1 "03test" 10
50 1 "03test" 10
51 1 "03test" 10
52 1 "03test" 10
53 1 "03test" 10
54 1 "03test" 10
55 1 "03test" 10
56 1 "03test" 10
57 1 "03test" 10
58 1 "03test" 10
59 1 "03test" 10
60 1 "03test" 10
61 1 "03test" 10

условно формат можно разбить на 4 области (на примере первой строки):
0 - порядковый номер области начала смайла (первый спрайт, счет начинается с 0)... можно назвать это номер места в "шахматной доске" 16х16 квадратов, счет начинается слева на право и сверху вниз.
(если бы у меня был 2й смайл допустим, с 2 спрайтами, то 2я строка выглядела бы так:
13 2 "02hi2" 10 20, естественно, что сдвинется вся последующая нумерация).
13 - количество кадров (спрайтов) в смайле
"01hi" - наименование (произвольное значение)
10 20 30 40 50 60 70 80 90 100 110 120 130 - временные интервалы отображения каждого спрайта (точно не уверен, но, похоже что в десятых секунды) по нарастающей, т.е. время показа спрайта будет разницой между соседними соответствующими цифрами (знаю, не очень популярно объяснил ))), но как умею, поэкспериментируйте и сами разберетесь со временем .)
Важно, emotionsХ.txt должен быть заполнен для всех 50-ти смайлов из набора (у меня это "пустышки" 03test) даже если в текущем наборе всего 1 смайл, в противном случае - "светофор".

  • Страница 1 из 1
  • 1
Поиск: