Problem..

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 hab ein problem mit dem member system.
    Also ich erstelle das hier:


    //ist member
    stock IstSpielerMember(playerid, mfraktionsid)
    {
    if(sSpieler[playerid][Member] == mfraktionsid) return 1;
    return 0;
    }


    Wenn ich das so Mache geht alles perfekt:
    if(IstSpielerMember(playerid, 1))//das hier läuft perfekt
    {
    SetPlayerPos(playerid,210.5042,145.2128,1003.0234);
    SetPlayerInterior(playerid,3);
    SetPlayerSkin(playerid,280);
    }


    Aber wenn so nicht warum?:


    if(strcmp(cmdtext,"/lspdauf",true)==0)
    {
    if(!IstSpielerInFraktion(playerid, 1) || !IstSpielerMember(playerid, 1))//also das hier nicht warum?? Da geht nur wenn man Leader ist(IstSpielerInFraktion ist Leader sein)
    {
    SendClientMessage(playerid, ROT, "Du bist nicht beim LSPD!");
    return 1;
    }
    else
    MoveObject(lspdtor,1587.72656250,-1637.95605469,-18.49475479,5);
    SendClientMessage(playerid,0xFFFFFFFF,"Du hast das Tor geöffnet.");
    return 1;
    }

    MfG Mayo :love:

  • Statt || (ODER) musst du && (UND) Verknüpfen du willst ja abfragen:


    Wenn ( Der Spieler nicht Leader der Frak 1 ist UND Der Spieler nicht Member der Frak 1 ist)


    Mit ODER funzt das nicht weil du ja entweder nur Member oder nur Leader auf 1 setzt, weshalb immer eine Hälfte der Abfrage wegen des ODER Wahr wird und die Nachricht danach Angezeigt wird.

  • np, du machst dir das aber arg kompliziert mit 2 Funktionen, kannst es folgender maßen machen.
    Wenn du möchtest, musste natürlich nicht!



    stock IsPlayerInFrakEx(playerid, mfraktionsid)
    {
    if(sSpieler[playerid][Member] == mfraktionsid) return 1;
    else if(sSpieler[playerid][Leader] == mfraktionsid) return 2;
    return 0;
    }
    //Wenn der Spieler Member ist returnt die Funktion 1 wenn Leader dann 2 ansonsten 0
    if(strcmp(cmdtext,"/lspdauf",true)==0)
    {
    //Wenn der Wert < 1 ist also 0 ist er in nicht der Frak, weder Member noch Leader
    if(IsPlayerInFrakEx(playerid, 1) < 1)
    {
    SendClientMessage(playerid, ROT, "Du bist nicht beim LSPD!");
    return 1;
    }
    else
    {
    MoveObject(lspdtor,1587.72656250,-1637.95605469,-18.49475479,5);
    SendClientMessage(playerid,0xFFFFFFFF,"Du hast das Tor geöffnet.");
    return 1;
    }
    }
    //geht anders rum natürlich auch
    if(IsPlayerInFrakEx(playerid, 1) > 0)
    {
    SetPlayerPos(playerid,210.5042,145.2128,1003.0234);
    SetPlayerInterior(playerid,3);
    SetPlayerSkin(playerid,280);
    }
    //und z.B. für nur Leader
    if(IsPlayerInFrakEx(playerid, 1) == 2)
    //oder member
    if(IsPlayerInFrakEx(playerid, 1) == 1)


    //Edit returnt 0 nicht -1 , in nem Kommentar vertan :D