Активный
- Тема Автор
- #1
Идея и назначение
Игрок может на короткое время увеличить наносимый урон.
Подходит для арен и особых режимов боя.
Суть реализации
1. Храним множитель урона для игрока.
2. Команда /damageboost задает множитель и время.
3. В обработчике урона применяем множитель, затем по таймеру сбрасываем.
Реализация
Дополнительные идеи
1. Реализовать модификацию урона через обработчик OnPlayerWeaponShot.
2. Ограничить команду только аренами.
3. Ввести визуальный эффект при активном бусте.
Игрок может на короткое время увеличить наносимый урон.
Подходит для арен и особых режимов боя.
Суть реализации
1. Храним множитель урона для игрока.
2. Команда /damageboost задает множитель и время.
3. В обработчике урона применяем множитель, затем по таймеру сбрасываем.
Реализация
Код:
new Float:DamageMultiplier[MAX_PLAYERS] = {1.0, ...};
forward ResetDamageBoost(playerid);
CMD:damageboost(playerid, params[])
{
new mult, seconds;
if(sscanf(params, "ii", mult, seconds))
return SendClientMessage(playerid, -1, "Используй: /damageboost [множитель] [секунды].");
if(mult < 1) mult = 1;
if(seconds <= 0) seconds = 1;
DamageMultiplier[playerid] = float(mult);
SetTimerEx("ResetDamageBoost", seconds * 1000, false, "i", playerid);
SendClientMessage(playerid, -1, "Твой урон временно увеличен.");
return 1;
}
public ResetDamageBoost(playerid)
{
DamageMultiplier[playerid] = 1.0;
if(IsPlayerConnected(playerid))
SendClientMessage(playerid, -1, "Бонус к урону закончился.");
return 1;
}
Дополнительные идеи
1. Реализовать модификацию урона через обработчик OnPlayerWeaponShot.
2. Ограничить команду только аренами.
3. Ввести визуальный эффект при активном бусте.