/ / Делаем эволюцию для зомби

Делаем эволюцию для зомби


Делаем эволюцию для зомби


Внимание:
Этот вариант не идеален.

И так начнем.

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 стадию эволюции, то он пользоватся способностью на много чаще.

Пример зомби класса.



Download

(Файл скачали: 117 раз)











Похожие новости:
  • efeecto
  • Дата: 9-11-2013, 6:00
  • Просмотры: 2 142

Добавить комментарий