Hallo
Ich habe ein Problem mit meinem Hitmansystem. Wenn ich den Code im Gamemod benutze bekomme ich beim Killen eines Spielers, sofern er Auftrag ist, kein Geld. Ich habe dann das ganze extern getestet und die Werte gesetzt - dort ging es. Für mich gibt es 2 Möglichkeiten, die das nicht Auslösen verursachen können. Das wären falsche Werte oder der Abbruch des Callbacks.
Ich poste einfach mal meinen Code:
OnPlayerDeath
for(new hitmanid=0;hitmanid<MAX_AUFTRAEGE;hitmanid++)
{
if(!strcmp(HitmanSystem[hitmanid][Opfer], PlayerName[playerid]) && !strcmp(HitmanSystem[hitmanid][Taeter], PlayerName[killerid]))
{
new string[100];
GivePlayerMoney(killerid,HitmanSystem[hitmanid][Geld]);
format(string,sizeof(string),"Du hast erfolgreich dein Auftragsopfer %s getötet und erhälst %d Dollar",PlayerName[playerid],HitmanSystem[hitmanid][Geld]);
SendClientMessage(killerid,COLOR_GREEN,string);
format(HitmanSystem[hitmanid][Opfer],30,"%s","Keiner");
format(HitmanSystem[hitmanid][Taeter],30,"%s","Keiner");
HitmanSystem[hitmanid][Geld] = 0;
HitmanSystem[hitmanid][SlotWert] = 0;
HitmanSystem[hitmanid][Status] = 0;
SendFraktionMessage(9, COLOR_GREEN,"Ein Auftrag wurde ausgeführt");
return 1;
}
}
Hier das Menü, wo die Werte gespeichert werden:
if(dialogid == HitmanMenu)
{
if(!response) return 1;
if(response)
{
if(HitmanSystem[listitem][SlotWert] == 0) return SendClientMessage(playerid,COLOR_GREY,"Dieser Slot ist mit keinem Auftrag belegt");
if(HitmanSystem[listitem][Status] == 1) return SendClientMessage(playerid,COLOR_GREY,"Dieses Auftrag wird bereits von jemanden ausgeführt");
for(new hitmanid=0; hitmanid<MAX_AUFTRAEGE; hitmanid++)
{
if(strmatch(HitmanSystem[hitmanid][Taeter],PlayerName[playerid])) return SendClientMessage(playerid,COLOR_GREY,"Du führst bereits einen Auftrag aus");
}
format(HitmanSystem[listitem][Taeter],30,"%s",PlayerName[playerid]);
HitmanSystem[listitem][Status] = 1;
SendClientMessage(playerid,COLOR_GREEN,"Auftrag angenommen.Du kannst die Informationen mit /opfer ansehen");
return 1;
}
}
Ich wäre euch sehr dankbar, wenn jemand einen Fehler sieht.
MfG dUDA