Posts by Machete

    Hi, @red51!


    Mit den kommenden Hottemaxen werfen sich mir gerade ein paar Fragen auf:
    Wird ein neuer Typ für Npc.Type eingeführt? Bisher unterscheide ich nur: ist Npc.Type.Animal oder nicht. (Sowas wie Npc.Type.Mount wäre ja vorstellbar.)


    Wird nur eine neue Npc-Bezeichnung je Art hinzugefügt wie horse beim Pferd oder donkey (bzw. jackass :D ) beim Esel?
    Oder sind wieder Variationen geplant wie holsteiner, haflinger, pony etc.?


    Wird die Plugin-API um solche Funktionen ergänzt wie z.B. npc.isRidingModeActive(), NpcMount/DismountEvent etc.
    bzw. gibt es eventuell wieder eine API-Vorschau?


    Dann habe ich noch Fragen (bzw. geht eher Richtung Wünsche) zur NPC-KI:


    Wäre es möglich, die Standard-KI per API für einzelne (auswählbare) NPCs zu deaktivieren? Und darüberhinaus dann gezielt einzelne Verhaltensfunktionen gesteuert zu aktivieren?


    Ein Szenario wäre, bei einem gezähmten Tiger das Angriffsverhalten zu deaktivieren, außer der Besitzer möchte explizit ein bestimmtes Ziel attackieren.
    Oder ein (hypothetischer) Wachhund (eher Wachbär) ist harmlos gegenüber Besitzer und Freunde, aber angriffslustig, sobald ein Fremder das "Grundstück" betritt.


    Alleine die Möglichkeit, die "Standard-KI" deaktivieren zu können, ist für mich attraktiv mit dem Hintergedanken, eigene Verhaltensmuster integrieren zu können.
    (Z.B. habe ich immer noch den Punkt "Herdentrieb" auf der TODO-Liste ^^ ,
    basierend auf die großartige Arbeit von Craig W. Reynolds: Steering Behaviors For Autonomous Characters)


    Was meinst du dazu, @red51? Ja oder ja? ;)

    I am getting reports of all animals slipping there leashes and escaping after the owner logs off except elephants and giraffes.

    I tried to reproduce it - with no luck.
    Animals keep their lock status regardless if players logged off or not.


    Note: Under the hood the plugin uses a simple API function npc.setLocked() - it is equal to console command locknpc 1 or 0.
    So it would be possible for something or someone else to interfere with it.


    (you can try it yourself with console command and watch how the name label status text above the animal changes dynamically)

    Hallo,


    mit getCurrentText() kriegst du es ausgelesen.


    Beispiel-(Pseudo-)Code:




    Hoffe, es hilft in deiner Sache! :thumbsup:

    Hi @red51!


    Ich habe es etwas ungenau formuliert (war zu müde gewesen).
    Man kann mit anderen Schafen interagieren - aber nur genau 1x. Egal wie oft man es bei bereits "interagierten" Schafen wiederholt, es passiert nichts mehr.
    Bei anderen Tieren hingegen wird jedesmal getriggert.


    Dazu habe ich "mal eben" ;) ein Test-Plugin gebaut, siehe Anhang.


    Code dazu:


    Hintergrund, warum ich ein Event "canceln" muss ist: Wenn man ein Schaf füttert, wird es gleichzeitig geschoren! :D (hatte ich überhaupt nicht auf'm Schirm, als ich den Interaktions-Mechanismus umgestellt habe)
    Ich würde das Scheren gerne unterbinden, wenn mit einer Zuckerrübe in der Hand interagiert wird.


    P.S.: hat sich schon was mit dem player.setAttribute() ergeben?
    Possible issue with player.setAttribute()

    Hi @Trithian!


    A sheared sheep is currently not feedable. It is a minor problem in the game itself and will be resolved with the next game update.


    ...when you get near any animal they are walking away and you have to follow then to feed them. and they keep walking until you use the roleing pin on them.


    I recently found the cause of the problem. I missed a necessary condition, very stupid mistake like a greenhorn. :cursing:
    These animals all meet on position (0, 0), there you will find all the "missed" animals, just waiting to be tamed! :)


    Thank you all for the feedback, be prepared for a bugfix update - maybe this weekend! :thumbup:

    Hi @red51!


    Wenn ein Schaf geschoren ist und man nun mit Taste <F> interagieren möchte, dann wird das PlayerNpcInteractionEvent scheinbar nicht getriggert.
    Könnte es daran liegen, dass dies von der Engine direkt unterbunden wird, sobald ein Schaf keine Wolle trägt?


    Geschorene Schafe können so nicht mehr gefüttert werden :D (vorausgesetzt: Animalbreedmaster-Plugin installiert).



    Weitere Beobachtung:
    Wenn - bei einem ungeschorenen Schaf - das PlayerNpcInteractionEvent getriggert wird und man dieses Event in der Event-Methode auf setCancelled(true) setzt, dann wird anschließend bei allen Schafen nichts mehr getriggert.


    https://javadoc.rising-world.n…tml#setCancelled-boolean-


    Ich habe es so verstanden, dass setCancelled() sich konkret nur auf dieses eine Event auswirkt.

    Du wolltest schon immer deine Tiere anleinen?
    Du wolltest schon immer deine Tiere unverwundbar machen?
    Dann lies weiter! :)


    Neue Version: V0.70:

    • neue Interaktion: leine dein Tier an, halte dazu ein Stück Holz in den Händen
    • neue Interaktion: mache dein Tier unverwundbar, halte dazu eine Goldstab in der Hand
    • Namensetikette verbessert
    • GUI für Umbenennung verbessert
    • Einstellung zum Ein-/ Ausschalten der Interaktion für Unverwundbarkeit:
      per Eintrag in AnimalBreedMaster.prefs.xml:
      <entry key="invincible_action_active">true|false</entry>
      oder per Chat Kommando:
      /abm invincible true|false
      (auf Multiplayer-Server nur für Admins)


    You always wanted to leash your animals?
    You always wanted to make your animals invincible?
    Continue reading! :)


    New Version: V0.70:

    • new interaction: leash your animal, hold a piece of lumber in your hands
    • new interaction: make an animal invincible, hold a goldrod in your hand
    • improved name tag
    • improved rename gui
    • setting for turning the invincible action on/ off:
      per entry in AnimalBreedMaster.prefs.xml:
      <entry key="invincible_action_active">true|false</entry>
      or per chat command:
      /abm invincible true|false
      (on multiplayer-server only for admins)

    Humans excluded I can no longer name my dummies?

    Correct, the only way to name a human NPC is to use the console command editnpc! :)


    I kinda miss being able to feed the dummies but the f trigger for naming the animals work very nicely. Just be real close to the animal to get it to work. It all seems to be working fine rt now.

    Nice to hear! Continue with the feedback! :thumbsup:



    Finde ich viel besser!
    Die Interaktion lässt sich so viel besser steuern. Tolles Update, danke für die Arbeit. Die Probleme mit den Dummys sind auch Geschichte. Musste aber ja eigentlich auch, da du die ja komplett ausgenommen hast.

    Vielen Dank! :)
    Ja, die neue Steuerung konnte ich nur aufgrund einer neuen, aber wesentlichen Plugin-API-Ergänzung seit dem gestrigen Hotfix vornehmen.
    An dieser Stelle von mir ein Danke! :) an @red51!

    Important Update!


    New Version: V0.60:

    • ATTENTION! Interaction mechanics changed!
      From now on, each action must be triggered with the interaction key (default: key <F>)!
      In other words, approach the animal with the appropriate object in hand and press the <F> key.
    • human NPCs are now excluded
    • bug fix: white name labels above animals: this was caused by also setting the global npc name,
      now the name is saved only in the Animal Breed Master database.
      To clear the global names all at once, all server admins and singleplayers have to execute
      the following chat command:


      /abm clearnames


      After a restart the white name tags should be gone. There can be some remains when the world part
      with the containing animal(s) was not loaded yet.


    Wichtiges Update!


    Neue Version: V0.60:

    • ACHTUNG! Interaktionsmechanik geändert!
      Ab sofort muss jede Aktion mit der Interaktionstaste (Standard: Taste <F>) ausgelöst werden!
      Mit anderen Worten: Mit entsprechendem Gegenstand in der Hand auf das Tier zugehen
      und Taste <F> drücken
    • menschlichen NPCs sind nun ausgenommen
    • Fehler behoben: weiße Namensetiketten über den Tieren: verursacht dadurch, dass der Name global gesetzt wurde.
      Jetzt wird der Name nur noch in der Animal Breed Master Datenbank gespeichert.
      Um die globalen Namen zu löschen, müssen alle Server-Admins und Einzelspieler folgenden Chat Befehl ausführen:


      /abm clearnames


      Nach einem Neustart sollten die weißen Namensetiketten verschwunden sein. Es können noch Überreste bestehen, wenn
      der Teil der Welt mit den entsprechenden Tieren noch nicht geladen war.

    Hi @JohnnyDew!


    Das mit den schnurstracks Geradeauslaufen hat mich auch schon gewundert. Zur Zeit kann ich da nichts gegen unternehmen. Erstmal die folgenden Hotfixes abwarten (ich sehe gerade, dass eines heute Abend kommt), ob die Besserung bringen.


    Wenn man "locknpc" auf ein gezähmtes Tier anwendet, funktioniert's lustigerweise.


    Ich kann momentan nur empfehlen, auf die experimentellen "Dummy"-NPCs zu verzichten oder das Plugin - so wie du es schon probiert hast - vorerst aus dem Ordner zu nehmen. Tiere kann man sich ja auch so spawnen lassen mit "spawnnpc pig" z.B. (mittlerweile hat wohl jeder Übung mit diesem Befehl :) )

    Hi @Jon_miner!


    It is intended. In this plugin is a strict distinction between user commands and admin commands.
    Therefore it is not allowed to use the same command name for both user and admin branch.


    /abm warphome all|ID: "warphome" is the command name, this "all" or "ID" is the command parameter.
    I choosed /abm warpallhome as admin command name to differentiate the meaning of the action: With this command the position of all tamed animals in the whole world will be reset (not only per user).


    And because an admin is still a user, the admin is able to recall all own animals (not all in the world) home by using /abm warphome all.



    Never Mind.... LOL I thought it read "war phome" not "warp home" my bad!

    Answered before this edit! Ok, perhaps I rename the commands in a future update! ;) "sendhome" or "recallhome" or so?


    (I choosed "warp" because I recently watched some Star Trek TNG episodes. ENGAGE! :D )