Template Casse e Script riarmo

Il luogo in cui postare missioni create o editate da voi, script o domande inerenti l'editing di Arma 3
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

Ok ora smanetto un altro po xD...grazie ancora  ;D.

PS: ah ecco come si fa con le munizioni , pensavo ci fosse un comando del tipo

Codice: Seleziona tutto

player addmagazine ["NomeMunizioni", 6];
ma visto che non mi funzionava....facevo come hai visto in quei file...correggo subito :P
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

L'hanno aggiunto con la nuova patch in effetti ;D
http://community.bistudio.com/wiki/addMagazine_array
[align=center]Volere è potere[/align]
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

Ok corretto tutto, cmq non ho capito una cosa..perchè dovrei mettere _box anche sulla riga di acre? io non voglio metterlo vicino alla cassa delle munizioni ma in un obbiettivo invisibile che ho piazzato nell editor...infatti nella riga ho messo _BOX1

Cmq link aggiornato
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Allora metti quella riga da un'altra parte. Se fai un template che deve essere utilizzato anche da altri deve essere il più funzionale e semplice possibile :)
Appena ho un attimo affrontiamo il discorso delle funzioni ;)
[align=center]Volere è potere[/align]
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

ok perfetto , appenena ci bechiamo in ts ti chiedo ;)
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Ok continuiamo :)
Con questo ultimo passo ti farò vedere come sostituire i tuoi 11 scripts con uno solo :)
Per prima cosa creiamo uno script chiamato =BTC=_addAction.sqf
Relativo codice:

Codice: Seleziona tutto

_array = _this select 3;
_param = _array select 0;
_code  = _array select 1;
_spawn = _param spawn _code;
Dato che il comando addAction richiede sempre un file sqf/sqs noi aggiriamo il problema creando un singolo sqf da adattare a tutti i casi necessari. Questo passaggio è consigliato nel caso in cui siano presenti diversi script oppure l'azione è usata più e più volte. Direi che il tuo caso è l'ideale ;)

Creato questo file andiamo a concretizzare l'evoluzione dello script.
Occorre creare delle funzioni da "salvare" e poi riutilizzare al momento necessario.
Per fare ciò conviene creare un altro script (puoi metterlo anche nell'init ma in questo modo è più funzionale ed elegante ;) )
MOV_fnc.sqf:

Codice: Seleziona tutto

MOV_kit_AR =
{
	removeallweapons player;
	removeallitems player;
	player addweapon "M249";
	{player addmagazine "200Rnd_556x45_M249";} foreach [1,2,3,4];
	player addmagazine "handgrenade_west";
	{player addmagazine "smokeshell";} foreach [1,2];
	player addweapon "Binocular";
	player addweapon "itemgps";
	player addweapon "itemmap";
	player addweapon "itemcompass";
	player addweapon "itemWatch";
	player addweapon "itemradio";
	player addweapon "ace_earplugs";
	player addweapon "ACE_GlassesLHD_glasses";
	player selectWeapon (primaryWeapon player);
};
MOV_kit_AT =
{
	removeallweapons player;
	removeallitems player;
	player addweapon "M4A1";
	{player addmagazine "30Rnd_556x45_Stanag";} foreach [1,2,3,4,5,6];
	player addmagazine "handgrenade_west";
	{player addmagazine "smokeshell";} foreach [1,2];
	Player addweapon "binocular";
	player addweapon "ACE_M136_CSRS";
	player addweapon "itemgps";
	player addweapon "itemmap";
	player addweapon "itemcompass";
	player addweapon "itemWatch";
	player addweapon "itemradio";
	player addweapon "ace_earplugs";
	player addweapon "ACE_GlassesLHD_glasses";
	player selectWeapon (primaryWeapon player);
};
Io ne ho creati solo due ma ne devi fare tante quanti sono i kits.
A questo punto carichiamo le funzioni, per fare ciò modifichiamo l'init.sqf:

Codice: Seleziona tutto

#include "MOV_Kit\MOV_fnc.sqf"
_mov_script = [MOV_BOX] execVM "MOV_Kit\MOV_init.sqf";
Eseguiti questi passaggi possiamo procedere con il ritocco finale.
Modifichiamo il MOV_init.sqf per adattarlo alle nuove funzioni:

Codice: Seleziona tutto

_BOX = _this select 0;
_BOX addAction [("<t color=""#FFF000"">") + ("Prendi Kit Anti-Tank Convenzionale") + "</t>","=BTC=_addAction.sqf",[[],MOV_kit_AT], 8, true, true, "", "true"];
_BOX addAction [("<t color=""#FFF000"">") + ("Prendi Kit Mitragliere Convenzionale") + "</t>","=BTC=_addAction.sqf",[[],MOV_kit_AR], 8, true, true, "", "true"];
Ed il gioco è fatto ;)
[align=center]Volere è potere[/align]
Rispondi