Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 14.05.2010, 14:13   #1 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 32
Beiträge: 2.662
Standard Ultimative Waffenkiste

Servus miteinander,

Ich suche schon seit einer weile ein script oder sonstige loesung und eine Waffenkiste mit allen verfuegbaren Waffen darin zu erstellen um mir beim Testen solcher immer die 20 verschiedenen waffenkisten zu sparen.

Alle einzeln adden kann sich glaub jeder vorstellen ist ein zu großer aufwand und alle classnames kenn ich ja auch nicht,vorallem wenn ich Mods wie ACE und Co aktiviert habe.

In der Waffenkammer bekommt man ja alle Waffen angezeigt ( auch die von aktivierten Mods ) jetzt haett ich die nur noch gerne alle in einer einzigen Waffenkiste, das waere echt super wenn jemand dafuer eine loesung haette.

Ich hatte das ganze so aehnlich schonmal bei ArmA 1, das war ne Snipertestmission von brh ( brh_sniperRange ) da konnte man an eine Waffenkiste ran und per Menue alle Waffen auswaehlen die es gab, das war echt super nur leider weiß ich nicht wie die das gemacht haben und selber habe ich auch nicht soviel ahnung von der Materie. aber vllt hilfts jemanden wenn ich denn Quellcode vom Script von welchem ich glaub damit es dafuer verantwortlich ist hier reinstelle, waere echt super wenn das jemand hinbekommt.

addWeapon.sqf
Code:
private ["_exceptions","_i","_name","_wepSel","_mags","_index"];

sleep 0.1;
brh_dialog = createDialog "RscAddWeapon";

_exceptions = ["M134","M134_2","TwinM134","TwinVickers","GSh301"];

for "_i" from 1 to ((count (configFile >> "CfgWeapons"))-1) do
{
	_name = configName ((configFile >> "CfgWeapons") select _i);
	if (((getNumber (configFile >> "CfgWeapons" >> _name >> "scope"))==2) && (!(_name in _exceptions))) then {_index = lbAdd[3101,(getText (configFile >> "CfgWeapons" >> _name >> "displayName"))];lbSetData[3101,_index,_name]};
};

ctrlEnable[3103,false];
buttonSetAction[3103,"ammobox1 addWeaponCargo [lbData[3101,lbCurSel 3101],1];ammobox1 addMagazineCargo [lbData[3102,lbCurSel 3102],30];closeDialog 3100;hint (localize ""STR_weaponCreated"")"];
buttonSetAction[3104,"closedialog 3100"];
_wepSel = -1;

while{dialog} do
{
	waitUntil{(!dialog) || (_wepSel!=(lbCurSel 3101))};
	if (_wepSel!=(lbCurSel 3101)) then
	{
		_wepSel = lbCurSel 3101;
		if (_wepSel>-1) then {ctrlEnable[3103,true]} else {ctrlEnable[3103,false]};
		_name = lbData[3101,_wepSel];
		_mags = [];
		{
			if (_x=="this") then {_mags = _mags + (getArray (configFile >> "CfgWeapons" >> _name >> "magazines"))}
			   else {_mags = _mags + (getArray (configFile >> "CfgWeapons" >> _name >> _x >> "magazines"))};
		} forEach (getArray (configFile >> "CfgWeapons" >> _name >> "muzzles"));
		lbClear 3102;
		{
			_index = lbAdd[3102,getText (configFile >> "CfgMagazines" >> _x >> "displayName")];
			lbSetData [3102,_index,_x];
		} forEach _mags;
		lbSetCurSel[3102,0];
	};
	sleep 0.01;
};
und hier noch ein Link zu der gesamten mission brh_sniperRange v1.02 | Downloads | Armed-Assault.de


gruß

Moerderhoschi
__________________


Moerderhoschi ist offline   Mit Zitat antworten
Alt 18.05.2010, 12:37   #2 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Versuchs mal hiermit.
Habs grad freihand aus einem anderen Script von mir zusammengeschnipselt, ungetestet. Sollte aber eigl. klappen.

Ich persönlich finds besser die Waffen aus mehrere Kisten aufzuteilen weil es einfach verflucht viele sind.


Code:
_rootclass = "cfgWeapons";
_count = count (configFile >> _rootclass);
// ownbox <-- Name der Kiste

for [{_x=0}, {_x<_count}, {_x=_x+1}] do 
{
	sleep 0.001;
	_obj=(configfile >> _rootclass) select _x;
	_weapon = configName _obj;
	_init = format ["this addWeaponCargo ['%1',10]",_weapon];
	ownbox setVehicleInit _init;
	processInitCommands;
	_mags = (configfile >> _rootclass >> _weapon >> "magazines");
	_mags=(getArray _mags);
	_mcount = count _mags;
	for [{_y=0}, {_y<_mcount}, {_y=_y+1}] do 
	{
		sleep 0.001;
		_mag = _mags = select _y;
		_init = format ["this addMagazineCargo ['%1',20]",_mag];
		ownbox setVehicleInit _init;
		processInitCommands;
	};
};
Edit.: Achja das Einlesen der ganzen Waffen dauert etwas.
__________________
Tajin ist offline   Mit Zitat antworten
Alt 18.05.2010, 14:00   #3 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 32
Beiträge: 2.662
Standard

Erstmal danke fuer deine muehe!

Habe es gerade geteste nur leider klappt es bei mir nicht.

Ich hab das geschriebene in eine " ownbox.sqs " gepackt die ich dann in meinen missionsordner eingefuegt habe.

Ingame habe ich dann eine Waffenkiste mit namen " ownbox " und dem befehl bei Init " this exec "ownbox.sqs" " eingefuegt und auf vorschau geklickt.

Beim laden der Mission bekomme ich eine fehlermeldung " no entry 'bin\config.bin/cfg.Magazines.array'. ".

Wenn ich dann in der mission bin ist die waffenkiste ganz normal bestueckt, also spielstandart.

Wenn ich bei der Initzeile vorher noch die parameter " clearweaponcargo this;clearmagazinecargo this; " eingebe, habe ich in der Mission bei der kiste außer ausruesten noch " nehmen " zur auswahl, dies hat aber keinen effect


__________________


Moerderhoschi ist offline   Mit Zitat antworten
Alt 18.05.2010, 15:48   #4 (permalink)
50 Beiträge
 
Registriert seit: 04.01.2010
Beiträge: 63
Standard

vielleicht nicht sqs sondern sqf nehmen... dann halt mit execVM oder call/spawn aufrufen (letztere 2 müssen aber im vorraus compiliert werden)

ich bin mir nicht mehr sicher, ist ewig her als ich noch mit sqs gearbeitet hab, aber ich glaub mit klammern und so hats sqs nicht...
LurchiDerLurch ist offline   Mit Zitat antworten
Alt 18.05.2010, 16:12   #5 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 32
Beiträge: 2.662
Standard

Zitat von LurchiDerLurch Beitrag anzeigen

vielleicht nicht sqs sondern sqf nehmen

habe sqs in sqf umbenannt, hat nichts gebracht, selbes spiel wie bei sqs.

Zitat von LurchiDerLurch Beitrag anzeigen

dann halt mit execVM oder call/spawn aufrufen (letztere 2 müssen aber im vorraus compiliert werden)

jetzt solltest du mir nur noch erklaeren was das auf deutsch heisst . wenn ich this execvm "ownbox.sqf" eingeben will kommt immer " Typ Script, erwartet Nichts "
__________________


Moerderhoschi ist offline   Mit Zitat antworten
Alt 18.05.2010, 16:27   #6 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Der Aufruf von .sqf Skripten geht auch ein bisschen anders, als die von .sqs Skripten.

Code:
nul = [] execVM "ownbox.sqf";
Cyborg11 ist offline   Mit Zitat antworten
Alt 18.05.2010, 16:37   #7 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 32
Beiträge: 2.662
Standard

Zitat von Cyborg11 Beitrag anzeigen

Der Aufruf von .sqf Skripten geht auch ein bisschen anders, als die von .sqs Skripten.

Code:
nul = [] execVM "ownbox.sqf";
Danke fuer den tipp. Ich hab das jetzt so in die init zeile der waffenbox geschrieben und diesmal kahm auch keine fehlermeldung, jedoch nach wie vor nur standartequipment in der waffenkiste drin
__________________


Moerderhoschi ist offline   Mit Zitat antworten
Alt 18.05.2010, 17:56   #8 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Jo, mit sqs wird da garnix gehen. Ist ein SQF script.

Ich probiers nachher wenn ich zuhause bin selbst mal aus und stell dann unter Umständen ne korrigierte Version rein.


Bis dahin hier nochmal im Detail:

in die init von der Kiste schreibst du dashier:
Code:
nul=[this] execVM "loadstuff.sqf";
in die Datei "loadstuff.sqf" kommt dashier:
Code:
_rootclass = "cfgWeapons";
_count = count (configFile >> _rootclass);
_ownbox = _this select 0;
clearMagazineCargo _ownbox;
clearWeaponCargo _ownbox;


player globalChat "test";

for [{_x=11}, {_x<_count}, {_x=_x+1}] do {
	sleep 0.001;
	_obj = (configFile >> _rootclass) select _x;
	_weapon = configName _obj;
		player globalChat format ["%1 ::: %2",_x,_weapon];
	_init = format ["this addWeaponCargo ['%1',10]",_weapon];
	_ownbox setVehicleInit _init;
	processInitCommands;
	if (_weapon != "" && _weapon != "access" && _weapon != "Default") then {
		_mags = getArray (configfile >> _rootclass >> _weapon >> "magazines");
		_muzzles = getArray (configfile >> _rootclass >> _weapon >> "muzzles");
		_mcount = count _mags;
		for "_i" from 0 to ((count _muzzles) - 1) do 
		{
			_muzzle = _muzzles select _i;
			_muzzleClass = (configfile >> _rootclass >> _weapon >> _muzzle);
	
			_muzzleMags = getArray (_muzzleClass >> "magazines");
			
			for "_k" from 0 to ((count _muzzleMags) - 1) do 
			{	
				_magazine = _muzzleMags select _k;
				if !(_magazine in _mags) then 
				{
					_init = format ["this addMagazineCargo ['%1',20]",_magazine];
					_ownbox setVehicleInit _init;
					processInitCommands;
				};
			};	
		};
	};
	
};
Edit: Ok grad ausgetestet und script angepasst. Funzt jetzt. Abhängig davon was du für addons hast kann die eine oder andere Fehlermeldung auftauchen wenn du die Kiste öffnest, weil manche Configeinträge nicht wirklich als Waffe verwendbar sind und ich nicht jedes fitzelchen rausfiltere. Aber für deine Zwecke sollt das nichts ausmachen, dafür ist in der Kiste dann auch wirklich alles was ne Waffe sein könnte (inklusive der passenden Munition)
__________________

Geändert von Tajin (18.05.2010 um 20:19 Uhr).
Tajin ist offline   Mit Zitat antworten
Alt 18.05.2010, 20:30   #9 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 32
Beiträge: 2.662
Standard

SAUBAER!!!

Das ganze funktioniert soweit ganz gut.

Vielen dank fuer deine excellente hilfe Tajin, du hast es echt drauf.

Auch dem Rest moechte ich fuer die Ratschlaege danken und wuensch euch allen noch einen schoenen Abend.

Ich bin dann mal im Editor ein bisschen mit zielscheiben, weich&hardzielen und meiner neuen Ultimativen Waffenkiste rumtesten

nochmal großes DANKE!

gruß

Moerderhoschi


Anhang:

nachdem ich jetzt ne weile im Editor getestet habe ist mir aufgefallen damit fuer saemtliche waffen die magazine leider noch fehlen. nur die granaten fuer die granatenwerfer sind vorhanden und ein magazin und zwar das des MG36.

wenn du nochmal zeit findest koenntest du dann vllt. noch schauen ob du die anderen magazine noch mit reinscripten kannst, waere echt super.

Geändert von Moerderhoschi (18.05.2010 um 23:15 Uhr).
Moerderhoschi ist offline   Mit Zitat antworten
Alt 19.05.2010, 08:26   #10 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Hmhm, is klar. Da hatte ich auf die Schnelle nen Denkfehler.

Hier nochmal.
Code:
_rootclass = "cfgWeapons";
_count = count (configFile >> _rootclass);
_ownbox = _this select 0;
clearMagazineCargo _ownbox;
clearWeaponCargo _ownbox;


player globalChat "test";

for [{_x=11}, {_x<_count}, {_x=_x+1}] do {
	sleep 0.001;
	_obj = (configFile >> _rootclass) select _x;
	_weapon = configName _obj;
		player globalChat format ["%1 ::: %2",_x,_weapon];
	_init = format ["this addWeaponCargo ['%1',10]",_weapon];
	_ownbox setVehicleInit _init;
	processInitCommands;
	if (_weapon != "" && _weapon != "access" && _weapon != "Default") then {
		_mags = getArray (configfile >> _rootclass >> _weapon >> "magazines");
		_muzzles = getArray (configfile >> _rootclass >> _weapon >> "muzzles");
		_mcount = count _mags;
		for "_i" from 0 to ((count _muzzles) - 1) do 
		{
			_muzzle = _muzzles select _i;
			_muzzleClass = (configfile >> _rootclass >> _weapon >> _muzzle);
	
			_muzzleMags = getArray (_muzzleClass >> "magazines");
			
			for "_k" from 0 to ((count _muzzleMags) - 1) do 
			{	
				_magazine = _muzzleMags select _k;
				if !(_magazine in _mags) then 
				{
					_mags = _mags + [_magazine];
				};
			};	
		};
		for "_i" from 0 to ((count _mags) - 1) do 
		{
			_init = format ["this addMagazineCargo ['%1',20]",_mags select _i];
			_ownbox setVehicleInit _init;
			processInitCommands;
		};
	};
};
__________________
Tajin ist offline   Mit Zitat antworten
Alt 19.05.2010, 11:27   #11 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 32
Beiträge: 2.662
Standard

jetzt klappt alles wunderbar, danke fuer die tolle arbeit.

greetz

Moerderhoschi
Moerderhoschi ist offline   Mit Zitat antworten
Alt 11.09.2010, 13:44   #12 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 30
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard

Hiho zusammen,

hat das mal jemand hinbekommen das man nur die Waffen und Mun hat und nicht den ganzen pseudo kram den man nicht braucht? Auch ohne die ganzen fehlermeldungen?
__________________
Clawhammer ist offline   Mit Zitat antworten
Alt 08.08.2012, 10:30   #13 (permalink)
Newbie
 
Registriert seit: 08.08.2012
Beiträge: 2
Standard

Moin moin ich hätte da mal eine frage und zwar wo muss ich das script reinschreiben bzw wie erstelle ich so eine datei wo das drin steht . Würde gerne auch so eine waffen box in einer coop mission einbauen wenn das möglich ist.
Muffinknight ist offline   Mit Zitat antworten
Alt 08.08.2012, 14:08   #14 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Das Skript ist nicht brauchbar. Es ist zu viel "Müll" in der Munikiste.

Schau in diesem Thread nach: Kiste mit allen Waffen
Vienna ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116