Код:
public OnPlayerDeath(playerid, killerid, reason)
{
RemovePlayerAttachedObject(playerid, 2);
Deaths1[playerid]+=1;
if(Deaths1[playerid] == 100)
{
PlayerInfo[playerid][pKnjizica] = 0;
SCM(playerid,COLOR_WHITE, "Vasa knjizica je istekla,produzite je");
}
new string[128];
new name[MAX_PLAYER_NAME];
new name2[MAX_PLAYER_NAME];
new deathreason[20];
new y, m, d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(killerid, name2, sizeof(name2));
PlayerInfo[playerid][pHealth] = 100.0;
Mrtav[playerid] = 1;
RealAmmo[playerid] = 0;
PlayerMaxAmmo[playerid] = 1;
PreTazerAmmo[playerid] = 0;
DisarmInv(playerid);
SafeResetPlayerWeapons(playerid);
KillTimer(stopactimer[playerid]);
stopactimer[playerid] = SetTimerEx("resumeanticheat", 10000, false, "i", playerid);
MedicBill[playerid] = 1;
OnMission[playerid] = 0;
PlayerInfo[playerid][pCuffed] = 0;
PlayerCuffed[playerid] = 0;
DisarmInv(playerid);
if(Vucen[playerid] != 9999)
{
KillTimer(VuciTimer[Vucen[playerid]]);
IDVucenogIgraca[Vucen[playerid]] = 9999;
Vucen[playerid] = 9999;
}
if(IDVucenogIgraca[playerid] != 9999)
{
KillTimer(VuciTimer[playerid]);
IDVucenogIgraca[playerid] = 9999;
Vucen[IDVucenogIgraca[playerid]] = 9999;
}
if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
if(AntiDriveBy == 1)
{
new model = GetVehicleModel(GetPlayerVehicleID(killerid));
if(model != 520 || model != 425 || model != 432)
{
PlayerInfo[killerid][pWarns] ++;
if(PlayerInfo[playerid][pWarns] == 3)
{
format(string, sizeof(string), "%s (%d), kikovan od strane AntiCheata zbog DriveBy ubistva.", name2, killerid);
SendClientMessageToAll(COLOR_NICERED, string);
SCM(killerid,COLOR_LIGHTBLUE, "Kikovani ste od strane AntiCheata zbog DriveBy ubistva.");
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] Anticheat Has Kicked %s for: Excessive Drive By Killing",d,m,y,h,mi,s,name2);
KickLog(string);
Kick(killerid);
}
else
{
format(string, sizeof(string), "%s (%d), upozoren od strane AntiCheata zbog DriveBy ubistva..", name2, killerid);
SendClientMessageToAll(COLOR_NICERED, string);
SCM(killerid,COLOR_LIGHTBLUE, "Upozoreni ste od strane AntiCheata zbog DriveBy ubistva.");
format(string, sizeof(string), "[AntiCheat]: %s je uradio DB, upozoren je od strane AntiCheata.", name2);
SendAdminMessage(COLOR_LIGHTBLUE, string);
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] Warned by Anticheat - Reason: Driver drive-by kill.",d,m,y,h,mi,s);
AddPunishment(killerid, string);
}
}
}
}
if(killerid != INVALID_PLAYER_ID)
{
if(reason == 0) { deathreason = "Ubijen rukama"; }
else if(reason == 36 || reason == 35 || reason == 40 || reason == 16) { deathreason = "Explosion"; }
else if(reason == 18 || reason == 37) { deathreason = "Ubijen od vatre"; }
else if(reason == 51) { deathreason = "Explosion"; }
else if(reason == 50) { deathreason = "Heli-Kill"; }
else { GetWeaponName(reason, deathreason, sizeof(deathreason)); }
format(string, sizeof(string),"[INFO]: %s (%d) has been killed by %s (%d) - %s", name,playerid,name2,killerid,deathreason);
SendAdminMessage(COLOR_LIGHTBLUE, string);
}
else
{
new text[41];
if(reason == 51) { text = "Ubijen od Eksplozije"; }
else if(reason == 53) { text = "Utopljen"; }
else if(reason == 54) { text = "Pad sa visine"; }
else { text = "Umro"; }
format(string, sizeof(string),"[INFO]: %s (%d) ubijen od strane servera. (%s)",name,playerid, text);
SendAdminMessage(COLOR_LIGHTBLUE, string);
}
new playercash;
new victimteam = gTeam[playerid];
new Float:px,Float:py,Float:pz;
new killerteam = gTeam[killerid];
gPlayerSpawned[playerid] = 0;
if(Decoding[playerid] == 1)
{
Decoding[playerid] = 0;
KillTimer(DecoderTimer);
HideDecoder(playerid);
SCM(playerid, COLOR_NICERED, "Izasli ste iz vozila, dekodiranje je stopirano!");
decodecode = 0;
Decoder = 0;
}
if(IsInBus[playerid] == 1)
{
IsInBus[playerid] = 0;
KillTimer(Timer1[playerid]);
KillTimer(Timer2[playerid]);
}
if(PlayerInfo[playerid][pAdminDuty] >= 1) { PlayerInfo[playerid][pAdminDuty] = 0; }
GetPlayerPos(playerid, px, py, pz);
if(PlayerInfo[killerid][pMedalja9] == 0 && PlayerInfo[killerid][pKills] == 1)
{
TextDrawSetString(Textdraw64[killerid],"Cestitamo! ~n~~n~Osvojili ste novu medalju ~n~~b~Newbie Killer (9) ~n~~n~~w~osvojili ste ~g~$100");
ShowMedalja(killerid);
SafeGivePlayerMoney(killerid,100);
PlayerInfo[killerid][pMedalja9] = 1;
}
if(PlayerInfo[killerid][pMedalja10] == 0 && PlayerInfo[killerid][pKills] == 75)
{
TextDrawSetString(Textdraw64[killerid],"Cestitamo! ~n~~n~Osvojili ste novu medalju ~n~~b~Serial Killer (10) ~n~~n~~w~osvojili ste ~g~$250");
ShowMedalja(killerid);
SafeGivePlayerMoney(killerid,250);
PlayerInfo[killerid][pMedalja10] = 1;
}
if(PlayerInfo[killerid][pMedalja11] == 0 && PlayerInfo[killerid][pKills] == 150)
{
TextDrawSetString(Textdraw64[killerid],"Cestitamo! ~n~~n~Osvojili ste novu medalju ~n~~b~Assasin (11) ~n~~n~~w~osvojili ste ~g~$500");
ShowMedalja(killerid);
SafeGivePlayerMoney(killerid,500);
PlayerInfo[killerid][pMedalja11] = 1;
}
if(gPlayerUsingLoopingAnim[playerid])
{
gPlayerUsingLoopingAnim[playerid] = 0;
TextDrawHideForPlayer(playerid,txtAnimHelper);
}
if(WantedPoints[playerid] > 0)
{
new dstring[128];
new wanted = WantedPoints[playerid];
new diecash = 0;
while(WantedPoints[playerid] > 0)
{
diecash += 500;
WantedPoints[playerid] --;
}
format(dstring, sizeof(dstring), "Izgubili ste $%d zato sto ste umrli sa %d Wanted Poena.", diecash, wanted);
SCM(playerid, COLOR_LIGHTBLUE, dstring);
SafeGivePlayerMoney(playerid, - diecash);
PlayerInfo[playerid][pWantedDeaths] += 1;
}
if(PlayerInfo[playerid][pRegularRank] > 0) { SafeSetPlayerHealth(playerid, 100.0); }
else { SafeSetPlayerHealth(playerid, 50.0); }
gPlayerSpawned[playerid] = 1;
SafeTime[playerid] = 60;
Checked[playerid] = 1;
PlayerGotSpottedRecently[playerid] = 1;
SetTimerEx("ResetAcWarn",20000,false, "i", playerid);
if(killerid != 255)
{
if(GetPlayerState(killerid) == 2)
{
if(ProxDetectorS(20, killerid, playerid))
{
if(!IsPlayerInAnyVehicle(playerid))
{
if(PlayerInfo[killerid][pMember] == 1||PlayerInfo[killerid][pLeader] == 1||PlayerInfo[killerid][pMember] == 2||PlayerInfo[killerid][pLeader] ==2)
{
SCM(killerid, COLOR_LIGHTBLUE, "To je bilo drive-by ubistvo. Ne zloupotrebljavajte to.");
return 1;
}
SetPlayerCriminalEx(killerid,255,"Manslaughter");
return 1;
}
}
}
}
if(reason == 22)
{
if(PlayerInfo[killerid][pPistSkill] >= 0 && PlayerInfo[killerid][pPistSkill] <= 1000)
{
PlayerInfo[killerid][pPistSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 23)
{
if(PlayerInfo[killerid][pSilenSkill] >= 0 && PlayerInfo[killerid][pSilenSkill] <= 1000)
{
PlayerInfo[killerid][pSilenSkill] += 2;
SetPlayerSkills(killerid);
}
if(PlayerInfo[killerid][pMedalja0] == 0)
{
TextDrawSetString(Textdraw64[killerid],"Cestitamo! ~n~~n~Osvojili ste novu medalju ~n~~b~Silent Kill (0) ~n~~n~~w~osvojili ste ~g~$200 ~w~and ~p~50+ of ~y~Silenced Pistol Skill");
ShowMedalja(killerid);
PlayerInfo[killerid][pSilenSkill] += 50;
SafeGivePlayerMoney(killerid,200);
PlayerInfo[killerid][pMedalja0] = 1;
}
}
if(reason == 24)
{
if(PlayerInfo[killerid][pDesertSkill] >= 0 && PlayerInfo[killerid][pDesertSkill] <= 1000)
{
PlayerInfo[killerid][pDesertSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 25)
{
if(PlayerInfo[killerid][pShotgSkill] >= 0 && PlayerInfo[killerid][pShotgSkill] <= 1000)
{
PlayerInfo[killerid][pShotgSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 26)
{
if(PlayerInfo[killerid][pSawnSkill] >= 0 && PlayerInfo[killerid][pSawnSkill] <= 800)
{
PlayerInfo[killerid][pSawnSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 27)
{
if(PlayerInfo[killerid][pCombSkill] >= 0 && PlayerInfo[killerid][pCombSkill] <= 1000)
{
PlayerInfo[killerid][pCombSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 28 || reason == 32)
{
if(PlayerInfo[killerid][pUziSkill] >= 0 && PlayerInfo[killerid][pUziSkill] <= 800)
{
PlayerInfo[killerid][pUziSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 29)
{
if(PlayerInfo[killerid][pSmgSkill] >= 0 && PlayerInfo[killerid][pSmgSkill] <= 1000)
{
PlayerInfo[killerid][pSmgSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 30)
{
if(PlayerInfo[killerid][pAkSkill] >= 0 && PlayerInfo[killerid][pAkSkill] <= 1000)
{
PlayerInfo[killerid][pAkSkill] += 2;
SetPlayerSkills(killerid);
}
}
if(reason == 31)
{
if(PlayerInfo[killerid][pM4Skill] >= 0 && PlayerInfo[killerid][pM4Skill] <= 1000)
{
PlayerInfo[killerid][pM4Skill] += 2;
SetPlayerSkills(killerid);
}
}
if(gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
{
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
}
new caller = Mobile[playerid];
if(caller != 255)
{
if(caller < 255)
{
SCM(caller, COLOR_GRAD2, "** Veza se prekinula....");
CellTime[caller] = 0;
CellTime[playerid] = 0;
Mobile[caller] = 255;
}
Mobile[playerid] = 255;
CellTime[playerid] = 0;
}
ClearCrime(playerid);
if(GettingCK[playerid] < 999)
{
if(IsPlayerConnected(killerid))
{
if(OnCK[killerid] < 999)
{
new killer[MAX_PLAYER_NAME];
new dier[MAX_PLAYER_NAME];
GetPlayerName(playerid, dier, sizeof(dier));
GetPlayerName(killerid, killer, sizeof(killer));
format(string, sizeof(string), "* %s has performed a Character Kill on you, you aren't able to play with this Character anymore.",killer);
SCM(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "** %s has Character Killed %s **",killer,dier);
CKLog(string);
BroadCast(COLOR_LIGHTRED, string);
PlayerInfo[playerid][pCK] = 1;
if(GettingCK[playerid] < 999) { GettingCK[playerid] = 999; }
else if(OnCK[playerid] < 999) { OnCK[playerid] = 999; }
if(GettingCK[killerid] < 999) { GettingCK[killerid] = 999; }
else if(OnCK[killerid] < 999) { OnCK[killerid] = 999; }
KickPlayer[playerid] = 1;
}
}
}
if(PlayerInfo[playerid][pHeadValue] > 0)
{
if(IsPlayerConnected(killerid))
{
if(gTeam[killerid] == 10 || PlayerInfo[killerid][pLeader] == 8)
{
if(GoChase[killerid] == playerid)
{
//ConsumingMoney[killerid] = 1;
new killer[MAX_PLAYER_NAME];
GetPlayerName(killerid, killer, sizeof(killer));
SafeGivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
format(string,128,"<< Hitman %s je ispunio ugovor i ubio %s Zarada: $%d >>",killer,name,PlayerInfo[playerid][pHeadValue]);
SendFamilyMessage(8, COLOR_LIGHTBLUE, string);
PlayerInfo[playerid][pHeadValue] = 0;
GotHit[playerid] = 0;
GetChased[playerid] = 999;
GoChase[killerid] = 999;
}
}
}
}
if(victimteam >= 4)
{
if(IsPlayerConnected(killerid))
{
//new killer[MAX_PLAYER_NAME];
//GetPlayerName(killerid, killer, sizeof(killer));
new slice = 100; //$100
playercash = GetPlayerMoney(playerid);
if(gTeam[killerid] != 2) { WantedPoints[killerid] += 2; } //+ 2 wanted points
if(SafeTime[playerid] <= 0)
{
if(gTeam[killerid] != gTeam[playerid])
{
if(GetPlayerState(killerid) == 1)
{
PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 2;
}
else
{
PlayerInfo[killerid][pKills]++;
}
PlayerInfo[playerid][pKills]--;
}
}
if(((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || (gTeam[killerid] == gTeam[playerid] && gTeam[playerid] != 4))
{
slice = 0;
}
if(((gTeam[killerid]) != 4) && ((gTeam[killerid]) == gTeam[playerid]))//no team kill
{
slice = 0;
}
if(playercash > 0)
{
SafeGivePlayerMoney(playerid, -slice);
}
else
{
slice = slice+500;
}
//SafeGivePlayerMoney(killerid, slice);
//GameTextForPlayer(playerid, dmessage, 5000, 2);
PlayerPlaySound(killerid, 1083, 0.0, 0.0, 0.0);
if(((gTeam[killerid]) == 3) && reason != 49)
{
SetPlayerCriminalEx(killerid,255, "Prvostepeno Ubistvo");
}
else if(((gTeam[killerid]) == 3) && reason == 49)
{
SetPlayerCriminalEx(killerid,255, "Hit And Run");
}
}
}
else if (victimteam == 2)
{
if(IsPlayerConnected(killerid))
{
//new killer[MAX_PLAYER_NAME];
//GetPlayerName(killerid, killer, sizeof(killer));
// Cop kill
PlayerInfo[playerid][pKills]--;
if (gTeam[killerid] == 2)//cops kill cop
{
//format(string,128,".: Officer %s murdered Officer %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
SafeGivePlayerMoney(killerid, -suecost);
SafeGivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
else
{
//format(string,128,".: %s murdered Officer %s (%s) :.",killer,name,deathreason);
}
if (gTeam[killerid] >= 3)
{
WantedPoints[killerid] += 2; //+ 2 wanted points
if(reason != 49)
{
SetPlayerCriminal(killerid,255, "First Degree Murder");
}
else if (reason == 49)
{
SetPlayerCriminal(killerid,255, "Hit And Run");
}
}
if(gTeam[killerid] >= 5 && SafeTime[playerid] <= 0)
{
if(GetPlayerState(killerid) == 1)
{
PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills]+2;
}
else
{
PlayerInfo[killerid][pKills]++;
}
WantedPoints[killerid]+=2;
}
//BroadCast(COLOR_RED, string);
}
}
else if(victimteam == 3)
{
if(IsPlayerConnected(killerid))
{
//new killer[MAX_PLAYER_NAME];
//GetPlayerName(killerid, killer, sizeof(killer));
// Civ kill
if((gTeam[killerid]) == 2)//cops kill civ
{
if(WantedLevel[playerid] < 1)
{
//format(string,128,".: Officer %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
SafeGivePlayerMoney(killerid, -suecost);
SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill
}
}
else
{
//format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason);
WantedPoints[killerid] += 2;
}
if(((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason != 49)
{
SetPlayerCriminalEx(killerid,255, "Prvostepeno Ubistvo");
}
else if(((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason == 49)
{
SetPlayerCriminalEx(killerid,255, "Hit And Run");
}
//BroadCast(COLOR_RED, string);
}
}
else if(victimteam == 1)
{
if(IsPlayerConnected(killerid))
{
//new killer[MAX_PLAYER_NAME];
//GetPlayerName(killerid, killer, sizeof(killer));
// Civ kill
if((gTeam[killerid]) == 2)//cops kill civ
{
//format(string,128,".: Officer %s murdered Paramedic %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
SafeGivePlayerMoney(killerid, -suecost);
SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill
}
else if((gTeam[killerid]) == 1)//med kill civ
{
//format(string,128,".: Paramedic %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
SafeGivePlayerMoney(killerid, -suecost);
SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill
}
else
{
//format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason);
}
if(((gTeam[killerid]) == 4) && reason != 49)
{
SetPlayerCriminalEx(killerid,255, "Prvostepeno Ubistvo");
}
else if(((gTeam[killerid]) == 3) && reason == 49)
{
SetPlayerCriminalEx(killerid,255, "Hit And Run");
}
//BroadCast(COLOR_RED, string);
}
}
if(victimteam >= 3 && WantedPoints[playerid] > 0 && killerteam == 2)
{
SetPlayerFree(playerid,killerid, "Got Killed");
}
if(BusrouteEast[playerid][0] != 0 || BusrouteWest[playerid][0] != 0)
{
if(BusrouteEast[playerid][0] != 0) BusrouteEnd(playerid, BusrouteEast[playerid][1]);
else if(BusrouteWest[playerid][0] != 0) BusrouteEnd(playerid, BusrouteWest[playerid][1]);
else BusrouteEnd(playerid, 0);
}
if(FarmerVar[playerid] != 0)
{
FarmerVar[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
if(DrugFarmerVar[playerid] != 0)
{
DrugFarmerVar[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
if(SmugglerWork[playerid] != 0)
{
SmugglerWork[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
SetRealMoney(playerid, ScriptMoney[playerid]);
SetPlayerColor(playerid,0xBBBBBB00);
SafeResetPlayerWeapons(playerid);
if(IsBeingSpeced[playerid] == 1)//If the player being spectated, dies, then turn off the spec mode for the spectator.
{
TogglePlayerSpectating(spectatorid[playerid],0);// This justifies what's above, if it's not off then you'll be either spectating your connect screen, or somewhere in blueberry (I don't know why)
}
if(usingcarwash == playerid)
{
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
usingcarwash = -1;
UpdateDynamic3DTextLabelText(entrancetext, 0x008B00FF, "Niko trenutno ne pere kola.\nCena: $150 (/carwash)");
}
if((PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4
|| PlayerInfo[playerid][pMember] == 9 || PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pMember] == 10
|| PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pMember] == 7) && GoChase[killerid] != playerid)
{
if((PlayerInfo[playerid][pWantedLevel] >= 1 || WantedPoints[playerid] >= 1 || WantedLevel[playerid] >= 1 || PlayerInfo[playerid][pWanted] >= 1) && IsACop(killerid) || PlayerInfo[killerid][Admin] >= 1338)
{
return 1;
}
TogglePlayerControllable(killerid, 0);
PlayerInfo[killerid][pWeaponReset] = 1;
ResetPlayerWeapons(killerid);
SafeResetPlayerWeapons(killerid);
if(PlayerInfo[playerid][pLevel] == 1)
{
PlayerInfo[killerid][pJailed] = 1;
PlayerInfo[killerid][pJailTime] += 600;
}
DMName[killerid] = name2;
SetTimerEx("kicktimer",3000,false,"i",killerid);
}
SendClientMessage(playerid, 0xFF0000AA, "Umrli ste ali vas wanted level ostaje..");
killerid = INVALID_PLAYER_ID;
return 1;
}