Benötige Hilfe [2 Funktionen]

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
  • Hey,
    ich bastel grade an meinem Selfmade rum und stoße auf 2 Probleme:
    1. Behördensautos für alle Behörden (Cop, FBI & Army) zugänglich machen. Bisher funktioniert es nur für die jeweilige Fraktion (Eine Fraktion).



    2. Alle Tore/Schranken schließen sich nach dem zweiten mal der Eingabe vom Befehl nach einer zufälligen Zeit.


    Code
    new LSPDSchranke;
    new PTor;


    Code
    forward GateCloseLSPDSchranke();
    forward GateClosePTor();


    Code
    LSPDSchranke = CreateDynamicObject(968, 1544.7015, -1630.8297, 13.0325, 0.0000, 90.0000, 90.0000);
    	PTor = CreateDynamicObject(971, 1589.0514, -1638.2994, 12.8791, 0.0000, 0.0000, 0.0000);


    Ja, bis jetzt von jedem zu benutzen.


    Hoffe mir kann jemand helfen :)
    Danke.
    Raz3or

  • Zuerst einmal verwende bitte das nächste mal den [pawn]-Tag um deinen Code zu posten, das macht es leserlicher :)


    Zu 1:
    Wenn ich das richtig sehe müsstest du nur in diese Zeile if(!isPlayerInFrak(playerid, 1)) 
    die Fraktionen die ebenfalls das Auto fahren sollen hinzufügen, so ungefähr:
    if(!isPlayerInFrak(playerid, 1) && !isPlayerInFrak(playerid, 2) && !isPlayerInFrak(playerid, 5))


    Zu 2:
    Schau dir mal diese Zeile an: SetTimer("GateCloseLSPDSchranke", 5000, 1); 
    Weist du wofür der 3. Parameter, also in deinem Fall die "1" steht ? Er sagt ob der Timer endlos laufen soll, oder aber nach einem Durchlauf beendet werden soll. Du willst ja das die Schranke zugeht und sich der Timer danach beendet und der Timer erst wieder anfangen soll zu zählen wenn der Befehl erneut ausgeführt wird. Also solltest du die "1" durch eine "0" ersetzen. Das gleiche natürlich auch bei dem anderen "SetTimer"-Befehl.

  • Danke für die Hilfe :)
    Werde es sofort Ausprobieren.
    Ich hatte bis jetzt es nur mit || ausprobiert, nur dann IG ganz viele meldungen bekommen^^
    //EDIT: Funktioniert alles super :)
    Dann hab ich noch eine Frage: Wie mache ich das am besten mit Fraktionsfarben? Also LSPD hat jetzt Hellblau, aber nur nachdem derjenige gestorben ist, nachdem man ihn zum LSPD hinzugefügt hat

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    if(isPlayerInFrak(playerid,0))
    {
    SetPlayerColor(playerid, 0xFFFFFFFF);
    }
    else if(isPlayerInFrak(playerid,1))
    {
    SetPlayerColor(playerid, 0x6396EFFF);
    }
    else if(isPlayerInFrak(playerid,2))
    {
    SetPlayerColor(playerid, 0x2141FFFF);
    }
    else if(isPlayerInFrak(playerid,3))
    {
    SetPlayerColor(playerid, 0x31AA31FF);
    }
    else if(isPlayerInFrak(playerid,4))
    {
    SetPlayerColor(playerid, 0x630000FF);
    }
    else if(isPlayerInFrak(playerid,5))
    {
    SetPlayerColor(playerid, 0x00FF63FF);
    }
    else if(isPlayerInFrak(playerid,6))
    {
    SetPlayerColor(playerid, 0xC6A2DEFF);
    }
    else if(isPlayerInFrak(playerid,7))
    {
    SetPlayerColor(playerid, 0x5A595AFF);
    }
    else if(isPlayerInFrak(playerid,8))
    {
    SetPlayerColor(playerid, 0x9C3000FF);
    }
    else if(isPlayerInFrak(playerid,9))
    {
    SetPlayerColor(playerid, 0x7BFF00FF);
    }
    else if(isPlayerInFrak(playerid,10))
    {
    SetPlayerColor(playerid, 0xFFFF00FF);
    }
    else if(isPlayerInFrak(playerid,11))
    {
    SetPlayerColor(playerid, 0xBDEB9CFF);
    }
    else if(isPlayerInFrak(playerid,12))
    {
    SetPlayerColor(playerid, 0x6300C6FF);
    }
    else if(isPlayerInFrak(playerid,13))
    {
    SetPlayerColor(playerid, 0xFF7800FF);
    }
    return 1;
    }

    Einmal editiert, zuletzt von Raz3or ()