Делаем эволюцию для зомби
Внимание:
Этот вариант не идеален.
И так начнем.
1.Добавляем инклуд fakemeta
2. Создаем три масива.
new g_evolution[33] - Будет отвечать за количество зараженных людей
new stadia_1[33] - Будет отвечать за 1 стадию эволюции
new stadia_2[33] - Будет отвечать за 2 стадию эволюции
3.Копируем.
#define EVOLUTION_HEALTH_1 4000 //Характеристики при 1 эволюции
#define EVOLUTION_SPEED_1 300
#define EVOLUTION_GRAVITY_1 0.70
#define EVOLUTION_HEALTH_2 6000 //Характеристики при 2 эволюции
#define EVOLUTION_SPEED_2 350
#define EVOLUTION_GRAVITY_2 0.30
#define RELOAD_ABILITY_EVOLUTION 5.0 - Время перезарядки способности будет зависеть от стадии эволюции
#define INFECT_PLAYER_1 5 //Сколько нужно заразить игроков до эволюции
#define INFECT_PLAYER_2 10
4.Создаем саму эволюцию.
public evolution(index, level)
{
switch(level)
{
case 0:
{
set_pev(index, pev_health, float(EVOLUTION_HEALTH_1))
set_pev(index, pev_maxspeed, float(EVOLUTION_SPEED_1))
set_pev(index, pev_gravity, EVOLUTION_GRAVITY_1)
stadia_1[index] = true
stadia_2[index] = false
}
case 1:
{
set_pev(index, pev_health, float(EVOLUTION_HEALTH_2))
set_pev(index, pev_maxspeed, float(EVOLUTION_SPEED_2))
set_pev(index, pev_gravity, EVOLUTION_GRAVITY_2)
stadia_1[index] = false
stadia_2[index] = true
}
}
}
5.Выдаем эволюцию.
public zp_user_infected_post(id, infector) //Если игрока заразили
{
if ((zp_get_user_zombie_class(id) == class_boomer) && !zp_get_user_nemesis(id)) // Пишите свой класс
{
if(zp_get_user_first_zombie(id)) //Если игрок первый зомби дается первая стадия эволюции.
{
g_evolution[id] = INFECT_PLAYER_1
evolution(id, 0)
}
else //Если нет все по нулям
{
g_evolution[id] = 0
stadia_1[id] = false
stadia_2[id] = false
}
}
if(is_user_connected(infector) && zp_get_user_zombie_class(infector) == class_boomer) // Пишите свой класс
{
g_evolution[infector]++
if(g_evolution[infector] == INFECT_PLAYER_1)
{
evolution(infector, 0) //Выдача 1 стадии
}
else if(g_evolution[infector] == INFECT_PLAYER_2)
{
evolution(infector, 1) //Выдача 2 стадии
}
}
}
6.Добавляем ниже.
public zp_user_humanized_post(id) //Если игрок стал человеком ,сбрасываем эволюцию.
{
g_evolution[id] = 0
stadia_1[id] = false
stadia_2[id] = false
}
7.Делаем зависимость времени перезарядки способности от эволюции.
Находите место перезарядки способности.
Например:
set_task(g_abilonecooldown,"set_ability_one_cooldown",id)
и заменяем на
set_task(stadia_2[id] ? RELOAD_ABILITY_EVOLUTION : g_abilonecooldown,"set_ability_one_cooldown",id) -
то есть если зомби перешел на 2 стадию эволюции, то он пользоватся способностью на много чаще.
Пример зомби класса.
Похожие новости:
- efeecto
- Дата: 9-11-2013, 6:00
- Просмотры: 3 346