script marqueurs joueurs

Pour les Masochistes Éditeurs de missions
Répondre
Avatar du membre
=[TTK]= Dobeul Ouépone
Grand Fou
Grand Fou
Âge : 41
Messages : 1365
Enregistré le : mar. 14 août 2012, 17:27
Humeur : Brise des os avec ses burnes
Localisation : Par terre, attendant une coco

script marqueurs joueurs

Message par =[TTK]= Dobeul Ouépone »

Salut,

est ce que quelqu'un de doué en script peut m'en faire un qui fait apparaitre des marqueurs sur tous les joueurs (alliés/ennemis en pvp) après un temps qu'on définit dans les paramètres dudit script svp ?

un truc du genre

this exec ["marqueurs.sqf",600]

sleep select0;
#loop
"m_1" setMarkerPos position soldat_1;
~0.1
goto "loop"

en version qui marche, parce que la syntaxe et moi, ça fait 2.

Merci !

Je ferai un bisou sur la fesse de mon bon samaritain à la couscous. :)
Image
C'est quand même pas compliqué bordel !

Avatar du membre
=[TTK]= Yourry
Grand Scriptou
Grand Scriptou
Âge : 36
Messages : 1634
Enregistré le : mer. 17 mars 2010, 16:39
Localisation : Dans le reblochon !

Re: script marqueurs joueurs

Message par =[TTK]= Yourry »

Je n'ai pas compris les "600". Tu souhaites qu'au bout de 600 secondes, le script affiche aussi la positon des ennemis ?
"Les Boches faisaient "Kamarad". Il aurait fallu commencer par ça des deux côtés, pour éviter les massacres organisés par ceux d'en haut, mais le fusil qu'ils nous avaient collé entre les mains, forcément, il a bien fallu qu'il serve et tout le reste à suivit." dixit Tardi et Verney
Image
L'autre jour, en tirant le rouleau de papier cul, toute la cloison est venue avec. dixit Camille Caz

Avatar du membre
=[TTK]= Dobeul Ouépone
Grand Fou
Grand Fou
Âge : 41
Messages : 1365
Enregistré le : mar. 14 août 2012, 17:27
Humeur : Brise des os avec ses burnes
Localisation : Par terre, attendant une coco

Re: script marqueurs joueurs

Message par =[TTK]= Dobeul Ouépone »

Je voudrais que personne ne voit les marqueurs pendant les 600 premières secondes (mais ça peut être 1800, au choix).
Passé ce temps, les marqueurs s'affichent sur tout le monde, pour tout le monde.
En fait, le nec plus ultra serait de pouvoir choisir ce temps dans les paramètres de mission en début de partie.

C'est pour accélérer la fin de partie, je peux te présenter mon nouveau concept de PvP ce soir si t'es là.
J'ai franchi un pas dans le machiavélisme...
Image
C'est quand même pas compliqué bordel !

Avatar du membre
=[TTK]= Yoda
Grand Mérou
Grand Mérou
Âge : 58
Messages : 3562
Enregistré le : jeu. 11 févr. 2010, 17:52
Humeur : bieng-bieng
Localisation : Le milieu

Re: script marqueurs joueurs

Message par =[TTK]= Yoda »

Certes, machiavelico, mais tu devras quand même embrasser le cul d'un TTK ...
tsssstss, faut pas jouer avec ces choses là.
C’est parce que la vitesse de la lumière est supérieure à celle du son que certains ont l’air brillant avant d’avoir l’air con.

Image
" ... j'ai pas la tirelire dans le string et des tétons comme des pipettes de roues de camion ..." - Injonction Frog Pénelope 2014

Avatar du membre
=[TTK]= Dobeul Ouépone
Grand Fou
Grand Fou
Âge : 41
Messages : 1365
Enregistré le : mar. 14 août 2012, 17:27
Humeur : Brise des os avec ses burnes
Localisation : Par terre, attendant une coco

Re: script marqueurs joueurs

Message par =[TTK]= Dobeul Ouépone »

quand ça veut pas ça veut pas, même le script le plus simple ne se lance pas,

this exec "marqueur.sqs" dans le trigger

#loop
"mon_marqueur" setMarkerPos position mon_soldat
~0.1
goto "loop"

enfin quoi mince, je sais bien que je suis une tanche en script mais faut pas déconner là...
Arma 3 ne gererait plus les .sqs ? ben si puisque ça marche avec les intros scene.sqs

à l'aide svp, ça fait maintenant 3 heures que je passe sur un script minable... :cry: :cry: :cry:

(@yoda ok mais sans photo hein, ça restera interne à la ttk)
Image
C'est quand même pas compliqué bordel !

Avatar du membre
=[TTK]= Clem
Retraité
Retraité
Messages : 431
Enregistré le : ven. 12 févr. 2010, 15:47

Re: script marqueurs joueurs

Message par =[TTK]= Clem »

bon je n'ai pas envie de reprendre l’édition mais bon vu que c'est Dobeul donc je te file un truc susceptible de fonctionner mais je n'ai fais aucun test :

soit dans l'init tu fout ça :

Code : Tout sélectionner

if (time > 600) then
{
    ["player","allsides"] execVM "player_markers.sqf";
};    
soit dans un déclencheur avec comme condition :

Code : Tout sélectionner

time > 600 
et dans le champ surAct.

Code : Tout sélectionner

0 = ["player","allsides"] execVM "player_markers.sqf";    
et le script player_markers.sqf

Code : Tout sélectionner

*/
                   
if (isDedicated) exitWith {}; // is server  
if (!isNil{aero_player_markers_pos}) exitWith {}; // already running
                   
private ["_marker","_markerText","_temp","_unit","_vehicle","_markerNumber","_show","_injured","_text","_num","_getNextMarker","_getMarkerColor","_showAllSides","_showPlayers","_showAIs","_l"];

_showAllSides=false;
_showPlayers=false;
_showAIs=false;

if(count _this==0) then {
    _showAllSides=false;
    _showPlayers=true;
    _showAIs=!isMultiplayer;
};
                         
{
    _l=toLower _x;
    if(_l in ["player","players"]) then {
        _showPlayers=true;
    };
    if(_l in ["ai","ais"]) then {
        _showAIs=true;
    };
    if(_l in ["allside","allsides"]) then {
        _showAllSides=true;
    };
} forEach _this;

aero_player_markers_pos = [0,0];
onMapSingleClick "aero_player_markers_pos=_pos;";

_getNextMarker = {
    private ["_marker"]; 
    _markerNumber = _markerNumber + 1;
    _marker = format["um%1",_markerNumber];    
    if(getMarkerType _marker == "") then {
        createMarkerLocal [_marker, _this];
    } else {
        _marker setMarkerPosLocal _this;
    };
    _marker;
};

_getMarkerColor = {    
    [(((side _this) call bis_fnc_sideID) call bis_fnc_sideType),true] call bis_fnc_sidecolor;
};

while {true} do {
      
    waitUntil {
        sleep 0.025;
        true;
    };
    
    _markerNumber = 0; 
    
    // show players or player's vehicles
    {
        _show = false;
        _injured = false;
        _unit = _x;
        
        if(
            (
                (_showAIs && {!isPlayer _unit} && {0=={ {_x==_unit} count crew _x>0} count allUnitsUav}) ||
                (_showPlayers && {isPlayer _unit})
            ) && {
                _showAllSides || side _unit==side player
            }
        ) then {    
            if((crew vehicle _unit) select 0 == _unit) then {
                _show = true;
            };        
            if(!alive _unit || damage _unit > 0.9) then {
                _injured = true;
            };      
            if(!isNil {_unit getVariable "hide"}) then {
                _show = false;
            };  
            if(_unit getVariable ["BTC_need_revive",-1] == 1) then {
                _injured = true;
                _show = false;
            };          
            if(_unit getVariable ["NORRN_unconscious",false]) then {
                _injured = true;
            };                  
        };
                   
        if(_show) then {
            _vehicle = vehicle _unit;                        
            _pos = getPosATL _vehicle;                              
            _color = _unit call _getMarkerColor;  

            _markerText = _pos call _getNextMarker;                        
            _markerText setMarkerColorLocal _color;                                              
             _markerText setMarkerTypeLocal "c_unknown";                         
            _markerText setMarkerSizeLocal [0.8,0];

            _marker = _pos call _getNextMarker;            
            _marker setMarkerColorLocal _color;
            _marker setMarkerDirLocal getDir _vehicle;
            _marker setMarkerTypeLocal "mil_triangle";
            _marker setMarkerTextLocal "";            
            if(_vehicle == vehicle player) then {
                _marker setMarkerSizeLocal [0.8,1];
            } else {
                _marker setMarkerSizeLocal [0.5,0.7];
            };
            
             if(_vehicle != _unit && !(_vehicle isKindOf "ParachuteBase")) then {                                     
                _text = format["[%1]", getText(configFile>>"CfgVehicles">>typeOf _vehicle>>"DisplayName")];
                if(!isNull driver _vehicle) then {
                    _text = format["%1 %2", name driver _vehicle, _text];    
                };                                                     
                
                if((aero_player_markers_pos distance getPosATL _vehicle) < 50) then {
                    aero_player_markers_pos = getPosATL _vehicle;
                    _num = 0;
                    {
                        if(alive _x && isPlayer _x && _x != driver _vehicle) then {                        
                            _text = format["%1%2 %3", _text, if(_num>0)then{","}else{""}, name _x];
                            _num = _num + 1;
                        };                        
                    } forEach crew _vehicle; 
                } else { 
                    _num = {alive _x && isPlayer _x && _x != driver _vehicle} count crew _vehicle;
                    if (_num>0) then {                    
                        if (isNull driver _vehicle) then {
                            _text = format["%1 %2", _text, name (crew _vehicle select 0)];
                            _num = _num - 1;
                        };
                        if (_num>0) then {
                            _text = format["%1 +%2", _text, _num];
                        };
                    };
                };                         
            } else {
                _text = name _x;            
            };
            _markerText setMarkerTextLocal _text;
        };
        
    } forEach allUnits;


    // show player controlled uavs
    {
        if(isUavConnected _x) then {    
            _unit=(uavControl _x) select 0;
            if(
                (                
                    (_showAIs && {!isPlayer _unit}) || 
                    (_showPlayers && {isPlayer _unit})
                ) && {
                    _showAllSides || side _unit==side player
                }
            ) then {
                _color = _x call _getMarkerColor;                                                                                            
                _pos = getPosATL _x;
                
                _marker = _pos call _getNextMarker;            
                _marker setMarkerColorLocal _color;
                _marker setMarkerDirLocal getDir _x;
                _marker setMarkerTypeLocal "mil_triangle";            
                _marker setMarkerTextLocal "";
                if(_unit == player) then {
                    _marker setMarkerSizeLocal [0.8,1];
                } else {
                    _marker setMarkerSizeLocal [0.5,0.7];
                };
                                              
                _markerText = _pos call _getNextMarker;    
                _markerText setMarkerColorLocal _color;       
                _markerText setMarkerTypeLocal "c_unknown";
                _markerText setMarkerSizeLocal [0.8,0];
                _markerText setMarkerTextLocal format["%1 [%2]", name _unit, getText(configFile>>"CfgVehicles">>typeOf _x>>"DisplayName")];    
            };
        };
    } forEach allUnitsUav; 
    
    
    

    _markerNumber = _markerNumber + 1;
    _marker = format["um%1",_markerNumber];    
    while {(getMarkerType _marker) != ""} do {
        deleteMarkerLocal _marker;
        _markerNumber = _markerNumber + 1;
        _marker = format["um%1",_markerNumber];
    };
     
};    
a toi de voir si ça marche ou ça te convient
a+
Image

Avatar du membre
=[TTK]= Dobeul Ouépone
Grand Fou
Grand Fou
Âge : 41
Messages : 1365
Enregistré le : mar. 14 août 2012, 17:27
Humeur : Brise des os avec ses burnes
Localisation : Par terre, attendant une coco

Re: script marqueurs joueurs

Message par =[TTK]= Dobeul Ouépone »

Merci !
Image
C'est quand même pas compliqué bordel !

Avatar du membre
=[TTK]= Yourry
Grand Scriptou
Grand Scriptou
Âge : 36
Messages : 1634
Enregistré le : mer. 17 mars 2010, 16:39
Localisation : Dans le reblochon !

Re: script marqueurs joueurs

Message par =[TTK]= Yourry »

La seconde méthode fonctionnera mais pas dans l'init.
Pense à truc clem, si tu colles isServer dans la condition du déclencheur seul le serveur active le déclencheur.
Or un script GPS est client uniquement.
"Les Boches faisaient "Kamarad". Il aurait fallu commencer par ça des deux côtés, pour éviter les massacres organisés par ceux d'en haut, mais le fusil qu'ils nous avaient collé entre les mains, forcément, il a bien fallu qu'il serve et tout le reste à suivit." dixit Tardi et Verney
Image
L'autre jour, en tirant le rouleau de papier cul, toute la cloison est venue avec. dixit Camille Caz

Avatar du membre
=[TTK]= Dobeul Ouépone
Grand Fou
Grand Fou
Âge : 41
Messages : 1365
Enregistré le : mar. 14 août 2012, 17:27
Humeur : Brise des os avec ses burnes
Localisation : Par terre, attendant une coco

Re: script marqueurs joueurs

Message par =[TTK]= Dobeul Ouépone »

Clem a passé beaucoup de temps avec moi pour résoudre mon problème (qui n'est pas venu seul) et le test grandeur nature sur le serveur a fonctionné.
Mais comme on est pas à l'abri d'un problème caché,
je mets
time > 600
dans le déclencheur
et le isserveur, il est tout simplement supprimé ?
Image
C'est quand même pas compliqué bordel !

Avatar du membre
=[TTK]= Yourry
Grand Scriptou
Grand Scriptou
Âge : 36
Messages : 1634
Enregistré le : mer. 17 mars 2010, 16:39
Localisation : Dans le reblochon !

Re: script marqueurs joueurs

Message par =[TTK]= Yourry »

Oui vire le isServer. Tu pourrais même mettre !(isServer) vu que c'est un script client.
"Les Boches faisaient "Kamarad". Il aurait fallu commencer par ça des deux côtés, pour éviter les massacres organisés par ceux d'en haut, mais le fusil qu'ils nous avaient collé entre les mains, forcément, il a bien fallu qu'il serve et tout le reste à suivit." dixit Tardi et Verney
Image
L'autre jour, en tirant le rouleau de papier cul, toute la cloison est venue avec. dixit Camille Caz

Avatar du membre
=[TTK]= Terebantine
Grand Manitou
Grand Manitou
Âge : 37
Messages : 261
Enregistré le : dim. 30 sept. 2012, 20:45
Humeur : au bout du tunnel j ai vu de la lumière
Localisation : Au fond des fesses de Frog

Re: script marqueurs joueurs

Message par =[TTK]= Terebantine »

comme dit yoda,si tu veut de l aide il faudra embrasser mon cul après peut etre je chercherai une solution adéquate(peut etre) :D
Barrez vous d'ici,cap sur la Bretagne et son alcoolémie.
Image

Avatar du membre
=[TTK]= Balrog
Grand Cochonou
Grand Cochonou
Âge : 37
Messages : 830
Enregistré le : lun. 19 nov. 2012, 15:05
Humeur : quenelleuse
Localisation : La Moria

Re: script marqueurs joueurs

Message par =[TTK]= Balrog »

Ouai ils ont raison bisouille moi le cul aussi............ mais juste pour le plaisirs parce que j'y bite rien à vos trucs
Il est liiibre BAL , y en à même qui disent.......
Image

Répondre