SARGE AI Framework

Aus Nitradopedia
Wechseln zu: Navigation, Suche
Dieses Tutorial bezieht sich auf DayZ Lite
Getestet wurde dies mit DayZ 1.7.6.1 (Chernarus)



Informationen zum SARGE AI Framework sind auf opendayz.net zu finden

Zuerst wird das Script benötigt. Klicke dazu auf: Datei:SARGE AI Framework.rar
Jetzt müsstet Ihr einen Ordner addons haben in dem drei andere Ordner drin sind, und zwar diese SARGE / SHK_pos / UPSMON. Soweit so gut.
Bevor wir den Ordner jetzt irgendwohin kopieren, schalten wir zunächst die Debug Info aus.
In dem Ordner addons/SARGE findet Ihr die Datei SAR_AI_init.sqf, diese mit Notepad++ öffnen und folgende Zeile suchen (ab Zeile 66):

// Shows extra debug info in .rpt
SAR_DEBUG = true;
publicvariable "SAR_DEBUG";

// careful with setting this, this shows a LOT, including the grid properties and definitions for every spawn and despawn event
SAR_EXTREME_DEBUG = true;
publicvariable "SAR_EXTREME_DEBUG";

Das true ersetzt ihr jetzt durch false.
Sollte dann so aussehen:

// Shows extra debug info in .rpt
SAR_DEBUG = false;
publicvariable "SAR_DEBUG";

// careful with setting this, this shows a LOT, including the grid properties and definitions for every spawn and despawn event
SAR_EXTREME_DEBUG = false;
publicvariable "SAR_EXTREME_DEBUG";

Dies anschließend Speichern. Nun gehen wir in den Ordner addons/UPSMON/scripts und öffnen die Init_UPSMON.sqf wieder mit Notepad++ und suchen folgendes (ab Zeile 36):

//1=Enable or 0=disable debug. In debug could see a mark positioning de leader and another mark of the destination of movement, very useful for editing mission
KRON_UPS_Debug = 1;

Aus der 1 mache wir eine 0 und speichern das ganze wieder. Jetzt ist die Debug Info aus und man braucht sich nicht über irgendwelche bunten Kreise oder Punkte auf der Map zu wundern.

Nun gehen wir ins Webinterface, stoppen den Server , dann links unter Dateiverwaltung auf File Browser und suchen die Datei dayz_privat_1.chernarus.pbo, zu finden unter dayz/mpmissions. Diese Datei laden wir uns runter auf den Desktop. Wir öffnen die Datei jetzt mit dem "PBO Manager" und kopieren oder schieben unseren ganzen addons Ordner da rein.
In unserer dayz_privat_1.chernarus.pbo Datei finden wir jetzt die init.sqf die wir auf den Desktop schieben. Nun mit Notepad++ öffnen und ganz unten folgendes einfügen:

// UPSMON
call compile preprocessFileLineNumbers "addons\UPSMON\scripts\Init_UPSMON.sqf";
// SHK 
call compile preprocessfile "addons\SHK_pos\shk_pos_init.sqf";
// run SAR_AI
[] execVM "addons\SARGE\SAR_AI_init.sqf";

Abspeichern und wieder zurückschieben, oder mit copy + paste einfügen.
Das selbe machen wir jetzt mit der description.ext Datei. Auf den Desktop schieben und mit Notepad++ öffnen. Auch wieder ganz nach unten Scrollen und folgendes einfügen:

#include "addons\SARGE\SAR_define.hpp"

abspeichern und wieder zurückschieben, oder mit copy + paste einfügen. Jetzt sind wir mit unserer dayz_privat_1.chernarus.pbo Datei durch und können diese auch wieder auf den Server hochladen.
Jetzt passen wir die Battleye Filter an, dazu gehen wir im Webinterface/Dateiverwaltung/FileBrowser in den Ordner dayz/dayz_1.chernarus/Battleye und laden uns die scripts.txt Datei runter. Diese öffnen wir mit Notepad++ und suchen folgende Zeile (bei mir 46):

5 setFuel !"\"setFuel\"," !"z\addons\dayz_code\compile\local_setFuel.sqf" !"\"dayzSetFuel\"" !"dayzSetFuel_code" !"dayzSetFuel = _val;" !"Scripts\kh_actions.sqf" !"Scripts\kh_vehicle_refuel.sqf"

Am Ende dieser Zeile fügen wir folgendes hinzu: !"_vehicle setFuel 1;\nif (SAR_EXTREME_DEBUG) then {diag_log "SAR_EXTREME_DEBUG: Vehicle refueled";};", das ganze sollte dann so aussehen:

5 setFuel !"\"setFuel\"," !"z\addons\dayz_code\compile\local_setFuel.sqf" !"\"dayzSetFuel\"" !"dayzSetFuel_code" !"dayzSetFuel = _val;" !"Scripts\kh_actions.sqf" !"Scripts\kh_vehicle_refuel.sqf" !"_vehicle setFuel 1;\nif (SAR_EXTREME_DEBUG) then {diag_log "SAR_EXTREME_DEBUG: Vehicle refueled";};"

Jetzt suchen wir diese Zeile (bei mir 82):

5 setVehicleAmmo !"\"setVehicleAmmo\","

Und hier fügen wir dieses hinzu: !"_vehicle setVehicleAmmo 1;\nif (SAR_EXTREME_DEBUG) then {diag_log "SAR EXTREME DEBUG: Vehicle new ammo";};", sollte dann wieder so aussehen:

5 setVehicleAmmo !"\"setVehicleAmmo\"," !"_vehicle setVehicleAmmo 1;\nif (SAR_EXTREME_DEBUG) then {diag_log "SAR EXTREME DEBUG: Vehicle new ammo";};"

Damit haben wir die Filter angepasst, Datei abspeichern nicht vergessen und auf den Server in den entsprechenden Ordner wieder hochladen.
Als letztes müssen wir noch etwas in der Server_cleanup.fsm Datei hinzufügen. Diese finden wir in der dayz_server.pbo. Also wieder über das Webinterface folgende Datei suchen und zum bearbeiten runterladen. Zu finden hier:
dayz/@lite_1.chernarus/AddOns
Nachdem wir die dayz_server.pbo runtergeladen haben, öffnen wir diese wieder mit dem PBO Manager. Im Ordner System finden wir jetzt die server_cleanup.fsm die wir auf den Desktop ziehen und mit Notepad++ öffnen.
Nun suchen wir wieder folgende Zeile (bei mir 335):

" if(vehicle _x != _x && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n

und ändern diese in folgende:

" if(vehicle _x != _x && (vehicle _x getVariable [""Sarge"",0] != 1) && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then

Sieht die Zeile bei Euch so aus:

" if (!(vehicle _x in _safety) && ((typeOf vehicle _x) != ""ParachuteWest"") ) then {" \n

ändert Ihr diese so:

" if (!(vehicle _x in _safety) && ((typeOf vehicle _x) != ""ParachuteWest"") && (vehicle _x getVariable [""Sarge"",0] != 1) ) then {" \n

Das speichern wieder nicht vergessen. Die server_cleanup.fsm wieder zurück kopieren und die ganze dayz_server.pbo wieder auf den Server hochladen.

Nun könnt Ihr euren Server starten und wenn ihr alles richtig gemacht habt könnt Ihr euch über zusätzliche Atmosphäre freuen.


Vielen Dank an JeeperCreeper! Original Tutorial: Nitrado-Forum.