Die VIS V2 Beta ist da!
[progressbar=85,#00b00d,-1,45,1][/progressbar]
Features / Funktionen
Spoiler anzeigen
Neuerungen :
- Datenbank synchronisation
- Verbesserte Performance
- Optimiertes Broadcasting von Variablen ( verringerter Datentraffic )
- Überarbeitete Rechenwege und Kalkulationen
- Speichern aller wichtigen Daten durch Punkt No.1 & No.3
- Kompatibel für weitere Verwendungszwecke für z.B. beim ChopShop
- Einstellungsoption zum manuellen aktivieren und deaktivieren während der Fahrt des VIS
- Auch Leihwagen sind kompatibel, Datensätze gehen beim Löschen des Wagens verloren
- Einfacher Zugriff auf die Daten für weitere Entwicklungszwecke, z.B. Systemfehler bei höherer Laufdistanz
- Kompatibel mit einer FuelConsumption Mod, Einstellungen über eine HPP File erreichbar
- Kleinere neue Spielereien
Basic Features :
-
Das VIS Hud
- Kilometerzähler
- Durchschnittsverbrauch
- Aktueller Tankfüllstand
- Gesamte zurückgelegte Distanz & zurückgelegte Distanz seit dem letzten Tanken
-
-
Mögliche Erweiterungen durch die Community
- Änderung des Verkaufspreises je nach Kilometerstand
- Mögliche Systemstörungen bei hohem Kilometerstand -> Wartungen um das KFZ Fahrtauglich zu halten
Wichtige Infos für Developer
Spoiler anzeigen
Coming soon!
Installationsanleitung
Spoiler anzeigen
Bitte vorerst die PASSENDE .Zip herunterladen oder auf die Versionsnummer klicken!
Version : v2.b.0.1.zip
Spoiler anzeigen
Wir fangen mit der life_server an
Spoiler anzeigen
Öffnet die config.cpp und setzt folgendes unter tag = "life"; ein
Geht nun in den Ordner Functions und weiter in MySQL
Öffnet die fn_insertVehicle.sqf und ändert folgendes ab, wenn ihr keine Veränderungen an der vehicles Table vorgenommen hab
_query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
Ihr könnt den Original Code durch folgenden ersetzte
//Original
//_query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
//Modified
_vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
_query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];
und nun fügt ihr bitte oben bei private["_query","_sql"]; ein ,"_vis" in die Klammer ein
Sollte dann bei euch so aussehen
private["_query","_sql","_vis"];
params [
"_uid",
"_side",
"_type",
"_className",
["_color",-1,[0]],
["_plate",-1,[0]]
];
//Stop bad data being passed.
if (_uid isEqualTo "" || _side isEqualTo "" || _type isEqualTo "" || _className isEqualTo "" || _color isEqualTo -1 || _plate isEqualTo -1) exitWith {};
//Original
//_query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
//Modified
_vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
_query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];
[_query,1] call DB_fnc_asyncCall;
Alles anzeigen
Zu guter letzt noch den Ordner Vis aus der .Zip aus dem Verzeichnis life_server und Functions in den Ordner Functions kopieren
Jetzt könnt ihr den Spoiler life_server wieder schließen und im Installations Tut fortfahren, indem ihr den nächsten Spoiler öffnet.
Weiter geht es mit der Mission File
Spoiler anzeigen
Geht dazu in das Verzeichnis eurer Mission und öffnet die Datei CfgRemoteExec.hpp
Fügt jetzt bei den /* Client only functions */ folgendes ein
Spoiler anzeigen
Fügt jetzt bei den /* Server only functions */ folgendes ein
Öffnet nun die description.ext und fügt dort folgendes entsprechend ein
#include "derleon\Scripts_Master.hpp"
class RscTitles {
#include "derleon\vis\vehInfo.hpp"
class Default
{
idd = -1;
fadein = 0;
fadeout = 0;
duration = 0;
};
};
Alles anzeigen
Öffnet nun die Functions.hpp und fügt unter tag = "life" folgendes ein
Öffnet nun die stringtable.xml und fügt dort am ende folgendes ein
<Package name="derleon">
<Key ID="STR_VIS_SU_ignitionOn">
<Original>Ignition on</Original>
<Czech>zapalování zapnuto</Czech>
<French></French>
<Spanish>ignición</Spanish>
<Italian></Italian>
<Polish></Polish>
<Portuguese>ignição</Portuguese>
<Russian>при включенном зажигании</Russian>
<German>Zuendung an</German>
</Key>
<Key ID="STR_VIS_SU_ignitionOff">
<Original>Ignition off</Original>
<Czech>zapalování</Czech>
<French></French>
<Spanish>ignición</Spanish>
<Italian></Italian>
<Polish></Polish>
<Portuguese>ignição</Portuguese>
<Russian>Выключить зажигание</Russian>
<German>Zuendung aus</German>
</Key>
<Key ID="STR_VIS_SU_visOn">
<Original>VIS activate</Original>
<Czech>povolit VIS</Czech>
<French></French>
<Spanish>activar VIS</Spanish>
<Italian></Italian>
<Polish></Polish>
<Portuguese>VIS ativar</Portuguese>
<Russian>включить VIS</Russian>
<German>VIS aktivieren</German>
</Key>
<Key ID="STR_VIS_SU_visOff">
<Original></Original>
<Czech>zakázat VIS</Czech>
<French></French>
<Spanish>desactivar VIS</Spanish>
<Italian></Italian>
<Polish></Polish>
<Portuguese>desativar o VIS</Portuguese>
<Russian>отключить VIS</Russian>
<German>VIS deaktivieren</German>
</Key>
</Package>
Alles anzeigen
Geht nun in das Verzeichnis core und öffnet die Datei fn_setupEVH.sqf und fügt folgendes unten an
player addEventHandler["GetInMan", {_this call life_fnc_vis_setup}];
player addEventHandler["GetOutMan", {vis_saveNow = true}];
player addEventHandler["Killed", {vis_saveNow = true}];
Öffnet nun die init.sqf (WICHTIG: ICH MEINE DIE IM CORE VERZEICHNIS) und fügt dort folgendes kurz vor dem diag_log ein
Erstellt nun den Ordner derleon in eurem Missionshauptverzeichnis, falls noch nicht vorhanden
Falls noch nicht vorhanden, kann der gesamte Inhalt des Ordner' derleon aus der .Zip Datei aus dem Verzeichnis missionfile in das Verzeichnis derleon kopiert werden
Falls schon vorhanden, bitte den Ordner vis aus der .Zip Datei aus dem Verzeichnis missionfile in das Verzeichnis derleon kopieren und die beiden .hpp Dateien anpassen.
Wenn du jeden Punkt des Tutorials korrekt bewerkstelligt hast, sollte das Script bei dir Fehlerfrei laufen, falls nicht, bitte ich dich bei der Reklamation des Fehlers die Server Log und deine Arma 3 Log anzuhängen. Deine arma 3 Log findest du unter : C:\Users\Dein User name\AppData\Local\Arma 3
Datenbank
Spoiler anzeigen
Nun müsst ihr eure vehicles Table in der Datenbank bearbeiten, dazu öffnet ihr eure vehicles Table und geht oben auf Struktur
Nu geht ihr auf eine Spalte einfügen nach damage und klick auf ok
Nun folgendes ausfüllen mit ( Name : vis, Typ : TEXT, Standart : NULL ) Und klickt dann auf Speichern
Jetzt müsst ihr bei allen Fahrzeugen ( Wenn welche vorhanden ) folgendes einfügen anstelle von Null
Updates
Update No.1 (08.10.16 22:55)
Spoiler anzeigen
Behebt das Problem, dass das HUD nach einiger Zeit oder durch Unfälle verschwindet
Geht dazu in das Missionsverzeichnis und öffnet die Datei fn_fisVehInfo.sqf im Ordner derleon und dann vis
Ersetzt dort die Zeile 86 mit 18 cutRsc["vehInfo","PLAIN"]; und die Zeile 274 mit 18 cutText ["","PLAIN"];
2.
Geht in die fn_vis_setup.sqf, dort in Line 20 steht folgendes :
[0,false] spawn life_fnc_vis_vehInfo;
warum auch immer ist das die alte Variante, die neue sieht so aus :
[0,false] spawn life_fnc_visVehInfo;
Ich wünsche euch viel Spaß mit dem Script und wenn ihr es eingebaut habt, lasst bitte mal eine Server Ip da, ich möchte mir das Script gerne mal ansehen, wie es auf anderen Servern läuft!