Ben_Lovejoy
Компетентный
Простейший мануал, показывает 3D текст с уроном над головой игрока которому нанесли урон.
Скриншоты (v1.0):
Видео v1.0
Ко всем define в начало мода (настройки):
Ко всем new в начало мода:
Затем идём в паблик OnPlayerConnect и вставляем туда:
А в OnPlayerDisconnect:
Далее в OnPlayerTakeDamage (если нет такого паблика, создаём) вставим:
И в конец мода вставляем:
Автор:
1.0 happines
Скриншоты (v1.0):
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Ко всем define в начало мода (настройки):
PHP:
#define max_steps_damage_txt 8//Кол-во "прыжков" HP
#define start_Z_damage_txt 0.1//Стартовая Z координата
#define factor_Z_damage_txt 0.05//Множитель координаты Z (увеличение Z с каждым "прыжком")
#define factor_A_damage_txt 0x16//Alpha множетель
#define color__damage_txt 0xFF450000//Цвет текста
PHP:
new Text3D:txt_damage_id[MAX_PLAYERS][5];
new bool: txt_damage_use[MAX_PLAYERS][5];
PHP:
for(new f; f<5; ++f){
txt_damage_id[playerid][f] = Create3DTextLabel(" ", -1, 0.0, 0.0, 0.0, 20.0, -1, 1);
txt_damage_use[playerid][f] = false;
}
PHP:
for(new f; f<5; ++f)
Delete3DTextLabel(txt_damage_id[playerid][f]);
return true;
PHP:
Scroll3DPlayerLabel(playerid, amount, GetFreeDamageTxtID(playerid));
PHP:
GetFreeDamageTxtID(playerid){
for(new f; f<5; ++f)
if(!txt_damage_use[playerid][f]){
txt_damage_use[playerid][f] = true;
return f;
}
txt_damage_use[playerid][0] = true;
return false;
}
Scroll3DPlayerLabel(playerid, Float:dmg_point, slot_id)return _Scroll3DPlayerLabel(playerid, dmg_point, max_steps_damage_txt, slot_id);
forward _Scroll3DPlayerLabel(playerid, Float:dmg_point, step_id, slot_id);
public _Scroll3DPlayerLabel(playerid, Float:dmg_point, step_id, slot_id){
new str[16];
Attach3DTextLabelToPlayer(txt_damage_id[playerid][slot_id], playerid, 0.0, 0.0, factor_Z_damage_txt*(max_steps_damage_txt-step_id)+start_Z_damage_txt);
format(str, sizeof(str), "-%.0f HP", dmg_point);
Update3DTextLabelText(txt_damage_id[playerid][slot_id], 0xFF450000 | 0xff-(max_steps_damage_txt-step_id)*factor_A_damage_txt, str);
if(!step_id){
Update3DTextLabelText(txt_damage_id[playerid][slot_id], -1, " ");
txt_damage_use[playerid][slot_id] = false;
}else SetTimerEx("_Scroll3DPlayerLabel", 100, false, "ifii", playerid, dmg_point, --step_id, slot_id);
return true;
}
1.0 happines
Последнее редактирование:
