public OnPlayerDeath(playerid, killerid, reason)
{
if(IsPlayerNPC(killerid))return true;
new string[600],Float:Pos[3],string2[350], dropcount = 0;
new bool:KickBereits[MAX_PLAYERS];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
Spieler[playerid][Funkgerat] = 0;
Spieler[playerid][TotKord][0] = Pos[0];
Spieler[playerid][TotKord][1] = Pos[1];
Spieler[playerid][TotKord][2] = Pos[2];
RemovePlayerAttachedObject(playerid,9);
RemovePlayerAttachedObject(playerid,7);
RemovePlayerAttachedObject(playerid,1);
RemovePlayerAttachedObject(playerid,2);
Spieler[playerid][pTot] = 1;
ImShamalInterior[playerid] = 0;
ShamalID[playerid] = -1;
if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
{
format(string,sizeof(string),"Mord : Angreifer: %s * Opfer: %s",Spieler[killerid][pName],Spieler[playerid][pName]);
Log("DeathMatchLogsqllog",string);
}
if(minigamespieler[playerid] == 1)
{
SpawnPlayerEx(playerid);
}
if(runterseil[playerid] == 1)
{
for(new sh=0;sh<=MAX_HOHE;sh++)
{
DestroyObject(seil[playerid][sh]);
DisablePlayerCheckpoint(playerid);
}
runterseil[playerid] = 0;
}
for(new i_slot=0,gun,ammo;i_slot<13;i_slot++)
{
GetPlayerWeaponData(playerid,i_slot,gun,ammo);
if(gun != 0 && ammo != 0)
{
dropcount++;
CreateDroppedGun(playerid,gun,ammo,Pos[0]+random(2)-random(2),Pos[1]+random(2)-random(2),Pos[2]);
}
}
if(Paintball[playerid] != 0)
{
if(IsPlayerConnected(killerid) && !IsPlayerNPC(killerid) && killerid != INVALID_PLAYER_ID)
{
if(Paintball[killerid] == 1)
{
GameTextForPlayer(killerid,"~g~Kill",1000,4);
GameTextForPlayer(playerid,"~r~Tot",1000,4);
for(new i = 0; i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i) && Spieler[i][Eingeloggt] == 1)
{
if(Paintball[i] == 1)
{
format(string,sizeof(string),""#HTML_RED"Paintball "#HTML_WHITE"%s wurde von %s gekillt",Spieler[playerid][pName],Spieler[killerid][pName]);
SendClientMessage(i,GRAU,string);
}
}
}
return true;
}
if(Paintball[killerid] == 2)
{
new team[6];
if(TDPPaintballTeam[killerid] != TDPPaintballTeam[playerid])
{
GameTextForPlayer(killerid,"~g~Team Kill",1000,4);
GameTextForPlayer(playerid,"~r~Team Kill",1000,4);
switch(TDPPaintballTeam[playerid])
{
case 1:
{
team="Weiß"; TDMPaintballTeamPoints[1]++;
}
case 2:
{
team="Blau"; TDMPaintballTeamPoints[0]++;
}
}
}
else
{
GameTextForPlayer(killerid,"~r~Team Kill",1000,4);
GameTextForPlayer(playerid,"~r~Team Kill",1000,4);
switch(TDPPaintballTeam[playerid])
{
case 1:
{
team="Weiß"; TDMPaintballTeamPoints[1] += 2;
}
case 2:
{
team="Blau"; TDMPaintballTeamPoints[0] += 2;
}
}
}
for(new i = 0; i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i) && Paintball[i] == 2 && Spieler[i][Eingeloggt] == 1)
{
format(string,sizeof(string),""#HTML_RED"Paintball (Team): "#HTML_WHITE"%s wurde von %s getötet",Spieler[playerid][pName],Spieler[killerid][pName]);
SendClientMessage(i,GRAU,string);
format(string,sizeof(string),""#HTML_RED"Team Weiß: "#HTML_WHITE"%d/40 | "#HTML_RED"Team Blau: "#HTML_WHITE"%d/40",TDMPaintballTeamPoints[0],TDMPaintballTeamPoints[1]);
SendClientMessage(i,GRAU,string);
if(TDMPaintballTeamPoints[0] >= 40)
{
TDMPaintballTeamPoints[0] = 0;
TDMPaintballTeamPoints[1] = 0;
SendClientMessage(i,GRAU,""#HTML_RED"Paintball Sieg: "#HTML_WHITE"Team Weiß hat gewonnen");
if(Spieler[i][pFraktion] != 0)
{
SetPlayerSkinEx(i,Spieler[i][pFraktSkin]);
SetPlayerPosEx(i,PAINTBALLARENA);
SetPlayerInterior(i,0);
SetPlayerVirtualWorld(i,0);
}
else if(Spieler[i][pFraktion] == 0)
{
SetPlayerSkinEx(i,Spieler[i][pSkin]);
SetPlayerPosEx(i,PAINTBALLARENA);
SetPlayerInterior(i,0);
SetPlayerVirtualWorld(i,0);
}
Paintball[i] = 0;
}
if(TDMPaintballTeamPoints[1] >= 40)
{
TDMPaintballTeamPoints[0] = 0;
TDMPaintballTeamPoints[1] = 0;
SendClientMessage(i,GRAU,""#HTML_RED"Paintball Sieg: "#HTML_WHITE"Team Blau hat gewonnen");
if(Spieler[i][pFraktion] != 0)
{
SetPlayerSkinEx(i,Spieler[i][pFraktSkin]);
SetPlayerPosEx(i,PAINTBALLARENA);
SetPlayerInterior(i,0);
SetPlayerVirtualWorld(i,0);
}
else if(Spieler[i][pFraktion] == 0)
{
SetPlayerSkinEx(i,Spieler[i][pSkin]);
SetPlayerPosEx(i,PAINTBALLARENA);
SetPlayerInterior(i,0);
SetPlayerVirtualWorld(i,0);
}
Paintball[i] = 0;
}
}
}
}
return true;
}
return true;
}
if(GetPlayerState(killerid) == 2)
{
if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
format(string,sizeof(string),""#HTML_RED""#ANTI" "#HTML_WHITE"Der Spieler %s wurde vom Server gekickt. Grund: Totparken",Spieler[killerid][pName]);
SendClientMessageToAll(ROT,string);
format(string,sizeof(string),"Hallo %s\ndu wurdest vom "#SERVERTAG" System gekickt!\nDer Grund dafür war: Totparken\nSolltest du zu Unrecht gekickt wurden sein, melde dich im Forum oder im Teamspeak 3 Server\nForum: "#WEBURL"\nTeamspeak: "#TSIP"\nMit freundlichen Grüßen\nDein "#SERVERTAG" Team",Spieler[killerid][pName]);
ShowPlayerDialog(playerid,DIALOG_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERNAME"",string,"Ok","");
SetTimerEx("FixKick",2500,0,"i",killerid);
}
}
if(killerid != INVALID_PLAYER_ID)
{
if(Spieler[killerid][pHitman] == 1 && playerid != INVALID_PLAYER_ID)
{
RemovePlayerAttachedObject(playerid,0);
SetPlayerName(playerid,Spieler[playerid][pName]);
SpawnPlayerEx(playerid);
}
if(Spieler[killerid][pHitman] == 1 && playerid != INVALID_PLAYER_ID)
{
if(Spieler[playerid][pContract][0] == 1)
{
format(string,sizeof(string),""#HTML_RED"Auftragskill: "#HTML_WHITE"Du wurdest soeben von einem Hitman ausgeschaltet!");
SendClientMessage(playerid,GRAU,string);
ACMoney(killerid,Spieler[playerid][pContract][0]);
Spieler[playerid][pContract][0] = 0;
Spieler[playerid][pContract][1] = 0;
SetPlayerHealth(playerid, -2);
SpawnPlayerEx(playerid);
for(new player = 0; player < MAX_PLAYERS; player++)
{
if(IsPlayerConnected(player) && !IsPlayerNPC(player) && Spieler[player][pHitman] != 0)
{
format(string,sizeof(string),""#HTML_RED"Auftragskill erledigt: "#HTML_WHITE"Der Spieler %s (Auftragssumme: %d$) wurde soeben von einem Hitman ausgeschaltet!",
Spieler[playerid][pName],Spieler[playerid][pContract][1]);
}
}
}
}
if(GetPlayerLevel(playerid) == NEULINGLEVEL && Paintball[playerid] == 0)
{
if(istEinAdmin(playerid,1)) return SendClientMessage(killerid,WEISS,"Du hast so eben ein Neuling getötet!");
format(string,sizeof(string),""#HTML_RED""#ANTI" "#HTML_WHITE"Der Spieler %s wurde vom Server gekickt. Grund: Neulings Kill",Spieler[killerid][pName]);
SendClientMessageToAll(ROT,string);
format(string,sizeof(string),"Hallo %s\ndu wurdest vom "#SERVERTAG" System gekickt!\nDer Grund dafür war: DM / SDM auf einen Neuling\nSolltest du zu Unrecht gekickt wurden sein, melde dich im Forum oder im Teamspeak 3 Server\nForum: "#WEBURL"\nTeamspeak: "#TSIP"\nMit freundlichen Grüßen\nDein "#SERVERTAG" Team",Spieler[killerid][pName]);
ShowPlayerDialog(killerid,DIALOG_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERNAME"",string,"Ok","");
SetTimerEx("FixKick",2500,0,"i",killerid);
KickBereits[playerid] = true;
SpawnPlayerEx(playerid);
}
if(InNoDMZone(playerid) != -1)
{
format(string,sizeof(string),""#HTML_RED""#ANTI" "#HTML_WHITE"Der Spieler %s wurde vom Server gekickt. Grund: No DM Zonen Kill",Spieler[killerid][pName]);
SendClientMessageToAll(ROT,string);
format(string,sizeof(string),"Hallo %s\ndu wurdest vom "#SERVERTAG" System gekickt!\nDer Grund dafür war: No DM Zonen Kill\nSolltest du zu Unrecht gekickt wurden sein, melde dich im Forum oder im Teamspeak 3 Server\nForum: "#WEBURL"\nTeamspeak: "#TSIP"\nMit freundlichen Grüßen\nDein "#SERVERTAG" Team",Spieler[killerid][pName]);
ShowPlayerDialog(killerid,DIALOG_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERNAME"",string,"Ok","");
SetTimerEx("FixKick",2500,0,"i",killerid);
SpawnPlayerEx(playerid);
}
if(Spieler[killerid][pEingesperrt] == 1)
{
SendClientMessage(killerid,WEISS,""#HTML_RED"Info: "#HTML_WHITE"Knast DM ist verboten!");
knastDM[killerid] += 1;
if(knastDM[killerid] == 3)
{
format(string,sizeof(string),""#HTML_RED""#ANTI" "#HTML_WHITE"Der Spieler %s wurde vom Server gekickt. Grund: Knast Deathmatch",Spieler[killerid][pName]);
SendClientMessageToAll(ROT,string);
format(string,sizeof(string),"Hallo %s\ndu wurdest vom "#SERVERTAG" System gekickt!\nDer Grund dafür war: Knast DM\nSolltest du zu Unrecht gekickt wurden sein, melde dich im Forum oder im Teamspeak 3 Server\nForum: "#WEBURL"\nTeamspeak: "#TSIP"\nMit freundlichen Grüßen\nDein "#SERVERTAG" Team",Spieler[killerid][pName]);
ShowPlayerDialog(killerid,DIALOG_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERNAME"",string,"Ok","");
SaveAccount(killerid);
SetTimerEx("FixKick",2500,0,"i",killerid);
SpawnPlayerEx(playerid);
}
}
if(GetPlayerLevel(killerid) == NEULINGLEVEL && Paintball[killerid] == 0)
{
if(KickBereits[playerid] == true) return true;
format(string,sizeof(string),""#HTML_RED""#ANTI" "#HTML_WHITE"Der Spieler %s wurde vom Server gekickt. Grund: Kill als Neuling",Spieler[killerid][pName]);
SendClientMessageToAll(ROT,string);
format(string,sizeof(string),"Hallo %s\ndu wurdest vom "#SERVERTAG" System gekickt!\nDer Grund dafür war: DM / SDM als Neuling\nSolltest du zu Unrecht gekickt wurden sein, melde dich im Forum oder im Teamspeak 3 Server\nForum: "#WEBURL"\nTeamspeak: "#TSIP"\nMit freundlichen Grüßen\nDein "#SERVERTAG" Team",Spieler[killerid][pName]);
ShowPlayerDialog(killerid,DIALOG_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERNAME"",string,"Ok","");
SetTimerEx("FixKick",2500,0,"i",killerid);
KickBereits[killerid] = false;
SpawnPlayerEx(playerid);
}
if(IstNixGutWaffe(GetPlayerWeapon(killerid)) == 1 && GetPlayerWeapon(killerid) != 0)
{
if(!istEinAdmin(killerid,6))
{
format(string,sizeof(string),""#HTML_RED""#ANTI" "#HTML_WHITE"Das System hat den Spieler %s gebannt. Grund: Fakekill",Spieler[playerid][pName]);
SendClientMessageToAll(LEUCHTENDESROT,string);
format(string,sizeof(string),"%s,\nDu wurdest so eben wegen Fakekill vom Server gebannt.\nSolltest du zu Unrecht gebannt wurden sein, melde dich bitte im Teamspeak Server oder im Forum.\nMit freundlichen Grüssen\n"#SERVERTAG" Team\n\nForum: "#WEBURL"\nTeamspeak: "TSIP"",Spieler[playerid][pName]);
ShowPlayerDialog(playerid,DIALOG_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERNAME"",string,"Verlassen","");
BanUser(playerid,"System","Fakekill");
BansHeute +=1;
}
}
}
if(inFS[playerid] == 1)
{
KillTimer(TaxiTimer[playerid]); inFS[playerid] = 0;
for(new i = 0; i<5;i++)
{
DriveschoolQuestion[playerid][i] = 0;
}
for(new i = 0; i<4;i++)
{
DriveschoolQuestion2[playerid][i] = 0;
}
for(new i = 0; i<3;i++)
{
DriveschoolQuestion3[playerid][i] = 0;
}
for(new i = 0; i<3;i++)
{
DriveschoolQuestion4[playerid][i] = 0;
}
for(new i = 0; i<2;i++)
{
DriveschoolQuestion5[playerid][i] = 0;
}
for(new i = 0; i<16;i++)
{
fscp[playerid][i] = 0;
}
for(new i = 0; i<14;i++)
{
fscp2[playerid][i] = 0;
}
for(new i = 0; i<14;i++)
{
fscp3[playerid][i] = 0;
}
for(new i = 0; i<8;i++)
{
fscp4[playerid][i] = 0;
}
for(new i = 0; i<5;i++)
{
fscp6[playerid][i] = 0;
}
PlayerTextDrawHide(playerid,Anzeige[playerid][0]);
PlayerTextDrawHide(playerid,Anzeige[playerid][1]);
PlayerTextDrawHide(playerid,Anzeige[playerid][3]);
PlayerTextDrawHide(playerid,Anzeige[playerid][2]);
fahrschulauto[playerid] = 0;
DestroyVehicle(fahrschulauto[playerid]);
fahrschulauto2[playerid] = 0;
DestroyVehicle(fahrschulauto2[playerid]);
FSFehler[playerid] = 0;
SendClientMessage(playerid,GRAU,""#HTML_RED"Durchgefallen: "#HTML_WHITE"Du bist gestorben, daher hast du die Prüfung nicht bestanden!");
}
for(new i= 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(GetPlayerState(i) == PLAYER_STATE_SPECTATING && Spieler[i][pTV] == playerid)
{
TogglePlayerSpectating(i,0);
Spieler[i][pTV] = -1;
}
}
}
SpawnPlayerEx(playerid);
return true;
}
Du hast mehrmals mit killerid auf einen Index zugegriffen, der nicht existiert, da killerid INVALID_PLAYER_ID war.