Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Нанесение урона вам, игроку

Статус
В этой теме нельзя размещать новые ответы.

f@N@t1k

Ученик
Урок по созданию показатель урона который нанесли вы , или нанесён вам.

Смысл всего этого:
- Когда стреляешь ты показывает урон над головой (скрин отсуствует)
- Когда попали в тебя снизу показывает урон нанесённый вам


Ко всем New:
PHP:
new KillTimeForShowDamage[MAX_PLAYERS];
new KillTimeForShowDamage2[MAX_PLAYERS];
new CountDamage[MAX_PLAYERS];
new Text:heal44[MAX_PLAYERS];
new Float:healthy[MAX_PLAYERS];
new Float:Armor[MAX_PLAYERS];
new Float:Armor2[MAX_PLAYERS];
new Float:healthy2[MAX_PLAYERS];
new Text3D:Damage[MAX_PLAYERS];
OnPlayerConnect

PHP:
  CountDamage[playerid] = 0;
	Damage[playerid] = Create3DTextLabel(" ",COLOR_3DTEXT,0,0,0,DISTANCE,GetPlayerVirtualWorld(playerid),true);
	Attach3DTextLabelToPlayer(Damage[playerid], playerid, 0.0, 0.0, 0.43);
	heal44[playerid] = TextDrawCreate(330.000000,400.0," ");
	healthy2[playerid] = 0;
	Armor2[playerid] = 0;
	TextDrawAlignment(heal44[playerid],2);
	TextDrawSetShadow(heal44[playerid],0);
	TextDrawFont(heal44[playerid],1);
	TextDrawLetterSize(heal44[playerid],0.279999,0.800000);
	TextDrawBoxColor(heal44[playerid], 0x00000070);
	TextDrawTextSize(heal44[playerid], 100, 80);
	TextDrawUseBox(heal44[playerid], 1);
OnPlayerDisconnect:
PHP:
	Delete3DTextLabel(Damage[playerid]);
	TextDrawDestroy(heal44[playerid]);

OnPlayerUpdate:
PHP:
GetPlayerArmour(playerid,Armor[playerid]);
	if(Armor[playerid] != Armor2[playerid])
	{
		new stringF[10];
		new cba = floatround(Armor2[playerid])-floatround(Armor[playerid]);
		if(cba > 0)
		{
			KillTimer(KillTimeForShowDamage[playerid]);
			KillTimeForShowDamage[playerid] = SetTimerEx("HideDamageForPlayer", 2000, 0, "i", playerid);
			CountDamage[playerid] += cba;
			format(stringF,sizeof(stringF),"-%d",CountDamage[playerid]);
			Update3DTextLabelText(Damage[playerid],COLOR_3DTEXT,stringF);
			new bride[20];
			format(bride,sizeof(bride),"Armour: %.0f",Armor[playerid]);
			TextDrawSetString(heal44[playerid],bride);
			TextDrawShowForPlayer(playerid,heal44[playerid]);
			KillTimer(KillTimeForShowDamage2[playerid]);
			KillTimeForShowDamage2[playerid] = SetTimerEx("HideTDDamage", 5000, 0, "i", playerid);
		}
		Armor2[playerid] = Armor[playerid];
	}
	GetPlayerHealth(playerid,healthy[playerid]);
	if(healthy[playerid] != healthy2[playerid])
	{
		new stringF[10];
		new abc = floatround(healthy2[playerid])-floatround(healthy[playerid]);
		if(abc > 0)  {
			KillTimer(KillTimeForShowDamage[playerid]);
			KillTimeForShowDamage[playerid] = SetTimerEx("HideDamageForPlayer", 2000, 0, "i", playerid);
			CountDamage[playerid] += abc;
			format(stringF,sizeof(stringF),"-%d",CountDamage[playerid]);
			Update3DTextLabelText(Damage[playerid],COLOR_3DTEXT,stringF);
			new bride[20];
			format(bride,sizeof(bride),"Health:%.0f",healthy[playerid]);
			TextDrawSetString(heal44[playerid],bride);
			TextDrawShowForPlayer(playerid,heal44[playerid]);
			KillTimer(KillTimeForShowDamage2[playerid]);
			KillTimeForShowDamage2[playerid] = SetTimerEx("HideTDDamage", 5000, 0, "i", playerid);
		}
		healthy2[playerid] = healthy[playerid];
	}

В OnPlayerDeath:
PHP:
	TextDrawHideForPlayer(playerid,heal44[playerid]);
	Update3DTextLabelText(Damage[playerid],COLOR_3DTEXT," ");


И в конец мода.

PHP:
forward HideDamageForPlayer(playerid);
public HideDamageForPlayer(playerid)
{
	Update3DTextLabelText(Damage[playerid],COLOR_3DTEXT," ");
	CountDamage[playerid] = 0;
	return 1;
}

forward HideTDDamage(playerid);
public HideTDDamage(playerid)
{
	TextDrawHideForPlayer(playerid,heal44[playerid]);
	return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу