Untitled diff

Created Diff never expires
34 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
85 lines
34 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
86 lines
/**
/**
* Recherche périodiquement les nouveaux objets pour leur ajouter les fonctionnalités d'artillerie et de logistique si besoin
* Recherche périodiquement les nouveaux objets pour leur ajouter les fonctionnalités d'artillerie et de logistique si besoin
* Script à faire tourner dans un fil d'exécution dédié
* Script à faire tourner dans un fil d'exécution dédié
*
*
* Copyright (C) 2010 madbull ~R3F~
* Copyright (C) 2010 madbull ~R3F~
*
*
* This program is free software under the terms of the GNU General Public License version 3.
* This program is free software under the terms of the GNU General Public License version 3.
* You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
#include "R3F_ARTY_disable_enable.sqf"
#include "R3F_ARTY_disable_enable.sqf"
#include "R3F_LOG_disable_enable.sqf"
#include "R3F_LOG_disable_enable.sqf"
// Attente fin briefing
// Attente fin briefing
sleep 0.1;
sleep 0.1;
private ["_liste_objets_depl_heli_remorq_transp", "_liste_vehicules_connus", "_liste_vehicules", "_count_liste_vehicules", "_i", "_objet"];
private ["_liste_objets_depl_heli_remorq_transp", "_liste_vehicules", "_count_liste_vehicules", "_i", "_objet"];
#ifdef R3F_LOG_enable
#ifdef R3F_LOG_enable
// Union des tableaux de types d'objets servant dans un isKindOf
// Union des tableaux de types d'objets servant dans un isKindOf
_liste_objets_depl_heli_remorq_transp = R3F_LOG_CFG_objets_deplacables + R3F_LOG_CFG_objets_heliportables + R3F_LOG_CFG_objets_remorquables + R3F_LOG_classes_objets_transportables;
_liste_objets_depl_heli_remorq_transp = R3F_LOG_CFG_objets_deplacables + R3F_LOG_CFG_objets_heliportables + R3F_LOG_CFG_objets_remorquables + R3F_LOG_classes_objets_transportables;
#endif
#endif
// Contiendra la liste des véhicules (et objets) déjà initialisés
_liste_vehicules_connus = [];
while {true} do
while {true} do
{
{
if !(isNull player) then
if !(isNull player) then
{
{
// Récupération des tout les nouveaux véhicules de la carte et des nouveaux objets dérivant de "Static" (caisse de mun, drapeau, ...) proches du joueur
// Récupération des tout les nouveaux véhicules de la carte et des nouveaux objets dérivant de "Static" (caisse de mun, drapeau, ...) proches du joueur
_liste_vehicules = (vehicles + nearestObjects [player, ["Static"], 80]) - _liste_vehicules_connus;
_liste_vehicules = nearestObjects [player, ["LandVehicle", "Ship", "Air", "Thing", "Static"], 75];
_count_liste_vehicules = count _liste_vehicules;
_count_liste_vehicules = count _liste_vehicules;
if (_count_liste_vehicules > 0) then
if (_count_liste_vehicules > 0) then
{
{
_sleepDelay = 10 / _count_liste_vehicules;
// On parcoure tout les véhicules présents dans le jeu en 18 secondes
// On parcoure tout les véhicules présents dans le jeu en 18 secondes
for [{_i = 0}, {_i < _count_liste_vehicules}, {_i = _i + 1}] do
{
{
_objet = _liste_vehicules select _i;
_objet = _x;
#ifdef R3F_LOG_enable
if !(_objet getVariable ["R3F_LOG_init_done", false]) then
// Si l'objet est un objet déplaçable/héliportable/remorquable/transportable
if ({_objet isKindOf _x} count _liste_objets_depl_heli_remorq_transp > 0) then
{
{
[_objet] spawn R3F_LOG_FNCT_objet_init;
#ifdef R3F_LOG_enable
};
// If object can be moved / airlifted / towed / loaded in
if ({_objet isKindOf _x} count _liste_objets_depl_heli_remorq_transp > 0) then
{
[_objet] spawn R3F_LOG_FNCT_objet_init;
};
// Si l'objet est un véhicule héliporteur
// If vehicle can airlift
if ({_objet isKindOf _x} count R3F_LOG_CFG_heliporteurs > 0) then
if ({_objet isKindOf _x} count R3F_LOG_CFG_heliporteurs > 0) then
{
{
[_objet] spawn R3F_LOG_FNCT_heliporteur_init;
[_objet] spawn R3F_LOG_FNCT_heliporteur_init;
};
};
// Si l'objet est un véhicule transporteurs whatever
// If vehicle can transport contents
if ({_objet isKindOf _x} count R3F_LOG_classes_transporteurs > 0) then
if ({_objet isKindOf _x} count R3F_LOG_classes_transporteurs > 0) then
{
{
[_objet] spawn R3F_LOG_FNCT_transporteur_init;
[_objet] spawn R3F_LOG_FNCT_transporteur_init;
};
};
// Si l'objet est un véhicule remorqueur
// If vehicle can tow
if ({_objet isKindOf _x} count R3F_LOG_CFG_remorqueurs > 0) then
if ({_objet isKindOf _x} count R3F_LOG_CFG_remorqueurs > 0) then
{
{
[_objet] spawn R3F_LOG_FNCT_remorqueur_init;
[_objet] spawn R3F_LOG_FNCT_remorqueur_init;
};
_objet setVariable ["R3F_LOG_init_done", true];
if (!local _objet && !simulationEnabled _objet) then { _objet enableSimulation true };
#endif
};
};
#endif
sleep _sleepDelay;
} forEach _liste_vehicules;
sleep (10/_count_liste_vehicules);
};
// Les objets ont été initialisés, on les mémorise pour ne plus les ré-initialiser
_liste_vehicules_connus = _liste_vehicules_connus + _liste_vehicules;
}
}
else
else
{
{
sleep 10;
sleep 10;
};
};
}
}
else
else
{
{
sleep 2;
sleep 2;
};
};
};
};