Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public OnPlayerGiveDamage(playerid, issuerid, Float:amount, weaponid)
- {
- if(GetPVarInt(playerid,"gLogged")!=1) return 1;
- if(GetPVarInt(issuerid,"gLogged")!=1) return 1;
- if(GetPVarInt(issuerid,"death")>0) return 1;
- if(damagetime[issuerid]!=0) return 1;
- if(playerid != INVALID_PLAYER_ID)
- {
- if(weaponid>54) return 1;
- new tdeath1,tdeath2,tdeath3;
- new dtime[7];
- gettime(tdeath1,tdeath2,tdeath3);
- damagetime[issuerid]=2;
- for(new i; i !=10; i++)
- {
- if(dInfo[issuerid][dGun][i] == 0)
- {
- dInfo[issuerid][dGun][i] = weaponid;
- dInfo[issuerid][dType][i] = 1;
- f(dtime),"%d:%d|",tdeath1,tdeath2);
- strins(dInfo[issuerid][dTime],dtime,strlen(dInfo[issuerid][dTime]),128);
- break;
- }
- }
- new Float:distance = GetPlayerDistanceFromPlayer(playerid, damagedid);
- switch(weaponid)
- {
- case 22: damage = 20.0;
- case 23: damage = 20.0;
- case 24: damage = 50.0;
- case 25:
- {
- if(distance < 5.0)
- damage = 60.0;
- else if(distance < 10.0)
- damage = 30.0;
- else if(distance < 20.0)
- damage = 15.0;
- else if(distance < 30.0)
- damage = 5.0;
- }
- case 27: damage = 30.0;
- case 29: damage = 30.0;
- case 30: damage = 35.0;
- case 31: damage = 35.0;
- case 33: damage = 70.0;
- case 34: damage = 100.0;
- }
- if(distance < 0.85 && weaponid > 22)
- damage = 1.0;
- new Float:currenthealth;
- new Float:currentarmour;
- GetPlayerHealth(damagedid, currenthealth);
- GetPlayerArmour(damagedid, currentarmour);
- if(currentarmour > 0.0)
- {
- SetPlayerArmour(damagedid, currentarmour-damage);
- SetPlayerHealth(damagedid, currenthealth-damage/2);
- }
- SetPlayerHealth(damagedid, currenthealth-damage);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement