Beiträge von zM4xi

    Grundsätzlich bin ich kein Freund davon Software unter Druck zu entwickeln weil Fehler vorprogrammiert sind besonders wenn man selbst noch "lernt"!

    Ich habe zwar selbst noch nie mit Python gearbeitet aber eine vollständige Anwendung mit User Verwaltungssystem sowie einer Hauptfunktion die es in sich hat, würde ich normalerweise einen wesentlich längeren Zeitraum einplanen.


    2 Wochen ist ein verdammt knackiger Zeitraum für das was es können soll!

    Ich denke nicht die Frage sollte lauten wie viel würdet Ihr verlangen, sondern ist es überhaupt in 70 Stunden pro Woche möglich. Da aufgrund des sehr engen Zeitplans die Wahrscheinlichkeit sehr hoch ist das der Preis gedrückt werden wird aufgrund von Verzögerungen. Würde ich etwa einen Stundensatz von min 40 € empfehlen.


    Das wiederum wäre im unteren Bereich zwischen 5K - 10K

    Leider habe ich nie Packets verwendet. Zumindest nicht so das ich dir sagen könnte was es fordert als byte aber nach einer kurzen Google Suche fand ich das hier:

    Ist aus einem Tutorial Video von GerVobis und du solltest das nicht einfach kopieren sondern dir hiermit erschließen wie man das Ganze verwendet:

    Code
    1. public byte getFixRotation(float yawpitch){
    2. return (byte) ((int) (yawpitch * 256.0F / 360.0F));
    3. }

    Ich denke damit kann man ganz gut verstehen wie das Packet verwendet wird.

    Versuchs mal mit dem PacketPlayOutEntityHeadRotation Packet sollte das sei was du suchst


    Ich weiß nicht ob es dein Ziel ist die NPC einfach fest in eine Richtung schauen zu lassen, aber wenn du eh schon jedem Spieler so einen NPC spawnst mach doch das er immer den Spieler anschaut.

    Find ich besser als wenn z.B. der Schmied nur dumm in die Luft starrt und mich nicht anschaut.

    Ich meine das würde über das Target gehen :|

    Falsches Forum! (Entwickler Forum)


    Die Config schon überprüft?

    Außerdem wäre es nicht sinvoller den "Bug" beim Entwickler zu reporten? Weil wir können damit, selbst wenn es tatsächlich ein Bug wäre, einfach garnix anfangen.

    OK da es meine erste Electron-App ist hab ich einfach mal jede menge gegoogelt und schließlich ein recht hilfreiches Tutorial gefunden. Habs mal verlinkt für zukünftige Suchende :D


    Dadurch habe ich erstmal die Verbindung hergestellt das IPC eines der Hauptmerkmale ist zum arbeiten zwischen Main und Renderer Thread. Nun funktioniert das erstmal so. Und sogar sehr schön.

    Was aber auch interessant klingt sind deine zwei Lösungsansätzte, einmal über nen Webserver oder über das Frontend Framework. Vue.Js hatte ich schon mal im Auge, hatte aber damals nicht so den Sinn dahinter gesehen, aber jetzt mit Electron macht das ganze in meinen Augen um einiges mehr Sinn.


    Werde ich mir bei Gelegenheit mal nochmal genauer anschauen.


    Danke für die Hilfe und die Denkanstöße :D

    Hallo Leute,


    ich arbeite gerade an einer Desktop App, wobei ich das Framework Electron benutzte. Soweit so gut. Allerdings ist das das erste mal, das ich aktiv mit NodeJS arbeite und habe einige Logik Fragen.


    Zunächst ist mir ein Problem aufgefallen was den grundsätzlichen Aufbau der Anwedung betrifft.

    Und zwar wie baut man so eine Anwendung vom HTML her grundsätzlich auf ist alles wasa in der Anwendung existiert in einer Datei und ich belnde dann einfach das entsprechende ein oder nutzt man normallerweise verschiedene HTML Dateien.


    Solle bei der vorherigen Frage letzteres zutreffen, stellt sich mir die Frage wie greife ich vom JavaScript auf NodeJS zu? Ich verstehe grundsätzlich nicht wie kann ich z.B. eine neue HTML File in die Anwendung laden wenn ich einen Button drücke. Da NodeJS sozusagen serverseitig ist und alles andere JS nicht stellt sich die Frage wie greife ich darauf zu?


    Auch ein Problem, das mir Kopfschmerzen bereitet sind JS Libarys (z.B. Toastr oder ChartJS) wenn ich sie über HTML <script> importiere funktionieren sie manchmal oder auch nicht jQuery und Bootstrap funktionieren so. Wenn ich aber Toastr über diese Methode importiere weiß JS auf einmal nicht was das ist und erkennt es erst wenn ich es mit NPM installiere? Warum das?

    Ich habe mir mal das Blut von meinen Augenlidern gewischt und glaube ich verstanden was du vorhast. Aber du verstehst da glaube ich was falsch wie Threading funktioniert bzw Delayed Execution !


    Also hier mal wie sowas in etwa funktioniert. (KEINE FUNKTIONS GARANTIE)



    Wie du die Scheduler angewendet hast wäre folgendes passiert. Aufgrund der von JustD3v erwähnten Schachtelung der Runnable hätte es nach 20 Ticks die erste Runnable ausgeführt nach weiteren 20 Ticks die 2te und nochmals nach 20 Ticks die Dritte. Die letzte wäre dann nach 60 Ticks ausgeführt worden. Und das war vermutlich ja nicht dein Ziel, sondern sobald der "Cooldown" abgelaufen ist hat er wieder Zugriff zum Jetpack!

    Hab mich mal etwas durch gelesen und sieht echt genial aus werde das mal austesten was man so damit machen kann. Leider ist es für meinen Zweck etwas "übermächtig" da ist so viel Zeug drinnen das ich überhaupt nicht brauche.

    Da das ganze sowieso in ein anderes Plugin integriert werden soll. Möchte ich das so simpel wie möglich halten. Ich muss zum Beispiel Sachen wie IfElse Conditionen oder GameMode Conditionen garnicht handhaben.


    Aber an sich nutzt er ja ein ähnliches Konzept wie ich oben schon als Idee hatte

    Code
    1. private static HashMap<ConditionID, Condition> conditions = new HashMap<>();

    Dann werde ich wohl das mit der vererbten Klasse machen. Ist sowieso die elegantere Methode :D
    Danke an alle die Ideen eingebracht haben


    :closed

    Die Idee mit den Events über die Quests zu regeln gefällt mir sehr. Werde ich vermutlich auch so einbauen

    Danke für den Tipp darauf wäre ich so schnell wohl nicht gekommen, echt hilfreich noch eine andere Sichtweise zu haben :D

    Hey Leute,


    ich wollte schon öfters eine Art Quest Plugin schreiben bin aber meistens am WIE der Quest Klasse gescheitert oder habe nach Stundenlangem Kopfzerbrechen aufgegeben.

    Nun mein Problem ist es die Quest Klasse richtig aufzuziehen, sodass ich sie individuell für die verschiedensten Quest Typen nutzen kann.


    Beispiel: Es gibt Quests zum Sammeln von Items, zum Abbauen von Blöcken oder einfach zum Töten eines gewissen Monsters!

    Nun stellt sich die Frage wie stelle ich das am Besten an :D


    Einige Felder die mehr kosmetisch sind, wären schon gegeben:

    Code
    1. private String client, description;
    2. private int repeats, reward;

    Nun habe ich mir überlegt es wäre eine Art Bedingungs Liste praktisch, welche Steps die Quest hat bzw. erfüllt werden müssen.

    Allerdings müsste man gleichzeitig z.B. die Menge der gesammelten Items oder getöteten Monster speichern können.


    Ich dachte da an sowas in der Art: :/

    Code
    1. private int currentStep = 0;
    2. private Hashtable<Object, Integer>[] questProgress;
    3. public int getProgress(Object condition) {
    4. return questProgress[currentStep].get(condition);
    5. }

    Das ist allerdings nicht gerade sehr elegant.


    Meine andere Lösung wäre folgendes:

    Ist auch nicht gerade das schönste aber es erfüllt den Zweck.

    Ich hätte gerne euere Meinung welche der oben genannten Methoden die "Elegantere" ist oder vielleicht habt ihr ja auch einen ganz anderen Ansatz

    Also wenn jemand ne andere Idee hat oder nen Vorschlag freue mich über beides :D

    Nein, nein für Zukünftige Problemvermeidung! xD Hast du schonmal deinen PC restartet irgendwie klingt es seltsam das dein Client immernoch crasht OBWOHL die Welt gelöscht wurde. Meine Vermutung die Welt steckt noch in deinem RAM und auch wenn die Welt aufm Server nicht mehr da ist könnte es sein das der Client zunächst versucht die bereits geladene Welt zu nutzen. KEINE Garantie darauf aber nen Versuch is es Wert :D

    Das hat nix mit dem Plugin zu tun. Manche "Crasher" Clients sind in der Lage "Holograme" zu spawnen. Wenn es sich hierbei wirklich um ein Hologram handelt kannst du dich nur dagegen wehren indem du das Spawnen von Entitys verhinderst! Meistens sind das Armorstands

    Du hast den Befehl nicht in die plugin.yml eingetragen!


    Code
    1. name: PluginName
    2. version: x.x
    3. author: Melone
    4. main: package.path.mainclass
    5. commands:
    6.     befehl:
    7.         description: Befehlsbeschreibung
    8.         usage: /<command>

    Ich schreib das jetzt einfach mal auch wenn es vielleicht nicht gut ankommen wird, aber es hilft nichts hier ewig drumherum zu reden!


    Melone Dir fehlen grundlegende Kenntnisse in Java und das ist auch OK, Programmieren ist ein ständiger Lernvorgang, aber Sachen wie das hier:

    bei mir kommst das ein Fehler beim Regestrieren


    Code
    1. Bukkit.getPluginManager().registerEvents(new TextComponentBuilder(),this);

    und muss ich da meim Command eingeben

    Code
    1. public enum ClickEventType {
    2. RUN_COMMAND, SUGGEST_COMMAND, OPEN_URL

    sollte man draufhaben bevor man beginnt eigenständig zu entwickeln. Bitte vertiefe deine Kenntnisse, sowohl in Basic Java als auch in der Spigot API und mach einige Übungen.


    Um dir hier etwas konstruktive Kritik zu geben, erkläre ich dir mal was du falsch verstehst in diesem Fall!


    Die Klasse die ByteValue dir geschickt hat ist weder ein Befehl noch ein Event. So etwas nennt sich Util-Klasse welche im Allgemeinen dazu verwendet wird, sich wiederholenden Code einzusparen.

    Was du brauchst ist ein CommandExecutor welchen du dann als Befehl registrierst. Innerhalb der Befehlsklasse kannst du dann prüfen ob der Befehl stimmt oder ob der Spieler Rechte dazu hat und ihm dann die gewünschte "Interactive" Nachricht zu schicken.


    Das Ganze sieht dann etwa so aus:

    So macht man einen Befehl mit der Bukkit/Spigot API eigentlich simpel oder? Mit ein wenig Übung bringt man sowas irgendwann ohne nach zu lesen hin :D


    Also ich hoffe dein Missverständnis ist geklärt


    Grüße

    Maxi

    dass es auch die Möglichkeit gibt mit Blueprints zu arbeiten (sowas wie Scratch für Unreal)

    Das kenne ich auch aber ehrlich gesagt finde ich das einfach 500x mal verwirrender, als einfachen Code xD


    Nun mal ein kleines Update:


    Ich habe jetzt gestern ein kleines Spiel gemacht indem man einfach nur als Block andere Blöcke einsammelt :D War ganz lustig und hat auch soweit gut funktioniert.

    Ich hab dann mal versucht den Block (Spieler) durch ein Standard Asset Model (Person) zu ersetzten aber das hat dann nicht so gut funktioniert wie gewollt.


    Außerdem frage ich mich nun nachdem Beenden der Tutorial Reihe, ob Unity überhaupt so wirklich für ein Open-World Spiel geeignet ist. Ich wollte eigentlich so eine Art RPG Game machen mit Monstern etc. Und dabei würde ich gerne möglichst irgendwelche Ladeübergänge in der Welt vermeiden. Und so wie Unity aufgebaut ist mit den verschiedenen Szenen, scheint es mir mehr so als wäre es eine Art Quick Game Maker. Um so Spiele zu machen die derzeit alle App-Stores überfluten! Schnell einfach und mit InGame Shop!


    Natürlich könnte man sich auch nur auf einer Szene bewegen aber das würde extrem die Performance fressen. Naja ich beschäftige mich heute mal mit der Terrain Engine in Unity vielleicht ändert sich ja mein erster Eindruck. :D


    Danke übrigens für alle Nachrichten und Erfahrungen :D

    Ich habe ein Gebäude Stockwerk mit Blender gebaut(Zimmer, Öffnungen für Türen). Aber nur ganz simpel,

    Und da denke ich liegt mein Problem ich kann sowas nicht, ich würde mich was Programmieren angeht inzwischen als Profi oder zumindest Fortgeschritten bezeichnen aber Grafisches Designen, Models erstellen etc. das kann ich mal so garnicht xD

    JD1992 hast du da für mich irgendwelche Empfehlungen wie man sowas lernt ?


    Nun ich habe gestern dann den Kanal "Brackeys" (Englisch) gewählt und das Tutorial war auch sehr ausführlich und gut erklärt. Also für Leute die das später mal Lesen kann ich nur empfehlen.