Könnt ihr mir vielleicht ein download link
-> https://github.com/AsYetUntitled/Framework offizielles Repo
Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.
Könnt ihr mir vielleicht ein download link
-> https://github.com/AsYetUntitled/Framework offizielles Repo
Alles anzeigenHab mal gezeigt unten was ich meine
Also hatte so die PBO erstellt aber wen ich z.b server anklicke ist dort es so
den ordner will ich gern haben als PBO weil dort sind die Dateien
![]()
Hoffe könnte es jetzt an hand der bilder bisschen besser zeigen was mein Problem ist
Danke schonmal für eure hilfen :3
das ist doch so völlig richtig? Er zeigt im PBO Manager oben halt erst nochmal den Namen der PBO an und wenn du das ausklappst die Dateien... Wo genau ist jetzt dein Problem?
#include "..\..\script_macros.hpp"
/*
File: fn_vInteractionMenu.sqf
Author: Bryan "Tonic" Boardwine
Description:
Replaces the mass add actions for various vehicle actions.
*/
#define Btn1 37450
#define Btn2 37451
#define Btn3 37452
#define Btn4 37453
#define Btn5 37454
#define Btn6 37455
#define Btn7 37456
#define Title 37401
private ["_display","_curTarget","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_Btn7","_id"];
if (!dialog) then {
createDialog "vInteraction_Menu";
};
disableSerialization;
_curTarget = param [0,objNull,[objNull]];
if (isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
_isVehicle = if ((_curTarget isKindOf "landVehicle") || (_curTarget isKindOf "Ship") || (_curTarget isKindOf "Air")) then {true} else {false};
if (!_isVehicle) exitWith {closeDialog 0;};
_display = findDisplay 37400;
_Btn1 = _display displayCtrl Btn1;
_Btn2 = _display displayCtrl Btn2;
_Btn3 = _display displayCtrl Btn3;
_Btn4 = _display displayCtrl Btn4;
_Btn5 = _display displayCtrl Btn5;
_Btn6 = _display displayCtrl Btn6;
_Btn7 = _display displayCtrl Btn7;
life_vInact_curTarget = _curTarget;
_id = getObjectDLC _curTarget;
//Set Repair Action
_Btn1 ctrlSetText localize "STR_vInAct_Repair";
_Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
if ((life_inv_toolkit >= 1) && {alive life_vInact_curTarget} && {([life_vInact_curTarget] call life_fnc_isDamaged)}) then {_Btn1 ctrlEnable true;} else {_Btn1 ctrlEnable false;};
if (playerSide isEqualTo west) then {
_Btn2 ctrlSetText localize "STR_vInAct_Registration";
_Btn2 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_searchVehAction; closeDialog 0;";
_Btn3 ctrlSetText localize "STR_vInAct_SearchVehicle";
_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_vehInvSearch; closeDialog 0;";
_Btn4 ctrlSetText localize "STR_vInAct_PullOut";
_Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction; closeDialog 0;";
if (crew _curTarget isEqualTo []) then {_Btn4 ctrlEnable false;};
_Btn5 ctrlSetText localize "STR_vInAct_Impound";
_Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
if (_curTarget isKindOf "Ship") then {
_Btn6 ctrlSetText localize "STR_vInAct_PushBoat";
_Btn6 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
if (_curTarget isKindOf "Ship" && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
} else {
if (!isNil "_id") then {
if !(_id in getDLCs 1) then {
_Btn6 ctrlSetText localize "STR_vInAct_GetInVehicle";
_Btn6 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
};
} else {
_Btn6 ctrlSetText localize "STR_vInAct_Unflip";
_Btn6 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn6 ctrlEnable false;} else {_Btn6 ctrlEnable true;};
};
};
} else {
if (_curTarget isKindOf "Ship") then {
_Btn2 ctrlSetText localize "STR_vInAct_PushBoat";
_Btn2 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
if (alive _curTarget && {_curTarget isKindOf "Ship"} && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
} else {
if (!isNil "_id") then {
if !(_id in getDLCs 1) then {
_Btn2 ctrlSetText localize "STR_vInAct_GetInVehicle";
_Btn2 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
};
} else {
_Btn2 ctrlSetText localize "STR_vInAct_Unflip";
_Btn2 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn2 ctrlEnable false;} else {_Btn2 ctrlEnable true;};
};
};
if (typeOf _curTarget == "O_Truck_03_device_F") then {
_Btn3 ctrlSetText localize "STR_vInAct_DeviceMine";
_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_deviceMine";
if (!isNil {(_curTarget getVariable "mining")} || !local _curTarget && {_curTarget in life_vehicles}) then {
_Btn3 ctrlEnable false;
} else {
_Btn3 ctrlEnable true;
};
} else {
_Btn3 ctrlShow false;
if (typeOf (_curTarget) in ["C_Van_01_fuel_F","I_Truck_02_fuel_F","B_Truck_01_fuel_F"] && _curTarget in life_vehicles) then {
if (!isNil {_curTarget getVariable "fuelTankWork"}) then {
_Btn3 ctrlSetText localize "STR_FuelTank_Stop";
_Btn3 buttonSetAction "life_vInact_curTarget setVariable [""fuelTankWork"",nil,true]; closeDialog 0;";
_Btn3 ctrlShow true;
} else {
if (count (nearestObjects [_curTarget, ["Land_FuelStation_Feed_F","Land_fs_feed_F"], 15]) > 0) then {
_Btn3 ctrlSetText localize "STR_FuelTank_Supply";
_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelSupply";
_Btn3 ctrlShow true;
}else{
{
if (player distance (getMarkerPos _x) < 20) exitWith {
_Btn3 ctrlSetText localize "STR_FuelTank_Store";
_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelStore";
_Btn3 ctrlShow true;
};
} forEach ["fuel_storage_1","fuel_storage_2"];
};
};
};
};
_Btn4 ctrlShow false;
_Btn5 ctrlShow false;
_Btn6 ctrlShow false;
if (playerSide isEqualTo independent) then {
_Btn5 ctrlShow true;
_Btn5 ctrlSetText localize "STR_vInAct_Impound";
_Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
};
};
Alles anzeigen
das sollte schonmal mit dem Button dann ohne weiteres funktionieren (falls es da Probleme gibt).
Wenn die Medics auch Geld bekommen sollen musst du zusätzlich in der core\actions\fn_impoundMenu.sqf Zeile 62 (Standard - siehe https://github.com/AsYetUntitled/…dAction.sqf#L62) in if (playerSide in [west,independent]) then { ändern
Bevor sich hier alle die Köpfe abreißen hoffe ich ich konnte das klären...
1. Siehe https://community.bistudio.com/wiki/createSimpleObject - unten in den examples hat auch jemand hinzugefügt, wie man die aus der mission lädt.
2. Nein
Haste ja net geschrieben
Aber du könntest die Auflösung der textures verkleinern und eine Texturenmod mit höher wertigen Skins anbieten, so wie bei ELAN.
Die braucht dann nicht jeder, die Mission ist kleiner und wer will kann trotzdem was schönes sehen.
Das mit der texture mod benötigt aber bisschen einiges an Ahnung, weil du die skins bei jedem Spieler basierend auf der Anwesenheit der Mod laden musst. Da musst du bisschen was umschreiben.
Wie sieht’s eig mit triggern aus? Oder vielen Modulen?
bloß nicht viele. Module kommt drauf an welche
in der mission.sqm überflüssiger code ??????
this allowDamage false statt einfach ein Häkchen zu setzen
addAction statt ACE
usw you get me
vermutlich ist der Helm nach hinten "zu lang" bzw "zu breit" (oder anders herum: Die Scheibe zu nah am Fahrersitz) dass der Helm durch clippt...
zu Zeit etwa 1 mb Unbenalisiert
same und teilweise noch nicht von überflüssigem Code befreit
Zunächst: TexView2 aus arma 3 Tools oder das von Armaholic oder irgendwo Standalone installiert? Zweiteres kann nämlich durchaus Probleme machen. Also einfach mal A3Tools installieren.
Zweitens: Du weißt, dass du die Dateiendung manuell ändern musst? Hab dir mal ein kleines "Tutorial" aufgenommen und angehangen. Wichtig: TexView kann nur PNG und PAA (mal von paar Ausnahmen wie PAC und TIF glaube abgesehen...)
Mit dem eingefügten Objekt entfernen. Ist ja extra dafür gemacht und das soll man nun nutzen.
trotzdem eher net so oft verwenden, net so gut für Performance
Kann ich hier leider nicht hochladen
ZIP-Datei
if (_unit inArea (getMarkerPos _x)) then {
_unit inArea _x
Der Marker muss dan halt ne Fläche sein aber das is denke ich klar
dann solltest du deine Datenbank gegen sowas "ausfallsicher machen" - alle Datenbankabfragen von format auf joinString umschreiben. Sonst dürfte da kaum was merkbar sein
execVM ist scheduled und die laufen nicht parallel. Siehe Wiki Eintrag oben von mir.
Okay ich benutze leider viele sleep Befehle. Aber für den Rest, macht das sich wirklich bemerkbar? Also ich würde jetzt mal schätzen, dass ich insgesammt vll 50-150 execVM Befehle in meiner kompletten Mission habe. Wenn ich die alle auf call umschreiebn würde, würde man dann zb 10-20% Cpu bei zb 20-30 Spielern rausholen oder dann eher mal so 1-2%? Einfach mal so ne Größenordnung wäre cool zu wissen
schwer zu sagen..... probieren. Machen sollte man es definitiv, da es sich auch auf die Frames auswirken kann. Wenn du mehr wissen willst: https://community.bistudio.com/wiki/Scheduler…led_Environment
zu vielen sleeps - ich denke einige sind auch nicht nötig vermutlich Aber das ist nicht das Problem. Vor Allem Schleifen meiden und wo geht call nutzen.
Okay. Also ich habe 2 KI's auf meinem Server, die in ständiger Bewegung sind. Dazu muss ich noch zugeben, dass ich sogar des öfteren execVM benutze.
Zu den KI's, machen da 2 einen großen Unterschied? Ich denke fast nicht aber belehrt mich des besseren
. Und wegen den execVM, was wäre denn die beste alternative? Und warum genau ist execVM so schlecht?
2 KI's machens net aus.
execVM und spawn eröffnen jedes Mal nen neuen Thread - Aufrufe mit call nicht. gecallte Scripts können parallel ausgeführt werden, während gespawnte/execVM'te nacheinander abgearbeitet werden müssen. Allerdings ist bei gecallten Scripts die Nutzung von sleep/waitUntil etc nicht möglich.
Deswegen wo geht call nutzen, dann wirst du schon ne leichte Besserung merken. Außerdem Schleifen vermeiden.
Ja okay wie gesagt stimmt bestimmt, dass es bessere Rootsfür das Geld gibt.
Jedoch habe ich gerade zu dem thema nochmal eine allgemeine Frage:
Was in Arma 3 beansprucht denn am meisten CPU?
Sind das eher die Simulationen auf der Karte oder Objekte, die platziert wurden, oder doch eher Scripts oder sowas wie Datenbankverbindungen?
Dann könnte ich nämlich dort mal nach verbesserungen für meinen Server schauen.
Alles, hauptsächlich aber KI. Alles was sich bewegt und nicht spielergesteuert ist. Genau so aber schlecht geschriebene Scripts, viele offene Threads (= mit spawn oder execVM aufgerufene Scripts), häufige DB Requests.....
Deswegen sollte ein Arma Server auch möglichst auf nem hoch getakteten i7 laufen - da hast du das beste Verhältnis von verfügbarer und ausnutzbarer Leistung in Arma, weil bei 8 Threads die KI u.A. auf die Threads ausgelagert wird etc...
Problem hat sich gefunden.
Problem war: XAMPP
Einfach XAMPP deinstallieren und FileZilla Standalone installieren.
Kann geschlossen werden.
Befasst euch mit der Software die ihr nutzt bevor ihr es tut... XAMPP ist eine Entwicklungsumgebung und nix für den Live-Betrieb -.-