Wenn du das so machst, hast du später unmengen an Dateien. Ich würde es so machen, dass du für jeden Spieler eine Datei anlegst, wodrin dann die Autos gespeichert werden.
Beiträge von DrMurphy
-
-
Dynamisches Haussystem
by DrMurphy [V. 2.2]
Guten Abend zusammen, heute möchte ich euch die neue Version von meinem dynamischen Haussystem vorstellen.
Mit der neuen Version 2.2 wurden zwei Buggs behoben, wodurch das System nun wieder flüssig läuft. Die Daten werden nun wieder gespeichert und auch das angegebene Limit an maximal besitzbaren Häusern wird vom System berücksichtigt.
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...=NiemandDie 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.2:- Es wurde der Bug behoben, dass das System seine Daten nicht gespeichert hat. Diese werden nun nach jeder Aktion des Systems direkt gespeichert, wodurch nichts mehr verloren geht.
- Es wurde der Bug behoben, dass man unendlich viele Häuser kaufen konnte, obwohl in der confog-Datei ein Limit angegeben war.
Version 2.1:- Es wurde der Bug behoben, dass keine Häuser gekauft werden konnten.
- Der Bug, dass jedes Haus, unabhängig der Einstellung in der config-Datei und der Einstellung des Besitzers des Hauses, gemietet werden konnte, wurde behoben.
- Blaue Schriftzüge sind nun hellblau, damit sie besser zu erkennen sind.
- 3DTextLabel sind nun über dem Pickup des Hauses plaziert, damit beides besser zu erkennen ist.
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:
- Derzeit sind keine Buggs bekannt
Release der nächsten Version:
Bei weiteren Bugmeldungen oder Verbesserungsvorschlägen, wird eine neue Version erscheinen.Vorraussetzungen für die Funktionalität des Systems:
- dini Include
- sscanf2 include
- sscanf2 Plugin installiert
- folgende Ordner im Scriptfiles Ordner erstellt: Haus, HSpieler, Interiors
- Euer Gamemode, sowie alle anderen Filterscripts müssen beim Callback "OnDialogResponse" den Wert "return 0" wiedergeben, da sonst die Dialoge des Haussystems nicht funktionieren
Download Version 2.2:
Wenn ihr etwas von file-upload.net runterladet, dann müsst ihr dort auf den kleinen, blauen "Download" Button in der Mitte rechts klicken. Über dem Button steht die Dateigröße und die Downloadzahl. Die anderen Download Buttons sind Werbung.
Kompletter Serverordner (0.3.7): http://www.file-upload.net/dow…mplettServerv2.2.rar.html
Ordner mit allen notwendigen Dateien: http://www.file-upload.net/dow…stemkomplettv2.2.rar.html
Nur das Filterscript: http://www.file-upload.net/dow…2/Haussystemv2.2.rar.html
[/color]Mit freundlichen Grüßen
DrMurphy -
Alles klar! Vielen dank.
Das Problem wurde gefunden und behoben. Version 2.1 erscheint wie geplant um 19 Uhr. -
Gibt es schon eine Lösung wegen dem kaufproblem?
Danke erstmal für die Bugmeldung. Ich kann mir das Problem derzeit noch nicht erklären, da bei mir alles funktioniert.
In Version 2.1 wird es dann aber gelöst. Die Version erscheint noch heute Abend. -
dcmd nutze ich lediglich für Commands mit Parametern. strcmp für Commands ohne Parameter.
Beavis
Das mit den Dialog IDs hatte ich in der alten Version des Systems geändert und nun vergessen in die neue Version zu übernehmen. Ich danke dir für den Hinweis. Die Downloadlinks wurden durch die neuen Dateien ersetzt. -
-
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/vPAY0UAsMit freundlichen Grüßen
DrMurphy -
Soweit ich weiß nicht
-
Ich konnte den Fehler beheben. Ich hatte vergessen den richtigen Namen der Datenbank einzutragen.
Jetzt habe ich jedoch ein weiteres seltsames Problem: Ich bekomme bei jedem Serverstart verschiedene Errors, die alle mindestens 6-stellig sind. Es könnte vielleicht wirklich sein, dass der externe Zugriff verweigert wird. Dies kann ich jedoch erst morgen Abend testen.
-
Guten Abend zusammen,
ich habe erneut ein Problem mit MySQL. Ich wollte gerade mein Login/Register System testen, als mir ingame auffällt, dass weder der Login, noch der Register Vorgang ausgeführt wird. Ich habe die Abschnitte dann mit Konsolenausgaben versehen und das sah dann so aus:
Da ich daraus nicht schlau wurde, habe ich weitere Ausgaben eingefügt, die mir den Error Code nach einer MySQL Funktion anzeigen sollen. Dies sah dann so aus:Codeongamemodeinit aufgerufen error 1044 bei mysql_connect onplayerconnect aufgerufen error 1044 beim ausführen einer query error 1044 bei mysql_store_result onplayerrequestclass aufgerufen
Die Suche bei Google sagte mir nur, dass es wohl etwas mit der Verbindung zur Datenbank zu tun hat. Wie genau ich das Problem lösen kann, weiß ich jedoch noch immer nicht.
Weiß jemand weiter?mfg
DrMurphy -
-
ich habe es jetzt noch etwas weiter abgeändert, da die variablen im samp wiki auch immer ein const haben, wenn es strings sind:
stock mysql_getIntWithInt(const i[], const table[], const x[], wert)
{
new integer;
new query[128];
format(query,sizeof(query),"SELECT `'%s'` FROM `'%s'` WHERE `'%s'`='%i'",i,table,x,wert);
mysql_query(query,dbhandle);
mysql_store_result(dbhandle);
integer = mysql_fetch_int(dbhandle);
mysql_free_result(dbhandle);
return integer;
}
ausprobiert habe ich es nocht nicht, da das system noch nicht fertig ist. dazu komme ich erst morgen abend. Trotzdem danke -
hmm ok. Danke
-
Guten Abend zusammen,
ich arbeite gerade zum ersten mal mit MySQL R5 und bin dabei mir ein Login/Register System zu erstellen. Nun ist jedoch beim Laden der Werte aus der Spieler Tabelle aufgefallen, dass es bei dieser MySQL Version garkeine richtige Funktion gibt, womit man den field_content schnell auslesen lassen kann. Es gibt lediglich die fetch_int,..., Funktionen, womit man jedoch nur einen einzigen Wert auslesen kann. Bei meiner Suche mit Google habe ich dann etwas mit "explode(row,field,"|");" gefunden, jedoch ist der Downloadlink zu diesem Include tot. Dann habe ich etwas mit "stock mysql_GetInt" gefunden, wo jedoch dieser stock keine Funktion hatte. Könnt ihr mir helfen, wie ich mit R5 die Werte aus den Feldern einer Tabelle auslesen kann und in einer enum Variable speichern kann?mfg
DrMurphy//edit
Habe es jetzt mal so gemacht:
stock mysql_getIntWithInt(i[128], table[128], x[128], wert) //i ist der Spaltenname des gesuchten Werts. table ist der Name der Tabelle. x ist der Spaltenname des gegebenen Werts. wert ist der gegebene Wert
{
new integer;
new query[128];
format(query,sizeof(query),"SELECT `'%s'` FROM `'%s'` WHERE `'%s'`='%i'",i,table,x,wert);
mysql_query(query,dbhandle);
mysql_store_result(dbhandle);
integer = mysql_fetch_int(dbhandle);
mysql_free_result(dbhandle);
return integer;
}
Könnte das funktionieren? -
ja. hab ich oben schon geschrieben.
-
Hmm... hat nicht geholfen. Sonst noch jemand Vorschläge?
-
Dieser Prozess ist bei mir nicht aktiv. Somit kann ich ihn auch nicht schließen
-
Guten Tag zusammen,
ich habe lange Zeit mit pawno gescriptet, doch nun wollte ich mal den Editor "Scripting Machine" ausprobieren.
Sobald ich dort mein Script öffne und es compilen möchte, öffnet sich ein Fenster, in dem folgendes steht:
Unbehandelte Ausnahme in der Anwendung.
Der Prozess kann nicht auf die Datei "C:\Users\Jan\Desktop\0.3z Server\gamemodes\script.pwn" zugreifen, da sie von einem anderen Prozess verwendet wird.Dies kann jedoch unmöglich der Fall sein, da dieser Fehler sogar nach einem Neustart des PCs angezeigt wird.
Weiß jemand, wie ich das Problem lösen kann?mfg
DrMurphy -
Guten Abend zusammen,
seit ich eben auf Windows 8.1 geupdatet habe, werden in samp die Farben nicht mehr richtig dargestellt. Alles ist verschwommen und es hat einen starken Rotstich. Kennt jemand das Problem? Vor dem Connect auf einen Server wurde mir ein Fenster angezeigt, dass ich DirectX 9 installieren müsste. Ich habe das Programm die nötigen Datein dann selbstständig installieren lassen. Es scheint jedoch nicht geklappt zu haben, da sonst die Farben normal wären.
Vor dem Update hatte ich Windows 8 und es hat alles funktioniert.mfg
//edit
Problem gelöst. Durch die Installation wurde 3D-Vision aktiviert. Nach einer Neuinstallation der Grafikkarten Treiber geht es jetzt wieder -
new Hausdatei[128];
for(new i = 0; i<sizeof(HouseData); i++)
{
format(HausDatei,sizeof(HausDatei),"HausOrdner/Haus%i.cfg",i);
HouseData[i][h_id] = dini_Int(HausDatei,"ID");
}
Jetzt hast du die ID des Hauses i in der Variable HouseData gespeichert.