Moin,
kleines Tutorial eines "Autofriedhof´s"
Der Spieler braucht einen Werkzeugkasten und muss über den Schrottplatz gehen um teile zu finden. Um so mehr Distanz er zurück legt um so mehr Items. Dazu gibt es eine Chance auf besondere Items.
Mal etwas anderes statt die ganze zeit Stumpf Windows taste zu drücken um zu farmen.
-Als erstes erstellt ihr ein Item namens "toolbox"
-In die fn_useitem das:
-SQF erstellen in civilian/fn_toolbox
#include "..\..\script_macros.hpp"
/*
Author: Jonas, xjoniassx @ MineFactory.eu (2017)
[email protected] [email protected]
if (life_action_inUse) exitWith {[ "Keine zweite Aktion möglich"] spawn life_fnc_nachricht;};
if((vehicle player) != player) exitWith {};
if((player GVAR "restrained")) exitWith {[ "Wie willst du mit gefesselten Händen sammeln?"] spawn life_fnc_nachricht;};
if((player GVAR "playerSurrender")) exitWith {[ "Mit gehobenen Händen kannst du nichts sammeln!."] spawn life_fnc_nachricht;};
life_fnc_nachricht IST DAS DE100 NACHRICHTEN SYSTEM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Unten durch normalen hint ersetzt
*/
if (life_action_inUse) exitWith {hint "Keine zweite Aktion möglich";};
if((vehicle player) != player) exitWith {};
if((player GVAR "restrained")) exitWith {hint "Wie willst du mit gefesselten Händen sammeln?";};
if((player GVAR "playerSurrender")) exitWith {hint "Mit gehobenen Händen kannst du nichts sammeln!.";};
life_action_inUse = true;
_markerPos = markerPos "autoteile";
_meters = _markerPos distance player;
if(_meters > 40) exitWith {hint "Keine Schrotteile in der nähe!"; life_action_inUse = false;};
closeDialog 0;
GELAUFEN = 0;
SAMMELN = true;
AbbruchWdrop = false;
//["Gehe über die Schrottteile um welche zu finden. (Nicht rennen!)",true,"fast"] call life_fnc_NachrichtSys;
hint "Gehe über die Schrottteile um welche zu finden. (Nicht rennen!)";
_upp = "Suche Teile...";
disableSerialization;
5 cutRsc ["life_progress","PLAIN"];
_ui = uiNameSpace getVariable "life_progress";
_progress = _ui displayCtrl 38201;
_pgText = _ui displayCtrl 38202;
_pgText ctrlSetText format["%2 (1%1)...","%",_upp];
_progress progressSetPosition 0.01;
_cP = 0.01;
_success=false;
while{true} do
{
sleep 1;
_cP = _cP + 0.01;
_progress progressSetPosition _cP;
_pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
if(_cP >= 1) exitWith {SAMMELN = false;};
if(!alive player) exitWith {};
if(speed player > 16) exitWith {SAMMELN = false; Hint"Du bist gerannt und hast deine Toolbox fallen gelassen"; [false,"toolbox",1] call life_fnc_handleInv; AbbruchWdrop = true;};
_markerPos = getPos player;
sleep 1;
_meters= _markerPos distance player;
GELAUFEN = _meters + GELAUFEN;
_markerPos = markerPos "autoteile";
_entfernt = _markerPos distance player;
if(_entfernt > 40) exitWith {SAMMELN = false; Hint"Du hast deine Toolbox fallen gelassen da keine Teile in der nähe sind"; [false,"toolbox",1] call life_fnc_handleInv; AbbruchWdrop = true;};
};
5 cutText ["","PLAIN"];
sleep 1;
life_action_inUse = false;
if(AbbruchWdrop) exitWith {systemChat "Keine Items für dich!";};
if(GELAUFEN > 76) then {[] spawn life_fnc_loot;};
sleep 0.2;
if(GELAUFEN > 152) then {[] spawn life_fnc_loot;};
sleep 0.2;
if(GELAUFEN > 228) then {[] spawn life_fnc_loot;};
sleep 0.2;
if(GELAUFEN > 304) then {[] spawn life_fnc_loot;};
sleep 0.2;
if(GELAUFEN > 380) then {[] spawn life_fnc_loot;};
Alles anzeigen
-SQF Erstellen fn_loot
/*
Author: Jonas, xjoniassx @ MineFactory.eu (2017)
[email protected] [email protected]
10% besondere Items dropchance eingestellt
Änder ""if(zufallsZahl > 90)"" und if(zufallsZahl < 90)
Auf z.b. 80 und du hast eine dropchance 20%
*/
Private["_weight","_weightItems"];
zufallsZahl = round(random 100);
if(zufallsZahl > 90) then {
diag_log format ["%1", zufallsZahl];
wonItemArray = [
["beispiel",1],
["waschmaschine",1],
["mikrowelle",1],
["benutzteskondom",1]
];
};
if(zufallsZahl < 90) then {
wonItemArray = [
["goldbarren",1],
["beispiel",1],
["beispiel",1]
];
};
_wonItem = wonItemArray select floor(random(count wonItemArray));
_wonItemName = (_wonItem select 0);
_wonItemAmount = (_wonItem select 1);
//_displayName = M_CONFIG(getText,"VirtualItems",_wonItemName,"displayName");
_displayName = _wonItemName;
sleep 1;
//[format["Du bekommst %1",[_displayName]],false,"fast"] call life_fnc_NachrichtSys;
//life_fnc_NachrichtSys ist das DE100 Nachrichten System. Habe es unten ersetzt
systemChat format ["Du bekommst %1",_displayName];
[true,_wonItemName,_wonItemAmount] call life_fnc_handleInv;
Alles anzeigen
-Sich einen Ort für den Autofriedhof aussuchen oder den Ort links neben dem Standart Kupfer/Eisen Ankäufer nutzen
-Einen Marker erstellen Variable="autoteile"
-Die "Toolbox" In den Shop einfügen
-Die fn_Loot mit items füllen
-Einen Ankäufer für verschiedene "Schrott" oder "Autoteile" erstellen.. z.b. "Airbag, Radmuttern, Felgen, Turbolader, Ladeluftkühler, und c.o."
-In die Functions noch
class toolbox;
class loot;