Allora, voglio rimettere mano su questo script.
Un tizio sul forum bis dove avevo chiesto una mano, al tempo mi rispose con questo:
Maybe something like this in the loop somewhere: (io gli volevo rispondere Maybe something like tu madre troia in the street somewhere)
if ( ( lifeState _unit ) == "UNCONSCIOUS" ) then {
_marker setMarkerType "Warning";
} else {
_marker setMarkerType _defaultType;
};
Ma è stato veramente troppo vago e non si capisce dove cazzo debba mettere sto codice, lui poi non mi ha più risposto quindi inutile, però
Aeroson l'autore dello script più sotto mi risponde così:
@DuM3D0: setUnconscious players are switched to different side i believe. Or if you have BTC revive enabled: BTC revive shows its own marker, that is why dynamic player markers hide its player marker in such case. Ora lasciamo un attimo da parte sta roba e ricapitoliamo: da qualche parte nel codice dello script c'è un check che verifica se il giocatore è vivo o è in un mezzo o altro. Il codice verifica (presumo funzioni) se qualcuno non è coscente e lo marca come "injured" se la missione usa il Norrin revive o il BTC revive con questi 2 pezzi di codice:
if(_unit getVariable ["NORRN_unconscious",false]) then {
_injured = true;
};
if(_unit getVariable ["BTC_need_revive",-1] == 1) then {
_injured = true;
_show = false;
};
Io da quel poco che capisco di programmazione presumo che
getVariable verifica la variabile "
NORRN_unconscious" e la confronta se ha il valore
false. Se la condizione è vera allora (then) da alla variabile
_injured il valore
true e presumo quindi che faccia vedere in mappa un marker con la posizione.
Non capisco il codice del BTC revive, lo confronta con il valore
-1 però poi non capisco
== 1 ma forse capisco perchè dopo il
then mette
_show = false, come dice Aeroson
"BTC revive shows its own marker, that is why dynamic player markers hide its player marker in such case."Ma poniamo il caso che usiamo il sistema del Norrin revive, ci serve quindi sapere il nome della variabile che ACE usa per far sapere che un giocatore è privo di conoscienza, quindi mi sono messo a spulciare il codice dei PBO di ACE ed ho trovato questo:
fnc_setUnconscious.sqf dove alla riga 27 troviamo:
if (_set isEqualTo (_unit getVariable ["ACE_isUnconscious", false])) exitWith {};
C'è una lievissima somiglianza al "
getVariable ["NORRN_unconscious",false]" quindi possiamo provare a fare un test in quel senso, ma se vedete nel mio primo post, in fondo c'è un codice che avevamo già provato con AGM e che non andava, ma adesso forse ho capito qualcosa di diverso e andando a rivedere i post forse ho trovato una via diversa.
Perchè? Perchè probabilmente come dice Aeroson
setUnconscious players are switched to different side quindi i giocatori essendo in un altra fazione NON vengono visualizzati dallo script perchè lo script è settato per visualizzare tutti i giocatori della tua fazione:
this will show players for your side in multiplayer si legge in cima ai commenti dello script dove viene spiegato un pò l'uso.
Una verifica sul fatto che i giocatori privi di conoscenza vengano spostati in un altra fazione forse è qui sempre nel file
fnc_setUnconscious.sqf di ACE dove alla linea 86 troviamo:
// So the AI does not get stuck, we are moving the unit to a temp group on its own.
//Unconscious units shouldn't be put in another group #527:
if (GVAR(moveUnitsFromGroupOnUnconscious)) then {
[_unit, true, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide);
};
Sia dal commento che dalla presenza di questo
side group credo si possa dedurre che i giocatori privi di conoscenza vengano veramente spostati di fazione, allora quindi potremo provare questo:
0 = ["players","allsides"] execVM 'player_markers.sqf';Questo sta nell'init.sqf e fà partire lo script che appunto uso sempre nelle mie mix per visualizzare i giocatori sulla mappa e nel GPS, di default è così
0 = [] execVM 'player_markers.sqf';Quindi come ho scritto prima
this will show players for your side in multiplayer. Ma con la versione con
0 = ["players","allsides"] execVM 'player_markers.sqf'; forse è possibile visualizzare tutte le fazioni (eccetto le IA) e quindi forse è possibile usare sta cosa come "workaround".
Ulteriore prova a favore di questo è che quando moriamo (in agm o in ace) se abbiamo il gps acceso vediamo soltanto il nostro marker al centro
ma di colore viola e se ben ricordo il colore viola indica i civili.
Ovviamente mi serve gente per fare i test, non mi posso dare una pistolettata in testa perchè sarei da solo e che ne so se mi vedono gli altri giocatori?
Gente date una mano.