Skip to content

Commit

Permalink
Merge pull request A3Wasteland#42 from A3Wasteland/AgentRev_TPG_merges
Browse files Browse the repository at this point in the history
AgentRev TPG merges
  • Loading branch information
AgentRev committed Sep 11, 2013
2 parents d217278 + 2497c4e commit 0ac40ed
Show file tree
Hide file tree
Showing 164 changed files with 5,428 additions and 3,743 deletions.
341 changes: 90 additions & 251 deletions addons/R3F_ARTY_AND_LOG/R3F_LOG/config.sqf

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion addons/R3F_ARTY_AND_LOG/R3F_LOG/en_strings_lang.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ STR_R3F_LOG_action_heliport_larguer_fait = "Object ""%1"" dropped.";
STR_R3F_LOG_action_deplacer_objet = "Move this object";
STR_R3F_LOG_action_relacher_objet = "Release the object";
STR_R3F_LOG_ne_pas_monter_dans_vehicule = "You can't get in a vehicle while you're carrying this object !";
STR_R3F_LOG_courir_trop_vite = "Moving too fast ! (Press C or SHIFT to slow down!)";
STR_R3F_LOG_courir_trop_vite = "Moving too fast! (Press C to slow down)";
STR_LOCK_OBJECT = "Lock this object";
STR_UNLOCK_OBJECT = "Unlock this object";
STR_RELEASE_HORIZONTAL = "Release the object horizontally";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ if (isNil "_heliporte") then
_heliporteur setVariable ["R3F_LOG_heliporte", objNull, false];
};

_heliporteur addAction [("<img image=""client\icons\r3f_lift.paa""/> <t color=""#ff0000"">" + STR_R3F_LOG_action_heliporter + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\heliporteur\heliporter.sqf", nil, 6, true, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_heliporter_valide"];
_heliporteur addAction [("<img image=""client\icons\r3f_lift.paa""/> <t color=""#ffff00"">" + STR_R3F_LOG_action_heliporter + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\heliporteur\heliporter.sqf", nil, 6, true, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_heliporter_valide"];

_heliporteur addAction [("<img image=""client\icons\r3f_drop.paa""/> <t color=""#06ef00"">" + STR_R3F_LOG_action_heliport_larguer + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\heliporteur\larguer.sqf", nil, 6, true, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_heliport_larguer_valide"];
4 changes: 3 additions & 1 deletion addons/R3F_ARTY_AND_LOG/R3F_LOG/heliporteur/larguer.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,16 @@ else

detach _objet;

sleep 0.1;

if ([0,0,0] distance velocity _heliporteur < 15 && getPos _heliporteur select 2 < 40) then
{
_objet setPos [getPos _objet select 0, getPos _objet select 1, 1];
_objet setVelocity [0, 0, 0.1];
}
else
{
_objet setVelocity (_velocity);
_objet setVelocity _velocity;
};

player globalChat format [STR_R3F_LOG_action_heliport_larguer_fait, getText (configFile >> "CfgVehicles" >> (typeOf _objet) >> "displayName")];
Expand Down
6 changes: 3 additions & 3 deletions addons/R3F_ARTY_AND_LOG/R3F_LOG/objet_init.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ _objet addEventHandler ["GetIn",

if ({_objet isKindOf _x} count R3F_LOG_CFG_objets_deplacables > 0) then
{
_objet addAction [("<img image=""client\icons\r3f_lift.paa""/> <t color=""#ff0000"">" + STR_R3F_LOG_action_deplacer_objet + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\deplacer.sqf", nil, 5, false, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_deplacer_objet_valide && !(_target getVariable ['objectLocked', false])"];
_objet addAction [("<img image=""client\icons\r3f_lift.paa""/> <t color=""#ffff00"">" + STR_R3F_LOG_action_deplacer_objet + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\deplacer.sqf", nil, 5, false, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_deplacer_objet_valide && !(_target getVariable ['objectLocked', false])"];
_objet addAction [("<img image=""client\icons\r3f_lock.paa""/> <t color=""#ff0000"">" + STR_LOCK_OBJECT + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\objectLockStateMachine.sqf", _doLock, -5, false, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_deplacer_objet_valide && Object_canLock"];
_objet addAction [("<img image=""client\icons\r3f_unlock.paa""/> <t color=""#06ef00"">" + STR_UNLOCK_OBJECT + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\objectLockStateMachine.sqf", _doUnlock, -5, false, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_deplacer_objet_valide && !Object_canLock"];
};
Expand All @@ -64,10 +64,10 @@ if ({_objet isKindOf _x} count R3F_LOG_CFG_objets_remorquables > 0) then
{
if ({_objet isKindOf _x} count R3F_LOG_CFG_objets_deplacables > 0) then
{
_objet addAction [("<img image=""client\icons\r3f_tow.paa""/> <t color=""#ff0000"">" + STR_R3F_LOG_action_remorquer_deplace + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\remorqueur\remorquer_deplace.sqf", nil, 6, true, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_remorquer_deplace_valide"];
_objet addAction [("<img image=""client\icons\r3f_tow.paa""/> <t color=""#ffff00"">" + STR_R3F_LOG_action_remorquer_deplace + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\remorqueur\remorquer_deplace.sqf", nil, 6, true, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_remorquer_deplace_valide"];
};

_objet addAction [("<img image=""client\icons\r3f_tow.paa""/> <t color=""#ff0000"">" + STR_R3F_LOG_action_selectionner_objet_remorque + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\remorqueur\selectionner_objet.sqf", nil, 5, false, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_selectionner_objet_remorque_valide && Object_canLock"];
_objet addAction [("<img image=""client\icons\r3f_tow.paa""/> <t color=""#ffff00"">" + STR_R3F_LOG_action_selectionner_objet_remorque + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\remorqueur\selectionner_objet.sqf", nil, 5, false, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_selectionner_objet_remorque_valide && Object_canLock"];

_objet addAction [("<img image=""client\icons\r3f_untow.paa""/> <t color=""#06ef00"">" + STR_R3F_LOG_action_detacher + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\remorqueur\detacher.sqf", nil, 6, true, true, "", "R3F_LOG_objet_addAction == _target && R3F_LOG_action_detacher_valide"];
};
Expand Down
59 changes: 47 additions & 12 deletions addons/R3F_ARTY_AND_LOG/R3F_LOG/remorqueur/detacher.sqf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* D�tacher un objet d'un v�hicule
* Détacher un objet d'un véhicule
*
* @param 0 l'objet � d�tacher
* @param 0 l'objet à détacher
*
* Copyright (C) 2010 madbull ~R3F~
*
Expand All @@ -23,29 +23,64 @@ else
_objet = _this select 0;
_remorqueur = _objet getVariable "R3F_LOG_est_transporte_par";

// Ne pas permettre de d�crocher un objet s'il est port� h�liport�
// Ne pas permettre de décrocher un objet s'il est porté héliporté
if ({_remorqueur isKindOf _x} count R3F_LOG_CFG_remorqueurs > 0) then
{
// On m�morise sur le r�seau que le v�hicule remorque quelque chose
player playMove "AinvPknlMstpSlayWrflDnon_medic";

player addEventHandler ["AnimDone",
{
if (_this select 1 == "AinvPknlMstpSlayWrflDnon_medic") then
{
player switchMove "";
player removeAllEventHandlers "AnimDone";
};
}];

if ((getPosASL player) select 2 > 0) then
{
player attachTo [_remorqueur, [
(boundingBox _remorqueur select 1 select 0),
(boundingBox _remorqueur select 0 select 1) + 1,
(boundingBox _remorqueur select 0 select 2) - (boundingBox player select 0 select 2)
]];

player setDir 270;
player setPos (getPos player);
sleep 0.05;
detach player;
};

sleep 2;

// On mémorise sur le réseau que le véhicule remorque quelque chose
_remorqueur setVariable ["R3F_LOG_remorque", objNull, true];
// On m�morise aussi sur le r�seau que le objet est attach� en remorque
// On mémorise aussi sur le réseau que le objet est attaché en remorque
_objet setVariable ["R3F_LOG_est_transporte_par", objNull, true];

if (_objet isKindOf "Car") then
{
detach _objet;
_objet setVelocity [0,0,0.01];
} else {
detach _objet;
_objet setVelocity [0,0,0];
}
else
{
if (local _objet) then
{
[netId _objet] execVM "server\functions\detachTowedObject.sqf";
}
else
{
requestDetachTowedObject = netId _objet;
publicVariable "requestDetachTowedObject";
};
};

player playMove "AinvPknlMstpSlayWrflDnon_medic";
sleep 5;
sleep 4;

if ({_objet isKindOf _x} count R3F_LOG_CFG_objets_deplacables > 0) then
{
// Si personne n'a re-remorquer l'objet pendant le sleep 7
// Si personne n'a re-remorquer l'objet pendant le sleep 6
if (isNull (_remorqueur getVariable "R3F_LOG_remorque") &&
(isNull (_objet getVariable "R3F_LOG_est_transporte_par")) &&
(isNull (_objet getVariable "R3F_LOG_est_deplace_par"))
Expand All @@ -65,4 +100,4 @@ else
};

R3F_LOG_mutex_local_verrou = false;
};
};
79 changes: 66 additions & 13 deletions addons/R3F_ARTY_AND_LOG/R3F_LOG/remorqueur/remorquer_selection.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -44,24 +44,76 @@ else
// On mémorise aussi sur le réseau que le canon est attaché en remorque
_objet setVariable ["R3F_LOG_est_transporte_par", _remorqueur, true];

// On place le joueur sur le côté du véhicule, ce qui permet d'éviter les blessure et rend l'animation plus réaliste
player attachTo [_remorqueur, [
(boundingBox _remorqueur select 1 select 0),
(boundingBox _remorqueur select 0 select 1) + 1,
(boundingBox _remorqueur select 0 select 2) - (boundingBox player select 0 select 2)
]];
player playMove "AinvPknlMstpSlayWrflDnon_medic";

player setDir 270;
player setPos (getPos player);
player addEventHandler ["AnimDone",
{
if (_this select 1 == "AinvPknlMstpSlayWrflDnon_medic") then
{
player switchMove "";
player removeAllEventHandlers "AnimDone";
};
}];

if ((getPosASL player) select 2 > 0) then
{

// On place le joueur sur le côté du véhicule, ce qui permet d'éviter les blessure et rend l'animation plus réaliste
player attachTo [_remorqueur, [
(boundingBox _remorqueur select 1 select 0),
(boundingBox _remorqueur select 0 select 1) + 1,
(boundingBox _remorqueur select 0 select 2) - (boundingBox player select 0 select 2)
]];

player setDir 270;
player setPos (getPos player);
sleep 0.05;
detach player;
};

player playMove "AinvPknlMstpSlayWrflDnon_medic";
sleep 2;

_compensateY = 0;
_compensateZ = 0;

if (_remorqueur isKindOf "Boat_Armed_01_base_F" && !(_objet isKindOf "Boat_Armed_01_base_F")) then
{
_compensateZ = _compensateZ + 1.25;
};
if (!(_remorqueur isKindOf "Boat_Armed_01_base_F") && _objet isKindOf "Boat_Armed_01_base_F") then
{
_compensateZ = _compensateZ - 0.5;
};
if (_objet isKindOf "Heli_Light_01_base_F") then
{
_compensateY = _compensateY - 1.25;
_compensateZ = _compensateZ - 2.2;
};
if (_objet isKindOf "Heli_Light_02_base_F") then
{
_compensateY = _compensateY + 3;
_compensateZ = _compensateZ + 0.25;
};
if (_objet isKindOf "Heli_Transport_01_base_F") then
{
_compensateY = _compensateY + 1.25;
};
if (_objet isKindOf "Heli_Attack_02_base_F") then
{
_compensateZ = _compensateZ + 0.2;
};

// Attacher à l'arrière du véhicule au ras du sol
_objet attachTo [_remorqueur, [
0,
(boundingBox _remorqueur select 0 select 1) + (boundingBox _objet select 0 select 1) + 3,
(boundingBox _remorqueur select 0 select 2) - (boundingBox _objet select 0 select 2)

((boundingCenter _objet select 1) - (boundingCenter _remorqueur select 1)) +
((boundingBoxReal _remorqueur select 0 select 1) + (boundingCenter _remorqueur select 1)) +
((boundingBoxReal _objet select 0 select 1) + (boundingCenter _objet select 1)) - 0.11 + _compensateY,

((boundingCenter _objet select 2) - (boundingCenter _remorqueur select 2)) +
((boundingBoxReal _remorqueur select 0 select 2) + (boundingCenter _remorqueur select 2)) +
((boundingBoxReal _objet select 1 select 2) - (boundingCenter _objet select 2)) + 0.1 + _compensateZ
]];

R3F_LOG_objet_selectionne = objNull;
Expand Down Expand Up @@ -93,8 +145,9 @@ else
};
};

sleep 5;
} else {
sleep 5;
}
else {
player globalChat "You can't tow more than one vehicle.";
};
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* V�rifie r�guli�rement des conditions portant sur l'objet point� par l'arme du joueur
* Permet de diminuer la fr�quence des v�rifications des conditions normalement faites dans les addAction (~60Hz)
* La justification de ce syst�me est que les conditions sont tr�s complexes (count, nearestObjects)
* Vérifie régulièrement des conditions portant sur l'objet pointé par l'arme du joueur
* Permet de diminuer la fréquence des vérifications des conditions normalement faites dans les addAction (~60Hz)
* La justification de ce système est que les conditions sont très complexes (count, nearestObjects)
*
* Copyright (C) 2010 madbull ~R3F~
*
Expand All @@ -24,11 +24,11 @@ while {true} do
{
R3F_LOG_objet_addAction = _objet_pointe;

// Note : les expressions de conditions ne sont pas factoris�es pour garder de la clart� (d�j� que c'est pas vraiment �a) (et le gain serait minime)
// Note : les expressions de conditions ne sont pas factorisées pour garder de la clarté (déjà que c'est pas vraiment ça) (et le gain serait minime)

Object_canLock = !(_objet_pointe getVariable ['objectLocked', false]);

// Si l'objet est un objet d�pla�able
// Si l'objet est un objet déplaçable
if ({_objet_pointe isKindOf _x} count R3F_LOG_CFG_objets_deplacables > 0) then
{
// Condition action deplacer_objet
Expand All @@ -40,7 +40,7 @@ while {true} do
// Si l'objet est un objet remorquable
if ({_objet_pointe isKindOf _x} count R3F_LOG_CFG_objets_remorquables > 0) then
{
// Et qu'il est d�pla�able
// Et qu'il est déplaçable
if ({_objet_pointe isKindOf _x} count R3F_LOG_CFG_objets_deplacables > 0) then
{
// Condition action remorquer_deplace
Expand All @@ -64,7 +64,7 @@ while {true} do
// Si l'objet est un objet transportable
if ({_objet_pointe isKindOf _x} count R3F_LOG_classes_objets_transportables > 0) then
{
// Et qu'il est d�pla�able
// Et qu'il est déplaçable
if ({_objet_pointe isKindOf _x} count R3F_LOG_CFG_objets_deplacables > 0) then
{
// Condition action charger_deplace
Expand All @@ -81,7 +81,7 @@ while {true} do
!(_objet_pointe getVariable "R3F_LOG_disabled"));
};

// Si l'objet est un v�hicule remorqueur
// Si l'objet est un véhicule remorqueur
if ({_objet_pointe isKindOf _x} count R3F_LOG_CFG_remorqueurs > 0) then
{
// Condition action remorquer_deplace
Expand All @@ -100,7 +100,7 @@ while {true} do
(getPos _objet_pointe select 2 < 2) && !(_objet_pointe getVariable "R3F_LOG_disabled"));
};

// Si l'objet est un v�hicule transporteur
// Si l'objet est un véhicule transporteur
if ({_objet_pointe isKindOf _x} count R3F_LOG_classes_transporteurs > 0) then
{
// Condition action charger_deplace
Expand All @@ -123,13 +123,13 @@ while {true} do
};
};

// Pour l'h�liportation, l'objet n'est plus point�, mais on est dedans
// Si le joueur est dans un h�liporteur
// Pour l'héliportation, l'objet n'est plus pointé, mais on est dedans
// Si le joueur est dans un héliporteur
if ({(vehicle player) isKindOf _x} count R3F_LOG_CFG_heliporteurs > 0) then
{
R3F_LOG_objet_addAction = vehicle player;

// On est dans le v�hicule, on affiche pas les options de transporteur et remorqueur
// On est dans le véhicule, on affiche pas les options de transporteur et remorqueur
R3F_LOG_action_charger_deplace_valide = false;
R3F_LOG_action_charger_selection_valide = false;
R3F_LOG_action_contenu_vehicule_valide = false;
Expand Down
8 changes: 4 additions & 4 deletions addons/R3F_ARTY_AND_LOG/R3F_LOG/transporteur/decharger.sqf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* D�charger un objet d'un transporteur - appel� deuis l'interface listant le contenu du transporteur
* Décharger un objet d'un transporteur - appelé deuis l'interface listant le contenu du transporteur
*
* Copyright (C) 2010 madbull ~R3F~
*
Expand All @@ -26,7 +26,7 @@ else

closeDialog 0;

// Recherche d'un objet du type demand�
// Recherche d'un objet du type demandé
_objet_a_decharger = objNull;
for [{_i = 0}, {_i < count _objets_charges}, {_i = _i + 1}] do
{
Expand All @@ -38,7 +38,7 @@ else

if !(isNull _objet_a_decharger) then
{
// On m�morise sur le r�seau le nouveau contenu du transporteur (c�d avec cet objet en moins)
// On mémorise sur le réseau le nouveau contenu du transporteur (càd avec cet objet en moins)
_objets_charges = _objets_charges - [_objet_a_decharger];
_transporteur setVariable ["R3F_LOG_objets_charges", _objets_charges, true];

Expand All @@ -57,7 +57,7 @@ else

sleep 2;

// On pose l'objet au hasard vers l'arri�re du transporteur
// On pose l'objet au hasard vers l'arrière du transporteur
_objet_a_decharger setPos [
(getPos _transporteur select 0) - ((_dimension_max+5+(random 10)-(boundingBox _transporteur select 0 select 1))*sin (getDir _transporteur - 90+random 180)),
(getPos _transporteur select 1) - ((_dimension_max+5+(random 10)-(boundingBox _transporteur select 0 select 1))*cos (getDir _transporteur - 90+random 180)),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Initialise un v�hicule transporteur
* Initialise un véhicule transporteur
*
* @param 0 le transporteur
*/
Expand All @@ -14,7 +14,7 @@ if (isNil "_est_desactive") then
_transporteur setVariable ["R3F_LOG_disabled", false];
};

// D�finition locale de la variable si elle n'est pas d�finie sur le r�seau
// Définition locale de la variable si elle n'est pas définie sur le réseau
_objets_charges = _transporteur getVariable "R3F_LOG_objets_charges";
if (isNil "_objets_charges") then
{
Expand Down
Loading

0 comments on commit 0ac40ed

Please sign in to comment.