Доступ к архиву

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

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

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

Востанавливается бронь. + дам

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

Lanser651

Дебютант
Доброго времени суток. У меня такая проблема. Вообщем бронь дается все хорошо, но получает дамаг она в себя странно, то есть она получает все хорошо, но после того как ее сбили, через секунду она опять востанавливается, вот код. Пол ночи лазил, так и не понял, что за проблема. + дам, кто поможет)

PHP:
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {
	if(InAntiDmZone{playerid}) {
		AnimClear[playerid] = 4;
		ApplyAnimation(playerid, "FAT","IDLE_tired", 4.1, 1, 1, 1, 1, 0);
		if(Rac::IsPlayerControllable(playerid)) {
			SetTimerEx(""#Rac::"TogglePlayerControllable", 7000, false, "ii", playerid, 1);
		}
	} else {
		static olddamage[MAX_PLAYERS];
		new currdamage = GetTickCount();
		if((currdamage - olddamage[playerid]) >= 900) {
			olddamage[playerid] = currdamage;
			
			switch(weaponid) {
				case 33, 34 : {
					if(bodypart == BODY_PART_HEAD) {
						SetPlayerDamage(playerid, damagedid, Float:INFINITY, weaponid);
					}
				}
				default : {
					SetPlayerDamage(playerid, damagedid, amount, weaponid);
				}
			}
		}
	}
}

stock SetPlayerDamage(playerid, damagedid, Float:damage, reason) {
	new Float:health, Float:armour;
	GetPlayerHealth(damagedid, health);
	GetPlayerArmour(damagedid, armour);
	
	if(armour > 0) {
		armour -= damage;
		if(armour < 0) {
			health -= -armour;
			if(health < 1) {
				SyncInfo[damagedid][sKillerID] = playerid;
				SyncInfo[damagedid][sReasonID] = reason;
			}
		}
		Rac::SetPlayerArmour(damagedid, armour);
		Rac::SetPlayerHealth(damagedid, health);
	}
	
	else if(health > 0) {
		health -= damage;
		if(health < 1) {
			SyncInfo[damagedid][sKillerID] = playerid;
			SyncInfo[damagedid][sReasonID] = reason;
		}
		Rac::SetPlayerArmour(damagedid, armour);
		Rac::SetPlayerHealth(damagedid, health);
	}
	return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу