Gangfight ist Buggy ...

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
  • Hey Leute ich habe ein Problem, wenn ich an einem Angriffspunkt bin und /angriff eingebe
    Kommt nur die Nachricht: Du bist an keinem Angriffspunkt!




    Das problem muss hier liegen:


    if(strcmp(cmd, "/angriff",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new job;
    if(PlayerInfo[playerid][pMember] >0)
    {
    job = PlayerInfo[playerid][pMember];
    }
    if(PlayerInfo[playerid][pLeader] > 0)
    {
    job = PlayerInfo[playerid][pLeader];
    }
    if(job == 5 || job == 6 || job == 12 || job == 13 || job == 14 || job == 15 || job == 16 || job == 17 || job == 19 || job == 23)
    {
    if(GetPlayerVehicleID(playerid) != 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du darfst in keinem Auto sein!");
    return 1;
    }
    new gzone = 255;
    for(new idd; idd<GangZone_Index; idd++)
    {
    if(PlayerToPoint(10, playerid, GangZone[idd][ix], GangZone[idd][iy], GangZone[idd][iz]))
    {
    gzone = idd;
    if(job == GangZone[gzone][owner])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Dieses Gebiet gehört bereits euch!");
    return 1;
    }
    else
    {
    return 1;
    }
    }
    }
    if(gzone == 255)
    {
    SendClientMessage(playerid,COLOR_GRAD2, "Du bist an keinem Angriffspunkt!");
    return 1;
    }
    }
    else
    {
    return 1;
    }
    }
    return 1;
    }




    Ich schätze hier ist das Problem nur ich weiß keine Lösung ..


    if(gzone == 255)
    {
    SendClientMessage(playerid,COLOR_GRAD2, "Du bist an keinem Angriffspunkt!");
    return 1;
    }



    Ich hoffe ihr könnt mir helfen :/

  • if(PlayerToPoint(10, playerid, GangZone[idd][ix], GangZone[idd][iy], GangZone[idd][iz]))
    Diese Funktion ist langsam und veraltet.
    Nimm lieber
    if(IsPlayerInRangeOfPoint(playerid, 10.0, GangZone[idd][ix], GangZone[idd][iy], GangZone[idd][iz]))


    if(job == GangZone[gzone][owner])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Dieses Gebiet gehört bereits euch!");
    return 1;
    }
    else
    {
    return 1;
    }

    Warum denn return 1?
    Machs lieber so:
    if(job == GangZone[gzone][owner])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Dieses Gebiet gehört bereits euch!");
    break;
    }

    dann sollte es auch klappen. Und lass das else weg.

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • So ?



    if(strcmp(cmd, "/angriff",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new job;
    if(PlayerInfo[playerid][pMember] >0)
    {
    job = PlayerInfo[playerid][pMember];
    }
    if(PlayerInfo[playerid][pLeader] > 0)
    {
    job = PlayerInfo[playerid][pLeader];
    }
    if(job == 5 || job == 6 || job == 12 || job == 13 || job == 14 || job == 15 || job == 16 || job == 17 || job == 19 || job == 23)
    {
    if(GetPlayerVehicleID(playerid) != 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du darfst in keinem Auto sein!");
    return 1;
    }
    new gzone = 255;
    for(new idd; idd<GangZone_Index; idd++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 10.0, GangZone[idd][ix], GangZone[idd][iy], GangZone[idd][iz]))
    {
    gzone = idd;
    if(job == GangZone[gzone][owner])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Dieses Gebiet gehört bereits euch!");
    break;
    }
    }
    }
    if(gzone == 255)
    {
    SendClientMessage(playerid,COLOR_GRAD2, "Du bist an keinem Angriffspunkt!");
    return 1;
    }
    }
    else
    {
    return 1;
    }
    }
    return 1;
    }




    EDIT: Wenn ich es so mache tritt leider immer noch das alte Problem auf.

  • if(IsPlayerInRangeOfPoint(playerid, 10.0, GangZone[idd][ix], GangZone[idd][iy], GangZone[idd][iz]))
    {
    if(job == GangZone[gzone][owner])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Dieses Gebiet gehört bereits euch!");

    }
    else
    gzone = idd;
    break;
    }
    So.

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • okey ich probier es gleich nochmal aus bin gerade unterwegs und mit handy on





    Edit: Leider immer noch das selbe Problem .. ich gebe /angriff ein und der Text Du bist an keinem Angriffspunkt! kommt obwohl ich an einem bin.