Hallo Brotfische,
Ich war gerade dabei den Bestatter Job für meinen Server zu scripten... leider etwas verbuggt.
Bei /findcorpse möchte ich das mir ein Zufalls Leichen-Pickup angezeigt wird...
Bei /corpse ist verbuggt, da es das nicht richtig löscht (die Sachen aus dem Enum)
Codes:
enum leichen{
Float:l_x,
Float:l_y,
Float:l_z,
pickup,
Text3D:NamenLabel,
p_id
}
new leichenInfo[MAX_PLAYERS][leichen];
new leiche[MAX_PLAYERS];
ocmd:corpse(playerid,params[])
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 442)return SendClientMessage(playerid,C_Error,"Du bist nicht im Leichenwagen!");
if(IsPlayerInRangeOfPoint(playerid,10.0,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z]))
{
DestroyPickup(leichenInfo[playerid][pickup]);
Delete3DTextLabel(leichenInfo[playerid][NamenLabel]);
SendClientMessage(playerid,C_Blau,"Du hast eine Leiche eingesammelt.");
SendClientMessage(playerid,C_Blau,"Fahre nun zum Friedhof, und geb dich Leiche dort ab.");
leiche[playerid]=1;
SetPlayerCheckpoint(playerid,927.4283,-1073.0220,24.2891,5.0);
return 1;
}
return SendClientMessage(playerid,C_Error,"Es ist keine Leiche in deiner Nähe!");
}
ocmd:findcorpse(playerid,params[])
{
GameTextForPlayer(playerid,"Leiche wird gesucht...",2000,3);
SetPlayerCheckpoint(playerid,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z],5.0);
return SendClientMessage(playerid,C_Error,"Es sind keine Leichen in der Umgebung!");
}
ocmd:unloadcorpse(playerid,params[])
{
if(!IsPlayerInRangeOfPoint(playerid,7.0,927.4283,-1073.0220,24.2891))return SendClientMessage(playerid,C_Error,"Du bist nicht am Friedhof!");
if(leiche[playerid]==1)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 442)return SendClientMessage(playerid,C_Error,"Du bist nicht im Leichenwagen!");
SendClientMessage(playerid,C_Blau,"Du hast die Leiche erfolgreich abgeladen.");
giveplayermoney(playerid,600);
leiche[playerid]=0;
return 1;
}
if(leiche[playerid]==0)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 442)return SendClientMessage(playerid,C_Error,"Du bist nicht im Leichenwagen!");
SendClientMessage(playerid,C_Error,"Du hast keine Leiche geladen!");
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new namenstring[200];
format(namenstring,sizeof(namenstring),"%s",getPlayerName(playerid));
GetPlayerPos(playerid,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z]);
leichenInfo[playerid][pickup] = CreatePickup(1254,1,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z],0);
leichenInfo[playerid][NamenLabel] = Create3DTextLabel(namenstring,C_Weiß,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z],10.0,0,0);
}
Ich hoffe es kann mir jemand helfen
MFG German_ScripterHD