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;
}
