Bug den ich nicht weg kriege

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Guten morgen,


    Und zwar habe ich einen kleinen bug gefunden bei mir.
    Und zwar wenn ich ( SAPD ) jemanden kille der keine Wanteds hat.
    Steht bei den jenigen " Du bist nun für / Minuten im Knast. "
    Dann wird er 2 Sekunden im Knast geportet und dann im krankenhaus.
    Das hier habe ich unter OnPlayerDeath steht.


    Code:

    Spoiler anzeigen

    if(Spieler[killerid][Team] == 1 || Spieler[killerid][Team] == 2)
    {
    if(IsPlayerConnected(playerid))
    {
    new giveplayerid;
    if(Spieler[playerid][Team] != 1 || Spieler[playerid][Team] != 2)
    {
    Spieler[playerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    SetPlayerInterior(giveplayerid, 6);
    SetPlayerPos(giveplayerid,264.3920,77.3862,1001.0391);
    jailcash = 2000*Spieler[playerid][Wanteds];
    Spieler[giveplayerid][Knast] += 1;
    GivePlayerCash(playerid, -jailcash);
    GivePlayerCash(killerid, jailcash);
    Spieler[playerid][Wanteds] = 0;
    SendClientMessage(playerid, COLOR_GRAD2, "");
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast.", Spieler[playerid][JailTime]);
    SendClientMessage(playerid, COLOR_RED, string);
    }
    }
    }


    Wodran liegt dieses Problem ich krieg diesen Bug einfach nicht :/
    Ich hoffe es kann mir einer helfen.


    Mfg
    Toni_Price

  • Wieso macht du eine neue giveplayerid bei OnPlayerDeath?


    playerid (OnPlayerDeath) = Der Spieler der gekillt wurde.
    killerid(OnPlayerDeath) = Der Spieler der gekillt hat.
    reasob(OnPlayerDeath) = Der Grund.


    Und deine giveplayerid definiert ja mal garnix :o


    Ich würds ja so machen:
    if(Spieler[killerid][Team] == 1 || Spieler[killerid][Team] == 2)
    {
    if(IsPlayerConnected(playerid))
    {
    new giveplayerid;
    if(Spieler[playerid][Team] != 1 || Spieler[playerid][Team] != 2)
    {
    if(Spieler[playerid][Wanteds] >= 1)
    {
    Spieler[playerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    SetPlayerInterior(giveplayerid, 6);
    SetPlayerPos(giveplayerid,264.3920,77.3862,1001.0391);
    jailcash = 2000*Spieler[playerid][Wanteds];
    Spieler[giveplayerid][Knast] += 1;
    GivePlayerCash(playerid, -jailcash);
    GivePlayerCash(killerid, jailcash);
    Spieler[playerid][Wanteds] = 0;
    SendClientMessage(playerid, COLOR_GRAD2, "");
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast.", Spieler[playerid][JailTime]);
    SendClientMessage(playerid, COLOR_RED, string);
    }
    }
    }