>
Tutorial2026-05-18

FiveM Verkaufsautomaten- und Shop-Script

TDYSKY

TDYSKY

Gründer & Lead Developer bei Agency Scripts

Warum Verkaufsautomaten deinem Server mehr Tiefe verleihen

Verkaufsautomaten und automatisierte Shopsysteme spielen in jeder Rollenspielökonomie eine entscheidende Rolle. Du bieten rund um die Uhr Zugang zu wichtigen Artikeln wie Lebensmitteln, Wasser, Zigaretten und Grundversorgung, ohne dass ein Verkäufer online sein muss. Über den Komfort hinaus schaffen sie natürliche Treffpunkte, an denen sich die Spieler versammeln, was zu spontanen Roleplay-Begegnungen an Tankstellen, Krankenhäusern und Bürogebäuden führt. Ein gut implementiertes Automatensystem geht weit über ein einfaches Kaufmenü hinaus. Es umfasst realistische Kaufanimationen, Lagerverwaltung, die Knappheit schafft, dynamische Preise, die auf Angebot und Nachfrage reagieren, verschiedene Maschinentypen, die unterschiedliche Produktkategorien verkaufen, Raubmechaniken für kriminelle Roleplay und Wiederauffüllungsjobs, die den Spielern eine sinnvolle Beschäftigung bieten. Dieses Tutorial behandelt den Aufbau eines kompletten Verkaufs- und Ladensystems von der Requisitenerkennung über die Bestandsintegration bis hin zum Wirtschaftsmanagement.

Erkennen und Konfigurieren von Verkaufsautomaten-Requisiten

Die Welt von GTA V ist voller Verkaufsautomaten-Requisiten, die du in interaktive Objekte verwandeln können. Zu den wichtigsten Requisitenmodellen gehören prop_vend_soda_01 und prop_vend_soda_02 für Getränkeautomaten, prop_vend_water_01 für Wasserspender, prop_vend_coffe_01 für Kaffeemaschinen und prop_vend_snak_01 für Snackautomaten. Anstatt manuell Interaktionspunkte an jedem Maschinenstandort auf der Karte zu platzieren, verwende ein radiusbasiertes Erkennungssystem, das nach diesen Requisitenmodellen in der Nähe des Spielers sucht. Wenn sich ein Spieler einer passenden Requisite innerhalb der Interaktionsreichweite nähert, aktiviert das System eine Eingabeaufforderung oder eine Zielzone. Dieser Ansatz funktioniert automatisch mit jeder Instanz dieser Requisiten auf der gesamten Karte ohne manuelle Konfiguration und erfasst sogar benutzerdefinierte MLO-Innenräume, die diese Modelle enthalten. Definiere unterschiedliche Produktkataloge für jeden Requisitentyp, sodass Getränkeautomaten nur Getränke, Snackautomaten Lebensmittel und Kaffeemaschinen Kaffeevarianten verkaufen.

Clientseitiges Interaktions- und Animationssystem

Wenn sich ein Spieler einem Verkaufsautomaten nähert und die Interaktionstaste drückt, passieren mehrere Dinge nacheinander, um ein immersives Kauferlebnis zu schaffen. Erstens wird die Bewegung des Spielers eingeschränkt, um zu verhindern, dass er mitten in der Animation weggeht. Dann dreht sich der Spielercharakter mithilfe von TaskTurnPedToFaceEntity zur Maschine um. Eine Kaufanimation wird mit dem Animationswörterbuch MINI@SPRUNK für Getränkeautomaten oder ANIM@AM_HOLD_UP@MALE für allgemeine Interaktionen abgespielt. Die Maschine selbst spielt mit PlaySoundFromEntity einen Soundeffekt ab, um das mechanische Ausgabegeräusch zu simulieren. Nachdem die Animation abgeschlossen ist, sendet der Client eine Kaufanfrage an den Server, der die Transaktion validiert und den Artikel dem Inventar des Spielers hinzufügt. Wenn der Automat über eine Münzschlitz-Interaktion verfügt, füge während der Animation mithilfe von AttachEntityToEntity einen kleinen Requisitenanhang an der Hand des Spielers hinzu, um eine zusätzliche visuelle Wiedergabetreue zu erzielen. Die gesamte Sequenz sollte etwa 3 Sekunden dauern, lang genug, um realistisch zu wirken, aber kurz genug, um die Spieler nicht zu frustrieren.

Serverseitige Lagerverwaltung und Wirtschaftlichkeit

Durch die Bestandsverwaltung werden Verkaufsautomaten von unbegrenzten Artikelspendern zu dynamischen Wirtschaftselementen. Jeder Maschinenstandort verfolgt seinen eigenen Bestand unabhängig. Wenn einem Automaten ein bestimmter Artikel ausgeht, sehen Spieler, dass er im Kaufmenü als ausverkauft markiert ist. Die Lagerbestände bleiben auch nach Serverneustarts in der Datenbank erhalten. Bei einem Wiederauffüllungsauftrag können Spieler als Lieferfahrer arbeiten, die Vorräte aus einem Lagerhaus abholen und sie zu leeren Automaten in der ganzen Stadt fahren. Dadurch entsteht ein kompletter Wirtschaftskreislauf: Lieferanten füllen ihre Maschinen wieder auf, Maschinen verkaufen sie an Verbraucher, die Einnahmen fließen zurück zum Maschineneigentümer und der Auslieferungsfahrer erhält seinen Lohn. Die dynamische Preisgestaltung fügt eine weitere Ebene hinzu, bei der beliebte Artikel allmählich im Preis steigen, wenn der Lagerbestand sinkt, und die Preise zurückgesetzt werden, wenn die Maschine wieder aufgefüllt wird. Dies gleicht die Verbrauchsmuster auf natürliche Weise aus und schafft Dringlichkeit, wenn einer Maschine ein gewünschter Artikel zur Neige geht.

Raubmechanismen für kriminelles Roleplay

Verkaufsautomaten stellen für Kriminelle ein natürliches Raubziel dar. Implementiere einen Dietrich- oder Brecheisenmechanismus, der es Kriminellen ermöglicht, in Automaten einzubrechen und das darin enthaltene Bargeld zu stehlen. Der Raub sollte Zeit in Anspruch nehmen, ein Minispiel wie ein Lockknacker-Puzzle erfordern, Geräusche erzeugen, die Spieler in der Nähe alarmieren und möglicherweise einen Polizeieinsatz auslösen, und eine variable Belohnung einbringen, die davon abhängt, wie viele Einkäufe der Automat seit der letzten Auffüllung oder dem letzten Raub verarbeitet hat. Verfolge die Bargeldanhäufung pro Automat auf der Grundlage tatsächlicher Spielerkäufe, damit die Raubbelohnung realistisch und an echte wirtschaftliche Aktivitäten gebunden ist. Nach einem erfolgreichen Raubüberfall geht der Automat in einen beschädigten Zustand über, in dem er keine Einkäufe mehr verarbeiten kann, bis er von einem Mechaniker repariert wird oder nach einer Abklingzeit automatisch erfolgt. Dies führt zu Konsequenzen für kriminelle Aktivitäten, die sich auf die breitere Gemeinschaft auswirken, und führt zu Reparaturarbeiten für Mechaniker, was das wirtschaftliche Ökosystem weiter bereichert.

Spielereigene Geschäfte und benutzerdefinierte Schaufenster

Erweitern das Automaten-Framework zu einem vollständigen Point-of-Sale-System für spielereigene Unternehmen. Geschäftsinhaber können benutzerdefinierte Ladentheken an ihren Standorten aufstellen, konfigurieren, welche Artikel sie verkaufen, ihre eigenen Preise festlegen und ihren Bestand über ein Verwaltungs-NUI verwalten. Das Shop-System verwendet die gleichen grundlegenden Kauf- und Lagermechanismen wie Verkaufsautomaten, fügt jedoch eine Eigentümerebene mit Umsatzverfolgung, Ausgabenverwaltung, Mitarbeiterberechtigungen und Gewinnberichten hinzu. Im Unternehmen angemeldete Mitarbeiter können auf das Register zugreifen, um Verkäufe für Rollenspielinteraktionen manuell abzuwickeln, während das automatisierte System Verkäufe abwickelt, wenn kein Mitarbeiter anwesend ist. Die Einnahmen aus automatisierten Verkäufen gehen auf das Geschäftsbankkonto abzüglich eines konfigurierbaren Steuersatzes, der an die Staatskasse des Servers fließt. Dadurch entsteht eine vollständige Einzelhandelswirtschaft, in der die Spieler Waren herstellen oder beschaffen, ihre Geschäfte auffüllen, im Vergleich zu anderen Unternehmen wettbewerbsfähige Preise festlegen und mit ihren Investitionen passives Einkommen erzielen.

Leistungsoptimierung und Zielintegration

Das Scannen nach Requisitenmodellen in jedem Frame würde die Serverleistung beeinträchtigen. Verwende stattdessen einen mehrstufigen Erkennungsansatz. Führe alle 2 Sekunden einen umfassenden Scan in einem Umkreis von 15 Metern durch, um in der Nähe befindliche Verkaufsautomaten-Requisiten zu finden. Cache erkannte Maschinenstandorte und führest du erst in nachfolgenden Frames genaue Entfernungsprüfungen mit dem Cache durch. Wenn sich der Spieler mehr als 20 Meter von einem zwischengespeicherten Computer entfernt, leere den Cache und lösst du einen neuen Scan aus. Registriere bei Servern, die Zielsysteme wie ox_target oder qb-target verwenden, Zielzonen auf erkannten Requisiten, anstatt Näherungsaufforderungen zu verwenden. Zielzonen sind leistungsfähiger, da sie nur aktiviert werden, wenn der Spieler auf das Objekt zielt, wodurch die Notwendigkeit einer kontinuierlichen Entfernungsprüfung vollständig entfällt. Der Target-Ansatz bietet außerdem eine übersichtlichere Benutzeroberfläche mit kontextsensitiven Interaktionsoptionen, die direkt auf dem Maschinenmodell und nicht als schwebende Textaufforderungen angezeigt werden.

Artikel teilen

Bereit, deinen Server aufzuwerten?

Schau dir unsere Premium FiveM Scripts im Agency Scripts Store an oder tritt unserer Discord-Community für Support und Updates bei.