Problem mit Fraktion

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
  • Hallo.


    Ich arbetie momentan an Meinen fraktionen & habe da ein kleines problem


    Habe selber, schon nach dem fehler gesucht. Aber habe ihn bis jetz nicht Gefunden.


    Hier der Teil, wo es Abgerufen wird:

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(lspdcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==lspdcar[i])
    {
    if(Fraktinfo[playerid][Fraktion] == 1)
    {
    SendClientMessage(playerid,ROT,"Du gehörst, nicht dieser Fraktion an");
    RemovePlayerFromVehicle(playerid);
    }


    Hier mal der Enum wo es Abgelesen wird:

    enum Frakt
    {
    Fraktion,
    fMember,
    fLeader
    };
    new Fraktinfo[MAX_PLAYERS][Frakt];


    Also ich Werde immer, aus dem Auto removed. Obwohl ich in der Fraktion bin


    Hiffe es kann mir jhemand sagen. Woran der fehler liegt


    MFG
    Dome331

  • Also du machst einen ganz simplen Fehler :


    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(lspdcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==lspdcar[i])
    {
    if(Fraktinfo[playerid][Fraktion] == 1) // == Heißt ja wenn ist gleich. aber das wüürde heißen wenn er in der Fraktioin ist fliegt er raus....
    {
    SendClientMessage(playerid,ROT,"Du gehörst, nicht dieser Fraktion an");
    RemovePlayerFromVehicle(playerid);
    }


    Würde es so machen :


    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(lspdcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==lspdcar[i])
    {
    if(Fraktinfo[playerid][Fraktion] == 1) {}
    else { SendClientMessage(playerid,ROT,"Du gehörst, nicht dieser Fraktion an"); RemovePlayerFromVehicle(playerid); }


    oder so kann man es auch machen :


    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(lspdcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==lspdcar[i])
    {
    if(Fraktinfo[playerid][Fraktion] != 1)
    {
    SendClientMessage(playerid,ROT,"Du gehörst, nicht dieser Fraktion an");
    RemovePlayerFromVehicle(playerid);
    }

  • Hallo [BJR]Big_Ben


    Der Code, wurde von mir So Geschrieben & werde momentan an der Schreiweße nix ändern!


    Ich möchte, halt nur Gerne wissen. Warum ich Aus dem auto Gekickt werde, obwohl ich In der Fraktion bin?


    MFG
    Dome331

  • Weil du ganz simpel den Fehler machst


    if(Fraktinfo[playerid][Fraktion] == 1) // Das du hier abfragst ob er in der Fraktion ist ! Und wenn ja (==) dann soll er removed werden....
    {
    SendClientMessage(playerid,ROT,"Du gehörst, nicht dieser Fraktion an");
    RemovePlayerFromVehicle(playerid);
    }


    Lies dir auch mal die Commis durch //


    Mfg

  • Hallo


    Sorry hatte ich nicht bemerkt.


    Ich habe den befehl jetz mal Umgeschrieben & Er sieht jez so aus:

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(lspdcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==lspdcar[i])
    {
    if(Fraktinfo[playerid][fMember] != 1 || Fraktinfo[playerid][Fraktion] != 1 || Fraktinfo[playerid][fLeader] != 1)
    {
    SendClientMessage(playerid,ROT,"Du gehörst, nicht dieser Fraktion an");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }


    Ich denke mal, das es so Funktionieren würde.


    MFG
    Dome331

  • Face...


    Du fragst ja nun 3mal ab ob er nicht in der Fraktion ist oder ?


    if(Fraktinfo[playerid][fMember] != 1 || Fraktinfo[playerid][Fraktion] != 1 || Fraktinfo[playerid][fLeader] != 1) // Einmal als Member ? Einmal so in der Fraktion ? Einmal als Leader ? Leader und member wieder weg.... xda Fraktion ausreicht...
    {
    SendClientMessage(playerid,ROT,"Du gehörst, nicht dieser Fraktion an");
    RemovePlayerFromVehicle(playerid);
    }
    }


    Commis bitte lesen...