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

Come da titolo , ecco un template con script per il riarmo della fanteria.

Ecco il download:
http://www.multiupload.nl/KBQIA6LV7O (aggiornato 04/09/2012)
Ultima modifica di Movocos il mar set 04, 2012 7:29 pm, modificato 1 volta in totale.
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

L'idea è buona, molto buona :)
Ho dato un'occhiata veloce al codice e non è male come inizio.
Non ho idea delle tue intenzioni, ma se hai voglia di migliorare sotto il profilo dell'editing posso darti qualche consiglio, magari partendo proprio da questo tuo lavoretto dei kits :)
Let me know ;)
[align=center]Volere è potere[/align]
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

Grazie  :D , mi piacerebbe molto migliorare nell' editing, anche se è veramente immenso e complesso sotto certi punti di vista ahah
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Allora sposto in Editing e inizio a scriverti un bordello di roba :P
[align=center]Volere è potere[/align]
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Inanzitutto quando crei qualcosa usa una TAG.
Per esempio io uso BTC.
Quindi mettiamo caso che la tua sia MOV allora la cartella si chiamerà:
MOV_kit
L'uso della tag è essenziale perchè evita che possano esserci conflitti quando usi materiale altrui. Ricordati di usare la tag anche per le definizioni "pubbliche". Ti faccio un esempio per capire.
Abbiamo uno script che dopo vari calcoli arriva a definire una variabile:
a = 5 + 2;
In questo caso il nome della variabile non sarà semplicemente "a" bensi:
MOV_a = 5 + 2;
E fino a qui tutto semplice :)

Altra cosa essenziale è l'init.sqf: cerca di renderlo il più semplice e "veloce" possibile.
Creati dentro la cartella l'init dello script pack ed esegui solo quello. Esempio:
init.sqf

Codice: Seleziona tutto

_mov_script = [MOV_box] execVM "MOV_kit\MOV_init.sqf";
MOV_kit\MOV_init.sqf

Codice: Seleziona tutto

_box = _this select 0;
if (isServer) then {if (isClass(configFile >> "cfgPatches" >> "acre_main")) then {_ammo_acre = "ACRE_Radiobox" createVehicle [(getpos _box select 0) + 1,(getpos _box select 1) + 1,0];_dir = getDir Acre;_ammo_acre setDir _dir;};};
_box  addAction [("<t color=""#00FF00"">") + ("Prendi Occhiali VN") + "</t>","KIT\Kit_NV.sqf",[], 7, true, false, "", "isNull (unitBackpack player) && !([player] call ACE_fnc_HasRuck)"];
bla bla bla
Tutto chiaro fin qui?
[align=center]Volere è potere[/align]
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

Quello della tag ci avevo pensato anche io , anche per comodità, supratutto quando devi cercare una tua variabile con  ctrl + t nel block note xD , pero' hai ragione devo iniziare  a farlo, per il resto è tutto ok
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Ho letto qualcosa che non mi piace...."block note"
Usi notepad++ vero?????
[align=center]Volere è potere[/align]
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

nono uso proprio block note xD




Edit: ok l ho scaricato , mi sembra molto meglio ora ahah
Ultima modifica di Movocos il gio ago 30, 2012 1:52 pm, modificato 1 volta in totale.
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

C'è anche il linguaggio per la sintassi di arma ;)
[align=center]Volere è potere[/align]
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

Ok , Modificato e aggiunto qualcosina...ora rimane un unico bug, quando si prende il kit del medico se non si getta prima la borsa non è possibile prendere altri kit , e inoltre ogni volta che si prende questo kit vengono raddoppiati gli oggetti nella sacca. Ovviamente uno non è che in partita si prende 20mila kit medici xD , ma se si evita meglio asd

Link aggiornato
Ultima modifica di Movocos il gio ago 30, 2012 8:10 pm, modificato 1 volta in totale.
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Piano piano arriviamo anche a quello! Ora mangio e mi doccio se no non riesco a giocare dopo! Appena ho un secondo andiamo avanti ;)
[align=center]Volere è potere[/align]
Crasso
Corporal
Corporal
Messaggi: 713
Iscritto il: sab mar 03, 2012 12:32 am
Località: Rome

[quote="Movocos"]
Ok , Modificato e aggiunto qualcosina...ora rimane un unico bug, quando si prende il kit del medico se non si getta prima la borsa non è possibile prendere altri kit , e inoltre ogni volta che si prende questo kit vengono raddoppiati gli oggetti nella sacca. Ovviamente uno non è che in partita si prende 20mila kit medici xD , ma se si evita meglio asd

Link aggiornato
[/quote]

Non ho visto lo script lo sto scaricando, non è che ti sei scordato il comando per rimuovere gli zaini prima di mettere quello che scegli tu?
Se non erro è

Codice: Seleziona tutto

_this removebackpack
o

Codice: Seleziona tutto

removebackpack _this
EDIT: ah mov comincia anche ad impararti ad andare a capo nei punti giusti, facendolo faciliterai (a te e agli altri) la lettura del codice di modo anche da beccare più semplicemente gli errori u.u
Ultima modifica di Crasso il gio ago 30, 2012 9:04 pm, modificato 1 volta in totale.
Movocos
Messaggi: 20
Iscritto il: mar lug 31, 2012 1:54 am

lo zaino è considerato un arma , se fai removeallweapon player; lo leva , cmq il problema non è questo , il problema è che una volta che ho lo zaino sembra che la cassa con i kit smetta di funzionare finche non levi il backpack manualmente
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Perchè hai preso l'addAction da una mia missione dove ho messo una condizione per non far apparire l'azione se il giocatore ha uno zaino. Non avere fretta che ci arriviamo :P
[align=center]Volere è potere[/align]
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Prima di andare avanti devo correggerti un errore :)
Quando passi ad uno script un parametro con un oggetto non devi dargli nello script lo stesso nome che ha in-game.
Mi spiego meglio con gli esempi :P
Lanciamo lo script:

Codice: Seleziona tutto

_mov_script = [MOV_BOX] execVM "MOV_Kit\MOV_init.sqf";
Dato che tu passi già il nome dell'oggetto, non è necessario rimetterlo nello script:

Codice: Seleziona tutto

_box = _this select 0;
if (isServer) then {if (isClass(configFile >> "cfgPatches" >> "acre_main")) then {_ammo_acre = "ACRE_Radiobox" createVehicle [(getpos _box select 0) + 1,(getpos _box select 1) + 1,0];_dir = getDir Acre;_ammo_acre setDir _dir;};};//Togli la variabile che non ti serve, ah questo è un commento e non viene considerato errore :P
_box addAction [("<t color=""#10ff00"">") + ("Prendi Occhiali VN") + "</t>","MOV_KIT\MOV_Kit_NV.sqf",[], 7, true, false, "", "isNull (unitBackpack player) && !([player] call ACE_fnc_HasRuck)"];
_box addAction [("<t color=""#FFF000"">") + ("Prendi Kit Team Leader Convenzionale") + "</t>","MOV_KIT\MOV_kit_SL.sqf",[], 7, true, false, "", "isNull (unitBackpack player) && !([player] call ACE_fnc_HasRuck)"];
Questo si fa per rendere lo script "generale". Il vantaggio è che puoi usare lo stesso script per più casse senza dover fare tanti script quante sono le casse ;)

Next step :)

Passiamo all'analisi dell'addAction:
[title, filename, (arguments, priority, showWindow, hideOnUse, shortcut, condition)]

Codice: Seleziona tutto

_box addAction [("<t color=""#10ff00"">") + ("Testo") + "</t>","MOV_KIT\MOV_Kit_NV.sqf",[], 7, true, false, "", "true"];
In questo caso non servono particolari condizioni, in quanto tutti i kits devono essere disponibili in qualsiasi condizione, perciò mettiamo true (sempre vera)

Analizziamo ora i vari scripts.
L'unico appunto che posso farti è questo:
Quando devi ripetere linee uguali, ti conviene usare il comando foreach.

Codice: Seleziona tutto

{player addmagazine "200Rnd_556x45_M249";} foreach [1,2,3,4];
In questo modo velocizzi il tutto :)

Quando hai appreso bene tutte queste cose di basi passiamo all'ultimo step un po più difficile ma veramente figo :)
Ti dico solo che alla fine invece di avere 10 scripts ne avremo solo 2 ;)
[align=center]Volere è potere[/align]
Rispondi