Version 2.1:
[ FILTERSCRIPT ] Dynamisches Haussystem by DrMurphy (umfangreich) [V. 2.1]
Dynamisches Haussystem
by DrMurphy [V. 2.0]
Guten Abend zusammen,
heute möchte ich euch die neue Version von meinem dynamischen Haussystem vorstellen. Mit neuen Funktionen, behobenen Buggs und einer besseren Präsentation versuche ich erneut bei euch zu punkten, nachdem schon die Version 1.6 große Erfolge brachte.
Vorab einmal die Information, dass dieses System kostenlos ist und somit jedem Server zur Verfügung steht. Ich möchte jedem Server ein schönes System bieten, der es gebrauchen kann. Ich bin mir durchaus der Tatsache bewusst, dass viele Sever dieses System alleine für ihre eigenen Zwecke missbrauchen und es als ihr eigenes ausgeben. Ebenso weiß ich jedoch auch, dass es vielen richtigen Server helfen kann, und das ist es, was mich antreibt.
Das System basiert auf dini, wodurch es bei manchen Leuten als "schlechter" abgestempelt wird. Es ist jedoch zu sagen, dass dieses System, wie bereits erwähnt, für alle Server zur Verfügung stehen soll und da es nicht selbstverständlich ist, dass man eine MySQL Datenbank besitzt, oder man sie schlichtweg nicht verwenden möchte, ist dini hier deutlich die bessere Wahl. Sollte es nun dennoch Leute geben, die das System noch immer als "schlechter" bezeichnen, nur weil dini verwendet wird, so kann ich daran auch nichts ändern. Ich kann nur sagen, dass man das System erst ausprobieren sollte, bevor man sich ein negatives Urteil erlauben kann.
Funktionen des Systems:
[tabmenu]
[tab='Kurze Übersicht']
Einstellungen per config-Datei:
- Einstellung, ob Häuser gemietet werden können oder nicht
- Einstellung des maximalen und minimalen Mietpreises
- Einstellung der maximalen Anzahl von Mietern pro Haus
- Einstellung, ob der Besitzer eines Hauses ein anderes Interior kaufen kann
- Einstellung der maximalen Anzahl von kaufbaren Häusern pro Spieler
- Einstellung, ob Upgrades für Häuser gekauft werden können (Heal-/Armourpoint)
- Einstellung des Preises für einen Heal-/Armourpoint
- Einstellung, ob das integrierte Spawnsystem genutzt werden soll
Ingame Management durch Admins:
- neue Häuser erstellen mit Kaufpreis, Mindestlevel, Interior, minimalem Mietpreis und maximalem Mietpreis
- bereits erstellte Häuser löschen
- neue Interiors erstellen, welche dann in Häusern verwendet werden können
- bereits erstellte Interiors löschen
Ingame Management durch Spieler:
- Informationen von erstellten Häusern im Dialog anzeigen lassen
- Häuser kaufen
- Häuser zum halben Kaufpreis verkaufen
- Upgrades für Häuser kaufen
- Ein- und Auszahlen in bzw. aus der Hauskasse
- Häuser auf-/abschließen
- Häuser betreten und verlassen
- Andere Interiors für eigenes Haus kaufen
- Einstellen, ob das eigene Haus für andere Spieler mietbar ist
- Einstellen des Mietpreises
- Kündigen von Mietern
- Häuser mieten
- Miete kündigen
- Auflistung aller verfügbaren Interiors
- Vorschau eines verfügbaren Interiors durch Teleportation in das Interior
- eigenen Spawnpunkt ändern (eigenes Haus oder Noobspawn)
- Mieter zahlen ihre Miete automatisch am PayDay des Haussystems (alle 60 Minuten). Können sie dies nicht, so wird die Miete gekündigt.
[tab='Ingame Befehle']
Adminbefehle: (falls Spieler als rcon Admin eingeloggt ist)
- /chaus [Kaufpreis] [Mindestlevel] [Interior ID] [minimale Miete] [maximale Miete] = neues Haus erstellen (Das Level eines Spielers wird mit GetPlayerScore ausgelesen)
- /delhaus = Haus in der Nähe löschen
- /cinterior [Interior ID] [Spawn X] [Spawn Y] [Spawn Z] [Kaufpreis] = neues Interior dem System beifügen
- /delinterior [Interior ID] = Interior aus dem System entfernen
Spielerbefehle:
- /listinteriors = zeigt eine Liste aller verfügbaren Interiors an, die dem System beigefügt wurden
- /sinterior [Interior ID] = zeigt eine Vorschau des Interiors an
- /linterior = verlässt die Vorschau
- /hinterior [Interior ID] = kauft das Interior für das eigene Haus
- /hinfo = zeigt Informationen über das Haus in der Nähe an
- /hhilfe = zeigt alle verfügbaren Befehle des Systems an
- /hkaufen = kauft das Haus in der Nähe
- /hverkaufen = verkauft das eigene Haus
- /hupgrade = kauft Upgrades für das eigene Haus (Heal-/Armourpoint)
- /hauf = schließt das eigene Haus auf
- /hzu = schließt das eigene Haus zu
- /henter = betritt das Haus in der Nähe
- /hexit = verlässt das Haus
- /hmietbar = stellt ein, ob das eigene Haus für andere Spieler mietbar ist oder nicht
- /hmiete [Mietpreis] = stellt den Mietpreis für das eigene Haus pro PayDay ein, den Mieter zahlen müssen.
- /hkickmieter [Mieter ID] = kündigt die Miete des angegebenen Mietern. (Mieter ID ist per /hinfo zu erfahren)
- /hrent = mietet das Haus in der Nähe
- /hunrent = kündigt die Miete des Hauses in der Nähe
- /hchangespawn = ändert den eigenen Spawnpunkt
[tab='Dateien des Systems']
Die Config-Datei:
- Anzahl Häuser=0 (Dieser Wert gibt die Häuseranzahl an, die geladen werden soll. Der Wert sollte nicht verändert werden)
- Max_Haus= (Dieser Wert muss direkt im Filterscript geändert werden und
gibt die maximale Anzahl von Häusern an. Man sollte ihn nicht unnötig
hoch setzen, das es den Server belastet)
- Max_Häuser_Kaufbar=1 (Dieser Wert gibt die maximale Anzahl an Häusern an, die ein Spieler besitzen kann)
- Mietbar=1 (Dieser Wert gibt an, ob Häuser mitbar sind oder nicht. mietbar = 1 ; nicht mietbar = 0)
- Max_Miete=-1 (Dieser Wert gibt den maximalen Mietpreis an. kein maximaler Mietpreis = -1)
- Min_Miete=-1 (Dieser Wert gibt den minimalen Mietpreis an. kein minimaler Mietpreis = -1)
- Max_Mieter=10 (Dieser Wert gibt die maximale Anzahl an Mietern pro
Haus an. Sie sollte nach Erstellung des ersten Hauses nicht mehr
verändert werden, da dadurch vorhandene Mieter möglicherweise gelöscht
werden)
- Interiorkauf=1 (Dieser Wert gibt an, ob Besitzer eines Hauses ein
neues Interior für ihr Haus kaufen können oder nicht. Kauf von Interiors
möglich = 1 ; Kauf nicht möglich = 0)
- Upgrades=1 (Dieser Wert gibt an, ob Besitzer eines Hauses Upgrades kaufen können oder nicht. ja = 1 ; nein = 0)
- Healpoint_Preis=5000 (Dieser Wert gibt den Preis eines Healpoints an)
- Armourpoint_Preis=5000 (Dieser Wert gibt den Preis eines Armourpoints an)
- PayDay=0 (Dieser Wert gibt an, wann der nächste PayDay stattfindet. Ein PayDay findet bei dem Wert 60 statt)
- Nutze_Spawnsystem=0 (Dieser Wert gibt an, ob das inegrierte
Spawnsystem des Haussystems genutzt werden soll oder nicht. Sollte es
genutzt werden, so wird das Spawnsystem des Servers möglicherweise
überschrieben. Spawnsystem des Haussystems nutzen = 1 ; nicht nutzen =
0)
- S_Spawnx=0.000000 (Dieser Wert speichert die x-Koordinate des
Noobspawns. Wird nicht benötigt, falls "Nutze_Spawnsystem" den Wert "0"
hat)
- S_Spawny=0.000000 (Dieser Wert speichert die y-Koordinate des
Noobspawns. Wird nicht benötigt, falls "Nutze_Spawnsystem" den Wert "0"
hat)
- S_Spawnz=0.000000 (Dieser Wert speichert die z-Koordinate des
Noobspawns. Wird nicht benötigt, falls "Nutze_Spawnsystem" den Wert "0"
hat)
Die Haus-Datei:
- ID=... (Dieser Wert gibt die ID des Hauses an)
- Preis=... (Dieser Wert gibt den Preis des Hauses an)
- Level=... (Dieser Wert gibt das Mindestlevel an, welches für den Kauf benötigt wird)
- Besitzer=Niemand (Dieser Wert gibt an, wer der Besitzer des Hauses ist. Kein Besitzer = Niemand)
- PosX=... (Dieser Wert gibt die x-Koordinate des Pickups des Hauses an)
- PosY=... (Dieser Wert gibt die y-Koordinate des Pickups des Hauses an)
- PosZ=... (Dieser Wert gibt die z-Koordinate des Pickups des Hauses an)
- Interior=... (Dieser Wert gibt an, welches Interior das Haus verwendet)
- Old_Interior=... (Dieser Wert gibt an, welches Interior das Haus bei
Erstellung hatte. Bei Verkauf des Hauses wird das Interior wieder auf
dieses Interior zurückgesetzt)
- VirtualWorld=... (Dieser Wert gibt die virtuelle Welt des Hauses an)
- Mietbar=0 (Dieser Wert gibt an, ob das Haus für andere Spieler mietbar ist oder nicht)
- Min_Miete=-1 (Dieser Wert gibt die minimale Miete für das Haus an.
Dieser Wert ÜBERSCHREIBT den Wert minimale Miete in der config-Datei.
Das heißt für dieses Haus gilt die minimale Miete der config-Datei
nicht. minimale Miete der config-Datei nutzen = -1)
- Max_Miete=-1 (Dieser Wert gibt die maximale Miete für das Haus an. Dieser Wert
ÜBERSCHREIBT den Wert maximale Miete in der config-Datei. Das heißt für
dieses Haus gilt die maximale Miete der config-Datei nicht. maximale
Miete der config-Datei nutzen = -1)
- Aktiv=1 (Dieser Wert gibt an, ob das Haus vom System geladen werde
soll oder nicht. Wenn ein Haus ingame gelöscht wird, wird der Wert auf 0
gesetzt. Haus laden = 1 ; nicht laden = 0)
- Offen=0 (Dieser Wert gibt an, ob das Haus auf- oder zugeschlossen ist. Haus auf = 1 ; Haus zu = 0)
- Healpoint=0 (Dieser Wert gibt an, ob das Haus einen Healpoint hat. ja = 1 ; nein = 0)
- Armourpoint=0 (Dieser Wert gibt an, ob das Haus einen Armourpoint hat. ja = 1 ; nein = 0)
- Mietpreis=0 (Dieser Wert gibt den aktuellen Mietpreis des Hauses an)
- Mieter0=Niemand (Dieser Wert gibt den Namen des Mieters an, der die Mieter ID 0 hat. Kein Mieter mit der ID 0 = Niemand)
- Mieter1=Niemand
- Mieter...=Niemand
Die Interior-Datei:
- Interior_ID=... (Dieser Wert gibt die ID des Interiors an)
- SpawnX=0.000000 (Dieser Wert gibt die x-Koordinate des Spawns in dem Interior an)
- SpawnY=0.000000 (Dieser Wert gibt die y-Koordinate des Spawns in dem Interior an)
- SpawnZ=0.000000 (Dieser Wert gibt die z-Koordinate des Spawns in dem Interior an)
- Preis=0 (Dieser Wert gibt den Preis für das Interior an, den der
Besitzer eines Hauses zahlen muss, falls er sich dieses Interior kaufen
möchte)
Die Spieler-Datei:
- Anzahl_Häuser=0 (Dieser Wert gibt an, wie viele Häuser der Spieler besitzt)
- Spawn=0 (Dieser Wert gibt an, wo der Spieler spawnen möchte. Am Noobspawn = 0 ; Im eigenen oder gemieteten Haus = 1)
[/tabmenu]
Changelog:
Version 2.0:
- Es gibt nun die Möglichkeit eigene Häuser auf- bzw. zuschließen zu können
- Der Besitzer eines Hauses kann nun Upgrades kaufen, falls dies in der config-Datei erlaubt ist (Heal-/Armourpoint)
- Beim Erstellen eines neuen Hauses gibt es nun die Möglichkeit ein Mindestlevel anzugeben, welches der Spieler haben muss, um das Haus zu kaufen. (Das Level des Spielers wird mit der Funktion "GetPlayerScore" ausgelesen)
- Es wurde der Bug behoben, dass es Überschneidungen mit erstellten Dialogen aus dem Hauptscript gab
- Es wurde der Bug behoben, dass gelöschte Häuser bis zum nächsten Serverrestart noch immer existierten, auch wenn diese nicht mehr sichtbar waren. (Dies führte zu kleinen Fehlern im System, da bei der Positionsabfrage mit "IsPlayerInRangeOfPoint" noch das gelöschte Haus gefunden werden konnte.)
Ich freue mich über weitere Verbesserungsvorschläge und Bugmeldungen.
Vorhandene Buggs:
- Unabhängig der Einstellung in der config-Datei und der Einstellung des Besitzers eines Hauses, kann man ein Haus jeder Zeit mieten, auch wenn dies durch die config-Datei oder den Besitzer verboten wurde. (Behoben in Version 2.1)
Release der nächsten Version:
Version 2.1 erscheint am 17.03.2014 um ca. 19 Uhr.
Vorraussetzungen für die Funktionalität des Systems:
- dini Include
- sscanf2 include
- sscanf2 Plugin installiert
- folgende Ordner im Scriptfiles Ordner erstellt: Haus, HSpieler, Interiors
Download Version 2.0:
Wenn ihr etwas von file-upload.net runterladet, dann müsst ihr dort auf den kleinen "Download" Button in der Mitte rechts klicken. Die anderen Download Buttons sind Werbung.
Hinweis: Wenn ihr euch schon etwas vor dem 16.03.2014 um 00:35 Uhr runtergeladen habt, dann müsst ihr es erneut runterladen, da ich versehentlich eine alte Version des Scripts hochgeladen habe.
Kompletter Serverordner (0.3z): http://www.file-upload.net/dow…rverordner-0.3z-.rar.html
Ordner mit allen notwendigen Dateien: http://www.file-upload.net/dow…0--Alle-Dateien-.rar.html
Nur das Filterscript: http://www.file-upload.net/dow…0--Filterscript-.rar.html
Pastebin: http://pastebin.com/vPAY0UAs
Mit freundlichen Grüßen
DrMurphy