NLthijs48 / AreaShop

A Bukkit/Spigot (Minecraft server) plugin that facilitates renting and buying WorldGuard regions
GNU General Public License v3.0
55 stars 90 forks source link

Hulp bij stukje configuratie #288

Closed R0bstar closed 7 years ago

R0bstar commented 7 years ago

Hallo Thijs,

Ik heb helaas een klein beetje hulp nodig bij het configureren van iets nieuws voor AreaShop. Ik zeg helaas omdat ik denk dat het helemaal niet zo moeilijk is, maar toch lukt het niet!

De situatie: Ik heb op mijn Minecraft server al meerdere typen winkels met aparte prijzen, en mensen kunnen op basis van hun "rank" een bepaald aantal shops huren. Ook de "signs" zien er anders uit per type shop. Dus al die truken heb ik al geleerd.

Nu heb ik een Minecraft Mansion in een "Worldguard" region geplaatst, met als idee dat mensen d.m.v. een sign de Mansion kunnen huren. Door gebruik van redstone en command blocks spawn ik alle Illagers in de Mansion. Zo kan iedereen die dat wil een Mansion looten! Voor een prijs, natuurlijk.

Wat mij niet lukt, is een paar instellingen specifiek voor dit nieuwe type shop instellen. Ik heb dus een type shop gemaakt die "mansion" heet. Nu wil ik dat: 1) Mensen 0% geld terug krijgen als ze de huur opzeggen (in de default staat 100%) 2) Mensen de huur bij voorkeur niet kunnen verlengen (nu kan dat wel) 3) Dat er geen schematics worden gesaved als mensen hem gebruiken (dat heb ik in de default wel ingesteld)

In de default.yml staan daar onderstaande configuratieregels voor, maar volgens mij moet ik ze nu in de groups.yml erbij zetten onder het kopje "mansion", maar ik weet niet hoe. Ik heb wat geprobeerd, maar dat had geen effect.

1) rent: moneyBack: 0% 2) maxExtends: 0

En in config.yml staat dit om mensen hun shop op te slaan / te resetten: schematicProfiles: default: created: save: '%type%-%region%' restore: '' deleted: save: '' restore: '%type%-%region%' rented: save: '' restore: '' unrented: save: '%type%-%region%-%player%' restore: '%type%-%region%' bought: save: '' restore: '' sold: save: '' restore: '%type%-%region%' resell: save: '' restore: ''

Kan jij me vertelllen hoe ik dit werkend krijg?

PS VRAAGJE op de valreep: Klopt dit? maxRentTime: '3 months' of moet het zijn: maxRentTime: '3 month'

Want ook dit werkte niet (na /as reload)

Dat gezegd hebbende... worden configs opnieuw geladen bij een /as reload? Of moet ik de hele server herstarten?

Alvast heel erg bedankt voor je hulp!

NLthijs48 commented 7 years ago

Hoi R0bstar,

Mijn excuses dat het antwoord even geduurd heeft, maar bij deze.

Het percentage van de huur die je terugkrijgt staat inderdaad standaard op 100, je kunt dit op 0 zetten (let op dat je er geen % teken achter zet, dat werkt niet). Zie hieronder een voorbeeld van hoe het in je groups.yml bestand moet komen te staan. maxExtends op 0 zetten zorgt er inderdaad voor dat je de huur niet kunt verlengen. Om het opslaan in een schematic uit te zetten kun je enableRestore op false zetten, dit staat in de general sectie.

Ik vermoed dat je het verkeerde aantal spaties voor de instellingen hebt gezet, zorg dat ze zoals in mijn voorbeeld hieronder staan. Kleine tip, de volgende keer dat je je config laat zien schijf het dan zo op (dan blijven de spaties intact): ```yaml \<plak hier je config> ``` (of selecteer na het plakken het stuk config en druk op de insert code knop in de editor, links naast de link knop)

De maxRentTime kun je alle normale Engelse bewoording en gebruiken, dus beide van je voorbeelden werken. Voor een precieze lijst kun je in config.yml kijken (seconds, minutes, hours, etc. opties), hier kun je eventueel ook Nederlandse bewoordingen aan toevoegen, zodat je deze kunt gebruiken en deze ook op de bordjes staan (misschien handig als je alleen Nederlandse spelers hebt).

Met /as reload worden inderdaad alle configs opnieuw geladen, dus je hoeft niet je server opnieuw op te starten. Zorg wel dat je voordat je de groups.yml gaat aanpassen ook een /as reload doet, anders kan het zijn dat AreaShop hem nog niet opgeslagen heeft en je aanpassingen overschrijft.

Voorbeeld van wat je ongeveer nodig hebt:

mansion:
  name: mansion
  priority: 0
  general:
    enableRestore: false
  rent:
    moneyBack: 0
    maxExtends: 0

Laat het me weten of het met deze informatie is gelukt en of je nog meer vragen hebt 😄

R0bstar commented 7 years ago

Hallo Thijs,

Ben je gek, ik vind het geweldig dat je zoveel support geeft op je plugin! Ik zelf run een server en weet hoeveel tijd er ongemerkt in zoiets kan gaan zitten.

Ik ben een paar keer wat gaan experimenteren en ben er uiteindelijk uitgekomen. Het bleek heel verstandig om de config file even te plakken in een YAML tester op het internet, dan wist ik meteen of er een spatie teveel of te weinig in stond.

Verder: Ik heb het bijna allemaal aan de praat, maar wat nu nog niet werkt is dit:

Dan nu de stukjes config die ik heb gefabriceerd:

Uit groups.yml:

mansions:
  general:
    signProfile: mansion_s
    schematicProfile: mansion_schem
    enableRestore: false
  priority: 0
  rent: 
    maxExtends: 0
    moneyBack: 0
  regions:
  - mansion

Uit config.yml:

schematicProfiles:
  default:
***KNIP***
  mansion_schem:
    rented:
      save: ''
      restore: '%region%'
    unrented:
      save: ''
      restore: ''
    bought:
      save: '%region%'
      restore: ''

limitGroups:
  default:
    total: 0
    rents: 0
    buys: 0
***knip***
  mansions:
    total: 1
    rents: 1
    buys: 0
    groups:
    - 'mansion'

En wat output van de status van de "shop": 07.03 16:02:09 [Server] INFO [AreaShop] Information about mansion: 07.03 16:02:09 [Server] INFO Rent for: Vs1 per 1 minute. 07.03 16:02:09 [Server] INFO Rent cannot be extended. 07.03 16:02:09 [Server] INFO In advance renting: 3 months at maximum. 07.03 16:02:09 [Server] INFO Connected signs: (brave_new_world, 5280, 73, 2167). 07.03 16:02:09 [Server] INFO ► Assigned groups: mansions.

Zie jij wat ik fout heb gedaan?

NLthijs48 commented 7 years ago

Mooi dat je de support op prijs stelt, daar doe ik het voor! 😃

YAML is lasting qua spaties en tabs ja, een editor zoals Sublime Text kan daarbij helpen, die laat verticale strepen zien waarmee je kunt zien of het aantal spaties klopt, en begint te zeuren als je je niet houd aan het YAML formaat (vergeten dubbele punt enzo).

Test je het verlengen van het huren als OP? Dan heb je namelijk een permissions die het verlengen alsnog toestaat, ook al staat AreaShop het normaal gesproken niet toe door je maxExtends: 0 setting. In advance renting: 3 months maximum komt er te staan als je maxRentTime hebt ingesteld, misschien heb je dit in default.yml aan staan? In combinatie met maxExtends van 0 maakt dit bericht niet veel sense, ik heb het aangepast voor de volgende versie. Je kunt in je groep even maxRentTime: unlimited toevoegen om het bericht weg te halen.

Bij het gebruik van /as schemevent word er nog steeds gekeken of restore wel aan staat, dus vandaar dat je geen schematic kreeg denk ik. Als je debug in config.yml aan zet kun je in de console zien waarom hij wel/niet een schematic opslaat.

Je hebt in je mansion_schem nu staan dat hij de schematic opslaat bij het kopen van de region, en hem terugzet bij het verhuren van het gebied, dit kan toch nooit gebeuren omdat een gebied altijd een huur OF koop gebied is? Tenzij je handmatig de schematic wil genereren voor alle regions zul je dus moeten zorgen dat je ergens een save doet.

Laat me maar weten of dit zo gelukt is 😄

R0bstar commented 7 years ago

Ik heb het werkend gekregen! Ga het nu laten testen. ben benieuwd. Laat je nog weten hoe het ging.