Добавляем Спрайт Лап[Claws] вместо ножа.


Добавляем Спрайт Лап[Claws] вместо ножа.

Туториал: \”Как добавить спрайт к классу зомби.\”

Добавляем Спрайт Лап[Claws] вместо ножа.

Как добавить спрайт к классу зомби?

Итак.. Поехали:
Открываем исходник Zombie класса.

1)Создадим переменную для Веапон Листа:

new g_msgWeaponList

2) Зарегистрируем тип Мессага(сообщения для клиента) в public plugin_init(), либо же в public plugin_precache():

g_msgWeaponList = get_user_msgid( \”WeaponList\” )

3)Теперь Прекэшим файлы(Загружаем игровые файлы, в нашем случае это спрайт[.spr] и Текстовый документ[.txt] ):


precache_generic(\”sprites/class_runner_avp.txt\”)
precache_generic(\”sprites/zp-2u/class_alien.spr\”)

4) Теперь, нужно отловить момент заражения и момент, когда игрок становится человеком[Human]. В моем случае это: zp_fw_core_infect_post и zp_fw_core_cure_post.


public zp_fw_core_infect_post(id) // Такой тип форварда у версии zp50, у версии 4.3 zp_user_infected_post(id)
{
if ( !zp_class_nemesis_get(id) && zp_class_zombie_get_next(id) == g_Runner) // /* Делаем проверку на Класс зомби и предотвращаем замену спрайта у немезиды. */
{
message_begin(MSG_ONE, g_msgWeaponList, _, id)
write_string(\”class_runner_avp\”) // Имя txt файла, в котором будет находиться информация о спрайте и координатах прорисовки у клиента.
write_byte(-1)
write_byte(-1)
write_byte(-1)
write_byte(-1)
write_byte(2)
write_byte(1)
write_byte(29)
write_byte(0)
message_end()
}
}

public zp_fw_core_cure_post(id) // У версии 4.3 : zp_user_humanized_post(id)
{

if ( !zp_class_nemesis_get ( id ) && zp_class_zombie_get_current(id) != g_Runner)
{
message_begin( MSG_ONE, g_msgWeaponList, _, id )
write_string(\”weapon_knife\”) // Стандартный спрайт ножа.
write_byte(-1)
write_byte(-1)
write_byte(-1)
write_byte(-1)
write_byte(2)
write_byte(1)
write_byte(29)
write_byte(0)
message_end()
}
}

 Весь исходник версии zp4.3

 Весь исходник версии zp508

5)Создаем файловый документ txt:


2
weapon 640 zp-2u/class_alien 0 45 170 45
weapon_s 640 zp-2u/class_alien 0 45 170 45

Первая строка: Указывает кол-во заданной информации.
Вторая строка: Задает координаты спрайта в момент выбора оружия.
Третья строка: Задает координаты в остальных, оставшихся, случаях.
——————–


weapon 640 zp-2u/class_alien 0 45 170 45

\”640\” – Тип отображение спрайта.
\”zp-2u/class_alien\” – Путь от спрайта, начиная от папки \”Sprites\”.
\”0\” – Начальная координата спрайта по оси X.
\”45\” – Начальная Координата Спрайта по Оси Y.
\”170\” – Длина спрайта.
\”45\” – Ширина спрайта.

Примечание: Для определения координат, рекомендую использовать Paint.Net =)

Цитата: Примечание

Некоторые Нативы для 4.3 версии:

zp_core_is_zombie(id) == zp_get_user_zombie(id)

zp_class_zombie_get_current(id) == zp_get_user_zombie_class(id)

zp_class_nemesis_get(id) == zp_get_user_nemesis(id)

zp_fw_core_cure_post(id) == zp_user_humanized_post(id)

zp_fw_core_infect_post(id) == zp_user_infect_post(id)


Комментарии:


Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Zombie-Mod.com — крупнейший игровой портал по Counter Strike