Bei allem hast du recht. Aber wer sich einfach so offensichtlich an Dingen bedient, die nicht einem selbst gehören, hat es auch nicht anders verdient.
Beiträge von dennismitzwein
-
-
Habe ich nicht überlesen, wollts dennoch gesagt haben
-
Ja stimmt. Es ist Müll etwas zu kritisieren, was einfach völlig offensichtlich copy paste ist. Am Besten sollte man gar nichts mehr kritisieren. Interessiert ja eh keinen.
-
<link href="https://gta-mp.net/assets/style/bootstrap.css" rel="stylesheet">
<link href="https://gta-mp.net/assets/style/font-awesome.min.css" rel="stylesheet">
<link href="https://gta-mp.net/assets/style/jquery.jscrollpane.css" media="all" rel="stylesheet" type="text/css">
<link href="https://gta-mp.net/assets/style/main.css" rel="stylesheet">
<link href="https://gta-mp.net/assets/style/index.css" rel="stylesheet">
<link href="https://gta-mp.net/assets/style/vmp_essential.css" rel="stylesheet">cuz thei hev sweg and thei ar kaliti so fancy lel
Ernsthaft: entweder trollen die oder die sind tatsächlich total unseriös. Die haben sogar unseren Analytics Code drin.
-
"I'm pretty excited about these other mods! - You should be, but don't get your hopes up. Some mods are just out there to make money, and charge people for something as simple as owning a server. It's Okay to jump on a bandwagon!, but you should be careful. "
Ahja okay.
Trotzdem finde ich es sehr interessant was dort geschrieben wurde, vielleicht klappt es ja doch
Die können so viel privat entwickeln wie sie möchten, spätestens mit der ersten Welle an Aufmerksamkeit sind die genauso weg wie alle anderen.
-
Dieser Post ist eine Übersetzung meines Posts aus dem englischen Forum: https://community.nanos.io/ind…-communication-explained/
Hallo zukünftige nanos JC3:MP Serverbesitzer und Scripter!
Heute möchte ich mir die Zeit nehmen und euch erklären, wie die Kommunikation zwischen unterschiedlichen Packages, dem Client und der CEF-Integration funktioniert. Jedoch wird sich vermutlich bis zum ersten "richtigen Release" (sprich nicht STP1) noch einiges ändern, besonders in Bezug auf die Client <> CEF-Kommunikation.
Ich habe euch ein Diagramm gemalt, das den kompletten Kommunikationsfluss darstellt:
Das sieht zu erst vielleicht nach viel aus, ist es aber eigentlich gar nicht. Ich werde euch nun das Diagramm in kleineren Teilbereichen erklären.
Inter-Package Kommunikation
Bei der Inter-Package Kommunikation handelt es sich um den Informationsfluss zwischen mehreren verschiedenen Packages innerhalb einer Applikation, also Server Package <> Server Package oder Client Package <> Client Package.
Bei nJC3:MP wird dazu das selbstentwickelte Event-System verwendet:- events.Add(String name, Function handler) um auf ein bestimmtes Event zu reagieren
- events.Call(String name, args...) um ein Event mit den gegebenen Argumenten aufzurufen
Wie bereits erwaehnt erlauben diese beiden Funktionen nur einen Informationsfluss zwischen zwei Packages innerhalb der selben Anwendung. Das Event-System ist nicht an irgendeine Programmiersprache gebunden. Das Event System wird auch intern bei JC3:MP verwendet. Einige dieser Events werden auch an das Scripting weitergegeben:CodeClientConnected, ClientDisconnected, PlayerCreated, PlayerDestroyed, PlayerRespawn, PlayerDeath, ChatMessage, ChatCommand
Das sind jetzt nicht alle Events, aber das ist mal eine grobe Übersicht. Eine Liste mit allen Events wird soon(tm) auf das scripting-docs repo hochgeladen.
Kommunikation zwischen Server und Client
Ich hoffe ihr habt inzwischen das Event-System nicht komplett verdrängt. Wir werden es jetzt in leicht abgewandelter Form erneut betrachten:
Wir sehen, das Event-System wird erneut verwendet, nur mit anderen Funktionen:- Um auf ein vernetztes Event zu reagieren wird events.AddRemoteCallable(String name, Function handler) verwendet.
- Um vom Server aus ein Client-Event (was über oben genannte Funktion gehandhabt wird) aufzurufen, wird events.CallRemote(String name, Player target(null = an alle), args...) verwendet
- Um vom Client aus ein Remote-Event im Server aufzurufen wird events.CallRemote(String name, args...) verwendet.
Wie bereits gesagt kann mit CallRemote nur ein Event aufgerufen werden, das ueber AddRemoteCallable registriert wurde.
Kommunikation zwischen dem Server und CEF
Ha! Das geht nicht. Wer sich das Diagramm angeguckt hat wird gemerkt haben, dass diese Art von Kommunikation nicht möglich ist, das der Server keinen direkten Einfluss auf CEF haben soll. Das war eine bewusste Entscheidung bei der Entwicklung unseres Frameworks.
Kommunikation zwischen dem Client und CEF
Die derzeitige Kommunikation zwischen diesen beiden Komponenten ist wie erwähnt noch nicht zu 100% fertig und wird sich vermutlich noch ändern.- CEF kann from Client aus mit invokeCEF(String eventName, String data) aufgerufen werden.
- CEF kann auf eingehende Events mit addEventHandler(function(String eventName, String data) {}); reagieren.
- Client-Packages können von CEF aus mit invoke(String eventName, String data) aufgerufen werden.
- Das Client-Package kann eingehende Events von CEF über events.Add('CEFCommand', function(String eventName, String data) {}); handhaben.
Derzeit ist es nur möglich, Strings umherzuschicken. Der interne workaround für das ist derzeit, einfach alles mit JSON.stringify zu encoden und anschliessend auf der anderen Seite JSON.parse zu verwenden.
Zeit für Beispiele!
Ich habe für jedes der genannten Szenarios (+ ein Beispiel für Server <> Client <> CEF) Beispiele erstellt. Ihr könnt sie hier bewundern: jc3mp/communication-explained
Das jc3mp/server-default-package und jc3mp/client-default-package zeigen auch ein funktionierendes Beispiel der Kommunikation zum Linksklick-Spawnen von Objekten.
Fragen?
Antworten kriegst du so schnell wie moeglich hier im Thema. -
Schade, das Finale am Ende wäre ein netter Abschluss geworden.
-
Wieso zum Teufel findet das Finale eigentlich vor dem Spiel um Platz 3 statt? Soll das Finale nicht das abschließende Highlight sein?
Der Strem heute Abend wird aufgrund spontaner Ausfälle aller Voraussicht nach ausfallen.
Ach man
-
Ich bin der Meinung, dass die prozentualen Anteile nicht so weit auseinander liegen sollten, einfach um die Leistungen der anderen Teams gerecht zu würdigen. 60/30/10 ist da in meinen Augen eine vollkommen gerechte Verteilung.
-
Wenn du so denkst kannst du auch gleich 100/0/0 machen. Es ging mir nur um eine gerechtere Verteilung. Das Hauptaugenmerk bei der Gewinnverteilung soll zwar bei den Gewinnern liegen, aber dennoch sollten die anderen nicht zu kurz kommen; immerhin haben die auch ihre Leistungen gebracht und das sollte man an der Stelle auch würdigen.
Sprich das doch am Besten mit den Teams ab. Faire Spieler setzen sich ohnehin für eine gereche Verteilung ein.
-
Ich finde 60/30/10 besser. Meiner Meinung nach sollten die Gewinner sich in den Gewinnen nicht zu heftig von den zweiten unterscheiden, da es in meinen Augen weniger um die Gewinne als um den Spaß an der Sache gehen sollte.
-
Hier mal eine PDF, die Justus vor einiger Zeit erstellt hat: https://cloud.jusonex.net/public/AufdemWegzumSelfmade.pdf
Da sind auch ein paar Erfahrungen aus unseren vergangenen MTA Projekten mit eingeflossen.
-
Wir haben für das deutsche Forum mal einen Discord Channel auf dem Nanos.io Discord Server eingerichtet
-
Die meisten Lackierer geben diese summe als Roundabout an.
Lackierer können die Ersatzteilkosten allerdings schlecht einschätzen, daher ist ein Kostenvoranschlag einer Werkstatt anzuraten.
-
Ist aber nur grob geschätzt, soviel kostet es bei meinem Unfall instandsetzer.
Das ist aber eine sehr wage Aussage. Ohne die ungefähren Ersatzteilpreise dieses Fahrzeugs zu kennen ist die Einschätzung von Lack+Teil quasi unmöglich. Grobes schätzen hilft da nicht; die Kosten mancher Teile können am Ende eine böse oder eine gute Überraschung darstellen.
Ich würde an deiner Stelle einen Kostenvoranschlag bei der Werkstatt deines Vertrauens anfertigen lassen. Die meisten Werkstätte verlangen dafür einen kleinen Obolus, allerdings meistens auch nur, wenn du es am Ende nicht dort reparieren lässt. Mit dem Kostenvoranschlag hast du schonmal einen gewissen Überblick über das, was auf dich zukommen kann.
-
Laut Profil ist er auch 26. Naja hi.
-
:facepalm:
Habe ich bei dem:
Ein Redakteur muss kreativ sein, wenn wir jedem sein Themengebiet nennen sollen, hat der Redakteur ja 0 Eigeninitiative. Das Genre "Horror" - mehr sage ich dazu nicht.
auch gedacht.
Zumindest ein wenig mehr Informationen wären angebracht. Du wirfst hier einfach ein paar Zahlen und ein viel zu breites Themengebiet ohne Beispiele in den Raum. Du suchst Redakteure und keine Schamanen.
-
Einige Beispiele in Bezug auf Themengebiete wären trotzdem nicht falsch
-
Wie kann ein Team beim Start variieren? So halbe Sachen wirken arg schwammig. Entweder man besteht aktuell aus 6, aus 7, aus 8 oder aus 9 Mitgliedern, aber 6-9 ist nichts halbes und nichts ganzes.
Allgemein ist der Informationsgehalt jetzt nicht das Wahre. Dennoch viel Glück mit eurem kostenlosen Angebot.
-
Wenn jemand unbedingt seine Serverwerbung posten möchte, ist er sicherlich bereit binnen kürzester Zeit 100 völlig sinnfreie Spam Beiträge in das Forum zu klatschen, nur damit er seine Werbung posten kann. Das nervt vermutlich nicht nur die Mods, die dann die Beiträge wieder entfernen dürfen, sondern sicherlich auch ein paar Nutzer, die den Käse lesen und dementsprechend melden.
Die Voraussetzung mit den 3 Wochen finde ich so optimal: durch diese Maßnahme registrieren sich zum Einen -so denke ich- relativ wenige Nutzer nur wegen der Werbung und zum Anderen wird bereits genannter Spam weitgehend vermieden, da der Nutzer nicht zwangsweise an eine bestimmte Beitragszahl gebunden ist (obwohl zumindest ein wenig Aktivität in Bezug auf das Ansehen des Nutzers und somit auch der Werbung förderlich wäre).