2 Tore öffnen mit 1 Befehl mit OCMD

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
  • Guten Tag,
    Ich wollte ein 2 verschiedene Tore machen, ganz andere Standpunkte und die sollen beide mit /gate aufgehen und nach 5 Sekunden wieder zugehen.
    Ich hab die SuFu bereits genutzt, aber hab keinen gesehen der ein ähnliches Problem hat, und Google hab ich ebenfalls nichts gefunden.
    Undzwar oben hab ich:
    forward Tor1Zu();
    public Tor1Zu()
    {
    MoveObject(Tor1,1151.2998000,-1217.6992200,20.0000000,5.0);
    }


    forward Tor2Zu();
    public Tor2Zu()
    {
    MoveObject(Tor2,1548.0999800,-1627.1999500,15.2000000,5.0);
    }


    Und dann der Befehl:
    ocmd:auf(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10,1151.2998000,-1217.6992200,20.0000000)) return SendClientMessage(playerid,Color_RED,"Du bist nicht in der Nähe vom Tor!");
    {
    MoveObject(Tor1,1151.2998000,-1217.6992200,20.0000000-10,5.0);
    SetTimer("Tor1Zu",5000,0);
    return 1;
    }
    else if(!IsPlayerInRangeOfPoint(playerid,10,21548.0999800,-1627.1999500,15.2000000)) return SendClientMessage(playerid,Color_RED,"Du bist nicht in der Nähe vom Tor!");
    {
    MoveObject(Tor2,21548.0999800,-1627.1999500,15.2000000-10,5.0);
    SetTimer("Tor2Zu",5000,0);
    return 1;
    }


    }

    und die Tore an sich:

    Tor1=CreateObject(980,1151.2998000,-1217.6992200,20.0000000,0.0000000,0.0000000,0.0000000); //object(airportgate) (1) YAKUZA
    ...Weitere unnötige Objekte...
    Tor2=CreateObject(980,1548.0999800,-1627.1999500,15.2000000,0.0000000,0.0000000,89.7500000); //object(airportgate) (1) LSPD


  • if(!IsPlayerInRangeOfPoint
    Ohne das !


    Also:
    ocmd:auf(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1151.2998000,-1217.6992200,20.0000000))
    {
    MoveObject(Tor1,1151.2998000,-1217.6992200,20.0000000-10,5.0);
    SetTimer("Tor1Zu",5000,0);
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,21548.0999800,-1627.1999500,15.2000000))
    {
    MoveObject(Tor2,21548.0999800,-1627.1999500,15.2000000-10,5.0);
    SetTimer("Tor2Zu",5000,0);
    return 1;
    }


    }

  • C:\Users\Johannes\Desktop\Server\gamemodes\script.pwn(874) : warning 225: unreachable code
    C:\Users\Johannes\Desktop\Server\gamemodes\script.pwn(874) : error 029: invalid expression, assumed zero
    C:\Users\Johannes\Desktop\Server\gamemodes\script.pwn(874) : warning 215: expression has no effect
    C:\Users\Johannes\Desktop\Server\gamemodes\script.pwn(874) : error 001: expected token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

    Hatte schon welche davor (ohne !(aber dann muss ich den Text noch ändern!)) :D

  • Probier es mal so:

    ocmd:auf(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1151.2998000,-1217.6992200,20.0000000)) {
    MoveObject(Tor1,1151.2998000,-1217.6992200,10.0000000,5.0);
    SetTimer("Tor1Zu",5000,0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,21548.0999800,-1627.1999500,15.2000000)) {
    MoveObject(Tor2,21548.0999800,-1627.1999500,5.2000000,5.0);
    SetTimer("Tor2Zu",5000,0);
    }
    return 1;
    }