Black Lagoon - Marktsystem

Aus Nitradopedia
Wechseln zu: Navigation, Suche
Arma3Epoch header.png

Miete dir jetzt deinen eigenen prepaid ArmA 3 Epoch Server auf nitrado.net

Dieser Artikel wurde mit ArmA 3: Altis Life (Version 3.1.2 von Tonic) getestet.

In diesem Artikel wird erläutert, wie das Skript für das "Black Lagoon Marktsystem" eingebaut wird.
Das ist nur das reine Marktsystem! Keine neu eingefügten V-/U-Items und darum auch nicht deren Konfiguration. Die V-Items müssen wie auf einem normalen Vanilla-System bearbeitet werden!.


Hier findest du einen Download Link zu allen Dateien die du für dieses Script benötigst: http://customer.static.nistored.de/marktsystem.rar


Wenn du das Script nicht selbst umschreiben möchtest, findest du hier auch den direkten Download Link zu den bereits editierten und getesteten Dateien: http://customer.static.nistored.de/market_ready.rar

Falls du weitere Fragen zum Installieren dieses Scripts hast oder dieses für eine bestimmte Version nicht mehr funktioniert dann wende dich einmal direkt an den Ersteller des Scripts in unserem Forum: https://board.nitrado.net/support-de-german-only/support-gameserver/arma/tutorials-releases/68791/tutorial-black-lagoon-marktsystem/


  • Wichtiger Hinweis: Eine Sicherung / Bitte erstelle ein Backup aller Dateien du die verändern wirst
  • Gameserver stoppen
  • Lade dir das oben genannte Archiv herunter, entpacke es und lade den kompletten MPMissions Ordner auf deinen Altis Life Server in den Ordner /arma3 hoch.

1. Die Datei Functions.h aus dem Verzeichnis /arma3/MPMissions/Altis_Life.Altis öffnen 1.1 Folgenden Code-Schnipsel ganz unten anfügen:

class Market
	{
		file = "core\market";
		
		class openMarketView;
		class refreshMarketView;
		class marketShortView;
		class marketBuy;
		class marketSell;
		class marketGetBuyPrice;
		class marketGetSellPrice;
		class marketconfiguration;
		class marketReset;
		class marketChange;
		class marketGetRow;
		class marketGetPriceRow;
		class marketSetPriceRow;
	};

1.2. Die Datei Functions.h speichern.


2. Die Datei MasterHandler.h aus dem Verzeichnis /arma3/MPMissions/Altis_Life.Altis/dialog öffnen 2.1. Folgenden Code-Schnipsel ganz unten anfügen:

#include "common_EditorWrapper.hpp"
#include "market.hpp"

2.2. Die Datei MasterHandler.h speichern.


3. Die Datei fn_virt_sell.sqf aus dem Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/shops öffnen


3.1. Sucht in der Datei diese Zeilen:

_price = (__GETC__(sell_array) select _index) select 1;
_var = [_type,0] call life_fnc_varHandle;
  • Und fügt direkt darunter diesen Code-Schnipsel ein:
////Marktsystem Anfang////
_marketprice = [_type] call life_fnc_marketGetSellPrice;
if(_marketprice != -1) then
{
	_price = _marketprice;
};
////Marktsystem Ende////


3.2. Sucht in der Datei folgende Zeile:


[] call life_fnc_virt_update;


  • und ersetzt diese mit diesem Code-Schnipsel:


////Marktsystem Anfang////
	if(_marketprice != -1) then 
	{ 
		[_type, _amount] spawn
		{
			sleep 120;
			[_this select 0,_this select 1] call life_fnc_marketSell;
		};
	////Marktsystem Ende////
		[] call life_fnc_virt_update;
	};


3.3. Nun noch diesen Code-Schnipsel ganz unten anfügen:

private["_marketprice"];


4. Die Datei fn_virt_update.sqf aus dem Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/shops öffnen 4.1. Sucht in der Datei folgende Zeile:


_price = (__GETC__(buy_array) select _index) select 1;


  • Und fügt direkt darunter diesen Code-Schnipsel ein:


////Marktsystem Anfang////
		_marketprice = [_x] call life_fnc_marketGetBuyPrice;
		if(_marketprice != -1) then
		{
			_price = _marketprice;
		};
		////Marktsystem Ende////


4.2. Fügt nun diesen Code-Schnipsel ganz unten in die Datei ein:


private["_marketprice"];


  • Fügt darunter nun noch diesen Code-Schnipsel ein:


//Call short view here
[_shop_data select 1] spawn life_fnc_marketShortView;


5. Die Datei fn_virt_buy.sqf aus dem Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/shops öffnen

5.1. Sucht in der Datei folgende Zeile:


_amount = ctrlText 2404;


  • Und fügt direkt darunter diesen Code-Schnipsel ein:


////Marktsystem Anfang////
_marketprice = [_type] call life_fnc_marketGetBuyPrice;
if(_marketprice != -1) then
{
	_price = _marketprice;
};
		////Marktsystem Ende////


5.2. Sucht in der Datei folgende Zeile:


life_cash = life_cash - (_price * _amount);


  • Und fügt direkt darunter diesen Code-Schnipsel ein:


if(_marketprice != -1) then 
		{ 
			//##94
			[_type, _amount] spawn
			{
				sleep 120;
				[_this select 0,_this select 1] call life_fnc_marketBuy;
			};			
		};


5.3. Fügt nun diesen Code-Schnipsel ganz unten in die Datei ein:


private["_marketprice"];