An der falschen Position geht /enter?

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
  • Also wenn ich an der einer base steh von frakid 17 und mach dort /enter komm ich in des frakhaus wo ich in der fraktion bin(frakid 12)...
    wie kann ich machen das es NUR an dem Haus funktioniert in der fraktion wo man ist?


    Immoment:
    if (strcmp(cmdtext, "/enter", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 2526.8730, -1033.9093, 69.5793) && PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
    {
    SetPlayerPos(playerid,318.4036,1119.4199,1083.8828);
    SetPlayerInterior(playerid, 5);
    SetPlayerVirtualWorld(playerid,3);
    }
    else if(IsPlayerInRangeOfPoint(playerid,3.0,1939.2244,-1115.5229,27.4523) && PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14)
    {
    SetPlayerPos(playerid,318.4036,1119.4199,1083.8828);
    SetPlayerFacingAngle(playerid,83.1490);
    SetPlayerInterior(playerid,5);
    SetPlayerVirtualWorld(playerid,1);
    }
    else if(IsPlayerInRangeOfPoint(playerid,3.0,2495.3057,-1690.6206,14.7656) && PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13)
    {
    SetPlayerPos(playerid,2807.7034,-1172.1710,1025.5703);
    SetPlayerFacingAngle(playerid,83.1490);
    SetPlayerInterior(playerid,8);
    SetPlayerVirtualWorld(playerid,1);
    }
    return 1;
    }

  • mach mal unter den letzten "else if"


    else { SendClientMessage(playerid,FARBE,"Du bist an keiner Tür"); }

  • so?


    else if(IsPlayerInRangeOfPoint(playerid,3.0,1123.7201,-2036.9500,69.8863) && PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)
    {
    SetPlayerPos(playerid,1705.3403,-1668.0930,20.2257);
    SetPlayerFacingAngle(playerid,83.1490);
    SetPlayerInterior(playerid,18);
    SetPlayerVirtualWorld(playerid,0);
    }
    else
    { SendClientMessage(playerid,0xFFFFFFFF,"Du bist an keiner Tür"); }
    return 1;
    }


    Wenn ja dann zeigt des keine funktion an..

  • Also ich schilder mein Problem eben schnell nochmal...:
    Soo... Es geht darum das wenn ich zum Beispiel der Groove street angehöre und ich mich an ein Ballas haus stelle und /enter eingebe das ich in das Groove haus gespawnt werde aber wenn ich /exit eingebe dann vor dem Groove haus stehe, ich weis es ist kein großes problem aber wie mache ich es das wenn ich der groove angehöre das ich nur am Groove haus /enter eingeben kann und das nur da was passiert.
    MfG
    @Schlumpf ;> PN. :)

  • Ich bin Leader der Groove
    Ja ist alles richtig...
    Siehe Enter:
    else if(IsPlayerInRangeOfPoint(playerid,3.0,2495.3057,-1690.6206,14.7656) && PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13)
    {
    SetPlayerPos(playerid,2807.7034,-1172.1710,1025.5703);
    SetPlayerFacingAngle(playerid,83.1490);
    SetPlayerInterior(playerid,8);
    SetPlayerVirtualWorld(playerid,1);
    }
    Siehe Exit:
    else if(IsPlayerInRangeOfPoint(playerid,3.0,2807.6399,-1173.9637,1025.5703) && PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13)
    {
    SetPlayerPos(playerid,2495.2844,-1687.3339,13.5154);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }

  • && PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13




    Schau mal: Das || in der Abfrage trennt den Leader auch von der Positionsabfrage, mach also die Abfrage erneut mit && Hinter der Leader Abfrage

  • Zitat

    Ich bin Leader der Groove


    Ja aber es ist dann trotzdem ein Fehler ;) und wie ich das jetzt Verstanden habe wird die Funktion immer Ausgeführt egal wo er ist. Also sollte das sein Problem beheben oder?

  • Das stimmt man kann es überall eingeben oO..
    Habs mal mit && versucht...
    Das ergebnis hat aber entschieden das dann garnichts mehr geht wenn ich && benutze... sprich ich kann nicht aus dem haus.
    aber die funktion || heißt soviel wie 'oder'... also dürfte es richtig sein.
    bei && funktioniert garnichts
    und bei || kann man zwar als member nicht von weitem rein aber als leader überall

    Einmal editiert, zuletzt von ciNo ()

  • else if(IsPlayerInRangeOfPoint(playerid,3.0,2495.3057,-1690.6206,14.7656) && PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13 && IsPlayerInRangeOfPoint(playerid,3.0,2495.3057,-1690.6206,14.7656) )


    Genau so eingefügt? Denn so sollte es klappen 8|

  • Frag doch eine Zeile drüber ab ob es ein Leader oder Member der Fraktion ist, dann kommt es auch nicht mit der Position durcheinander..

  • Hätte da so ne Variante...


    else if(IsPlayerInRangeOfPoint(playerid,3.0,2807.6399,-1173.9637,1025.5703) && (PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13))


    Vielleicht gehts ja, du öffnest da nämlich ne neue Klammer und schließt die auch wieder ^^
    Also wenn du mein gepostetes hier nutzt.


    //EDIT: Jo, wenn man es richtig benutzt geht das ;)
    Soeben getestet, mit Erfolg.

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

    Einmal editiert, zuletzt von Deadmau5 ()