OnPlayerDeath puh ist kompliziert.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi Leute...
    Ich will machen das man die Gangzonen nur übernehmen kann wenn die Angreifer halt mehr killen als die Verteidiger und sowas das ist auch kein Problem bis auf das die Leute der Gangs keine Punkte dazu bekommen wenn sie den Gegner töten...
    Also mein OnPlayerDeath beginnt so.


    new string[96];
    new tmpzone=GetPlayerGangZone(playerid);
    format(string, sizeof(string), "/GangZones/zone%d.zone",tmpzone); // ZoneID
    GangZoneD[tmpzone]=dini_Int(string,"owner"); //Verteidiger ID z.B 12
    GangZoneA[tmpzone]=dini_Int(string,"angreifer"); // ANgreifer ID z.B 11
    GangZoneAP[tmpzone]=dini_Int(string,"ap"); // Punkte der Angreifer
    GangZoneVP[tmpzone]=dini_Int(string,"vp"); // Punkte der Verteidiger


    So weit so gut hier nun das Problem


    if(duty[killerid]==false)
    {
    Player[killerid][morde]++;
    Player[killerid][verbrechen]++;
    if(Player[playerid][wanted]<20)Player[killerid][wanted]++;
    if(Player[killerid][member]==dini_Int(string,"angreifer")&&Player[playerid][member]==dini_Int(string,"owner"))GangZoneAP[tmpzone]++;
    if(Player[killerid][member]==dini_Int(string,"owner")&&Player[playerid][member]==dini_Int(string,"angreifer"))GangZoneVP[tmpzone]++;
    SendClientMessage(killerid, ROT, "Du hast ein Verbrechen begangen: Mord, Zeuge: Unbekannt");
    }


    Diese Version Klappt nicht und die hier auch nicht...


    if(duty[killerid]==false)
    {
    Player[killerid][morde]++;
    Player[killerid][verbrechen]++;
    if(Player[playerid][wanted]<20)Player[killerid][wanted]++;
    if(Player[killerid][member]==GangZoneA[tmpzone]&&Player[playerid][member]==GangZoneD[tmpzone])GangZoneAP[tmpzone]++;
    if(Player[killerid][member]==GangZoneD[tmpzone]&&Player[playerid][member]==GangZoneA[tmpzone])GangZoneVP[tmpzone]++;
    SendClientMessage(killerid, ROT, "Du hast ein Verbrechen begangen: Mord, Zeuge: Unbekannt");
    }


    Pls helft mir also


    es werden keine ap=++ gesetzt ...

  • Kenn mich zwar nicht besonders gut mit Dini aus, aber du musst den neuen Wert doch erstmal in die Datei schreiben. Sonst würde beim nächsten Aufruf von OnPlayerDeath der Wert ja auch zurückgesetzt.