Automatische Tore..

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
  • Heyho Liebe Mitglieder.
    Ich habe Probleme mit meine automatische Tore..
    Die Tore öffnen und schließen sich nur, wenn man playerid 0 hat & bei allen anderen geht das Tor einfach nicht auf und zu, hier ist mein Code:


    public checkparea()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][pMember] == 18 || PlayerInfo[i][pLeader] == 18)
    {
    if(IsPlayerInRangeOfPoint(i, 12.0, 1246.7843,-767.4252,92.0726))
    {
    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);
    MoveObject(riderstor,1245.698364, -767.397156, 83.123962,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    else if(PlayerInfo[i][pMember] == 12 || PlayerInfo[i][pLeader] == 12)
    {
    if(IsPlayerInRangeOfPoint(i, 12.0, 321.3414,-1188.2546,76.3546))
    {
    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);
    MoveObject(kartelltor,321.79440307617, -1188.2862548828, 66.315223693848,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    else if(PlayerInfo[i][pMember] == 18 || PlayerInfo[i][pLeader] == 18)
    {
    if(IsPlayerInRangeOfPoint(i, 12.0, 1361.2144,-844.1144,45.4119))
    {
    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);
    MoveObject(riderstor2,1361.4559326172, -843.73498535156, 38.304809570313,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 363.0702,-1467.4744,30.8348))
    {
    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);
    MoveObject(fbitor,364.88357543945, -1464.1197509766, 19.769533157349,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 308.2044,-1559.8835,31.4736))
    {
    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);
    MoveObject(fbitor2,305.85137939453, -1557.4007568359, 20.610908508301,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 1546.0402,-1627.8601,13.3828))
    {
    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);
    MoveObject(lspdtor,1545.9873046875, -1623.8576660156, 03.820401191711,5.0);
    MoveObject(lspdtor2,1545.9287109375, -1631.8166503906, 03.812777519226,5.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 1588.4408,-1638.2186,13.4015))
    {
    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);
    MoveObject(lspdtor3,1590.3557128906, -1638.2622070313, 05.223207473755,5.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    return 1;
    }
    return 1;
    }


    Mit freundlichen Grüßen, Unkn0wnX.

  • Mit der Schleife sollte es mit allen ids gehen.
    Das nur das erste geht ist auch klar durch dein "return 1;" wird der Code abgebrochen.


    MFG RFT


    //edit wozu das ?:



    new Float:TempX, Float:TempY, Float:TempZ;
    GetPlayerPos(i, TempX, TempY, TempZ);
    if(TempX != PosX[i] && TempY != PosY[i] && TempZ != PosZ[i])
    {
    GetPlayerPos(i, PosX[i], PosY[i], PosZ[i]);




    IsPlayerInRangeOfPoint reicht doch.

    RFT

  • Dankeschön für deine Antwort, RFT.
    Ich weiß es nicht, so stand es in einem Tutorial.
    Muss ich jetzt bei allen return 0; machen statt 1 oder wie?
    mfG, Unkn0wnX.

  • Mein Code funktioniert noch immer nicht:


    public checkparea()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][pMember] == 18 || PlayerInfo[i][pLeader] == 18)
    {
    if(IsPlayerInRangeOfPoint(i, 12.0, 1246.7843,-767.4252,92.0726))
    {
    MoveObject(riderstor,1245.698364, -767.397156, 83.123962,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    else if(PlayerInfo[i][pMember] == 12 || PlayerInfo[i][pLeader] == 12)
    {
    if(IsPlayerInRangeOfPoint(i, 12.0, 321.3414,-1188.2546,76.3546))
    {
    MoveObject(kartelltor,321.79440307617, -1188.2862548828, 66.315223693848,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    else if(PlayerInfo[i][pMember] == 18 || PlayerInfo[i][pLeader] == 18)
    {
    if(IsPlayerInRangeOfPoint(i, 12.0, 1361.2144,-844.1144,45.4119))
    {
    MoveObject(riderstor2,1361.4559326172, -843.73498535156, 38.304809570313,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 363.0702,-1467.4744,30.8348))
    {
    MoveObject(fbitor,364.88357543945, -1464.1197509766, 19.769533157349,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 308.2044,-1559.8835,31.4736))
    {
    MoveObject(fbitor2,305.85137939453, -1557.4007568359, 20.610908508301,4.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 1546.0402,-1627.8601,13.3828))
    {
    MoveObject(lspdtor,1545.9873046875, -1623.8576660156, 03.820401191711,5.0);
    MoveObject(lspdtor2,1545.9287109375, -1631.8166503906, 03.812777519226,5.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    else if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, 5.0, 1588.4408,-1638.2186,13.4015))
    {
    MoveObject(lspdtor3,1590.3557128906, -1638.2622070313, 05.223207473755,5.0);
    SetTimer("closegate", 3000, 0);
    }
    }
    return 1;
    }
    return 1;
    }


    mfG, Unkn0wnX.

  • Hallo RFT.
    Ich habe aus 2 return 1; nurnoch 1 gemacht & jetzt funktioniert 1 Riders Tor, 1 Medellin Kartell Tor, 1 FBI Tor.
    Bei LSPD funktionieren die Tore garnicht & bei Riders + FBI fehlt auch ein Tor, warum funktionieren die nicht? :S
    Mit freundlichen Grüßen, Unkn0wnX.

  • ich hatte das mit der id 0 auch dann hab ich tore per knopfdruck gemacht mich hats einfach genervt... und ich hatte bei noch irgendwas das selbe problem nur mir fällts nimmer ein was es noch gleich war ich glaub ein textdraw

  • Ich habe das Problem gelöst.
    Alle Abfragen in einem Timer & per for schleife für MAX_PLAYERS gemacht.
    mfG, Unkn0wNX.