Gutem morgen liebe Gemeinde,
Nach reichlich einer Woche Testlauf auf unserem öffentlichen Server, möchte ich das bereits schon in einem anderen Thread
angekündigte Plugin hier der breiten masse zum Testen zur Verfügung stellen. Leider kann ich die Zipdatei hier nicht direkt
zur Verfügung stellen, da es aufgrund der Models und texturen bei weiten Größer als die erlaubten 2MB ist.
Das Plugin wie jedes andere Plugin bitte in den Pluginsordner entpacken.
Im entpackten Ordner RPGSystem findet Ihr dann den Ordner Config in dem sich nun alle für das
Plugin relevanten Einstellungen befinden.
Ordner Config->Groups:
in diesem Ordner sind die Gruppendateien enthalten. Sie können Frei editiert/geändert werden.
Eine Ausnahme!!! Die Datei civilian.group darf NICHT gelöscht werden!!!
ich habe die entsprechenden Einstellungen in den Dateien Kommentiert.
Ordner Config->Lang
Hier bedarf es keiner Einstellung, evtl. hat ja jemand Lust und Zeit sich mal der Datei en.properties anzunehmen
und sie anhand der de.properties in ein sauberes Englisch umzusetzten.
Die wichtigste Datei des Plugins ist die config.properties.
Diese habe ich auch entsprechend kommentiert.
#Gruppeneinstellungen
Groups=civilian.group,builder.group,medic.group,police.group,rebel.group,gouverneur.group
GroupDir=Groups
#Die Defaultgruppe die einem Spieler zugewiesen wird, wenn er
#noch nicht in der RPG-datenbank aufgenommen wurde
DefaultGroup=Zivilist
#Verdienstsystem einschalten
Enable_EarnSystem=true
#welche Währung soll genutzt werden zur Zeit wird nur das $-Symbol unterstützt
EarnCurreny=$
#Zeitangaben in Minuten
EarnInterval=20
#Das Startkapital (Bargeld) was jeder neue Spieler erhalten soll
StartMoney=1500
#Der Anfangskontostand eines neuen Spielers
StartAtm=0
#wohin soll das Geld gezahlt werden?
#Einstellung atm = Geld wird auf das Spielerkonto gezahlt
#cash= das Geld wird aufs Bargeld aufgerechnet
EarnMoney=atm
#Diese Option sollte normalerweise auf false stehen
#und sollte nur dann genutzt werden, wenn langwierige
#Arbeiten in der Welt zu machen sind.
#Admins nehmen weder Schaden, noch können Sie verhungern
#oder verdursten, und auch Knochenbrüche können Sie nicht erleiden
#sterben können Sie aber trotzdem
AdminAutoHeal=false
#Was muss ein Spieler für eine Fluglizenz bezahlen
FlyCost=500
#was muss ein Spieler für eine Baugenehmigung bezahlen
CreativeCost=1500
#Preise die für die nutzung eines Erzdepots fällig werden
PickCoalCost=80
PickCopperCost=100
PickIronCost=150
PickAluminiumCost=180
PicGoldCost=250
PickWolframCost=290
PickSilverCost=340
PickMithrilCost=390
PickCobaltCost=500
#Datenbanksetup für die RPG-Datenbank
#Für den Database_Type gibt es 2 Varianten mysql|sqlite
Database_Type=mysql
Database_Server=localhost
Database_Port=3306
Database_User=
Database_Password=
Database_Catalog=rworld
#Schaltet das ServerTrading ein oder aus
Enable_TradingSystem=false
#sollen die Preise bei jedem Serverneustart
#zufällig generiert werden?
TradePriceAutogenerate=true
#Einstellungen der verschiedenen ShopModels
#Das Model der allgemeinen Shops
ShopModelFile=kasse.obj
ShopModelTexture=kasse_textur.png
ShopModelScale=0.5
#bei aktiven TradingSystem wird hier das
#Model für die Anzeige der Tradelisten angegeben
TradeModelFile=infostand.obj
TradeModelTexture=textur1.png
TradeModelScale=0.5
#Model des Lizenzshops
LicenseModelFile=stand2.obj
LicenseModelTexture=stand2_text.png
LicenseModelScale=0.2
#Das Model des Bankautomaten
ATMModelFile=ATM.obj
ATMModelTexture=ATM_texture.png
ATMModelScale=0.5
#Das Model das das Geld des Spieler enthält, wenn er stirbt
DeathCaseModelFile=case.obj
DeathCaseModelTexture=case_tex.png
DeathCaseModelScale=0.5
OreDepotModelFile=depot.obj
OreDepotModelTexture=depot_tex.png
OreDepotModelScale=0.5
MedicModelFile=medic.obj
MedicModelTexture=medic_tex.png
MedicModelScale=0.5
#die Standartsprache des Servers bzw. die Sprache, die einem
#Spieler angezeigt wird, wenn das System die Sprache des Spielers
#nicht kennt oder nicht enthalten ist
DefaultLanguage=de
#können Spieler ins Gefängnis kommen?
Enable_Prison=false
#Soll das Bestrafungssystem eingeschalten werden
Enable_Punishment=false
#Müssen Spieler Steuern bezahlen?
Enable_Taxsystem=true
#der Steuersatz in %
TaxRatePercent=19.0
#Sollen die Steuern in eine Zentralbank fließen?
PutTaxToWorldBank=true
#Zeit in Minuten wann das Model, welches das Geld eines
#gestorbenen Spielers enthält, verschwindet
DeathcaseDeSpawn=15
#darf die Zentralbank ausgeraubt werden?
#dies ist die Zentraleinstellung und kann
#einer Gruppe auch verboten werden
CanRobTheWorldbank=true
#Soll ein Spieler in die Fahnungsliste
#bei einem Bankraub aufgenommen werden
Enable_PunishmentByBankroll=true
#Welche Strafe aus dem Bussgeldgatalog soll in der Fahndungsliste
#gesetzt werden?
BankrollPunishment=bankraub
#Was kostet es die Verletzungen zu heilen?
#bei CostPerHealthPoint sind dies die Kosten die der Spieler
#pro Lebenspunkt bis 100 zu bezahlen hat
CostPerHelthPoint=40
CostHealBones=450
CostHealBleeding=350
Die nächste Datei ist für die Preise zuständig. hier ein kleiner Auszug
<item type="item" kat="vegetables">
<!-- die ItemID --!>
<id>270</id>
<!--ItemName--!>
<name>saplinglettuce</name>
<!--der Name der je nach Sprache angezeigt werden soll--!>
<language>Saplinglettuce</language>
<!--Wieviel kostet das Item im Shop? --!>
<purchase>105</purchase>
<!-- für Wieviel kann man es im Shop verkaufen? -->
<sell>35</sell>
<!-- Ist dies ein HandelsItem? also gibt es dafür einen entsprechenden Händler?--!>
<istrade>false</istrade>
<!-- Wenn die Preise der Server gestalten soll, dann hier der min und max Preis--!>
<mintrade>0</mintrade>
<maxtrade>0</maxtrade>
</item>
Chatbefehle
/givemoney [PLAYERNAME] [BETRAG] = Gibt dem PLAYERNAME den BETRAG. Der BETRAG wird aufs Bargeld angerechnet (Admins müssen hierbei nicht auf ausreichend Guthaben achten)
/changemoneygroup [PLAYERNAME] [NEWGROUP] = ändert die Gruppe des Spielers NEWGROUP entspricht den GRUPPENNAMEN der Groupdatei aus dem Ordner Config/Groups (Adminbefehl)
Adminbefehle
/showshoplist = Zeigt alle bisher schon angelegte Shops mit ID und namen an
/selectshop = wählt den Bereich an dem der neue Shop erstellt werden soll
/createshop [shop|atm|medic] [SHOPNAME] = legt den Shop an und zeigt das entsprechende Model an
/rotateshop [SHOPID] = rotiert den Shop (hierbei kann er mit den Tasten vom NUMPAD 2,8 - 3,9 - 4,6 rotiert werden mit der Taste BACKSPACE werden die Einstellungen übernommen
/moveshop [SHOPID] = wie rotateshop, nur wird der Shop hier in den Achsen X,Y,Z bewegt
/removeshop [SHOPID] = löschte den Shop mit der entsprechenden ID
/sethome = speichert die aktuelle Position des Spielers als "Homepunkt"
/home = Teleportiert den Spieler an seiner zuvor mit /sethome gespeicherten Position
Die obigen zwei Befehle ersetzen das entsprechende LUA-Script.
Das anlegen der Items zum jeweiligen Shop erfolgt derzeitig noch manuell in die Datenbank
hierbei ist die Tabelle shopitems wichtig, wobei nur die Felder shopid und itemid zu setzen
shopid entspricht hierbei die SHOPID des ertsellt Shops und die ItemID aus der Datei itemprices.
Ich werde mir da noch eine Lösung einfallen lassen, damit das auch ingame auf einfache Weise geschieht.
Wem die Models (Bankautomat und Co.) nicht gefallen, der kann diese gerne gegen eigene austauschen
jedoch muss dann das entsprechende Model in der Configdatei mit deren Textur angegeben werden.
GANZ wichtig!!!
Bitte bietet dass ITEM KOHLE NICHT IM SHOP AN!!! Da der Client hier Direckt nach dem aufruf des Inventars ("I")
abschmiert und sich der Spieler NICHT mehr auf den Server connecten kann!!!!
Sollte dies doch passieren, so muss in der Worlddatenbank - Tabelle Invetory ds Feld Inventory des Spielers auf NULL
gesetzt werden. Ich habe diesbezüglich schon @red51 per Pn angeschrieben und ihn darüber informiert.
Bisher ist es Plugintechnisch leider noch nicht möglich Items bei Shop/Tradehandler zu verkaufen. sobald dies
jedoch möglich ist, wird dies selbstverständlich schnellstmöglich umgesetzt.
Ebenso haben wir auf unserem Server festgestellt, das es vorkommen kann das ein Spieler mit den Shops nicht interagieren kann,
dies geht meistens erst wieder nach einem Relog. Auch das werde ich noch herausfinden und dann entsprechend fixen.
Schlusswort
Als letztes muss ich hierbei noch etwas aus Sicherheitsgründen loswerden, auch wenn ich vieleicht denke das es nicht notwendig ist
bei der netten Community hier, aber Vorsicht ist nun mal die mutter der Pozelankiste
Das Plugin darf nicht dazu genutzt werden, um Spielern gegen echtes Geld Ingame Vorteile zu verschaffen (Verkauf von IngameGeld gegen echtes Geld usw.)
Für Fragen Anregungen und Kritik bin ich wie immer offen
Ansonsten wünsche ich Euch viel Spass, dafür hab ich dass Plugin schließlich gemacht
Blacky1004