iProfessions

iProfessions

Stwórz profesję i nadaj jej kilka umiejętności!

0 polubień • 0 pobrań
Dostępne pliki
22
Obsługiwane wersje
0
Najnowszy plik
30.09.2012

Logo

Heypoday,

iProfessions to kompletny plugin do tworzenia gospodarki opartej na zawodach na twoim serwerze. Gracze będą mieć zawód (Górnik, Kowal, ... Cokolwiek sobie wybierzesz) i będą jedynymi graczami, którzy będą mogli wykonywać pewne działania. Na przykład, jeśli stworzysz zawód kowala i przyznasz mu umiejętności rzemieślnicze, tylko gracze będący kowalami będą mogli wytwarzać broń, łopaty, ...
Oczywiście tworzysz własne zawody, to nie są z góry zdefiniowane zawody. iProfessions stara się uczynić zawody jak najbardziej konfigurowalnymi; możesz przyznać im umiejętności rzemieślnicze, umiejętności niszczenia bloków, umiejętności związane z przedmiotami i wiele innych.
Oferuje również więcej funkcji, takich jak drzewo zawodów (tworzenie specjalizacji zawodu), wsparcie ekonomiczne, wymagalne pola do nauki zawodu,...
Ostatnią rzeczą: możesz użyć iProfessions z BeardStat, aby skorzystać z funkcji wymagalnych (zezwala na wykonywanie zawodu dopiero po spełnieniu pewnych warunków)
Mam nadzieję, że spodoba Ci się ten plugin, bardzo przydatny, jeśli masz wielu graczy i chcesz stworzyć prawdziwą gospodarkę opartą na zawodach. :)

/!\ Ten plugin WYMAGA PluginsBaker do działania, nie zapomnij go zainstalować! :)

Temat po francusku | GitHub | Wątek Bukkit
Autorzy: Ptibiscuit


Jak korzystać

Konfiguracja

Otwórz config.yml, konfiguracja składa się z 3 części. Gracze będą wypełniani samodzielnie. Konfiguracja zawiera kilka opcji:

  • max_profession: Liczba zawodów, które gracz może mieć. Konfiguracja zawodów jest dość skomplikowana; na końcu tej strony znajdziesz samouczek, jak stworzyć swój zawód; mam nadzieję, że zrozumiesz to dobrze. :P

Polecenia

  • /plearn <Tag zawodu> (iprofessions.learn.<Tag>): Naucz zawód. Uprawnienie do tego polecenia zależy od zawodu. Jeśli gracz chce nauczyć się zawodu "miner", musi posiadać uprawnienie "iprofessions.learn.miner".
  • /pforget <Zawód> (iprofessions.forget): Usuń jeden ze swoich zawodów.
  • /paddprofuser <Gracz> <Tag zawodu> (iprofessions.user.profession.add): Dodaj zawód graczowi.
  • /premprofuser <Gracz> <Tag zawodu> (iprofessions.user.profession.remove): Usuń zawód graczowi.
  • /pwhois [Player] (iprofessions.whois.other): Wyświetl zawód innego gracza.
  • /pwhois (iprofessions.whois.self): Wyświetl swój zawód.
  • /plist <Zawód> (iprofessions.list): Wyświetl listę wszystkich graczy online, którzy mają ten zawód.

Istnieją także specjalne uprawnienia:

  • iprofessions.god: Pozwala graczowi robić wszystko, nawet jeśli nie ma odpowiedniego zawodu.

Tworzenie zawodu - instrukcja krok po kroku

Ojej, postaram się być jak najjaśniejszy w tym poradniku. Po pierwsze, oto gotowa do wypełnienia konfiguracja YAML do stworzenia twoich zawodów:

professions:
   [Tag]:
        name: [Name]
        price: [Price]
        parent: [Parent]
        required:
            - category: [Category]
              key: [Key]
              require: [Require]
              hasnot: [Hasnot]
        skills:
            breakBlock:
                - id: [Id]
                  hasnot: [HasNot]
            smeltItem:
                - id: [Id]
                  hasnot: [HasNot]
            craftItem:
                - id: [Id]
                  hasnot: [HasNot]

For this tutorial, we're gonna create a blacksmith profession (Read those operations while looking at the result at the bottom):
The tag of this profession will be blacksmith, it means that player will have to use "/plearn blacksmith" to learn this professions.
The name of the profession will be "Blacksmith", this field is the clear name of the profession with capital letter, spaces, ...
The price is the money player will have to pay to learn this profession. I choose that learning blacksmith will cost 150 iConomy money.
The parent field is special, it will be explained in the following part, it is usefull for creating tree of profession. For my blacksmith, I'll delete this field. :)
Required field contains a list of all the required to learn this profession. For our profession, in addition to paying 150 iConomy money, players should already have broken 15 blocks of stone and 10 blocks of coal. Hasnot field is displayed when a player has not accomplished the required field. ("{LEFT}" will be replaced by the number of action left to accomplish the required (Need to break 15 blocks, I've broken 10 blocks, {LEFT} = 5 :P ))
Required field are handled by BeardStat plugin (You can use iProfessions without using BeardStat, but so, you can't use the required field)
At this point of the tutorial, here is our profession:

professions:
    blacksmith:
        name: Blacksmith
        price: 150
        required:
            - category: blockdestroy
              key: stone
              require: 15
              hasnot: You have to break {LEFT} block(s) of stone.
            - category: blockdestroy
              key: coalore
              require: 16
              hasnot: You have to break {LEFT} block(s) of coal ore.
# And the rest ....

Now, the most important part of the configuration, skills !
When you give a skill to a profession, only players of this profession will have this skill and be able to what the skill says. For our profession, only blacksmith can craft golden and diamond tools (shovel, sword, axe, ...), break gold ore and iron ore and smelt those ore. Exactly like with the required field, hasnot fields are displayed when a player tries to do an action when he hasn't the right profession. Here is the all configuration of our black-smith profession:

professions:
    blacksmith:
        name: Blacksmith
        price: 150
        required:
            - category: blockdestroy
              key: stone
              require: 15
              hasnot: You have to break {LEFT} block(s) of stone.
            - category: blockdestroy
              key: ironore
              require: 16
              hasnot: You have to break {LEFT} block(s) of coal ore.
        skills:
            breakBlock:
                - id: 14,15
                  hasnot: This block is too strong, only a black-smith can break it !
            smeltItem:
                - id: 14,15
                  hasnot: It's too hot for me, only a blacksmith can smelt that !
            craftItem:
                - id: 283,284,285,286,276,277,278,279,293,294
                  hasnot: I can't craft this item, maybe a blacksmith can ? ...

There's a lot of type of skill. Here we've just used 3 of them, but you have a list of all type of skills below.

You can also specify a metadata, like with wool ("35-4", "35-14", ...) or stairs.

If you want others example, to see how make a complex schema of professions, you can check the Bezpłatny przykład, I'll try to create a lot of samples. :)

Typy umiejętności

TagCelPrzykład konfiguracji
craftItemAllows the craft of an itemid: 257
hasnot: You can't craft that.
smeltItemAllows the player to put an item in the smelt slot of a furnaceid: 14,15
hasnot: You can't smelt that.
breakBlockAllows the player to break a type of block (All players are able to break block that have been placed by a player during a same server instance (If you reload or restart the server, players won't be able to break blocks that have been placed).)id: 1
hasnot: You can't break that.
placeBlockAllows the player to place a type of blockid: 2
hasnot: You can't place that block.
gainMoneyOnBreakBlockPlayer will win money when he'll break a block (Don't win money with a block they have placed)id: 1
reward: 1
gainMoneyOnKillCreaturePlayer will win money when killing a creature. (List of all types of creature here)type: PIG,CREEPER
reward: 50
dropItemAllow the player to receive drop when breaking an item.id: 1,5,2
wearItemAllow the player to wear an item (helmet, boot, ...)id: 306
hasnot: You can't wear that

Stworzenie drzewa zawodów (specjalizacje)

Możesz tworzyć specjalizacje dla zawodów; te zawody dziedziczą umiejętności swojego zawodu macierzystego wraz z posiadanymi umiejętnościami. Ponadto nauka jednego z tych zawodów wymaga posiadania zawodu macierzystego. Na przykład chcę stworzyć dwa zawody: Górnik, gracze najpierw musieliby nauczyć się tego zawodu. Górnicy mogą łamać rudy żelaza i Redstone. Następnie gracze mogą wybrać jedną z dwóch specjalizacji:
Górnik złota, mają wszystkie umiejętności Górnika plus łamanie rudy złota.
Górnik diamentowy, myślę, że zrozumiałeś ideę, mają umiejętności Górnika plus łamanie rudy diamentu. Oto prosty schemat, który to ilustruje:
Explanation
A oto konfiguracja tworząca takie zawody:

professions:
  miner:
    name: Mineur
    skills:
      breakBlock:
      - id: 15,73,74
        hasnot: This block is too hard.
  gold_miner:
    name: Mineur d'or
    parent: miner
    skills:
      breakBlock:
      - id: 14
        hasnot: This block is too hard.
  diamond_miner:
    name: Mineur de diamant
    parent: miner
    skills:
      breakBlock:
      - id: 56
        hasnot: This block is too hard.

Zauważ, że pole "parent: miner" zostało dodane dla zawodów gold_miner i diamond_miner.
Ostatnią rzeczą, musisz wpisać pod-zawód PO zawodzie macierzystym!

Stworzenie grup zawodów

To kolejna funkcja, która pozwala wymusić na graczu konkretną kombinację zawodów. Na przykład: Wyobraź sobie, że tworzysz serwer w stylu WoW. W World of Warcraft masz dwa rodzaje zawodów: zawody rzemieślnicze i zawody rolnicze. Zawody rolnicze to na przykład górnik, zielarz, strzyżacz owiec, ... Zawody rzemieślnicze to kowal, krawiec, alchemik, ... Na moim serwerze mam 6 zawodów: górnik, zielarz, drwal, kowal, alchemik i inżynier. Pierwsze trzy to moje zawody „rolnicze”, a ostatnie trzy to „rzemieślnicze”. :) Na moim serwerze gracze mogą mieć 2 zawody, ale chcę, aby mogli mieć tylko 1 zawód rolniczy i 1 zawód rzemieślniczy. Cóż, dzięki iProfessions to możliwe! :D Przejdź do swojej konfiguracji i znajdź gałąź „professions_group”. Domyślnie masz to:

config:
  max_profession: 2
  profession_groups:
  - max_profession: 1
    professions:
    - farmer
    - miner

Jeśli nie masz nic, spróbuj wygenerować nową konfigurację, usuwając aktualny plik konfiguracyjny (Nie zapomnij zrobić kopii :X) i przeładuj wtyczkę. Dla mojego serwera, stworzę 2 grupy, ustawisz maksymalną liczbę zawodów dla każdej grupy na 1, i wypiszę wszystkie moje zawody „rolnicze” i „rzemieślnicze”. Oto wynik:

config:
  max_profession: 2
  profession_groups:
  - max_profession: 1
    professions:
    - lumberjack
    - miner
    - herborist
  - max_profession: 1
    professions:
    - blacksmith
    - tailor
    - alchemist

Logicznie suma wszystkich wartości „max_profession” we wszystkich grupach powinna być równa globalnemu „max_profession” w konfiguracji. (W tym przypadku 1+1=2)

/!\ Ostatnia uwaga, jeśli pracujesz ze specjalizacją (aby ustawić drzewo zawodów), węzeł "professions" w twoich grupach musi zawierać wyłącznie zawody podstawowe (Zawody, które nie mają rodzica).

Powiązanie grupy z zawodem

Jeśli chcesz, aby po nauczeniu zawodu gracz został dodany do grupy, to właśnie linked_group jest dla Ciebie! :P Aby skonfigurować powiązaną grupę, po prostu dodaj to do konfiguracji zawodu:

professions:
  miner:
    name: Mineur
    linked_group: miner
    price: 50
    ...

Gdy gracz nauczy się zawodu "miner", zostanie dodany do grupy "miner". Gdy zapomni lub specjalizuje się w zawodzie "miner", zostanie usunięty. /!\ Jeśli używasz opcji linked_group, nie możesz zmienić zawodu gracza poprzez modyfikację pliku, ponieważ spowodowałoby to desynchronizację grup i zawodów !

Lista wszystkich kategorii wymagań

W tutorialu użyliśmy kategorii "blockdestroy", ale jest ich więcej niż ta jedna. W rzeczywistości nie ma listy wszystkich prawidłowych kluczy kategorii, ponieważ jest to zarządzane przez BeardStat. Możesz łatwo, jeśli ustawisz konfigurację na bazę danych, sprawdzić także swoją bazę danych, aby zobaczyć wszystkie możliwe kategorie. Oto mała lista mojej bazy danych. :)

KategoriaKluczOpis
blockdestroyiron, dirt, ironore, stone, ...Zniszczony blok, nie potrzebujesz więcej wyjaśnień :P
itempickupsapling, dirt, ...To samo
craftingwood, ...To jest przedmiot do rzemiosła
blockcreateironore, ...Umieszczony i nie jest przedmiotem do wyrobu !
deathstotal, fall, ...Liczba zgonów
statschatletters, chat, login, move, playedfor, firstlogin, lastlogin, lastlogout, totalblockcreate, totalblockdestroy, damagehealed, move,To jest samodzielna statystyka
killsskeleton, spider, total, ...Zabice
damagetakenfall, arrow, skeleton, total,...
damagedealtarrow, skeleton, entityattack, ...
itemdropwood, ...
expcurrentexp (The current level), lifetimeexp()

Używanie znaków (signów) do wykonywania akcji

Możesz tworzyć znaki, które wykonują akcje dla gracza po interakcji z nimi. To proste, wpisz "[iProfessions]" w pierwszej linii znaku. Druga linia zależy od tego, co chcesz, aby znak zrobił:

  • learn <Tag zawodu>: Zrobi dokładnie to, co "/plearn" — spróbuj nauczyć się zawodu (uprawnienie: iprofessions.sign.learn.<Tag>). Na przykład uprawnienie do nauki zawodu "miner" za pomocą znaku to "iprofessions.sign.learn.miner".
  • forget <Tag zawodu>: Zrobi dokładnie to, co "/pforget". Wymagane uprawnienie do użycia znaku to iprofessions.sign.forget.<Tag>
  • Możliwe inne akcje w przyszłości. :)

Przykład, jeśli nie zrozumiałeś: :P Explanation

Opis projektu pochodzi z CurseForge i został udostępniony po polsku. Szczegóły konfiguracji, zależności oraz aktualne komunikaty autora sprawdź na w źródłowym katalogu CurseForge.

Stabilne iProfessions v3.3
iProfessions.jar 30.09.2012 89 KB
Stabilne iProfessions v3.2.1
iProfessions.jar 31.08.2012 89 KB
Stabilne iProfessions v3.2
iProfessions.jar 10.08.2012 87 KB
Stabilne iProfessions v3.1
iProfessions.jar 29.06.2012 81 KB
Stabilne iProfessions v3.0
iProfessions.jar 20.06.2012 77 KB
Stabilne iProfessions v2.0
iProfessions.jar 20.05.2012 44 KB
Stabilne iProfessions v1.9.1
iProfessions.jar 14.05.2012 41 KB
Stabilne iProfessions v1.9
iProfessions.jar 07.05.2012 43 KB
Stabilne iProfessions v1.8
iProfessions.jar 07.05.2012 41 KB
Stabilne iProfessions v1.7
iProfessions.jar 07.05.2012 40 KB
Stabilne iProfessions v1.6.1
iProfessions.jar 07.05.2012 40 KB
Stabilne iProfessions v1.6
iProfessions.jar 07.05.2012 40 KB
Stabilne iProfessions v1.5
iProfessions.jar 07.05.2012 39 KB
Stabilne iProfessions v1.4
iProfessions.jar 07.05.2012 38 KB
Stabilne iProfessions v1.3
iProfessions.jar 07.05.2012 37 KB
Stabilne iProfessions v1.2.3
iProfessions.jar 07.05.2012 36 KB
Stabilne iProfessions v1.2.2
iProfessions.jar 07.05.2012 36 KB
Stabilne iProfessions v1.2.1
iProfessions.jar 07.05.2012 75 KB
Stabilne iProfessions v1.2
iProfessions.jar 07.05.2012 32 KB
Stabilne iProfessions v1.1
iProfessions.jar 07.05.2012 73 KB
Stabilne iProfessions v1.0.1
iProfessions.jar 07.05.2012 62 KB
Stabilne iProfessions v1.0
iProfessions.jar 07.05.2012 35 KB
Przed instalacją

Jak bezpiecznie sprawdzić ten plugin

Wybierz zgodny plik

Oznaczenia wersji pochodzą z metadanych autora. Dobierz również właściwe oprogramowanie serwera i Javę.

Zachowaj kopię

Przed pierwszym startem skopiuj świat, konfigurację oraz dane pozostałych pluginów.

Przeczytaj log

Po uruchomieniu sprawdź brakujące zależności i pierwszy błąd związany z nazwą pluginu.

Zobacz pełną instrukcję instalacji