Scriptien kyselyketju

Joonas [kLj]
Posts: 67
Joined: 01 Apr 2016, 18:38

Scriptien kyselyketju

Post by Joonas [kLj] »

Eli oli tänään palsussa puhetta, että täällä voi näitä scriptejä kysellä, ja tuli tiedon tarve:
Eli pitäisi saada ajoneuvon ACE cargoon lastattua laatikoita määrä x, niin että ne olisivat ajoneuvossa tehtävän alkaessa.

En ainakaan äkkiseltään löytänyt tällaista scriptiä foorumeilta/en saanut ACE:n omassa wikissä ollutta scriptiä toimimaan.
Bummeri
Posts: 3009
Joined: 09 Nov 2013, 14:35

Re: Scriptien kyselyketju

Post by Bummeri »

Joonas [kLj] wrote:Eli oli tänään palsussa puhetta, että täällä voi näitä scriptejä kysellä, ja tuli tiedon tarve:
Eli pitäisi saada ajoneuvon ACE cargoon lastattua laatikoita määrä x, niin että ne olisivat ajoneuvossa tehtävän alkaessa.

En ainakaan äkkiseltään löytänyt tällaista scriptiä foorumeilta/en saanut ACE:n omassa wikissä ollutta scriptiä toimimaan.
Linkkaatko oman scriptisi, ja sen acen ohjee?
"Dataa on saatava." -DataNummi
"Toteutus on pilalla, pelkkää paskaa tilalla." -MyösNummi
Joonas [kLj]
Posts: 67
Joined: 01 Apr 2016, 18:38

Re: Scriptien kyselyketju

Post by Joonas [kLj] »

Bummeri wrote: Linkkaatko oman scriptisi, ja sen acen ohjee?
ACE:n ohje:
https://ace3mod.com/wiki/framework/cargo-framework.html

Omani oli omana scriptinään, joka aktivoitiin init.sqf:ssä.

lastaus.sqf:

Code: Select all

[laatikko, ural] call ace_cargo_fnc_loadItem;
Bummeri
Posts: 3009
Joined: 09 Nov 2013, 14:35

Re: Scriptien kyselyketju

Post by Bummeri »

Millainen esine tuo laatikko nimen saanut objecti on?
Oletko tehnyt siitä laatikosta ensin loadattavan? https://ace3mod.com/wiki/framework/carg ... -an-object

Miten käynnistät scriptin init.sqf?

Laita enemmän tietoa, vaikka koko tehtävä.
"Dataa on saatava." -DataNummi
"Toteutus on pilalla, pelkkää paskaa tilalla." -MyösNummi
Joonas [kLj]
Posts: 67
Joined: 01 Apr 2016, 18:38

Re: Scriptien kyselyketju

Post by Joonas [kLj] »

Bummeri wrote:Millainen esine tuo laatikko nimen saanut objecti on?
Oletko tehnyt siitä laatikosta ensin loadattavan? https://ace3mod.com/wiki/framework/carg ... -an-object

Miten käynnistät scriptin init.sqf?

Laita enemmän tietoa, vaikka koko tehtävä.
Esine on CargoNet_01_barrels_F Cargo Net Barrels, jonka olen muuttanut objektin editorissa lastattavaksi.

init.sqf:ssä käynnistin scriptin:

Code: Select all

[] execvm "lastaus.sqf";
User avatar
Tuntematon
Posts: 2291
Joined: 19 May 2015, 15:29
Location: Valkeakoski
Contact:

Re: Scriptien kyselyketju

Post by Tuntematon »

Tässä olis.

Scripti pitää huolen että laatikon voi aina lastata kyytiin (lisää tarvittaessa tilaa, siirtää lähemmäksi, enabloi lastauksen)
Käytetään:
-Kopioi tehtävääsi skriptit kansio esimerkki tehtävästä.
-Lisää init.sqf [] execVM "scriptit\laatikotautoon.sqf";
-Nimeä editorissa laatikot ja autot mitä käytät lastaukseen
-Muokkaa laatikotautoon.sqf riviltä 27. Muokkaa sinne laatikon nimi ja mihin autoon se lastataan.

Code: Select all

if (hasInterface && !isServer) exitWith {};
[{time > 0}, {
	{
		private _laatikko = _x select 0;
		private _ajoneuvo = _x select 1;
		private _ajoneuvo_tila = (_ajoneuvo getVariable ["ace_cargo_space", getNumber (configFile >> "CfgVehicles" >> typeOf _ajoneuvo >> "ace_cargo_space")]) max 0;
		private _laatikko_koko = [_laatikko] call ace_cargo_fnc_getSizeItem;

		//Varmistetaan että lastaus on enabloitu
		if (_laatikko_koko == -1) then {
			[_laatikko, 5] call ace_cargo_fnc_setSize;
			_laatikko_koko = 5;
		};

		//Pidetään huoli että objekti mahtuu kyytiin
		if (_laatikko_koko > _ajoneuvo_tila) then {
			[_ajoneuvo, _laatikko_koko] call ace_cargo_fnc_setSpace;
		};

		//Siirtää objektin lähemmäs jos ei ole tarpeeksi lähellä
		if ((_laatikko distance _ajoneuvo) > 5) then {
			_laatikko setPos ([_ajoneuvo, 0, 4, 0.5, 0, 60] call BIS_fnc_findSafePos);
		};

		_x call ace_cargo_fnc_loadItem;

	} forEach [[tynnyri1,ural1], [tynnyri2,ural1], [tynnyri3,ural2]];

}] call CBA_fnc_waitUntilAndExecute;
Attachments
tynnyri.Tanoa.7z
(2.51 KiB) Downloaded 233 times
Joonas [kLj]
Posts: 67
Joined: 01 Apr 2016, 18:38

Re: Scriptien kyselyketju

Post by Joonas [kLj] »

Tuntematon wrote:Tässä olis.

Scripti pitää huolen että laatikon voi aina lastata kyytiin (lisää tarvittaessa tilaa, siirtää lähemmäksi, enabloi lastauksen)
Käytetään:
-Kopioi tehtävääsi skriptit kansio esimerkki tehtävästä.
-Lisää init.sqf [] execVM "scriptit\laatikotautoon.sqf";
-Nimeä editorissa laatikot ja autot mitä käytät lastaukseen
-Muokkaa laatikotautoon.sqf riviltä 27. Muokkaa sinne laatikon nimi ja mihin autoon se lastataan.

Code: Select all

if (hasInterface && !isServer) exitWith {};
[{time > 0}, {
	{
		private _laatikko = _x select 0;
		private _ajoneuvo = _x select 1;
		private _ajoneuvo_tila = (_ajoneuvo getVariable ["ace_cargo_space", getNumber (configFile >> "CfgVehicles" >> typeOf _ajoneuvo >> "ace_cargo_space")]) max 0;
		private _laatikko_koko = [_laatikko] call ace_cargo_fnc_getSizeItem;

		//Varmistetaan että lastaus on enabloitu
		if (_laatikko_koko == -1) then {
			[_laatikko, 5] call ace_cargo_fnc_setSize;
			_laatikko_koko = 5;
		};

		//Pidetään huoli että objekti mahtuu kyytiin
		if (_laatikko_koko > _ajoneuvo_tila) then {
			[_ajoneuvo, _laatikko_koko] call ace_cargo_fnc_setSpace;
		};

		//Siirtää objektin lähemmäs jos ei ole tarpeeksi lähellä
		if ((_laatikko distance _ajoneuvo) > 5) then {
			_laatikko setPos ([_ajoneuvo, 0, 4, 0.5, 0, 60] call BIS_fnc_findSafePos);
		};

		_x call ace_cargo_fnc_loadItem;

	} forEach [[tynnyri1,ural1], [tynnyri2,ural1], [tynnyri3,ural2]];

}] call CBA_fnc_waitUntilAndExecute;

Kiitokset!
Joonas [kLj]
Posts: 67
Joined: 01 Apr 2016, 18:38

Re: Scriptien kyselyketju

Post by Joonas [kLj] »

Ja taas olisi uutta tarvetta tuohon viimeisimpään saattue tehtävään.

Tällä hetkellä olen sitonut ilmoituksen toiselle osapuolelle aikamääreeseen, mutta kehitys ideana tuli, että olisi ehkä parempi jos ilmoitus tulisi kun saattue väijytetään.
Itselläni valtio vie tällä hetkellä valtaosan ajasta, niin en ole ehtinyt perehtymään asiaan vielä enempää.

Tämän hetkinen pätkä näyttää tälle:

Code: Select all

waitUntil {time > 10};
uisleep 1070;
[format["US QRF on saanut luvan liikkua alueelle."],"hint",west,false] call BIS_fnc_MP;
Ja ajan sen init.sqf:ssä

Code: Select all

if (isServer) then {
	[] execvm "ilmoitus.sqf";
	};
Olisiko tähän jotain toimivampaa?
User avatar
Tuntematon
Posts: 2291
Joined: 19 May 2015, 15:29
Location: Valkeakoski
Contact:

Re: Scriptien kyselyketju

Post by Tuntematon »

Joonas [kLj] wrote:Ja taas olisi uutta tarvetta tuohon viimeisimpään saattue tehtävään.

Tällä hetkellä olen sitonut ilmoituksen toiselle osapuolelle aikamääreeseen, mutta kehitys ideana tuli, että olisi ehkä parempi jos ilmoitus tulisi kun saattue väijytetään.
Itselläni valtio vie tällä hetkellä valtaosan ajasta, niin en ole ehtinyt perehtymään asiaan vielä enempää.

Tämän hetkinen pätkä näyttää tälle:

Code: Select all

waitUntil {time > 10};
uisleep 1070;
[format["US QRF on saanut luvan liikkua alueelle."],"hint",west,false] call BIS_fnc_MP;
Ja ajan sen init.sqf:ssä

Code: Select all

if (isServer) then {
	[] execvm "ilmoitus.sqf";
	};
Olisiko tähän jotain toimivampaa?
Avaa vähänkö tehtävää? COOP?
Joonas [kLj]
Posts: 67
Joined: 01 Apr 2016, 18:38

Re: Scriptien kyselyketju

Post by Joonas [kLj] »

Tuntematon wrote:
Avaa vähänkö tehtävää? COOP?
Tehtävä on COTVT. Saattue jonka kimppuun hyökätään on AI-ohjattu. Opfor hyökkää ja Blufor toimii QRF:nä, joka saa ilmoituksen.

Linkki tehtäväideaan: https://armafinland.fi/forum/viewtopic.php?f=65&t=1883
Post Reply