Hallo liebe Community,
auch ich möchte heute mal die Gelegenheit nutzen um mein derzeiges Pluginprojekt hier vorzustellen und den aktuellen Stand
bekannt zu geben.
Bei dem Plugin handelt es sich wie im Betreff schon erwähnt um ein Geld- und Handelssystem mit dem es Möglich sein wird,
in bereitgestellten Shops Items, Grundstücke, Lizenzen (Kreativmodus, Flugmodus) zu kaufen, Handel und Auktionen zwischen den Spielern zu betreiben,
Erze usw. an entsprechenden Händlern zu verkaufen usw. usw.
All das kann nach belieben vom Serverbetreiber auf seine Bedürfnisse angepasst und eingestellt werden. u.a.:
- Auf Wunsch können Spieler nach eingestellbaren X Minuten einen Gehaltscheck erhalten. Die Höhe des Betrages hängt von der Gruppe ab,
die der Spieler zugewiesen bekommen hat. (näheres zu den Gruppen in dem Abschnitt Pluginkonfiguration) - Hansdelspreislisten können eingeschalten und auch so eingestellt werden, das die Preise immer stabil sind oder gar nach jedem Serverneustart
neu generiert werden. Somit werden Spieler dazu animiert in der Welt sich um die gerade gefragten Erze usw. umzuschauen und diese dann bei
einem entspr. Händler zu verkaufen. Die Preislisten können an einen Stand jederzeit abgefragt werden (siehe Bild) - Betreiben von Erzdepots, an denen Spieler sich Erze abbauen können, die sie je nach Anzahl der erhaltenen Erze bezahlen müssen
- Alle Shopmodels können durch eigenen ersetzt werden (auch hier erfolgt eine genauere Erklärung im Abschnitt Pluginkonfiguration)
- Jeder Spieler hat ein bankkonto, auf das an aufgestellten Bankautomaten Transaktionen (Auszahlung, Einzahlung und Überweisung)
durchgeführt werden können (siehe Bild) - Jeder Spieler kann einen anderen Spieler per "Chatcommando" geld geben (vorausgesetzt er hat auch soviel)
- Serverbetreiber können einstellen, ob Spieler, die gestorben sind Ihr Bargeld verlieren. Dies ist jedoch nicht wie die Items im Nirvana
verschwunden, sondern es erschein an der Stelle an der der Spieler gestorben ist ein silberner Koffer, in dem sein verlorenes Geld enthalten ist.
Der Spieler sollte sich nach seinen Respawn beeilen, denn auch anderer Spieler können diesen Geldkoffer sehen und auch looten.
Erst wenn ein Koffer nach 5 Minuten nicht gelootet wurde, ist er hoffnungslos verloren und das darin enthaltene Geld ist weg. - Alle Models können nach dem setzen/erstellen editiert werden hier besonders (rotieren und bewegen) (siehe Chatcommandos)
Was noch nicht funktionert:
- Der Flugmodus kann zur Zeit noch nicht gekauft werden
- Items können zur Zeit noch nicht an Shops/Händler verkauft werden
- Erzdepots können derzeitig noch nicht genutzt werden.
- die Option "freecrafting" sollte im zusammenhang mit der Baulizenz nicht genutzt werden,
da es zur Zeit noch nicht möglich ist die Anzahl und einige gecraftete ItemIDs per API abzufangen/fragen
Was noch geplant ist:
- ärztliche Versorgung ( bei wenig gesundheit oder Knochenbrüchen) gegen einen Geldbetrag
- Jagdlizenzen (je nach Tierart)
- Einführung einer zentralbank, die im PvP von spieler(gruppen) ausgeraubt werden können
Pluginkonfiguration
Das Plugin selbst besteht aus der Hauptkonfiguration "Config/config.properties", Handelspreislisten "Config/tradeprices.xml", Itemlisten "Config/itemlist.xml",
Tradegruppen "Config/Groups/*.group" und der Sprachdateien "Config/Languages/*.properties"
Das Plugin selbst unterliegt keiner festen Sprache, hier wird sich der Api-Funktion der Playerklasse "getLanguage()" bedient. Je nachdem welche Sprache der
Spieler eingestellt hat, erhaält er auch Meldungen GUI-beschriftungen in seiner eingestellten Sprache.
die config.prperties hat folgenden Inhalt:
GroupDir=Groups //das Verzeichnis in den die Gruppendateien abgelegt sind
Groups=Neubuerger.group,Buerger.group,Ureinwohner.group // alle erstellten und vom Plugin Nutzbaren Gruppen
DefaultGroup=Neubuerger //die Standartgruppe
Enable_EarnSystem=true //Schaltet das automatische Verdienstsystem (Gehaltsscheck) ein oder aus
EarnInterval=20 //anzahl der Minuten die der Spieler einen Gehaltsscheck erhält
AdminAutoHeal=true //Sollte zum einstellen des Plugins genutzt werden. Admins können nicht mehr verhungern, verdursten oder gar schden nehmen
MoneyView_PositionX=0.5 //Die 3 folgenden Zeilen besagen an welcher Stelle sich die Bargeld
MoneyView_PositionY=0.8 //anzeige befinden soll
MoneyView_Pivot=1
FlyCost=500 //Der Preis was eine Fluglizenz kostet, diese ist für alle Tradegruppen gleich
CreativeCost=1500 //das selbe für die Baulizenz
PickCoalCost=80 //die folgenden Zeilen geben an was ein Spieler pro abgebauten Erz von einem Erzdepot berappen muss
PickCopperCost=100
PickIronCost=150
PickAluminiumCost=180
PicGoldCost=250
PickWolframCost=290
PickSilverCost=340
PickMithrilCost=390
PickCobaltCost=500
Database_Type=mysql //Einstellungsmöglichkeiten sind hier mysql|sqlite
Database_Server=localhost
Database_Port=3306
Database_User=root
Database_Password=feucikp
Database_Catalog=rworld_dev
TradePriceAutogenerate=true //Enstscheidet ob die Handelspreise vom Serverbetreiber fest eingestellt werden oder diese vom Plugin generiert werden
ShopModelFile=kasse.obj //das 3DModel für normale Shops dieses als auch alle folgenden Models müssen sich im Verzeichnis /assets/Models/ befinden
ShopModelTexture=kasse_textur.png //die entsprechende Textur des Models, diese müssen sich im Verzeichnis /assets/Textures/ befinden
ShopModelScale=0.5 //gibt die Scalierung des Models an, wenn das Model zu groß oder zu klein in der Welt sein sollte, kann es hier geändert werden
TradeModelFile=infostand.obj //Das 3D Model für die Ansicht der Andelpreise
TradeModelTexture=textur1.png
TradeModelScale=0.5
LicenseModelFile=stand2.obj //das 3dModel für den Lizenzshop
LicenseModelTexture=stand2_text.png
LicenseModelScale=0.2
ATMModelFile=ATM.obj //Das 3dModel für den bankautomaten
ATMModelTexture=ATM_texture.png
ATMModelScale=0.5
DeathCaseModelFile=case.obj //das Model für den GEldkoffer, den ein Spieler hinterlässt wenn er stirbt
DeathCaseModelTexture=case_tex.png
DeathCaseModelScale=0.5
DefaultLanguage=de //die Standartsprache die verwendet werden soll, wenn ein Spieler eine Sprache verwendet, die (noch) nicht enthalten ist
Zu den Tradegruppen gebe ich hier mal eine Beispiel Gruppe
GroupName=Bürger //sollte klar sein
StartMoney=3000 //diesen BarBetrag erhalten Spieler die sich zum ersten mal auf diesen Server connecten, bzw. die noch nicht in der Datenbank enthalten sind
StartATM=0 //selbiges gilt für das bankklonto
EarnMoney=1000 //den Betrag den der Spieler aller X Minuten (siehe "EarnInterval=20" in der config.properties") erhalten
CanBuyFlying=true //Darf die Gruppe Fluglizenzen kaufen?
FlyTime=2 //Anzahl der Minuten wie lange die Fluglizenz gültig ist (wird ingame durch einen Counter grafisch angezeigt sie Bild)
CanBuyCreative=false //das selbe für den Kreativmodus
CreativeTime=2 //dito
CanShopUse=true //Darf die Gruppe allgemeine Shops nutzen?
CanOreDepotPick=true //das selbe für die Erzdepots
CanLostMoneyOnDeath=true //verlieren Spieler ihr bargeld bei einem Tod?
CanMoneyRobOnPvp=false //noch nicht implementiert hier soll entschieden werden ob Spieler im PvP ausgeraubt werden können
Chatcommandos
/givemoney [EMPFÄNGER] [BETRAG] | gibt dem EMPFÄNGER (sofern online) den eingegebenen BETRAG (sofern soviel vorhanden) |
/selectshop | gibt die Area an, in der der neue Shop aufgestellt werden soll |
/createshop [SHOPTYPE] [SHOPNAME] | legt den im SHOPTYPE genannten SHOPTYP mit den eingegebenen SHOPNAMEN in der Datenbank an. gültige werte für SHOPTYPE sind:
- shop = allgemeiner Shop
- trade = Handelsposten/Händler
- auction = Auktionsstand (noch nicht implemntiert)
- tradeinfo = Stand für die Handelpreise
- license = Lizenzshop
- atm = Bankautomat
|
/shoplist | zeigt eine Lister aller auf der Welt verfügbaren Jobs an mit ID und Namen |
/removeshop [ID] | entfernt den Shop für immer von der Welt |
/rotateshop [ID] | der Shop kann mit 2,8 - 4,6 - 3,9 auf dem NumPad rotiert werden mit BACKSPACE werden die Einstellungen übernommen |
/moveshop [ID] | wie rotateshop jedoch wird der Shop dann in X,Y und/oder Z vershoben |
Es folgen nun einige Bilder
Bild 1: Die Handelspreisliste, Bild 2: der Lizenzshop, Bild 3. der bankautomat
Für Vorschläge und Kritik bin ich bekanntlich immer offen. Sobald alle funktionen zur Verfügung stehen, werde ich das Plugin dann hier der breiten Masse
zur Verfügung stellen.
Blacky1004