Klasse Script, macht weiter so.
P.S. Tolle Seite Nox
Mit freundlichen Grüßen
PlaySim - Die Gaming Community - playsim.de
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.
Klasse Script, macht weiter so.
P.S. Tolle Seite Nox
Mit freundlichen Grüßen
PlaySim - Die Gaming Community - playsim.de
/*
File: fn_processAction.sqf
Author: Bryan "Tonic" Boardwine
Description:
Master handling for processing an item.
*/
private["_vendor","_type","_itemInfo","_oldItem","_newItem","_cost","_upp","_hasLicense","_itemName","_oldVal","_ui","_progress","_pgText","_cP"];
_vendor = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
_type = [_this,3,"",[""]] call BIS_fnc_param;
//Error check
if(isNull _vendor OR _type == "" OR (player distance _vendor > 10)) exitWith {};
//unprocessed item,processed item, cost if no license,Text to display (I.e Processing (percent) ..."
_itemInfo = switch (_type) do
{
case "oil": {["oilu","oilp",1200,(localize "STR_Process_Oil")];};
case "diamond": {["diamond","diamondc",1350,(localize "STR_Process_Diamond")];};
case "heroin": {["heroinu","heroinp",1750,(localize "STR_Process_Heroin")];};
case "copper": {["copperore","copper_r",750,(localize "STR_Process_Copper")];};
case "iron": {["ironore","iron_r",1120,(localize "STR_Process_Iron")];};
case "sand": {["sand","glass",650,(localize "STR_Process_Sand")];};
case "glassbottle":{["glass","bottles",650,"Making Bottles",false]};//new
case "salt": {["salt","salt_r",450,(localize "STR_Process_Salt")];};
case "mash": {["water","mash",100,"Mixing Grain Mash",true,"cornmeal"]};//new
case "whiskey": {["yeast","whiskey",1000,"Fermenting Whiskey",true,"rye"]};//new
case "beer": {["yeast","beerp",1500,"Brewing Beer",true,"hops"]};//new
case "bomb": {["ironp","bomb",15000,"Bombe bauen",true,"spulver"]};
default {[];};
//noch weitere mehr...
};
//Error checking
if(count _itemInfo == 0) exitWith {};
//Setup vars.
_oldItem = _itemInfo select 0;
_newItem = _itemInfo select 1;
_cost = _itemInfo select 2;
_upp = _itemInfo select 3;
if(_vendor in [mari_processor,coke_processor,heroin_processor]) then {
_hasLicense = true;
} else {
_hasLicense = missionNamespace getVariable (([_type,0] call life_fnc_licenseType) select 0);
};
_itemName = [([_newItem,0] call life_fnc_varHandle)] call life_fnc_varToStr;
_oldVal = missionNamespace getVariable ([_oldItem,0] call life_fnc_varHandle);
_cost = _cost * _oldVal;
//Some more checks
if(_oldVal == 0) exitWith {};
//Setup our progress bar.
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;
life_is_processing = true;
if(_hasLicense) then
{
while{true} do
{
sleep 0.3;
_cP = _cP + 0.01;
_progress progressSetPosition _cP;
_pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
if(_cP >= 1) exitWith {};
if(player distance _vendor > 10) exitWith {};
};
if(player distance _vendor > 10) exitWith {hint localize "STR_Process_Stay"; 5 cutText ["","PLAIN"]; life_is_processing = false;};
if(!([false,_oldItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; life_is_processing = false;};
if(!([true,_newItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; [true,_oldItem,_oldVal] call life_fnc_handleInv; life_is_processing = false;};
5 cutText ["","PLAIN"];
titleText[format[localize "STR_Process_Processed",_oldVal,_itemName],"PLAIN"];
life_is_processing = false;
[] call life_fnc_hudUpdate;
}
else
{
if(life_cash < _cost) exitWith {hint format[localize "STR_Process_License",[_cost] call life_fnc_numberText]; 5 cutText ["","PLAIN"]; life_is_processing = false;};
while{true} do
{
sleep 0.9;
_cP = _cP + 0.01;
_progress progressSetPosition _cP;
_pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
if(_cP >= 1) exitWith {};
if(player distance _vendor > 10) exitWith {};
};
if(player distance _vendor > 10) exitWith {hint localize "STR_Process_Stay"; 5 cutText ["","PLAIN"]; life_is_processing = false;};
if(life_cash < _cost) exitWith {hint format[localize "STR_Process_License",[_cost] call life_fnc_numberText]; 5 cutText ["","PLAIN"]; life_is_processing = false;};
if(!([false,_oldItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; life_is_processing = false;};
if(!([true,_newItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; [true,_oldItem,_oldVal] call life_fnc_handleInv; life_is_processing = false;};
5 cutText ["","PLAIN"];
titleText[format[localize "STR_Process_Processed2",_oldVal,_itemName,[_cost] call life_fnc_numberText],"PLAIN"];
life_cash = life_cash - _cost;
life_is_processing = false;
};
[] call life_fnc_hudUpdate;
Alles anzeigen
Es funktioniert ja jetzt.
Entschuldigung! Das hab ich wohl übersehen gehabt..
Es funktioniert jetzt alles! Vielen Vielen Dank trotz Allem
Mit freundlichen Grüßen
PlaySim - Die Gaming Community - https://nodezone.net/www.playsim.de
Ich hab' wirklich keine Ahnung mehr was ich machen soll.. Keiner eine Idee?
Wäre wichtig...
Danke
Danke für die schnelle Antwort!
Die letzten Zeilen der Datei core/action/fn_processAction.sqf sehen so aus:
titleText[format[localize "STR_Process_Processed2",_oldVal,_itemName,[_cost] call life_fnc_numberText],"PLAIN"];
life_cash = life_cash - _cost;
life_is_processing = false;
};
[] call life_fnc_hudUpdate;
Also es wurde schon von mir hinzugefügt..Aber es get trotzdem leider nicht.
Hier, dieses TUT läuft bei uns auf der 3.1.4.8
Kleines Problem, ich kann das Bier und den Whiskey nicht verkaufen, alles andere funktioniert ohne Probs..
Wirklich tolles Script, nur leider geht der Sound link nicht.
LG
Frank