01.08.2016, 19:45
galera, to com um problema que nгo estou conseguindo resolver, o jogador estб com sua vida completa, e eu dou slap pra matar de queda mas ele nгo estб perdendo dano ao cair
prints
prints
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
if(issuerid != INVALID_PLAYER_ID && IsPlayerNPC(issuerid))
{
if(weaponid == 0)
{
pInfo[playerid][pBlood] -= 1;
}
}
if(issuerid != INVALID_PLAYER_ID)
{
if(timerdamage[playerid] != 0) KillTimer(timerdamage[playerid]);
hit[playerid]++;
damage2[playerid] += amount;
timerdamage[playerid] = SetTimerEx("DamageReset", 3000, 0, "i", playerid);
PlayerTextDrawShow(playerid, IndicatorBox[playerid]);
PlayerTextDrawShow(playerid, Indicator[playerid]);
new str[50];
format(str,sizeof(str),"~r~~h~HIT~w~: %d hit(s) -%.0f HP", hit[playerid], damage2[playerid]);
PlayerTextDrawSetString(playerid, Indicator[playerid], str);
}
{
new Float:hp;GetPlayerHealth(playerid,hp);
if(issuerid != INVALID_PLAYER_ID)
{
if(weaponid != 0)
{
FadePlayerScreen(playerid);
if(IsPlayerAimingTargetBodyPart(issuerid, playerid, BODY_PART_LEGS) || IsPlayerAimingTargetBodyPart(playerid, playerid, BODY_PART_LEGS))
{
if(pInfo[playerid][IsPlayerLegBroken] == 0)
{
pInfo[playerid][IsPlayerLegBroken] = 1;
PlayerTextDrawShow(playerid, LegBroken[playerid]);
}
}
if(pInfo[issuerid][pPremium] >= 4)
{
if(weaponid == 25)
{
new Float:px, Float:py,Float:pz,Float:ix,Float:iy,Float:iz;
GetPlayerPos(playerid, px, py, pz);
GetPlayerPos(issuerid, ix, iy, iz);
new Float:h = GetPlayerDistanceFromPoint(issuerid, px, py, pz),Float:c1 = py - iy,Float:c2 = px - ix;
new Float:vx = c2 / h,Float:vy = c1 / h;
SetPlayerVelocity(playerid, 0.35 * vx, 0.35 * vy, 0.1);
ApplyAnimation(playerid, "PED", "FALL_back", 4.0, 0, 1, 1, 1, 0, 1);
defer GetUp(playerid);
}
}
}
}
if(issuerid == INVALID_PLAYER_ID)
{
FadePlayerScreen(playerid);
if(pInfo[playerid][pPremium] >= 3)
{
switch(random(3))
{
case 1:
{
switch(random(14))
{
case 0: pInfo[playerid][pBlood] -= random(15);
case 1: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(15), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",2500,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 2.5 seconds!
case 2: pInfo[playerid][pBlood] -= random(20);
case 3: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(5), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",1000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 1 second!
case 4: pInfo[playerid][pBlood] -= random(10);
case 5: pInfo[playerid][pBlood] -= random(5);
case 6: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(10), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",5000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 5 seconds!
case 7: pInfo[playerid][pBlood] -= random(15);
case 8: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(15), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",10000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 10 seconds!
case 9: pInfo[playerid][pBlood] -= random(10);
case 10: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(15), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",5500,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 5.5 seconds!
case 11: pInfo[playerid][pBlood] -= random(20);
case 12: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(20), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",25000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 25 seconds!
case 13: pInfo[playerid][pBlood] -= random(25);
}
}
}
}
else
{
switch(random(14))
{
case 0: pInfo[playerid][pBlood] -= random(15);
case 1: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(10), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",2500,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 2.5 seconds!
case 2: pInfo[playerid][pBlood] -= random(21);
case 3: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(5), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",1000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 1 second!
case 4: pInfo[playerid][pBlood] -= random(15);
case 5: pInfo[playerid][pBlood] -= random(10);
case 6: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(15), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",5000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 5 seconds!
case 7: pInfo[playerid][pBlood] -= random(20);
case 8: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(15), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",10000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 10 seconds!
case 9: pInfo[playerid][pBlood] -= random(15);
case 10: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(10), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",5500,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 5.5 seconds!
case 11: pInfo[playerid][pBlood] -= random(25);
case 12: if(pInfo[playerid][IsPlayerBleeding] == 0) { pInfo[playerid][pBlood] -= random(20), KillTimer(pInfo[playerid][Bleeding]), RemovePlayerAttachedObject(playerid, 2),pInfo[playerid][Bleeding] = SetTimerEx("LoosingBlood",25000,1,"i",playerid),pInfo[playerid][IsPlayerBleeding] = 1; } // Loosing blood ever 25 seconds!
case 13: pInfo[playerid][pBlood] -= random(5);
}
}
}
}
return 1;
}