Hallo
Ich habe ein Problem, bei mir wird OnPlayerDeath nicht ausgeführt.
Das heisst, wenn ich sterbe Spawne ich direkt sofort wieder.
Aber ich habe eigentlich nichts daran gemacht. Er soll eigentlich auf den Boden Tod liegen, doch es klappt nicht.
Kann mir da vielleicht einer Helfen ?
Immer wenn ich mich selber umbringe durch.
- Wenn ich vom Hochhaus springe
- Wenn ich mich Acmd kille
- Wenn ich verhungere
Wenn andere mich kilen liege ich auf den Boden.
public OnPlayerDeath(playerid,killerid,reason)
{
new string[128];
if(IsPlayerNPC(playerid))return 1;
if(PlayerInfo[playerid][pTot]==0)
{
Todgrund[playerid]=reason;
}
wurdespawnt[playerid]=0;
stoptPlayerTragen(playerid);
IntEnforcer[playerid]=0;
IntCargo[playerid]=0;
if(PlayerInfo[playerid][pLevel]==1)
{
wurdespawnt[playerid]=1;
}
if(killerid!=INVALID_PLAYER_ID)
{
if(AdminDuty[playerid]==1)
{
format(string,sizeof(string),"Du wurdest im Adminduty von %s getötet.",SpielerName(killerid));
SendClientMessage(playerid,0xFF0000AA,string);
return 1;
}
if(reason==38)
{
if(GetVehicleModel(GetPlayerVehicleID(killerid))!=425)
{
if(PlayerInfo[playerid][pAdmin]<=0)
{
if(GetPlayerScore(playerid)==1)return 1;
if(GetPlayerWeapon(killerid)!=38)
{
new nachricht[128];
format(nachricht,sizeof(nachricht),"AdmCmd: %s wurde vom Anti-Cheatsystem gebannt. Grund: %s",SpielerName(playerid),"Fakekill.");
SendClientMessageToAll(0xAA3333AA,nachricht);
ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Hinweis des Adminteams","Du wurdest wegen Cheaten gebannt!\n\nEinspruch hiergegen kannst du im HelpTool einlegen.","OK","");
Kick(playerid);
return 1;
}
new nachricht[128];
format(nachricht,sizeof(nachricht),"AdmCmd: %s wurde vom Anti-Cheatsystem gebannt. Grund: %s",SpielerName(killerid),"Minigun.");
SendClientMessageToAll(0xAA3333AA,nachricht);
ShowPlayerDialog(killerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Hinweis des Adminteams","Du wurdest wegen Cheaten gebannt!\n\nEinspruch hiergegen kannst du im HelpTool einlegen.","OK","");
Kick(killerid);
return 1;
}
}
}
if(GetPlayerScore(killerid)<3)
{
if(reason!=0&&reason!=49&&reason!=50&&reason!=54)
{
if(PlayerInfo[playerid][pGunLic]==0){
new nachricht[128];
format(nachricht,sizeof(nachricht),"AdmCmd: %s wurde vom Anti-Cheatsystem gebannt. Grund: %s",SpielerName(killerid),"Mord mit Waffe ohne Waffenschein.");
SendClientMessageToAll(0xAA3333AA,nachricht);
ShowPlayerDialog(killerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Hinweis des Adminteams","Du wurdest wegen Cheaten gebannt!\n\nEinspruch hiergegen kannst du im HelpTool einlegen.","OK","");
Kick(killerid);
return 1;
}
}
if(PlayerInfo[killerid][pJailed]>0)
{
new minuten=30;
SetPVarInt(killerid,"kdm_count",0);
PlayerInfo[killerid][pPrison]=1;
PlayerInfo[killerid][pPrisontime]+=minuten;
format(string,sizeof(string),"[AKDM]: %s wurde für %d Minuten in die Besserungsanstalt geschickt. Grund: %s",SpielerName(killerid),minuten,"KDM");
SendClientMessageToAll(0xAA3333AA,string);
SendClientMessage(killerid,COLOR_WHITE,"/prisontime um Zeit nachzusehen");
SetPlayerPos(killerid,prisonspawn);
ResetPlayerWeapons(killerid);
SetPlayerInterior(killerid,0);
SetPlayerVirtualWorld(killerid,0);
format(string,sizeof(string),"Du wurdest ins Prison gesteckt.\nGrund hierfür ist:\n%s.\n\nBitte lese dir die Regeln auf unserer Website durch um\nweitere Regelverstöße zu vermeiden. Solltest du meinen\ndas diese Strafe nicht berechtigt ist wende dich bitte an\nden Admin der dir diese gab.","Knast DM");
ShowPlayerDialog(killerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Hinweis des Adminteams",string,"OK","");
format(string,sizeof(string),"[AKDM]: %s wurde für %d Stunde gebannt. Grund: %s",SpielerName(killerid),1,"KDM");
SendClientMessageToAll(0xAA3333AA,string);
format(string,sizeof(string),"Du wurdest temporär gebannt.\nGrund hierfür ist:\n%s\n\nBitte lese dir die Regeln auf unserer Website durch um\nweitere Regelverstöße zu vermeiden. Solltest du meinen\ndas diese Strafe nicht berechtigt ist wende dich bitte an\nden Admin der dir diese gab oder an das HelpTool.","Knast DM");
ShowPlayerDialog(killerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Hinweis des Adminteams",string,"OK","");
Kick(killerid);
return 1;
}
if(IsPlayerInFrac(playerid,4)&&OnDuty[playerid]==1)
{
format(string,sizeof(string),"%s hat einen Medic im Dienst (%s) getötet. Bitte hinporten und Sachverhalt klären.",SpielerName(killerid),SpielerName(playerid));
ABroadCast(0x2a77a1AA,string,1);
SendClientMessage(killerid,0xFF0000AA,"Du hast einen Medic gekillt, daher wurde eine Nachricht an das Adminteam geschickt.");
}
if(GetPlayerScore(killerid)<3||GetPlayerScore(playerid)<3)
{
format(string,sizeof(string),"%s (Level %i) wurde von %s (Level %i) getötet. Bitte hinporten und Sachverhalt klären.",SpielerName(playerid),GetPlayerScore(playerid),SpielerName(killerid),GetPlayerScore(killerid));
ABroadCast(0x2a77a1AA,string,1);
SendClientMessage(killerid,0xFF0000AA,"Du hast einen Level 1er/als Level 1er gekillt, daher wurde eine Nachricht an das Adminteam geschickt.");
}
if(PlayerInfo[killerid][pPrison]>0)
{
if(PlayerInfo[playerid][pPrison]>0)
{
SendClientMessage(killerid,0xFF0000AA,"Da du jemanden im Prison getötet hast, verlängert sich dein Aufenthalt um 1 Minute.");
PlayerInfo[killerid][pPrisontime]++;
}
}
if(PlayerInfo[playerid][pTot]==1)return 1;
if(GetPlayerScore(killerid)>=3)
{
if(OnDuty[playerid]==1)
{
if(IsPlayerInFrac(playerid,1)||IsPlayerInFrac(playerid,2)||IsPlayerInFrac(playerid,3)||IsPlayerInFrac(playerid,7)||IsPlayerInFrac(playerid,19)||IsPlayerInFrac(playerid,24))
{
if(OnDuty[killerid]==0)
{
if(!IsPlayerInFrac(killerid,8))
{
if(GetPVarInt(killerid,"maske")==0)
{
new rnd=random(2);
if(rnd==0)
{
if(WantedLevel[killerid]<69)
{
new wps=30;
new grund[64]="Beamtenmord";
WantedLevel[killerid]+=wps;
if(WantedLevel[killerid]>69){WantedLevel[killerid]=69;}
format(string,sizeof(string),"Wantedpunkte: %i Gesamt: %i Reporter: %s Grund: %s",wps,WantedLevel[killerid],SpielerName(playerid),grund);
SendClientMessage(killerid,0xFF0000AA,string);
format(string,sizeof(string),"<<Gesuchter: %s Wantedpunkte: %i Gesamt: %i Reporter: %s Grund: %s>>",SpielerName(killerid),wps,WantedLevel[killerid],SpielerName(playerid),grund);
for (new i = 0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(!IsPlayerInFrac(i,1)&&!IsPlayerInFrac(i,2)&&!IsPlayerInFrac(i,3)&&!IsPlayerInFrac(i,7)&&!IsPlayerInFrac(i,24))continue;
SendClientMessage(i,0xFF0000AA,string);
}
PlayCrimeReportForPlayer(killerid,playerid,22);
}
}
}
}
}
}
}
}
if(IsPlayerInFrac(killerid,8))
{
if(PlayerInfo[playerid][contract]!=0&&GetPVarInt(killerid,"contracted")==playerid)
{
GivePlayerMoney(killerid,PlayerInfo[playerid][contract]);
format(string,sizeof(string),"<< Hitman %s hat den Auftrag an %s ausgeführt, Gehalt: %i$ >>",SpielerName(killerid),SpielerName(playerid),PlayerInfo[playerid][contract]);
PlayerInfo[playerid][contract]=0;
SetPVarInt(killerid,"contracted",-1);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(!IsPlayerInFrac(i,8))continue;
SendClientMessage(i,0x0000B9FF,string);
}
}
}
WeaponDrop(playerid);
SendClientMessage(playerid,0xB00000FF,"Du bist gestorben.");
SendClientMessage(killerid,0xFF0000AA, "Du hast ein Verbrechen begangen: Mord.");
SetPVarInt(playerid,"murder",killerid);
if(IsPlayerInFrac(killerid,8)||IsPlayerInFrac(killerid,20))
{
SetPVarInt(killerid,"Mörder",1);
SetPVarInt(killerid,"Killt",playerid);
}
if(GetPlayerWantedLevel(playerid)>=1)
{
if(OnDuty[killerid]==1)
{
if(WantedLevel[playerid]>=61)
{
new knastzeit;
knastzeit=90;
if(IsPlayerInFrac(killerid,1)||IsPlayerInFrac(killerid,2)||IsPlayerInFrac(killerid,3))
{
GivePlayerMoney(playerid,GetPlayerWantedLevel(playerid)*100*-1);
format(string,sizeof(string),"Du wurdest vom Staatsbeamten %s getötet",SpielerName(killerid));
SendClientMessage(playerid,0x33AA33AA,string);
new allstring[128];
format(allstring,sizeof(allstring)," ..::Staatsbeamter %s hat den Gesuchten %s getötet::..",SpielerName(killerid),SpielerName(playerid));
SendClientMessageToAll(0xFF0000AA,allstring);
GivePlayerMoney(killerid,GetPlayerWantedLevel(playerid)*100);
PlayerInfo[playerid][pJailed]=2;
PlayerInfo[playerid][pJailTime]=knastzeit;
format(string,sizeof(string),"Du wurdest für %i Minuten eingesperrt. Restzeit: /jailtime Brot essen: /eatbrot",PlayerInfo[playerid][pJailTime]);
SendClientMessage(playerid,0xFF0000AA,string);
SetPlayerWantedLevel(playerid,0);
WantedLevel[playerid]=0;
PlayerInfo[playerid][C4]=0;
PlayerInfo[playerid][pLSD]=0;
PlayerInfo[playerid][pKoks]=0;
PlayerInfo[playerid][pHanf]=0;
PlayerInfo[playerid][pMats]=0;
ResetPlayerWeapons(playerid);
wurdespawnt[playerid]=1;
}
}
else if(GetPlayerWantedLevel(playerid)>=2&&WantedLevel[playerid]<61)
{
if(IsPlayerInFrac(killerid,1)||IsPlayerInFrac(killerid,2))
{
GivePlayerMoney(playerid,GetPlayerWantedLevel(playerid)*100*-1);
format(string,sizeof(string),"Du wurdest von Staatsbeamten %s getötet",SpielerName(killerid));
SendClientMessage(playerid,0x33AA33AA,string);
new allstring[128];
format(allstring,sizeof(allstring)," ..::Staatsbeamter %s hat den Gesuchten %s getötet::..",SpielerName(killerid),SpielerName(playerid));
SendClientMessageToAll(0xFF0000AA,allstring);
GivePlayerMoney(killerid,GetPlayerWantedLevel(playerid)*100);if(WantedLevel[playerid]<40)
{
PlayerInfo[playerid][pJailTime]=floatround(WantedLevel[playerid]*0.75,floatround_ceil);
}
if(WantedLevel[playerid]>=40)
{
PlayerInfo[playerid][pJailTime]=floatround(WantedLevel[playerid]*1,floatround_ceil);
}
format(string,sizeof(string),"Du wurdest für %i Minuten eingesperrt. Restzeit: /jailtime Brot essen: /eatbrot",PlayerInfo[playerid][pJailTime]);
SendClientMessage(playerid,0xFF0000AA,string);
PlayerInfo[playerid][pJailed]=1;
SetPlayerWantedLevel(playerid,0);
WantedLevel[playerid]=0;
PlayerInfo[playerid][C4]=0;
PlayerInfo[playerid][pLSD]=0;
PlayerInfo[playerid][pKoks]=0;
PlayerInfo[playerid][pHanf]=0;
PlayerInfo[playerid][pMats]=0;
ResetPlayerWeapons(playerid);
}
else if(IsPlayerInFrac(killerid,3))
{
GivePlayerMoney(playerid,GetPlayerWantedLevel(playerid)*100*-1);
format(string,sizeof(string),"Du wurdest vom Soldat %s getötet",SpielerName(killerid));
SendClientMessage(playerid,0x33AA33AA,string);
new allstring[128];
format(allstring,sizeof(allstring)," ..::Soldat %s hat den Gesuchten %s getötet::..",SpielerName(killerid),SpielerName(playerid));
SendClientMessageToAll(0xFF0000AA,allstring);
GivePlayerMoney(killerid,GetPlayerWantedLevel(playerid)*100);
if(WantedLevel[playerid]<40)
{
PlayerInfo[playerid][pJailTime]=floatround(WantedLevel[playerid]*0.75,floatround_ceil);
}
if(WantedLevel[playerid]>=40)
{
PlayerInfo[playerid][pJailTime]=floatround(WantedLevel[playerid]*1,floatround_ceil);
}
format(string,sizeof(string),"Du wurdest für %i Minuten eingesperrt. Restzeit: /jailtime Brot essen: /eatbrot",PlayerInfo[playerid][pJailTime]);
SendClientMessage(playerid,0xFF0000AA,string);
PlayerInfo[playerid][pJailed]=1;
SetPlayerWantedLevel(playerid,0);
WantedLevel[playerid]=0;
PlayerInfo[playerid][C4]=0;
PlayerInfo[playerid][pLSD]=0;
PlayerInfo[playerid][pKoks]=0;
PlayerInfo[playerid][pHanf]=0;
PlayerInfo[playerid][pMats]=0;
ResetPlayerWeapons(playerid);
}
}
}
}
}
if(IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerInFrac(playerid,4))
{
new vehicleid=GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid)==416||GetVehicleModel(vehicleid)==563)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(!IsPlayerInAnyVehicle(i))continue;
if(GetPVarInt(i,"verladen")==0)continue;
if(GetPlayerVehicleID(i)!=vehicleid)continue;
RemovePlayerFromVehicle(i);
SetPVarInt(i,"verladen",0);
}
}
}
}
playerweisdasautokaputtist[playerid]=0;
if(flugprufung[playerid]==1)
{
if(flugauto[playerid]!=0)
{
DestroyVehicle(flugauto[playerid]);
flugauto[playerid]=0;
}
}
new vehicleid = GetPlayerVehicleID(playerid);
DisablePlayerCheckpoint(playerid);
DisablePlayerRaceCheckpoint(playerid);
if(schulung[playerid]==1)
{
schulung[playerid]=0;
istkaputt[vehicleid]=0;
SetVehicleToRespawn(vehicleid);
}
if(IsPlayerConnected(playerid))
{
if(wurdespawnt[playerid]==0)
{
new Float:xc,Float:yc,Float:zc;
GetPlayerPos(playerid,xc,yc,zc);
TotX[playerid]=xc;
TotY[playerid]=yc;
TotZ[playerid]=zc;
totinterior[playerid]=GetPlayerInterior(playerid);
totvirtual[playerid]=GetPlayerVirtualWorld(playerid);
if(PlayerInfo[playerid][pTot]==0)
{
WeaponDrop(playerid);
new zahl;
zahl=random(4);
if(PlayerInfo[playerid][pJailed]>0||PlayerInfo[playerid][pPrison]>0){zahl=1;}
if(zahl==2||zahl==3)
{
if(PhoneOnline[playerid]==1&&!IsPlayerInFrac(playerid,20)&&GetPlayerInterior(playerid)==0)
{
format(string,sizeof(string),"Du bist auf den SOS-Knopf deines Handys gefallen. Ein Notruf wurde abgesetzt.");
SendClientMessage(playerid,0x00CC33C0,string);
format(string,sizeof(string),"%s hat einen Notruf abgesetzt. Gib /accept Medic ein um anzunehmen.",SpielerName(playerid));
for (new i = 0; i<MAX_PLAYERS; i++)
{
if(IsPlayerInFrac(i,4))
{
SendClientMessage(i,COLOR_LIGHTBLUE,string);
}
}
willmedic[playerid]=1;
}
}
}
PlayerInfo[playerid][pTot]=1;
}
if(wurdespawnt[playerid]==1)
{
wurdespawnt[playerid]=0;
}
}
}
return 1;
}