ich würde einen anderen Prozessor mit höherer Taktrate empfehlen.
DDoS bis 480GBit/s entspricht nicht der Bandbreite deines Servers.
Die Anbindung sollte 1GBit/s + betragen.
Beiträge von B4v4r!4n_Str!k3r
-
-
@AustrianNoob genau so würds ich auch machen.
@Larry Schranken sind ein Sonderfall, die kann man normal nicht zusperren. Du könntest jedoch mit einer Dauerschleife testen, ob die Schranke zugesperrt ist (Variable false oder true ^^) . Und falls sie zugesperrt ist, prüfen in welcher Animationsphase sie sich gerade befindet, sprich geschlossen, am Bewegen, oder offen. Und wenn sie sich bewegt oder offen ist, kannst du sie via Befehl wieder schließen lassen.
Edit: ich hoffe es ist verständlich, obwohl der Satzbau nicht der einfachste ist.
-
dann kenn ich mich jetzt nicht mehr aus. Du sagst, dass du
core\shops\fn_atmMenu.sqf (Icon Pfade geändert)
core\pmenu\fn_p_updateMenu.sqf (Icon Pfade geändert)schon geändert hast, aber wenn ich die aktuellste Github Mission durchsuche, finde ich keine andere Dateien, in denen ico_bank.paa und ico_money.paa vorkommt. Und das sind normal genau die richtigen!
-
Jetzt fehlen mir nur noch die beiden Icons für das Bankkonto & das Bargeld im Z-Menü.
die hast du doch schon:
oder kann es sein, dass du ein Custom z-Menü verwendest?
-
Icons im Z-Menü neben dem Bank-Guthaben & dem Bargeld.
Die Pfade hierfür werden in der mission/core/pmenu/fn_p_updateMenu.sqf festgelegt:
Code: fn_p_updateMenu.sqf_mstatus ctrlSetStructuredText parseText format ["<img size='1.3' image='icons\ico_bank.paa'/> <t size='0.8px'>$%1</t><br/><img size='1.2' image='icons\ico_money.paa'/> <t size='0.8'>$%2</t>",[BANK] call life_fnc_numberText,[CASH] call life_fnc_numberText];
einfach mal alle Dateien der Mission mit einem Editor nach ico_* durchsuchen.
-
Was für ein TUT war das hier denn?
wenn ich mich richtig erinnere, waren es die Rubbellose.
-
Also die Prüfung dürfte funktionieren
Code_text = "Hallo mein Name ist Klaus"; _is = ["Klaus",_text] call BIS_fnc_inString; hint format ["%1",_is];
Ergebnis: trueund nun das replacen geht eigentlich auch ganz einfach, da in Altis Life die KRON Strings schon eingebunden sind.
Das fertige Ergebnis ist dann: Hallo mein Name ist Peter
-
Wie ich gerade sehe ist die .dll Extension eine Mod die Server und Client benötigen. Ich teste das mal und schaue dann ob ich noch eine andere Lösung finde.
-
Abfrage ob ein Name in einem String vorkommt: https://community.bistudio.com/wiki/BIS_fnc_inString
["Klaus", "Hallo mein Name ist Klaus"] call BIS_fnc_inString // will return true
Ersetzen von Klaus durch Peter: http://killzonekid.com/arma-scripting…replace-how-to/
Beispiel:
_result = "regex_replace" callExtension "/Klaus/Peter/Hallo mein Name ist Klaus";
-> _result = "Hallo mein Name ist Peter"
Ein wenig googlen würde nicht schaden. Suchbegriff in Englisch eingeben und schon kommt man zu einer brauchbaren Lösung!
-
Dazu musst du die Datei mission/core/functions/fn_escInterrupt.sqf anpassen.
Bash: fn_escInterupt.sqf
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_escInterupt.sqf Author: Bryan "Tonic" Boardwine Description: Monitors when the ESC menu is pulled up and blocks off certain controls when conditions meet. */ private ["_abortButton","_respawnButton","_fieldManual","_escSync","_canUseControls"]; disableSerialization; _escSync = { private ["_abortButton","_thread","_syncManager"]; disableSerialization; _syncManager = { disableSerialization; private ["_abortButton","_timeStamp","_abortTime"]; _abortButton = CONTROL(49,104); _abortTime = LIFE_SETTINGS(getNumber,"escapeMenu_timer"); _timeStamp = time + _abortTime; waitUntil { _abortButton ctrlSetText format [localize "STR_NOTF_AbortESC",[(_timeStamp - time),"SS.MS"] call BIS_fnc_secondsToString]; _abortButton ctrlCommit 0; round(_timeStamp - time) <= 0 || isNull (findDisplay 49) }; _abortButton ctrlSetText localize "STR_DISP_INT_ABORT"; _abortButton ctrlCommit 0; }; _abortButton = CONTROL(49,104); if (_this) then { _thread = [] spawn _syncManager; waitUntil {scriptDone _thread || isNull (findDisplay 49)}; _abortButton ctrlEnable true; }; }; _canUseControls = { if (playerSide isEqualTo west) exitWith {true}; if ((player getVariable ["restrained",false]) || (player getVariable ["Escorting",false]) || (player getVariable ["transporting",false]) || (life_is_arrested) || (life_istazed) || (life_isknocked)) then {false} else {true}; }; for "_i" from 0 to 1 step 0 do { waitUntil {!isNull (findDisplay 49)}; _abortButton = CONTROL(49,104); _abortButton buttonSetAction "[] call SOCK_fnc_updateRequest; [player] remoteExec [""TON_fnc_cleanupRequest"",2];"; _respawnButton = CONTROL(49,1010); _fieldManual = CONTROL(49,122); private _saveButton = CONTROL(49,103); _saveButton ctrlSetText ""; //Extras if (LIFE_SETTINGS(getNumber,"escapeMenu_displayExtras") isEqualTo 1) then { private _topButton = CONTROL(49,2); _topButton ctrlEnable false; _topButton ctrlSetText format ["%1",LIFE_SETTINGS(getText,"escapeMenu_displayText")]; _saveButton ctrlEnable false; _saveButton ctrlSetText format ["Player UID: %1",getPlayerUID player]; }; //Block off our buttons first. _abortButton ctrlEnable false; _respawnButton ctrlEnable false; _fieldManual ctrlEnable false; //Never re-enable, blocks an old script executor. _fieldManual ctrlShow false; _usebleCtrl = call _canUseControls; _usebleCtrl spawn _escSync; if (_usebleCtrl) then { _respawnButton ctrlEnable true; //Enable the button. }; waitUntil {isNull (findDisplay 49)}; };
und dann eben den jeweiligen button mit _button ctrlSetText "Text"; umbennenen. der Button ist entweder schon definiert, oder du musst die ID eben noch herausfinden.
Bereits definierte Button wären zum Beispiel:
- _topBotton
- _saveButton
- _abortButton
- _respawnButton
- _fieldManual
ich bin mir nicht sicher, aber das könnten eh schon alle gewesen sein.
-
2 rootserver beitzte kann ich 4 bots machen
du könntest auch nur einen Root benutzen und darauf mehrere virtuelle Maschinen mit je 2 Bots erstellen
-
-
leg mal alle Fakten auf den Tisch, vor lauter Bäume sehe ich den Wald nicht mehr
-
-
-
B4v4r!4n_Str!k3r Ich weiß ja nicht was ich damit zu tun habe aber du solltest dich an @BountyXY dafür wenden
sry irgendwie verwechsle ich euch zwei immer
Jo mir is da wohl der Server für die Uhr abgefackelt phatgrin kümmer mich gleich darum.
xD
danke
-
Schöne Arbeit BountXY!
Nur leider funktioniert die Uhr seit heute nicht mehr. Liegt das Problem bei uns, oder geht es bei anderen auch nicht mehr?
@BountyXY falls du nähere Infos (IP vom TS) brauchst schreib mir privat
-
heißt quasi, die Fahrzeuge bekommen NPC = true in die Init im 3den?
Semantisch richtig, nur die Syntax muss noch verbessert werden:
this setVariable ["NPC", true, true];
siehe https://community.bistudio.com/wiki/setVariable und https://community.bistudio.com/wiki/this
-
Zeile 21 der fn_cleanup.sqf:
if (!isNil {_veh getVariable "NPC"} && {_veh getVariable "NPC"}) then {_protect = true;};
in Kombination mit Zeile 23:
if ((_vehicleClass in ["Car","Air","Ship","Armored","Submarine"]) && {!(_protect)}) then {
--> Ein Fahrzeug mit der Variable NPC = true wird nicht gelöscht.
Also einfach deinen Dekofahrzeugen diese Variable zuweisen und sie werden nicht mehr gelöscht.
Die Datei auskommentieren wäre ein schwerer Fehler, der dazu führt, dass die FPS bei mehr herumstehenden Items und Fahrzeugen in den Keller gehen.
-
8 Error position: <life_fnc_MP;
ich denke du nutzt die 4.4r3 + und das Tutorial basiert noch auf der 3.x oder 4.0
Dieser Artikel sollte dir helfen: https://native-network.net/thread/4019-tu…n-expression-l/