Fonctions utilitaires - GdC-Framework/GdC_lib GitHub Wiki

Préambule

Dans cette section vous trouverez les fonctions intégrées dans GDC_lib prévues pour les novices dans la programmation SQF. Ces fonctions sont caractérisées pour avoir un effet simple en jeu sans que le résultat doive être traité dans un script SQF par la suite. Pour les effets des fonctions, la même nomenclature que le wiki de bohémia (Voir § définitions) est utilisée :

  • LA, L'argument passé doit être local à la machine. Par exemple, une unité est locale à la machine du joueurs la contrôlant, les IA sont locales au serveur (ou le HC).
  • GA, Toutes types d'arguments acceptés même ceux locaux à une autre machine.
  • LE, seule la machine exécutant la fonction voit son effet.
  • GE, l'effet de la fonction est vu par toutes les machines (Connectées au moment de l'exécution).
  • SE, La fonction doit être exécutée sur le serveur.

Sommaire :

  1. GDC_fnc_addSingleUseAction
  2. GDC_fnc_addSingleUseHoldAction
  3. GDC_fnc_addZeusToPlayer
  4. GDC_fnc_addZeusToPlayerRemote
  5. GDC_fnc_markerToDAGR

Fonctions

GDC_fnc_addSingleUseAction

SE

/*
	Description:
		Add an action for all user, that should be use only one time.
		That's mean, when a user use the action, it will be destroy for all of them.

		/!\ HAS TO BE CALLED FROM SERVER /!\
		[OBJECT, [" TITLE ", { Function }]] call GDC_fnc_addSingleUseAction;

	Parameter(s):
		0 : OBJECT - Object where we want to add the action
		1 : ARRAY - All params for AddAction => See full parameters on https://community.bistudio.com/wiki/addAction

			Default params 
			[
				"<title>", 
				{
					params ["_target", "_caller", "_actionId", "_arguments"];
				},
				[],
				1.5, 
				true, 
				true, 
				"",
				"true", // _target, _this, _originalTarget
				50,
				false,
				"",
				""
			]

	Returns:
		string: Return the Action ID like AddAction
*/

Cette fonction rajoute une action molette à tous les utilisateurs (Connectés au moment de l'exécution), une fois qu'un joueur utilise cette action elle est supprimée pour tout le monde. Exemple : [ordinateur, [" Récupérer les informations ", { hint "Vous savez que l'ennemi se [...]" }]] call GDC_fnc_addSingleUseAction;.

GDC_fnc_addSingleUseHoldAction

SE

/*
	Description:
		Add an action for all user, that should be use only one time.
		That's mean, when a user use the action, it will be destroy for all of them.

		/!\ HAS TO BE CALLED FROM SERVER /!\

	Parameter(s):
		See full parameters on https://community.bistudio.com/wiki/BIS_fnc_holdActionAdd
			Example params 
			[
				_myLaptop,											// Object the action is attached to
				"Hack Laptop",										// Title of the action
				"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",	// Idle icon shown on screen
				"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",	// Progress icon shown on screen
				"_this distance _target < 3",						// Condition for the action to be shown
				"_caller distance _target < 3",						// Condition for the action to progress
				{},													// Code executed when action starts
				{},													// Code executed on every progress tick
				{ _this call MY_fnc_hackingCompleted },				// Code executed on completion
				{},													// Code executed on interrupted
				[],													// Arguments passed to the scripts as _this select 3
				12,													// Action duration [s]
				0,													// Priority
				true,												// Remove on completion
				false												// Show in unconscious state 
			]

	Returns:
		string: Return the Action ID like holdActionAdd
*/

Idem que pour GDC_fnc_addSingleUseAction, cette fois-ci pour les intéractions à maintenir.

GDC_fnc_addZeusToPlayer

SE

/**
 * @name addZeusToPlayer
 * Function that add a zeus module and linked it to the player passed as parameter. Work only on hosting machine.
 * 
 * @param {object} [_player = player], player linked to zeus
 *
 * @returns [_zeus_module, _player]
 *
 * @author Migoyan
 */

Cette fonction prend en paramètre l'unité (de préférence un joueur) auquel on lie le module Zeus créé.

Exemple : [] call GDC_fnc_addZeusToPlayer;, créé un Zeus pour l'hébergeur de la partie. Pour une utilisation fiable multijoueur voir GDC_fnc_addZeusToPlayerRemote. Retourne un tableau contenant le module Zeus créé et l'unité liée passée en paramètre.

GDC_fnc_addZeusToPlayerRemote

GA, GE

Version multijoueur de GDC_fnc_addZeusToPlayer

/**
 * @name addZeusToPlayerLocal
 * Remote version of addZeusToPlayer function for multiplayer.
 * 
 * @param {object} [_player = player], player linked to zeus
 *
 * @returns {Bool} true if successfull
 *
 * @author Migoyan
 */

Exemple : exécuter [] call GDC_fnc_addZeusToPlayerRemote; en local pour rajouter un Zeus à vous même. Pour récupérer un autre joueur utiliser la commande cursorObject en argument et ciblez l'unité voulue en exécutant la commande en local. Cette fonction retourne vrai si l'exécution est réussite.

GDC_fnc_markerToDAGR

LA, LE

/*
	Author: Sparfell

	Description:
	this function will allow the players to register into the DAGR the positions of several markers placed during the briefing
	[] call GDC_fnc_markerToDAGR
	
	Parameter(s): none

	Returns:
	nothing
*/

Utilisation recommandée : utilisez cette fonction dans le fichier initPlayerLocal.sqf (Comme pour les briefings) en tapant [] call GDC_fnc_markerToDAGR;.

⚠️ **GitHub.com Fallback** ⚠️