Last Bed Standing - Bedwars in SA-MP! 0.1.3


  • Changelog





    Ich gruesse euch liebe Community,


    Hiermit praesentiere ich mein aktuelles Miniprojekt Last Bed Standing, basierend auf Grand Larceny!


    Motivation:



    Idee und Ziel dieses Projekts war es das Bedwars Minigame welches es auf vielen Minecraft Servern gibt in SA-MP und im SA-MP Stil nachzubauen (Bett sprengen statt abbauen etc..), und mal ein andere Art von Servern erstellen, denn man sieht ja leider nur noch Reallife.
    Weiterhin programmiere ich im Rahmen meines Studiums viel in C, und warum nicht mal bisschen ueben durch Programmieren in einer C aehnlichne Sprache? Daraus ist dieses Projekt in nun ca. 2 Wochen entstanden, und was geht schon ueber ein Selfmade?
    Desweiteren bin ich ein Fan von OpenSource Software, weshalb auch dieses Projekt hier fuer alle verfuegbar sein sollte.


    Letztlich ist das Projekt nur aus Spass, und etwas Uebung fuer das Studium entstanden, und wird in Zukunft noch geupdated.



    Aktuell befindet sich der Gamemode im Alpha Stadium und wird vorraussichtlich jede Woche geupdated.
    Wenn es eine fehlerfreie Version gibt wird unter die GNU Public License gestellt, damit jeder das Werk aendern, verbreiten kann usw. soll ja schliesslich etwas fuer alle sein ;)





    Das Fragment welches aus Grand Larceny ist, ist lediglich die Team bzw. Stadtauswahl, meiner Ansicht nach viel schoener als der Standardkram den man auf sovielen Servern sieht.


    Aktuell gibt es 3 Teams zur Auswahl aehnlich wie in Bedwars wo es zu Beginn auch eine Teamauswahl gibt.
    Team ROT befindet sich am Sherman Staudamm, westlich von El Castillo del Diablo, Team GRAU bei Area 51 und Team BLAU bei Verdant Meadows, dem Flughafen.


    Jedes Team verfuegt ueber einen Shop mit einem "Villager" bei welchem man Waffen, Armour , Skills und eine Bombe kaufen kann die noetig ist um ein feindliches Bett zu zerstoeren.
    Alle Teams haben nahe Ihrer Base irgendein Fahrzeug wie z.B. Panzer oder Seasparrow um sich besser vor Feinden verteidigen zu koennen.


    Jedes Team besitzt einen "Bronzespawner" bzw. da ich das ganze im GTA Stil machen wollte, einen Geldspawner, welcher random Geldpickups generiert, welche noetig sind um sich Waffen und andere Dinge zu kaufen.


    Ziel ist es das Bett des feindlichen Teams zu zerstoeren (wobei nach dem Zerstoeren eines Betts das jeweilige Team nicht mehr respawnen kann), und dann die restlichen Spieler zu eliminieren, und so das Spiel zu gewinnen, wie in Bedwars halt.
    Der Gamemode ist inzwischen im Vergleich zum Ursprungs Grand Larceny, nun mit insgesamt 2400 Zeilen ziemlich umfangreich.


    Das ganze habe ich inzwischen mit 4 Spielern insgesamt ausprobiert, und ein Spiel dauert durchschnittlich 10 Minuten.
    Der Spassfaktor ist trotz der Einfachheit des Gamemodes sehr gross!


    Der Gamemode ist komplett in ENGLISCH geschrieben um auch Spieler aus anderen Laendern anzusprechen.


    Aktuell laeuft das Script unter knogleinsi.de als SA-MP Server mit 32 Slots, und wird auch weiterhin dort laufen.


    Weiterhin sind aktuell 4 verschiene Maps spielbar, und man kann problemlos weitere erstellen, dazu einfach die Muster in pawno/includes anschauen.


    Features:




    Das Script besitzt rund 3100 Zeilen, und ist eigentlich komplett selbst geschrieben, bis auf Tipps anderer User.
    Der Teil aus Grand Larceny wurde grundlegend veraendert.


    Es ist moeglich selbst Maps zu erstellen, dazu kann man einfach das Muster aus dem Ordner /pawno/include auf Github ziehen.



    Einfach Koordinaten, Farben und Namen anpassen, und fertig!


    Teamsize ist die Anzahl an Teams (Werde ich in Teamcount oder aehnlich umbauen) und kann zwischen 2 und 6 gewaehlt werden.
    Genutzt wird eine Moeglichst effiziente Programmierweise, beispielsweise Binaersuche statt Iteratoren etc.
    Pickupsystem ist dank der Hilfe von Usern hier nun super erweiterbar und super effizient.


    Der Gamemode nutzt sscanf, jedoch keinen Command Generator, um strtok endlich komplett zu verdraengen.
    Das Stats System nutzt y_ini, und es werden wie im Minecraft Bedwars, zerstoerte Betten, Kills/Deaths getrackt, und zusaetzlich noch detonierte Bomben, welche man im Shop kaufen kann.


    Es gibt zwei neue Features in der Version 0.1b:


    Stealth:


    Man kann sich im Shop ein Stealth Paket kaufen, durch welches man auf der Map 60 Sekunden unsichtbar ist.


    Bomb:


    Eine Bombe kann im Shop erworben werden, diese kann irgendwo platziert werden, und dann aus bis zu 100 Metern Entfernung durch die "Y" Taste gesprengt werden.


    Eine Reihe Admin Commands wurde inzwischen implementiert.
    Weiterhin habe ich auch einige Maps aus meinem alten Projekt Hitoyoshi implementiert, damit diese noch Verwendung haben.


    Fuer die naechste Version welche Mittwoch erscheinen soll, ist die Implementierung von Incognitos Streamer geplant.


    Es gibt aktuell 3 Maps mit 4 Teams, und 1 Map mit 3 Teams


    ... weitere Features in neuer Version, siehe auch http://forum.sa-mp.com/showthread.php?p=3846056#post3846056





    Hier mal einen kleinen Ueberblick ueber die Teams, und deren Lage, auf eine der aktuell 4 Maps.



    Bilder:


    Eine Bombe wird an einem Bett platziert!




    Das Bett detoniert, und geht in Flammen auf!




    Die auf Grand Larceny basierende Teamauswahl





    Eins der 3 Teams die man auswaehlen kann.





    Der Shop des Teams ROT





    "Bronzespawner" und kleine Tafel die jedes Team besitzt, auf welcher Informationen zum Spiel angezeigt und aktualisiert werden.





    Die aus Bedwars bekannte "Mitte"





    Das Bett von Team GREY















    Download:


    Einfach das Repo klonen



    https://github.com/Knogle/LastBedStanding

    4 Mal editiert, zuletzt von Sub Royal () aus folgendem Grund: Letzte Version

  • Chillige Idee. Muss man auch mal drauf kommen.
    Mir gefällt es :) kann man es testen?

    Ja schreib mir ne PN dann zeig ichs dir


    Also wenn jemand testen will, einfach ne PN schreiben, dann versuch ich paar zusammen zu trommeln


    Update:




    Rekursive Implementierung war nun erfolgreich!


    Neuste Version verfuegbar im GitHub Repo:


    https://github.com/Knogle/LastBedStanding


    //edit: Thread wird nurnoch im englischen SA-MP Forum fortgesetzt.

    3 Mal editiert, zuletzt von Sub Royal ()