Problem mit Filterscript

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 habe im Netz ein Filterscript gefuden und habe dies direkt auf meinem Server getestet.
    Ich musste jedoch feststellen das alle Imgame Commands nicht mehr Funktionierten.


    Bitte um Hilfe.


    Filterscript:
    #include <a_samp>


    //TransporterKlau
    new CarRob[MAX_PLAYERS];
    new Transporter[5];


    #define TEAM_BLUE_COLOR 0x8D8DFF00
    #define COLOR_RED 0xAA3333AA
    #define IsACop


    main()
    {
    print("\n----------------------------------");
    print("Geldtransporter Rob System");
    print("----------------------------------\n");
    }



    public OnGameModeInit()
    {
    Transporter[1] = AddStaticVehicleEx(428,1531.46948242,-1006.67529297,24.32791519,195.99908447,7,7,15); //Securicar
    Transporter[2] = AddStaticVehicleEx(428,1527.69299316,-1009.80389404,24.32791519,223.99908447,7,7,15); //Securicar
    Transporter[3] = AddStaticVehicleEx(428,1536.12683105,-1005.45129395,24.32012558,177.99597168,7,7,15); //Securicar
    Transporter[4] = AddStaticVehicleEx(428,1540.00598145,-1005.41644287,24.32012558,177.99597168,7,7,15); //Securicar


    CreateObject(3881,1531.77624512,-1028.67895508,24.84796333,0.00000000,0.00000000,336.00000000); //object(airsecbooth_sfse) (1)
    CreateObject(2933,1524.44018555,-1028.68688965,24.55014801,0.00000000,0.00000000,336.00000000); //object(pol_comp_gate) (1)
    CreateObject(3852,1520.82092285,-1015.57202148,24.75112915,0.00000000,0.00000000,0.00000000); //object(sf_jump) (1)
    CreateObject(3666,1517.84216309,-1031.71252441,23.30518532,0.00000000,0.00000000,0.00000000); //object(airuntest_las) (1)
    CreateObject(3666,1528.67578125,-1036.61425781,23.30782890,0.00000000,0.00000000,0.00000000); //object(airuntest_las) (2)
    CreateObject(9241,1434.68164062,-988.94183350,58.57452393,0.00000000,0.00000000,268.00000000); //object(copbits_sfn) (1)
    CreateObject(8132,1503.36340332,-1024.02246094,25.41958618,0.00000000,0.00000000,276.00000000); //object(vgschurch03_lvs) (1)
    CreateObject(987,1535.78820801,-1025.68835449,23.07812500,0.00000000,0.00000000,66.00000000); //object(elecfence_bar) (1)
    CreateObject(987,1543.14392090,-1009.20489502,23.07812500,0.00000000,0.00000000,65.99487305); //object(elecfence_bar) (3)
    CreateObject(1411,1519.94177246,-1024.83801270,24.43064117,0.00000000,0.00000000,280.00000000); //object(dyn_mesh_1) (1)
    CreateObject(1411,1519.70825195,-1023.70733643,24.43012428,0.00000000,0.00000000,279.99755859); //object(dyn_mesh_1) (2)
    CreateObject(987,1539.56542969,-1017.34942627,23.07812500,0.00000000,0.00000000,65.99487305); //object(elecfence_bar) (6)


    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(CarRob[playerid] == 1) // Fragt ab ob der Spieler den Transporter geklaut hat
    {
    new veh = GetPlayerVehicleID(playerid); // Ermittelt die Vehicle ID des Autos, indem er saß.
    GameTextForPlayer(playerid,"Raub gescheitert!",5000,1); // Der Info Text für den Spieler, das er den Raub abgebrochen hat.
    SendClientMessage(playerid,COLOR_RED,"Du bist gestorben!"); // Noch ein Info Text, das er während des Raubes gestorben ist, und der Raub beendet wurde
    DisablePlayerCheckpoint(playerid); // "Deaktiviert" Die Checkpoints für den Spieler, da er ja sonst mit einem anderen Auto in den Checkpoint fahren könnte.
    CarRob[playerid]=0; // Setzt die "Raub" Variable auf 0, somit Raubt er den Transporter nicht mehr.
    SetVehicleToRespawn(veh); // Respawnt den Transporter
    RemovePlayerFromVehicle(playerid); // Wirft den Spieler nochmal aus dem Fahrzeug falls er durch einen Bug drinnen geblieben ist.
    }
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    if(CarRob[playerid] == 1) // Fragt ab ob der Spieler den Transporter geklaut hat
    {
    new veh = GetPlayerVehicleID(playerid); // Ermittelt die Vehicle ID des Autos, indem er saß.
    GameTextForPlayer(playerid,"Raub gescheitert!",5000,1); // Der Info Text für den Spieler, das er den Raub abgebrochen hat.
    SendClientMessage(playerid,COLOR_RED,"Du hast den Transporter verlassen! Du bekommst kein Geld!"); // Noch ein Info Text für den Spieler, das er den Raub abgebrochen hat.
    DisablePlayerCheckpoint(playerid); // "Deaktiviert" Die Checkpoints für den Spieler, da er ja sonst mit einem anderen Auto in den Checkpoint fahren könnte.
    CarRob[playerid]=0; // Setzt die "Raub" Variable auf 0, somit Raubt er den Transporter nicht mehr.
    SetVehicleToRespawn(veh); // Respawnt den Transporter
    RemovePlayerFromVehicle(playerid); // Wirft den Spieler nochmal aus dem Fahrzeug falls er durch einen Bug drinnen geblieben ist.
    }
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new veh = GetPlayerVehicleID(playerid); // Ermittelt die VehicleID
    if(veh == Transporter[1] || veh == Transporter[2] || veh == Transporter[3] || veh == Transporter[4]) //Fragt ab ob das Auto in das man gerade einsteigt ein Transporter ist
    {
    new cops=0; // Variable zum Abfragen wieviele Cops online sind
    for(new i = 0; i < MAX_PLAYERS; i++) // EIne for Schleife damit alle User abgefragt werden.
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i)) // Hier wird abgefragt ob der User ein Cop ist
    {
    cops++; // und hier wird unsere Variable um 1 erhöht. Das brauchen wir zur Abfrage ob 2 Cops online sind.
    }
    }
    }
    if(cops>1) // Hier wird geprüft ob 2 Cops oder mehr Online sind
    {
    new robname[MAX_PLAYER_NAME]; // Variable für den Namen des "Diebes"
    GetPlayerName(playerid,robname,sizeof(robname)); // Hier Ermitteln wir den Namen des "Diebes"
    SetPlayerCheckpoint(playerid,-1573.6975,127.5690,3.2554,5.0); // Setzt einen Checkpoint im SF Hafen
    GameTextForPlayer(playerid,"Raub gestartet!",5000,1); // Gametext für den Spieler "Raub gestartet!"
    CarRob[playerid]=1; // Nun wird unsere "Raub" Variable auf 1 gesetzt. Das heißt der Spieler klaut den Transporter
    SendClientMessage(playerid,0xFF9933FF,"Du klaust einen Geldtransporter!"); // InfoText für den Spieler
    SendClientMessage(playerid,0xFF9933FF,"Bringe den Geldtransporter zur Makierung und bekomm das Geld!"); // InfoText für den Spieler
    cops=0; // Die Variable Cops wird wieder auf 0 gesetzt damit neue "Diebe" die Einsteigen auch wieder bei 0 Anfangen zu zählen
    for(new i = 0; i < MAX_PLAYERS; i++) // wieder eine For Schleife für den Text der Cops
    {
    if(IsPlayerConnected(i)) // Fragt ab ob der Spieler Connected und Gespawnt ist
    {
    if(IsACop(i)) // Fragt ab ob der Spieler ein Cop ist
    {
    new RobText[100]; //Variable für den Text
    format(RobText, sizeof(RobText), "HQ: Verbrechen: Geldtransporter-Klau, Gesuchter: %s",robname); // Hier setzten wir den Text ein, da ein Name eingesetzt wird, brauchen wir dafür ein format, da SendClientMessage das sonst nicht anzeigen kann.
    SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Achtung Alle Einheiten! Eine Meldung vom Bank Security System!"); // Weiterer Info Text für die Cops
    SendClientMessage(i,TEAM_BLUE_COLOR,RobText); // Hier sendet das Script die oben definierte Nachricht an den User
    SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Begeben sie sich sofort zum SF Hafen!"); // Weiterer Info Text für die Cops
    }
    }
    }
    return 1;
    }
    else // Falls keine 2 Cops online sind
    {
    SendClientMessage(playerid,COLOR_RED,"Du kannst den Transporter nicht klauen, da keine 2 Cops online sind!"); // InfoText warum man den Transporter nicht klauen kann
    TogglePlayerControllable(playerid,false); // Freezt den Spieler
    TogglePlayerControllable(playerid,true); // Unfreezt den Spieler damit er sich wieder bewegen kann.
    RemovePlayerFromVehicle(playerid); // Falls der Spieler es ins Auto geschafft hat wird er wieder "rausgeworfen" :D
    return 1;
    }
    }
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(CarRob[playerid] == 1 && IsPlayerInRangeOfPoint(playerid,5.0,-1573.6975,127.5690,3.2554)) // Fragt ab ob der Spieler einen Transporter klaut und ob er am Checkpoint am SF Hafen ist.
    {
    new robtext[128]; // Variable für einen Robtext (siehe weiter unten)
    new rand = random(15000); // Ermittelt eine Zufallszahl von 0 bis 15000. Das heißt man kann mal $100 bekommen und mal $12000 (Zufall eben :D)
    new veh = GetPlayerVehicleID(playerid); // Ermittelt die Vehicle ID für den Respawn des Fahrzeuges
    GameTextForPlayer(playerid,"Raub gelungen!",5000,1); // Info Text für den SPieler, das ihm der Raub gelungen ist.
    format(robtext,sizeof(robtext),"Raub gelungen! Du raubst $%d.",rand); // Hier definieren wir den Text für den Spieler mit der Oben erstellten Variable.
    SendClientMessage(playerid,COLOR_RED,robtext); // Der Gerade Definierte Robtext für an den Spieler gesendet.
    GivePlayerMoney(playerid,rand); // Hier wird dem Spieler das gearde geklaute Geld gegeben.
    DisablePlayerCheckpoint(playerid); // Alle Checkpoints werden "deaktiviert"
    CarRob[playerid]=0; // Auch die "Raub" variable wird auf 0 gesetzt.
    RemovePlayerFromVehicle(playerid); // Der Spieler wird aus dem Auto "geworfen" :D
    SetVehicleToRespawn(veh); // Der Transporter wird zurück an seinen Platz gespawnt.
    }
    return 1;
    }

  • Wo hast du diesen Mist denn her? :D


    Das ist kein Filterscript, sondern ein Gamemode xD


    #define IsACop


    Leere Directives machen immer sehr viel Sinn ^^



    Der Entry-Point main, wird nicht in Filterscripts aufgerufen, genauso wenig wie OnGameModeInit...viel eher OnFilterScriptInit :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Klar, mach den Anfang einfach so:
    #include <a_samp>


    //TransporterKlau
    new CarRob[MAX_PLAYERS];
    new Transporter[5];


    #define TEAM_BLUE_COLOR 0x8D8DFF00
    #define COLOR_RED 0xAA3333AA
    #define IsACop
    //^Ausfüllen, z.B: #define IsACop(%0) SpielerInfo[%0][Cop]


    public OnFilterScriptInit()
    {
    Transporter[1] = AddStaticVehicleEx(428,1531.46948242,-1006.67529297,24.32791519,195.99908447,7,7,15); //Securicar
    Transporter[2] = AddStaticVehicleEx(428,1527.69299316,-1009.80389404,24.32791519,223.99908447,7,7,15); //Securicar
    Transporter[3] = AddStaticVehicleEx(428,1536.12683105,-1005.45129395,24.32012558,177.99597168,7,7,15); //Securicar
    Transporter[4] = AddStaticVehicleEx(428,1540.00598145,-1005.41644287,24.32012558,177.99597168,7,7,15); //Securicar


    CreateObject(3881,1531.77624512,-1028.67895508,24.84796333,0.00000000,0.00000000,336.00000000); //object(airsecbooth_sfse) (1)
    CreateObject(2933,1524.44018555,-1028.68688965,24.55014801,0.00000000,0.00000000,336.00000000); //object(pol_comp_gate) (1)
    CreateObject(3852,1520.82092285,-1015.57202148,24.75112915,0.00000000,0.00000000,0.00000000); //object(sf_jump) (1)
    CreateObject(3666,1517.84216309,-1031.71252441,23.30518532,0.00000000,0.00000000,0.00000000); //object(airuntest_las) (1)
    CreateObject(3666,1528.67578125,-1036.61425781,23.30782890,0.00000000,0.00000000,0.00000000); //object(airuntest_las) (2)
    CreateObject(9241,1434.68164062,-988.94183350,58.57452393,0.00000000,0.00000000,268.00000000); //object(copbits_sfn) (1)
    CreateObject(8132,1503.36340332,-1024.02246094,25.41958618,0.00000000,0.00000000,276.00000000); //object(vgschurch03_lvs) (1)
    CreateObject(987,1535.78820801,-1025.68835449,23.07812500,0.00000000,0.00000000,66.00000000); //object(elecfence_bar) (1)
    CreateObject(987,1543.14392090,-1009.20489502,23.07812500,0.00000000,0.00000000,65.99487305); //object(elecfence_bar) (3)
    CreateObject(1411,1519.94177246,-1024.83801270,24.43064117,0.00000000,0.00000000,280.00000000); //object(dyn_mesh_1) (1)
    CreateObject(1411,1519.70825195,-1023.70733643,24.43012428,0.00000000,0.00000000,279.99755859); //object(dyn_mesh_1) (2)
    CreateObject(987,1539.56542969,-1017.34942627,23.07812500,0.00000000,0.00000000,65.99487305); //object(elecfence_bar) (6)


    return 1;
    }

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Solange das Directive leer ist...wird dieser gesamte Code nicht funktionieren... :rolleyes:


    Natürlich, da muss ja auch seine Variable rein, die den Spieler als Cop identifiziert. Ich kann allerdings schlecht erraten wie er seine Variablen genannt hat. :huh:


    Aber gut, ein Beispiel wäre:
    #define IsACop(%0) SpielerInfo[%0][Cop]