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

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

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

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

Проблема при смерте(Код в теме)

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

Brain_Voker

Умник
Если игрок умирает или падает с большой высоты, он с начало просто стоит и ХП мигает, типо он умер. Но надо еще один удар сделать чтоб он умер
Ниже код
То что закомментировал этим питался решить проблему
PHP:
stock SetPlayerHealthEx(playerid, Float: Heal)
{
	//if(Heal < 1.0) Heal=0.0,
	//if(Heal<0.0) Heal=0.0;
	if(Heal>100.0) Heal = 100.0;
	SetPVarInt(playerid,"FakeDeath",1);
	PlayerInfo[playerid][pHeal] = Heal;
	SetPlayerHealth(playerid, Heal);
	//return true;
}
Вот сам паблик
PHP:
public OnPlayerDeath(playerid, killerid, reason)
{
	SetPVarInt(playerid, "PlayerAFK", -2);
	for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) {
		if(GetPVarInt(i,"AKillList") != 0) {
			SendDeathMessageToPlayer(i,killerid, playerid, reason);
		}
	}
	if(!GetPVarInt(playerid, "FakeDeath") && reason >= 49) return SendWarningAMes(playerid,"Fake Kill New");
	new stringer[144];
	if(!AntiFakeKill[playerid]) return KickEx(playerid,134);
	if(killerid == playerid) return SendWarningAMes(playerid,"Fake Kill OLD");
	AntiFakeKill[playerid] = false;
	ResetWeapons(playerid);
	SetPVarInt(playerid, "Spawn",1);
	SetPVarInt(playerid,"K_Times",GetPVarInt(playerid,"K_Times") + 1);
	if(GetPVarInt(playerid,"K_Times") > 1) return NewKick(playerid);
	if(GetPVarInt(playerid,"TimerCountWoods") != 0) SetPVarInt(playerid,"TimerCountWoods",0);
	if(GetPVarInt(playerid,"follow") != INVALID_PLAYER_ID) SetPVarInt(GetPVarInt(playerid,"follow"),"follow",INVALID_PLAYER_ID);
	SetPVarInt(playerid,"playerGag",0); SetPVarInt(playerid,"playerTazer",0); SetPVarInt(playerid,"playerCuffed",0);
	GonkaSchet[playerid] = 0;
	RaceCP[playerid] = 0;
	ExitGYM(playerid);
	if(IsAGang(playerid) || IsAMafia(playerid) || IsAMedic(playerid) || IsACop(playerid) || IsAMayor(playerid) || IsAArm(playerid) || PlayerPaintballing[playerid] == true)
	{
		PlayerInfo[playerid][pHospital] = 0;
		DeletePVar(playerid, "playerDeath");
		DeletePVar(playerid, "HealDeath");
	}
	else
	{
		SetPVarInt(playerid, "playerDeath", 1);
		SetPVarInt(playerid, "HealDeath", 1);
		PlayerInfo[playerid][pHospital] = 1;
	}
	if(GetPVarInt(playerid,"Mask") == 1) {
		RemovePlayerAttachedObject(playerid, 4);
		SetPVarInt(playerid,"Mask",0);
		SetPlayerToTeamColor(playerid,PlayerInfo[playerid][pPlayerMember]);
	}
	if(GetPVarInt(playerid,"WoodsPlayer")) {
		KillTimer(GetPVarInt(playerid,"WoodsPlayer"));
		DeletePVar(playerid,"WoodsPlayer");
	}
	if(pTemp[playerid][pArmyDuty] == 1) { pTemp[playerid][pArmyDuty] = 0; pTemp[playerid][pArmyJob] = 0; }
	if(PlayerInfo[playerid][pJob] == 2)
	{
		if(gcontract[playerid] == 1)
		{
			Delete3DTextLabel(Meh3d[GetPlayerVehicleID(playerid)]);
			gcontract[playerid] = 0;
		}
	}
	if(AlhambraDJ == true && AlhambraDJID == playerid) AlhambraDJ = false, AlhambraDJID = INVALID_PLAYER_ID;
	if(JizzyDJ == true && JizzyDJID == playerid) JizzyDJ = false, JizzyDJID = INVALID_PLAYER_ID;
	if(GetPVarInt(playerid, "FuelID") > 0)
	{
		DisablePlayerRaceCheckpoint(playerid);
		Delete3DTextLabel(FuelInfo[GetPVarInt(playerid, "FuelID")][pText3D]);
		FuelInfo[GetPVarInt(playerid, "FuelID")][pStatus] = false;
		DeletePVar(playerid, "FuelID");
	}
	if(GetPVarInt(playerid, "MedHealPlay") > 0)
	{
		new i = GetPVarInt(playerid, "MedHealPlace")-1;
		StatusMedHeal[i] = false;
		UpdateDynamic3DTextLabelText(MedHealText3D[i],0xD1B221FF,"<< Койка свободена! >>\nНажмите \"F\" что бы занять");
		DeletePVar(playerid, "MedHealPlay"),DeletePVar(playerid, "MedHealTime"),DeletePVar(playerid, "MedHealPlace");
	}
	if(GetPVarInt(playerid, "rob_idbiz") > 0)
	{
		DestroyDynamicObject(GetPVarInt(playerid, "rob_shop"));
		DestroyDynamicObject(GetPVarInt(playerid, "rob_shoppl"));
		BizzInfo[GetPVarInt(playerid, "rob_idbiz")][bRobProces] = 0;
		pTemp[playerid][pRobTime] = 0;
		DeletePVar(playerid, "rob_idbiz");
		DeletePVar(playerid, "rob_bizz");
	}
	if(GetPVarInt(playerid, "ProductID") > 0)
	{
		DisablePlayerRaceCheckpoint(playerid);
		Delete3DTextLabel(ProductInfo[GetPVarInt(playerid, "ProductID")][pText3D]);
		ProductInfo[GetPVarInt(playerid, "ProductID")][pStatus] = false;
		DeletePVar(playerid, "ProductID");
		DestroyObject(GetPVarInt(playerid, "cabine"));
		DestroyObject(GetPVarInt(playerid, "cabineone"));
		DestroyObject(GetPVarInt(playerid, "cabinetwo"));
		DestroyObject(GetPVarInt(playerid, "cabine3"));
		DestroyObject(GetPVarInt(playerid, "cabine4"));
		DestroyObject(GetPVarInt(playerid, "cabine5"));
	}
	if(BizWarTime[0] > 0)
	{
		if(IsAMafia(killerid) && IsAMafia(playerid) &&  killerid != INVALID_PLAYER_ID)
		{
			if(PlayerInfo[killerid][pPlayerMember] != PlayerInfo[playerid][pPlayerMember])
			{
				if(PlayerInfo[killerid][pPlayerMember] == MZInfo[bNapad] || PlayerInfo[killerid][pPlayerMember] == MZInfo[bFrakVlad])
				{
					if(PlayerInfo[playerid][pPlayerMember] == MZInfo[bNapad] || PlayerInfo[playerid][pPlayerMember] == MZInfo[bFrakVlad])
					{
						switch(MZInfo[bMesto])
						{
						case 1:
							if(PlayerToKvadrat(killerid,300.755706, 2402.644531, 468.755706, 2580.644531) && PlayerToKvadrat(playerid,300.755706, 2402.644531, 468.755706, 2580.644531))
							{
								SendDead(PlayerInfo[killerid][pPlayerMember],PlayerInfo[playerid][pPlayerMember],killerid,playerid,reason);
								MZInfo[bCountDead][PlayerInfo[killerid][pPlayerMember]]++;
							}
						case 2:
							if(PlayerToKvadrat(killerid,-855.6808,1891.0676,-519.0121,2128.4995) && PlayerToKvadrat(playerid,-855.6808,1891.0676,-519.0121,2128.4995))
							{
								SendDead(PlayerInfo[killerid][pPlayerMember],PlayerInfo[playerid][pPlayerMember],killerid,playerid,reason);
								MZInfo[bCountDead][PlayerInfo[killerid][pPlayerMember]]++;
							}
						case 3:
							if(PlayerToKvadrat(killerid,275.881378, 797.211608, 443.881378, 973.211608) && PlayerToKvadrat(playerid,275.881378, 797.211608, 443.881378, 973.211608))
							{
								SendDead(PlayerInfo[killerid][pPlayerMember],PlayerInfo[playerid][pPlayerMember],killerid,playerid,reason);
								MZInfo[bCountDead][PlayerInfo[killerid][pPlayerMember]]++;
							}
						}
					}
				}
			}
		}
	}
	if(PlayerInfo[playerid][pHeadValue] > 0)
	{
		for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
		{
			if(!IsPlayerConnected(i)) continue;
			if((ProxDetectorS(300, playerid, i)) && (PlayerInfo[i][pPlayerMember] == 23))
			{
				if(ContractInfo[i][cZakaz] == playerid && ContractInfo[playerid][cHitman] == i)
				{
					set_money(i,PlayerInfo[playerid][pHeadValue]);
					format(stringer, sizeof(stringer), " << Хитман %s выполнил контракт на %s[%d] и получил $%d >>",GetPlayerNameEx(killerid),GetPlayerNameEx(playerid),i,PlayerInfo[playerid][pHeadValue]);
					SendFamilyMessage(23, COLOR_GREEN, stringer);
					SendClientMessage(playerid, 0x0000FFFF,"Хитман выполнил на вас заказ, не чего личного.. это его работа.");
					PlayerInfo[playerid][pHeadValue] = 0;
					ContractInfo[playerid][cHitman] = INVALID_PLAYER_ID;
					ContractInfo[i][cZakaz] = INVALID_PLAYER_ID;

				}
			}
		}
	}
	if(PlayerPaintballing[playerid] == true)
	{
		if(PaintArena == 1)
		{
			if(!PlayerToPoint(50.0,playerid,2581.7427,2825.7510,10.8203))
			{
				err(""n_info"Вы были дисквалифицированы.");
				PlayerPaintballing[playerid] = false;
			}
		}
	}
	if(reason == 38)
	{
		if(PlayerInfo[playerid][pPlayerAdmin] > 9) return true;
		format(eTG, sizeof(eTG), "[NAC] %s[%d] возможно `Убийство с минигана` (Код:AC||MG1)",GetPlayerNameEx(killerid),killerid);
		SendAdminMessage(0xff0000ff,eTG);
		GiveWeapon(playerid, 0, 1);
		SetPlayerArmedWeapon(playerid,0);
	}
	RemovePlayerAttachedObject(playerid,1);
	RemovePlayerAttachedObject(playerid,2);
	RemovePlayerAttachedObject(playerid,3);
	RemovePlayerAttachedObject(playerid,4);
	RemovePlayerAttachedObject(playerid,0);
	if(SelectChar[playerid] == 255)
	{
		SetPlayerSkin(playerid, OldSkin[playerid]);
		PlayerInfo[playerid][pChar] = OldSkin[playerid];
		SelectChar[playerid] = 0;
	}
	if(PlayerInfo[playerid][pJob] == 7) PlayerInfo[playerid][pJob] = 0;
	DisablePlayerCheckpoint(playerid);
	PlayerInfo[playerid][pKeys][0] = 0;
	PlayerInfo[playerid][pKeys][1] = 0;
	LiveOffer[playerid] = INVALID_PLAYER_ID;
	TalkingLive[playerid] = INVALID_PLAYER_ID;
	LiveOfferls[playerid] = INVALID_PLAYER_ID;
	TalkingLivels[playerid] = INVALID_PLAYER_ID;
	Tel[playerid] = INVALID_PLAYER_ID;
	if(killerid != INVALID_PLAYER_ID)
	{
		if(!IsACop(killerid)) PlayerInfo[killerid][pKills]+=1;
		PlayerInfo[killerid][pZakonp] -= 0;

		if(fightid[playerid] == killerid)
		{
			ring = 0;

			format(stringer, sizeof(stringer), " ~g~%s Win!", GetPlayerNameEx(killerid));
			GameTextForPlayer(killerid, stringer, 3000, 6);

			format(stringer, sizeof(stringer), " ~g~%s Win!", GetPlayerNameEx(killerid));
			GameTextForPlayer(playerid, stringer, 3000, 6);

			switch(PlayerInfo[killerid][pFightSkil])
			{
			case 0..49: PlayerInfo[killerid][pFightSkil]++, PlayerInfo[killerid][pFightTime] = 600;
			case 50: PlayerInfo[killerid][pFightSkill]++, PlayerInfo[killerid][pFightTime] = 600;
			case 51..99: PlayerInfo[killerid][pFightSkil]++, PlayerInfo[killerid][pFightTime] = 540;
			case 100: PlayerInfo[killerid][pFightSkill]++, PlayerInfo[killerid][pFightTime] = 540;
			case 101..149: PlayerInfo[killerid][pFightSkil]++, PlayerInfo[killerid][pFightTime] = 480;
			case 150: PlayerInfo[killerid][pFightSkill]++, PlayerInfo[killerid][pFightTime] = 480;
			case 151..199: PlayerInfo[killerid][pFightSkil]++, PlayerInfo[killerid][pFightTime] = 420;
			case 200: PlayerInfo[killerid][pFightSkill]++, PlayerInfo[killerid][pFightTime] = 420;
			}
			PlayerInfo[killerid][pFightSkil]++;
			PlayerInfo[playerid][pFightTime] = 600;
			PlayerInfo[killerid][pFightTime] = 600;
			SetPPos(playerid,770.7656,3.9569,1000.7176);
			SetPlayerFacingAngle(playerid, 90.0);
			SetPPos(killerid,770.7488,6.9432,1000.7118);
			SetPlayerFacingAngle(killerid, 90.0);
			SetPlayerHealthEx(playerid, 75);
			SetPlayerHealthEx(killerid, 75);
			fightid[killerid] = INVALID_PLAYER_ID;
			fightid[playerid] = INVALID_PLAYER_ID;
			TimeBox[playerid] = 0;
			TimeBoxAll[playerid] = 0;
			TimeBox[killerid] = 0;
			TimeBoxAll[killerid] = 0;
			boy[playerid] = 0;
			boy[killerid] = 0;
		}
		if(!IsAArm(killerid)|| !IsACop(killerid))
		{
			if(PlayerInfo[killerid][pJailed] > 0 || IsAArm(killerid) || IsACop(killerid) || IsAGang(killerid) || PlayerPaintballing[killerid] == true) {}
			else
			{
				for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
				{
					if(IsPlayerConnected(i))
					{
						if(IsACop(i)) SendMes(i,0xFEBC41AA,"Рация: Преступление: Убийство человека. Подозреваемый: %s",GetPlayerNameEx(killerid));
					}
				}
				PlayerInfo[killerid][pWanted] ++;
				SendClientMessage(killerid,c_newRed,"Вы совершили преступление: Убийство человека.");
			}
		}
		if(IsAGang(killerid) && IsAGang(playerid)) {
			for(new i = 0; i <= TOTALGANGZONE; i++) {
				if(GZInfo[i][ZoneOnBattle] == 1) {
					if(PlayerInfo[killerid][pPlayerMember] != PlayerInfo[playerid][pPlayerMember]) {
						if(PlayerInfo[killerid][pPlayerMember] == GZInfo[i][gNapad] || PlayerInfo[killerid][pPlayerMember] == GZInfo[i][gFrakVlad]) {
							if(PlayerInfo[playerid][pPlayerMember] == GZInfo[i][gNapad] || PlayerInfo[playerid][pPlayerMember] == GZInfo[i][gFrakVlad]) {
								SetPVarInt(killerid,"BEST_PLAYER", GetPVarInt(killerid,"BEST_PLAYER")+1);
								SendDead(PlayerInfo[killerid][pPlayerMember],PlayerInfo[playerid][pPlayerMember],killerid,playerid,reason);
								CountOnZone[PlayerInfo[killerid][pPlayerMember]]++;
								break;
							}
						}
					}
				}
			}
		}
		if(IsAGang(killerid))
		{
			if(PlayerInfo[playerid][pPlayerMember] == 19 || PlayerInfo[playerid][pPlayerMember] == 3)
			{
				for(new i = 0; i <= TOTALGANGZONE; i++)
				{
					if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
					{
						SetPVarInt(killerid,"playerForma",1);
						PlayerInfo[playerid][pModel] = 252;
						SendClientMessage(playerid,  COLOR_YELLOW, "Вы потеряли армейскую форму");
						SendClientMessage(killerid,  COLOR_YELLOW2, "Вы cняли с армейца форму, введите /switchskin, чтобы переодеться");
						format(stringer, sizeof(stringer), "%s потерял армейскую форму", GetPlayerNameEx(playerid));
						SendFamilyMessage(19,COLOR_YELLOW2, stringer);
						SendFamilyMessage(3,COLOR_YELLOW2, stringer);
						OnPlayerSpawnAC(playerid);
					}
				}
			}
		}
		if(IsAArm(killerid))
		{
			if(IsAGang(playerid))
			{
				if(PlayerToKvadrat(playerid,-49.979476, 1695.982177, 414.020507, 2175.982177))
				{
					scm(playerid,  COLOR_YELLOW, "Вас убили на территории армии!");
					scm(killerid,  COLOR_YELLOW, "Вы убили бандита на территории армии!");
					switch(TIP_MONEY) {
					case 0: { set_money(killerid,250); scm(killerid,  COLOR_YELLOW, "Премия от Командира! 250$"); }
					case 1: { set_money(killerid,50000); scm(killerid,  COLOR_YELLOW, "Премия от Командира! 50000$"); }
					}
				}
				if(PlayerToKvadrat(playerid,-1539.0957, 517.7820, -1214.9000, 320.9781))
				{
					scm(playerid,  COLOR_YELLOW, "Вас убили на территории армии!");
					scm(killerid,  COLOR_YELLOW, "Вы убили бандита на территории армии!");
					switch(TIP_MONEY) {
					case 0: { set_money(killerid,250); scm(killerid,  COLOR_YELLOW, "Премия от Командира! 250$"); }
					case 1: { set_money(killerid,50000); scm(killerid,  COLOR_YELLOW, "Премия от Командира! 50000$"); }
					}
				}
			}
		}
		if(IsAGang(killerid))
		{
			if(PlayerInfo[playerid][pPlayerMember] == 1 || PlayerInfo[playerid][pPlayerMember] == 10 || PlayerInfo[playerid][pPlayerMember] == 20)
			{
				for(new i = 0; i <= TOTALGANGZONE; i++)
				{
					if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
					{
						PlayerInfo[killerid][pKeys][0] += 1;
						SendClientMessage(playerid,  COLOR_YELLOW, "Вы потеряли ключи от камеры!");
						SendClientMessage(killerid,  COLOR_YELLOW, "Вы забрали у полицейского ключи от камеры!");
						format(stringer, sizeof(stringer), "Полицейский %s потерял ключи от камеры", GetPlayerNameEx(playerid));
						SendFamilyMessage(1,COLOR_YELLOW2, stringer);
						SendFamilyMessage(2,COLOR_YELLOW2, stringer);
					}
				}
			}
		}
		if(PlayerPaintballing[killerid] != false && PlayerPaintballing[playerid] != false)//пэйит
		{
			SetPlayerHealthEx(killerid, 100.0);
			PlayerPaintballKills[killerid] ++;
			PlayerPaintballDeath[playerid] ++;
			t_stra="";
			format(t_stra,sizeof(t_stra),"~n~~n~~n~~n~~n~~n~~n~~n~~r~ Kills: ~w~%d ~r~Death: ~w~%d",PlayerPaintballKills[playerid],PlayerPaintballDeath[playerid]);
			GameTextForPlayer(playerid,t_stra,5000,3);
			format(t_stra,sizeof(t_stra),"~n~~n~~n~~n~~n~~n~~n~~g~100HP~n~~r~ Kills: ~w~%d ~r~Death: ~w~%d",PlayerPaintballKills[killerid],PlayerPaintballDeath[killerid]);
			GameTextForPlayer(killerid,t_stra,5000,3);
		}
		if(GetPlayerState(killerid) == 2) {
			scm(killerid, c_newRed, ""n_warn"DB запрещено, в случае многократного нарушения вы будете забанены!");
			return true;
		}
	}
	if(PlayerInfo[playerid][pCar][1] != 0 && pTemp[playerid][pPlanePlayer] != 0) DestroyVehicle(pTemp[playerid][pPlanePlayer]), pTemp[playerid][pPlanePlayer] = 0;
	if(gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
	{
		DisablePlayerCheckpoint(playerid);
		gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
	}
	new caller = Mobile[playerid];
	if(caller != INVALID_PLAYER_ID)
	{
		if(caller != INVALID_PLAYER_ID)
		{
			SendClientMessage(caller,  COLOR_GRAD2, "Связь оборвалась...");
			CellTime[caller] = 0;
			CellTime[playerid] = 0;
			Mobile[caller] = INVALID_PLAYER_ID;
		}
		Mobile[playerid] = INVALID_PLAYER_ID;
		CellTime[playerid] = 0;
	}
	if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11) DisablePlayerCheckpoint(playerid),gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
	DisablePlayerCheckpoint(playerid);
	return true;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу