Battlefield [BF:F] Addon für SA:MP + BF:F Example Script

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

  • Ihr habt euch schon immer mal gefragt, ob es nicht möglich wäre, einen Gamemode zu schreiben, in dem man Battlefield nachzocken kann? ;D
    Hier ist mein Release meines BF:F Addons, welches Folgendes beinhaltet:


    -Flaggen-Punktesystem: Wer schon mal Battlefield gezockt hat, wird bestimmt die Flaggen kennen, welche man erobern muss und dann als Einstiegspunkt für dein Team genutzt werden kann.


    Die Flagge sieht gut aus und ist wie im Original animiert (Flagge runter/rauf + Ladebalken).


    Hier ein Video wie das ganze aussieht.



    -Scoreboard (ähnlich dem Scoreboard von BF1943)


    -Teamfarben(Das eigene Team wird in Blau angezeigt, das gegnerische in Rot. Wie in Battlefield eben.



    Das Addon ist für TDM Gamemodes gedacht, welche die Function SetPlayerTeam mit den Team-IDs 0 und 1 verwenden (in meinem Example Script ist Team 0 die Elite Force und Team 1 sind Terroristen).


    Installation des Addons:


    Der Filterscript bff-engine ist wichtig und muss mit dem Server laufen. Wenn ihr die include in eueren Gamemode eingebettet habt könnt ihr Folgende CallBacks nutzen:

    public FLAG_OnTeamAWinFlagg(gebiet)
    public FLAG_OnTeamBWinFlagg(gebiet)
    public FLAG_OnTeamALooseFlagg(gebiet)
    public FLAG_OnTeamBLooseFlagg(gebiet)
    public FLAG_OnTeamAWinBackFlagg(gebiet)
    public FLAG_OnTeamBWinBackFlagg(gebiet)
    public FLAG_OnDraw()
    public FLAG_OnTeamAWinGame()
    public FLAG_OnTeamBWinGame()


    Außerdem auch Folgende Funktionen:

    CreateFlagg(Float: fX, Float: fY, Float: fZ, owner(0/1/[2/3])); //returns flaggid
    DestroyFlagg(flaggid);
    GetTeamScore(team);
    SetTeamScore(team, points); //default team 0: 9999; team 1: 9999
    NoFlaggs(team);
    GetFlaggOwner(team);
    GetXYZofFlagg(Flagg, &X, &Y, &Z);
    UseTeamColors(mode);
    CheckBFEngine();
    SetFlaggRange(Float:range); //default: 5.0
    DisableScoreBoard(mode);


    Um eine neue Flagge zu erstellen wird die Stelle mit /save ingame abgespeichert und die Koordinaten aus der savedpostions.txt werden mit CreateFlagg verwendet.
    z.B.: CreateFlagg(342.893707, 882.210083, 20.431209, 0);
    Wenn als Owner 2, oder 3 angegeben wird, bleibt die Flagge beim Starten des Servers unbesetzt.
    Das Maximum an Flaggen ist 4.


    Das Example Script bf-bsp verwendet fast alle oben angeführten Funktionen. Außerdem sind darin noch einige andere Sachen, welche man im originalen Battlefield, ebenfalls drin wie z.B.: Klassenauswahl, Schaden beim Verlassen der Kampfzone, usw. enthalten.


    Das Login/Register System des Example Gamemodes ist nicht zu 100% von mir. Es kommt euch vielleicht von GF bekannt vor^^. Ich hatte nur welche von mir die dafür unnötig zu kompliziert gewesen wären.


    Es ist außerdem zweisprachig (Englisch-Deutsch), die Sprache wählt man bei der Registration aus (jo das ist von mir :D).




    Falls ihr euch fragt, warum das Addon einen FS braucht, hier die Antwort:


    Ich will nicht mein komplettes Werk freigeben, da ich schon etwas Zeit darin investiert habe und nicht will, dass es von jemandem geklaut wird und von jemanden behauptet wird, er habe es selbst gescriptet. Außerdem war es eine nette Übung für mich, mein Script zu sichern^^


    Bei Fragen oder Vorschlägen zur Erweiterung des Addons, postet hier rein.




    Viel Spaß weiters,
    Flag



    //Edit:
    Aja wichtig ist dass jeder Spieler der quasi am Spiel teilnimmt mit InGame[playerid] = 1; angeführt wird, sonst kann dieser Spieler keine Flaggen einnehmen.


    wer die ingame kontrolle in seinem eigenem script entfernen will, fügt das unter OnGameModeInit:


    for(new i; i<MAX_PLAYERS; i++) InGame[i] = 1;

    Einmal editiert, zuletzt von Flag ()