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:
|
extensions:
|
||||||
- .scss
|
- .scss
|
||||||
|
|
||||||
|
SQF:
|
||||||
|
type: programming
|
||||||
|
color: "#FFCB1F"
|
||||||
|
lexer: C++
|
||||||
|
extensions:
|
||||||
|
- .sqf
|
||||||
|
- .hqf
|
||||||
|
|
||||||
SQL:
|
SQL:
|
||||||
type: data
|
type: data
|
||||||
ace_mode: sql
|
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