SFPD Tore öffnen nicht

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 ihr Brot-Fischer,


    Ich habe ein Problem mit meinen SFPD Toren. Sie sollen automatisch aufgehen sobald man in die nähe kommt, aber das tuhen sie anscheinend nicht:
    public CheckGate()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate[i] == 0)
    {
    MoveStreamObject(pdschranke1, -1572.208130, 658.849854, 6.837374);
    OpenGate[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate[i] == 1)
    {
    MoveStreamObject(pdschranke1, -1572.197388, 658.782104, 6.921752);
    OpenGate[i] = 0;
    }
    }
    }


    public CheckGate2()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i,-1701.425781, 687.623108, 24.560650) && OpenGate2[i] == 0)
    {
    MoveStreamObject(pdschranke2, -1701.387207, 687.550293, 24.692066);
    OpenGate2[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1701.425781, 687.623108, 24.560650) && OpenGate2[i] == 1)
    {
    MoveStreamObject(pdschranke2, -1701.425781, 687.623108, 24.560650);
    OpenGate2[i] = 0;
    }
    }
    }



    public CheckGate3()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3[i] == 0)
    {
    MoveStreamObject(pdgate1, -1644.109497, 688.328857, 8.960892);
    MoveStreamObject(pdgate2, -1618.996826, 688.345581, 8.960892);
    OpenGate3[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3[i] == 1)
    {
    MoveStreamObject(pdgate1, -1637.027710, 688.334351, 8.960892);
    MoveStreamObject(pdgate2, -1625.526001, 688.346252, 8.960892);
    OpenGate3[i] = 0;
    }
    }
    }


    Warnings bekomme ich folgende:

    Code
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27090) : warning 202: number of arguments does not match definition
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27095) : warning 202: number of arguments does not match definition
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27108) : warning 202: number of arguments does not match definition
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27113) : warning 202: number of arguments does not match definition
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27127) : warning 202: number of arguments does not match definition
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27128) : warning 202: number of arguments does not match definition
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27133) : warning 202: number of arguments does not match definition
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27134) : warning 202: number of arguments does not match definition


    Ich hoffe ihr könnt mir irgendwie helfen.


    Mit freundlichen Grüßen,
    Marc_Sway


    Melde dich heute noch an und werde ein Teil der Community !

  • mach mal so


    public CheckGate()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate[i] == 0)
    {
    MoveStreamObject(pdschranke1, -1572.208130, 658.849854, 6.837374,3.0);
    OpenGate[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate[i] == 1)
    {
    MoveStreamObject(pdschranke1, -1572.197388, 658.782104, 6.921752,3.0);
    OpenGate[i] = 0;
    }
    }
    }


    public CheckGate2()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i,-1701.425781, 687.623108, 24.560650) && OpenGate2[i] == 0)
    {
    MoveStreamObject(pdschranke2, -1701.387207, 687.550293, 24.692066,3.0);
    OpenGate2[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1701.425781, 687.623108, 24.560650) && OpenGate2[i] == 1)
    {
    MoveStreamObject(pdschranke2, -1701.425781, 687.623108, 24.560650,3.0);
    OpenGate2[i] = 0;
    }
    }
    }



    public CheckGate3()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3[i] == 0)
    {
    MoveStreamObject(pdgate1, -1644.109497, 688.328857, 8.960892,3.0);
    MoveStreamObject(pdgate2, -1618.996826, 688.345581, 8.960892,3.0);
    OpenGate3[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3[i] == 1)
    {
    MoveStreamObject(pdgate1, -1637.027710, 688.334351, 8.960892,3.0);
    MoveStreamObject(pdgate2, -1625.526001, 688.346252, 8.960892,3.0);
    OpenGate3[i] = 0;
    }
    }
    }

  • Ich hab das jetzt so:
    new OpenGate;
    new OpenGate2;
    new OpenGate3;


    Aber ich bekomme immer Errors:

    Code
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27120) : error 028: invalid subscript (not an array or too many subscripts): "OpenGate"
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27120) : warning 215: expression has no effect
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27120) : error 001: expected token: ";", but found "]"
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27120) : error 029: invalid expression, assumed zero
    D:\Spiele\GTA San Andreas\GTA SA\gamemodes\SFRoleplay.pwn(27120) : fatal error 107: too many error messages on one line


    Und das in der Zeile:
    if(PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate[i] == 0)


    Edit:
    Hier nochmal das momentane unten:
    public CheckGate()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate[i] == 0)
    {
    MoveStreamObject(pdschranke1, -1572.208130, 658.849854, 6.837374,3.0);
    OpenGate[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate[i] == 1)
    {
    MoveStreamObject(pdschranke1, -1572.197388, 658.782104, 6.921752,3.0);
    OpenGate[i] = 0;
    }
    }
    }


    public CheckGate2()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i,-1701.425781, 687.623108, 24.560650) && OpenGate2[i] == 0)
    {
    MoveStreamObject(pdschranke2, -1701.387207, 687.550293, 24.692066,3.0);
    OpenGate2[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1701.425781, 687.623108, 24.560650) && OpenGate2[i] == 1)
    {
    MoveStreamObject(pdschranke2, -1701.425781, 687.623108, 24.560650,3.0);
    OpenGate2[i] = 0;
    }
    }
    }



    public CheckGate3()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3[i] == 0)
    {
    MoveStreamObject(pdgate1, -1644.109497, 688.328857, 8.960892,3.0);
    MoveStreamObject(pdgate2, -1618.996826, 688.345581, 8.960892,3.0);
    OpenGate3[i] = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3[i] == 1)
    {
    MoveStreamObject(pdgate1, -1637.027710, 688.334351, 8.960892,3.0);
    MoveStreamObject(pdgate2, -1625.526001, 688.346252, 8.960892,3.0);
    OpenGate3[i] = 0;
    }
    }
    }


    Melde dich heute noch an und werde ein Teil der Community !

  • du musst eine normale variable natürlich auch wie eine ansprechen...
    das [i ] nach opengate1/2/3 muss auch weg und les dir bitte ein tutorial mit den grundlagen durch.


    edit: ich hab nicht dran gedacht, dass [i ] ohne leerzeichen ja gar nicht angezeigt werden darf^^

    Mein erstes eigenes Spiel


    meine Tutorials:
    Nachos Torsystem


    scripten ist kein spiel, es ist arbeit(die sehr viel spass machen kann).
    gewöhn dich an den gedanken arbeiten zu müssen oder lass es sein.

    Einmal editiert, zuletzt von NachoMan ()

  • Er meint damit, wenn du MAX_PLAYERS schon rausnimmst, musst du das i auch wegtun.



    public CheckGate()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate == 0)
    {
    MoveStreamObject(pdschranke1, -1572.208130, 658.849854, 6.837374,3.0);
    OpenGate = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1572.197388, 658.782104, 6.921752) && OpenGate == 1)
    {
    MoveStreamObject(pdschranke1, -1572.197388, 658.782104, 6.921752,3.0);
    OpenGate = 0;
    }
    }
    }


    public CheckGate2()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i,-1701.425781, 687.623108, 24.560650) && OpenGate2 == 0)
    {
    MoveStreamObject(pdschranke2, -1701.387207, 687.550293, 24.692066,3.0);
    OpenGate2 = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1701.425781, 687.623108, 24.560650) && OpenGate2 == 1)
    {
    MoveStreamObject(pdschranke2, -1701.425781, 687.623108, 24.560650,3.0);
    OpenGate2 = 0;
    }
    }
    }



    public CheckGate3()
    {
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3 == 0)
    {
    MoveStreamObject(pdgate1, -1644.109497, 688.328857, 8.960892,3.0);
    MoveStreamObject(pdgate2, -1618.996826, 688.345581, 8.960892,3.0);
    OpenGate3 = 1;
    }
    else if(!PlayerToPoint(10.0, i, -1637.027710, 688.334351, 8.960892) && OpenGate3 == 1)
    {
    MoveStreamObject(pdgate1, -1637.027710, 688.334351, 8.960892,3.0);
    MoveStreamObject(pdgate2, -1625.526001, 688.346252, 8.960892,3.0);
    OpenGate3 = 0;
    }
    }
    }