mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Added SQF support
This commit is contained in:
@@ -1931,6 +1931,14 @@ SCSS:
|
||||
extensions:
|
||||
- .scss
|
||||
|
||||
SQF:
|
||||
type: programming
|
||||
color: "#FFCB1F"
|
||||
lexer: C++
|
||||
extensions:
|
||||
- .sqf
|
||||
- .hqf
|
||||
|
||||
SQL:
|
||||
type: data
|
||||
ace_mode: sql
|
||||
|
||||
68
samples/SQF/fn_remoteExecFnc.sqf
Normal file
68
samples/SQF/fn_remoteExecFnc.sqf
Normal file
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Author: commy2
|
||||
*
|
||||
* Execute a function on a remote machine in mp.
|
||||
*
|
||||
* Argument:
|
||||
* 0: Function arguments (Array)
|
||||
* 1: Function to execute, has to be defined on the remote machine first (String)
|
||||
* 2: The function will be executed where this unit is local OR the mode were this function should be executed. (Object OR Number, optional default: 2)
|
||||
* Mode 0: execute on this machine only
|
||||
* Mode 1: execute on server
|
||||
* Mode 2: execute on all clients + server
|
||||
* Mode 3: execute on dedicated only
|
||||
*
|
||||
* Return value:
|
||||
* Nothing
|
||||
*/
|
||||
|
||||
private ["_arguments", "_function", "_unit", "_id"];
|
||||
|
||||
AGM_Core_remoteFnc = _this;
|
||||
|
||||
_arguments = _this select 0;
|
||||
_function = call compile (_this select 1);
|
||||
_unit = _this select 2;
|
||||
|
||||
if (isNil "_unit") then {
|
||||
_unit = 2;
|
||||
};
|
||||
|
||||
if (typeName _unit == "SCALAR") exitWith {
|
||||
switch (_unit) do {
|
||||
case 0 : {
|
||||
_arguments call _function;
|
||||
};
|
||||
case 1 : {
|
||||
if (isServer) then {
|
||||
_arguments call _function;
|
||||
} else {
|
||||
publicVariableServer "AGM_Core_remoteFnc";
|
||||
};
|
||||
};
|
||||
case 2 : {
|
||||
_arguments call _function;
|
||||
|
||||
AGM_Core_remoteFnc set [2, 0];
|
||||
publicVariable "AGM_Core_remoteFnc";
|
||||
};
|
||||
case 3 : {
|
||||
if (isDedicated) then {
|
||||
_arguments call _function;
|
||||
} else {
|
||||
if (!isServer) then {publicVariableServer "AGM_Core_remoteFnc"};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
if (local _unit) then {
|
||||
_arguments call _function;
|
||||
} else {
|
||||
if (isServer) then {
|
||||
_id = owner _unit;
|
||||
_id publicVariableClient "AGM_Core_remoteFnc";
|
||||
} else {
|
||||
publicVariableServer "AGM_Core_remoteFnc";
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user