Beiträge von blackfisch
-
-
license_SEITE_NAME = true wäre das einfachste wie dus formulieren kannst in der itemuse
-
nur so am rande das wird so nicht funzen, aber ich werde es für euch nochmal hübscher machen
meinen Code kannst du gerne mal testen, der dürfte funktionieren

-
werden die Spielerzahlen wieder steigen.
Aber nicht in Arma 3
Wird sich zeigen... Arma 2 bietet schließlich auch bis heute eine Plattform für Spieler 
-
Das sehe ich wiederum als Problem: die Möglichkeit für jeden - Verzeihung - Vollidioten einen Server zu erstellen, ohne Kenntnisse zu haben. Das macht Arma kaputt. Du hast diese 20.000 Server, geführt von 13-jährigen und zusammengeschustert aus Tutorials aus dem Native- und Nitrado-Forum. Scriptkenntnis = 0, nicht einmal das wissen wo die Logs liegen ist vorhanden aber der Server muss live sein. Dazu von überall zusammengeklaute Skins.
Die Bewegung der Obfuscation ist in meinen Augen kein besserer Schritt - eher ein Rückschritt. Statt Source-Codes nur noch EBO's und Fehler beim öffnen, im Idealfall noch so abgehobene Menschen deren Mods absolut für den Hintern sind aber selbst Config-Änderung von z.B. Damage-Werten verbieten (*hust* Maxjoiner).
Im Aspekt Performance kann ich dir jedoch nicht zustimmen - Performance ist abhängig vom dem, der es coded. Läuft alles im Client gibt es Performance Probleme, im Server auch. Dafür gibt es den Headless Client und Runtime-Optimierungen (z.B. FSM statt while-true-Schleifen usw) die wirklich was bringen (Beispiel - Aktuell in der Entwicklung v2.0 bei uns: früher in der Hauptstadt ~30-60 FPS direkt nach dem Spawnen, mittlerweile ~50-120 je nach Rechner). Dank dem 64-bit Update hat sich da schon einiges gebessert.
Arma ist und bleibt als Serverbetreiber eine Herausforderung, sogar größer denn je. Dennoch können positive Schritte immer noch auch von der Community belohnt werden in Form von hohen Spielerzahlen. Leider ist für die meisten mittlerweile der Aspekt "viele Spieler" wichtiger geworden als "ausgereiftes Konzept" - ich möchte keine Namen nennen, aber es gibt genügend größere Server die sich eigentlich in keiner Form abheben vom Einheitsbrei der Altis-Server (außer vielleicht durch 1-2 Mods), dennoch 40-60 Spieler täglich haben, einfach weil Masse da ist (ausgenommen wenige wie ReallifeRPG, bei denen auch ein Konzept da ist und in meinen Augen stimmig ist). Da wird nicht viel gefragt sondern einfach stur und schweigend konsumiert - Quantität über Qualität ist in meinen Augen ein großes Problem der heutigen Arma Community. Aus eigener Erfahrung kann ich hier sagen, dass meistens einfach auch die Leistung des Teams nicht gesehen und/oder gewürdigt wird. Ständige "wann kommt jenes"-Fragen und halbwissende "macht das doch mal so und so"-Erklärungen sind da noch das unterste der Gefühle.
Die Arma Community ist einfach recht abgestumpft und teils sogar "respektlos" (wenn man das so sagen kann) geworden. Man muss als Serverbetreiber einfach wirklich "hoffen", die richtigen Spieler auf dem Server zu haben. (Auch da kann ich von einigen Negativbeispielen berichten, nicht wahr N1NX_13 du Tussi?

) -
irgendwie finde ich das unübersichtlicher xDAußerdem ist das eine if-then mit exitWith

-
Eh.... DerL30N ?
Das wird weder funktionieren noch die execution time senken xDwarum?
- Nested Switch -> Längere Execution - WARUM? Das ist absolut hirnrissig was du da tust
Sorry - der isKindOf Befehl funktioniert so nicht
Du kannst den Befehl net neu erfinden xD
- Nested Switch -> Längere Execution - WARUM? Das ist absolut hirnrissig was du da tust
-
Eine potenzielle Schließung ist aktuell weder angedacht noch denkbar für uns

-
Einen "Masterplan" gibt es aktuell nicht. Letztlich werden wir demnächst ja zunächst den News-Bereich wieder einführen, was folgt wird die Zukunft bringen. Aussterben wird Arma vorerst sicher nicht, dann noch die wage Ankündigung eines Nachfolgers durch Creative Director Jay Crowe - es wird sich da sicher noch was ergeben

-
als ob dir diese 0.01ms nen Unterschied machen wenn der Spieler eh im Deathscreen ist xD Durch deine if da runter machst du diese "Performance" wieder rückgängig quasi, weil du dadurch ne unnötige Abfrage hast
wenigstens das Parsen würde ich in der exitWith machen 
-
Matthias Burns du musst dich ja nicht dazu äußern, geht hier ja einfach nur mal generell drum mal ne Plattform dafür zu schaffen drüber zu reden, statt das wieder unter Servervorstellungen auszutragen diese Diskussion
-
Ich hab das jetzt ehrlich gesagt erstmal nur überflogen, da ich nebenbei grade noch privat was zu tun habe, aber für mich ist das immer so ein zweischneidiges Schwert...
Klar - das Team muss strukturiert sein, einfach um den Spielverlauf gewährleisten zu können, das steht außer Frage. Ein Server mit einem Team, wo alles drunter und drüber geht, jeder keift sich an und Admin-Abuse gehört zum Alltag geht schief. Das ist aber auch eine Frage der Kompetenz in meinen Augen. Ein Team, welches diesen Anforderungen nicht gerecht wird, wird sich früher oder später selbst das Genick brechen.
Der Aspekt des Spielens ist da für mich komplexer. Grundsätzlich ist mir erstmal egal, wo der Content her kommt. 100% alles selbst geschrieben hat kein Server - das hängt einfach auch mit der Sache mit dem Rad neu erfinden zusammen.... Abändern, anpassen, verbessern sind die Punkte. Für mich ist als Spieler wichtig, dass ich ein ausgewogenes Maß zwischen Optik (Map, Skins), Roleplay und Technik (Scripts etc) geboten bekomme. Ein voll gescripteter Server ohne Spieler und/oder gutes Roleplay ist absolutes No-Go, ein Server mit vielen Spielern und wenig Systemen für mich wiederum nichts besonderes. Klar ist nichts schlimmes daran, wenn anfangs noch nicht so viel eigenes dabei ist, aber irgendwie muss man sich abheben. Und das geht am besten über innovative Ideen.
In meinen Augen gibt es keinen Grund, mit einem (so gemein es klingt) nur aus Tutorials zusammengeschusterten Server oder gar komplett ohne Entwickler einen Server public zu machen. Da lieber bleibt man in meinen Augen einen Monat länger offline und baut zumindest das eine oder andere nette Gimmick ein

Man muss einfach versuchen das Maß zu finden und sollte sich im Voraus deutlich überlegen, wie man sich abheben möchte. Dazu benötigt man einfach ein mal anderes Konzept mit mal anderen Funktionen - sonst fehlt für mich als Spieler der Anreiz genau dort zu spielen.
-
-
https://github.com/AsYetUntitled/…ster/LICENSE.md -> Lizenztechnisch darfst du das eigentlich nicht ändern

-
Soweit ich weiß ist das Nicht erlaubt von BI und auch gewisser weiße Illegal
meine ich auch, dass das direkt per EULA verboten ist
-
Naja, der Dialog muss halt einfach korrekt sein (kann ich jetzt so aus dem Stegreif nicht sagen, aber mit der Inheritance is einfacher
) -
Infistar hat seine Vorteile, trotzdem würde ich eher das Admintool von allianceapps empfehlen.
Naja, Vorteile
Trolltool
Ich glaube ich werd da irgendwann nochmal nen Thread zu aufmachen
kann man sicher gut drüber diskutieren 
-
Alles anzeigen
call {
if (_mode isEqualTo "killed") exitWith {
if (!isNull _vehicle) exitWith {
_vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName");
if (_vehicle isKindOf "Car") exitWith {
_deathmsg = format ["STR_NOTF_Murdered_Car_%1",(round(random (1)))];
};
if (_vehicle isKindOf "Air") exitWith {
_deathmsg = format ["STR_NOTF_Murdered_Air_%1",(round(random (2)))];
};
if (_vehicle isKindOf "Ship") exitWith {
_deathmsg = format ["STR_NOTF_Murdered_Ship_%1",(round(random (1)))];
};
};
if (isNull _vehicle) exitWith {
_deathmsg = format ["STR_NOTF_Murdered_%1",(round(random (3)))];
};
};
if (_mode isEqualTo "copkill") exitWith {
if (!isNull _vehicle) exitWith {
_vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName");
if (_vehicle isKindOf "Car") exitWith {
_deathmsg = format ["STR_NOTF_Copkill_Car_%1",(round(random (1)))];
};
if (_vehicle isKindOf "Air") exitWith {
_deathmsg = format ["STR_NOTF_Copkill_Air_%1",(round(random (2)))];
};
if (_vehicle isKindOf "Ship") exitWith {
_deathmsg = format ["STR_NOTF_Copkill_Ship_%1",(round(random (1)))];
};
};
if (isNull _vehicle) exitWith {
_deathmsg = format ["STR_NOTF_Copkill_%1",(round(random (2)))];
};
};
if (_mode isEqualTo "suicide") exitWith {
if (!isNull _vehicle) exitWith {
_vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName");
if (_vehicle isKindOf "Car") exitWith {
_deathmsg = format ["STR_NOTF_Suicide_Car_%1",(round(random (2)))];
};
if (_vehicle isKindOf "Air") exitWith {
_deathmsg = format ["STR_NOTF_Suicide_Air_%1",(round(random (3)))];
};
if (_vehicle isKindOf "Ship") exitWith {
_deathmsg = format ["STR_NOTF_Suicide_Ship_%1",(round(random (1)))];
};
};
if (isNull _vehicle) exitWith {
_deathmsg = format ["STR_NOTF_Suicide_%1",(round(random (4)))];
};
};
};Warum schreibst du das so? Da kannst du einiges einfach auslagern und vereinfachen... Allein das in nen call zu schreiben und quasi 2x die switch zu machen für den Message Broadcast ist doch sinnfrei
Einmal ne switch und bisschen aufräumen - sieht gleich besser aus und tut das gleiche (-> Code nicht getestet, nur aufgeräumt! Sollte aber zu 95% funktionieren wenn nirgendwo eine Klammer fehlt
)C
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_deathmessage.sqf Author: moeck (lostonparadise.de) Revised by blackfisch for Native-Network.net Description: Random death messages */ params [ ["_mode","",[""]], ["_unitName","",[""]], ["_killerName","",[""]], ["_vehicle",ObjNull,[ObjNull]] ]; private _deathmsg = ""; private _vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName"); switch _mode do { case "killed": { if (!isNull _vehicle) then { if (_vehicle isKindOf "Car") exitWith { _deathmsg = format ["STR_NOTF_Murdered_Car_%1",(round(random (1)))]; }; if (_vehicle isKindOf "Air") exitWith { _deathmsg = format ["STR_NOTF_Murdered_Air_%1",(round(random (2)))]; }; if (_vehicle isKindOf "Ship") exitWith { _deathmsg = format ["STR_NOTF_Murdered_Ship_%1",(round(random (1)))]; }; } else { _deathmsg = format ["STR_NOTF_Murdered_%1",(round(random (3)))]; }; _deathmsg = format [localize _deathmsg,_unitName,_killerName,_vehicleName]; }; case "copkill": { if (!isNull _vehicle) then { if (_vehicle isKindOf "Car") exitWith { _deathmsg = format ["STR_NOTF_Copkill_Car_%1",(round(random (1)))]; }; if (_vehicle isKindOf "Air") exitWith { _deathmsg = format ["STR_NOTF_Copkill_Air_%1",(round(random (2)))]; }; if (_vehicle isKindOf "Ship") exitWith { _deathmsg = format ["STR_NOTF_Copkill_Ship_%1",(round(random (1)))]; }; } else { _deathmsg = format ["STR_NOTF_Copkill_%1",(round(random (2)))]; }; _deathmsg = format [localize _deathmsg,_unitName,_killerName,_vehicleName]; }; case "suicide": { if (!isNull _vehicle) then { if (_vehicle isKindOf "Car") exitWith { _deathmsg = format ["STR_NOTF_Suicide_Car_%1",(round(random (2)))]; }; if (_vehicle isKindOf "Air") exitWith { _deathmsg = format ["STR_NOTF_Suicide_Air_%1",(round(random (3)))]; }; if (_vehicle isKindOf "Ship") exitWith { _deathmsg = format ["STR_NOTF_Suicide_Ship_%1",(round(random (1)))]; }; } else { _deathmsg = format ["STR_NOTF_Suicide_%1",(round(random (4)))]; }; _deathmsg = format [localize _deathmsg,_unitName,_vehicleName]; }; default { _deathmsg = format ["STR_NOTF_Murdered_%1",(round(random (3)))]; _deathmsg = format [localize _deathmsg,_unitName,_vehicleName]; }; }; [0,_deathmsg] remoteExecCall ["life_fnc_broadcast",RCLIENT]; //für neuere Versionen //[[0,_deathmsg],"life_fnc_broadcast",true,false] spawn life_fnc_MP; //für ältere Versionen -
aber die sache mit infiSTAR is ez...
Jop. Einfach weg mit dem scheiß

-
ACTIVE_TRADES pushBack [(diag_tickTime),[_trader,(owner _trader),_resource,_startValue,_moneySet,_tradeID,_trend]];
Arma is ne B1tch - versuch es mal so:
Code_time = diag_tickTime; ACTIVE_TRADES pushBack [_time,[_trader,(owner _trader),_resource,_startValue,_moneySet,_tradeID,_trend]];kann mir gut vorstellen, dass er das da irgendwie als Code rein schreibt xD