From 86178365c995d216a0f299df3ac0eb88f22283b3 Mon Sep 17 00:00:00 2001 From: CreatorADOfficial Date: Wed, 26 Nov 2025 13:53:12 +0000 Subject: [PATCH] Automated Extension submission for issue #1916 --- extensions/community/EventFlowOptimiser.json | 1099 ++++++++++++++++++ 1 file changed, 1099 insertions(+) create mode 100644 extensions/community/EventFlowOptimiser.json diff --git a/extensions/community/EventFlowOptimiser.json b/extensions/community/EventFlowOptimiser.json new file mode 100644 index 000000000..97f3ea5a4 --- /dev/null +++ b/extensions/community/EventFlowOptimiser.json @@ -0,0 +1,1099 @@ +{ + "author": "", + "category": "Game mechanic", + "extensionNamespace": "", + "fullName": "EventFlow Optimiser", + "gdevelopVersion": "", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWNvZy1yZWZyZXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTQuNUMxOS4xIDE0LjUgMjAuMSAxNC45IDIwLjggMTUuN0wyMiAxNC41VjE4LjVIMThMMTkuOCAxNi43QzE5LjMgMTYuMyAxOC43IDE2IDE4IDE2QzE2LjYgMTYgMTUuNSAxNy4xIDE1LjUgMTguNVMxNi42IDIxIDE4IDIxQzE4LjggMjEgMTkuNSAyMC42IDIwIDIwSDIxLjdDMjEuMSAyMS41IDE5LjcgMjIuNSAxOCAyMi41QzE1LjggMjIuNSAxNCAyMC43IDE0IDE4LjVTMTUuOCAxNC41IDE4IDE0LjVNMTEuNyAyMEgxMS4zTDEwLjkgMTcuNEM5LjcgMTcuMiA4LjcgMTYuNSA3LjkgMTUuNkw1LjUgMTYuNkw0LjcgMTUuM0w2LjggMTMuN0M2LjQgMTIuNSA2LjQgMTEuMyA2LjggMTAuMUw0LjcgOC43TDUuNSA3LjRMNy45IDguNEM4LjcgNy41IDkuNyA2LjkgMTAuOSA2LjZMMTEuMiA0SDEyLjdMMTMuMSA2LjZDMTQuMyA2LjggMTUuNCA3LjUgMTYuMSA4LjRMMTguNSA3LjRMMTkuMyA4LjdMMTcuMiAxMC4yQzE3LjQgMTAuOCAxNy41IDExLjQgMTcuNSAxMkgxOEMxOC41IDEyIDE5IDEyLjEgMTkuNSAxMi4yVjEyTDE5LjQgMTFMMjEuNSA5LjRDMjEuNyA5LjIgMjEuNyA5IDIxLjYgOC44TDE5LjYgNS4zQzE5LjUgNSAxOS4zIDUgMTkgNUwxNi41IDZDMTYgNS42IDE1LjQgNS4zIDE0LjggNUwxNC40IDIuM0MxNC41IDIuMiAxNC4yIDIgMTQgMkgxMEM5LjggMiA5LjUgMi4yIDkuNSAyLjRMOS4xIDUuMUM4LjUgNS4zIDggNS43IDcuNCA2TDUgNUM0LjcgNSA0LjUgNSA0LjMgNS4zTDIuMyA4LjhDMi4yIDkgMi4zIDkuMiAyLjUgOS40TDQuNiAxMUw0LjUgMTJMNC42IDEzTDIuNSAxNC43QzIuMyAxNC45IDIuMyAxNS4xIDIuNCAxNS4zTDQuNCAxOC44QzQuNSAxOSA0LjcgMTkgNSAxOUw3LjUgMThDOCAxOC40IDguNiAxOC43IDkuMiAxOUw5LjYgMjEuN0M5LjYgMjEuOSA5LjggMjIuMSAxMC4xIDIyLjFIMTIuNkMxMi4xIDIxLjQgMTEuOSAyMC43IDExLjcgMjBNMTYgMTIuM1YxMkMxNiA5LjggMTQuMiA4IDEyIDhTOCA5LjggOCAxMkM4IDE0LjIgOS44IDE2IDEyIDE2QzEyLjcgMTQuMyAxNC4yIDEyLjkgMTYgMTIuM00xMCAxMkMxMCAxMC45IDEwLjkgMTAgMTIgMTBTMTQgMTAuOSAxNCAxMiAxMy4xIDE0IDEyIDE0IDEwIDEzLjEgMTAgMTJaIiAvPjwvc3ZnPg==", + "name": "EventFlowOptimiser", + "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/dbdd5be174df7d1169e610dfc9cfaefa02e413bc9f2f707b0639887f84043a08_cog-refresh-outline.svg", + "shortDescription": "Limits, How events run.", + "version": "1.0.0", + "description": "Automatically Changes The Speed Of Execution, And Adds a Way Of Disabling Events During GamePlay.", + "tags": [ + "Optimisation" + ], + "authorIds": [ + "mu1pKMrGmTTX98LMxHYJ62GzFyJ2" + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [ + { + "name": "VariableFPS", + "type": "number", + "value": 0 + }, + { + "name": "VariableTICKTIER", + "type": "number", + "value": 0 + }, + { + "name": "VariableSpeedDeterment", + "type": "number", + "value": 0 + }, + { + "name": "reapsvar", + "type": "structure", + "children": [ + { + "name": "CopyOfVariableUpdateChangeReapeter1", + "type": "boolean", + "value": false + }, + { + "name": "CopyOfVariableUpdateChangeReapeter2", + "type": "boolean", + "value": false + }, + { + "name": "CopyOfVariableUpdateChangeReapeter3", + "type": "boolean", + "value": false + }, + { + "name": "VariableUpdateChangeReapeter4", + "type": "boolean", + "value": false + }, + { + "name": "VariableUpdateChangeReapeter5", + "type": "boolean", + "value": false + } + ] + }, + { + "name": "Identifiers", + "type": "array", + "children": [] + } + ], + "eventsFunctions": [ + { + "description": "Optimise Event, Automatically slows down running speed to decrease performance issues.", + "fullName": "Optimise Event", + "functionType": "Condition", + "name": "Function", + "sentence": "Optimise Events, Identifier: _PARAM1_, Target: _PARAM2_", + "events": [ + { + "folded": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EventFlowOptimiser::Function2" + }, + "parameters": [ + "", + "1", + "\"1\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableFPS", + "=", + "ceil(1/TimeDelta())" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + "<", + "10" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + ">", + "10" + ] + }, + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + "<", + "30" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + ">", + "30" + ] + }, + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + "<", + "50" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "3" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + ">", + "50" + ] + }, + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + "<", + "60" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "4" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableFPS", + ">", + "60" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "5" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EventFlowOptimiser::Function2" + }, + "parameters": [ + "", + "1", + "\"2\"", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "ExecutionTarget", + "=", + "\"Fast\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "2" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "3" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.01" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "4" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.005" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "5" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.001" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EventFlowOptimiser::Function2" + }, + "parameters": [ + "", + "1", + "\"3\"", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "ExecutionTarget", + "=", + "\"Medium\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "1.5" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "2" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "3" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.5" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "4" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.05" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "5" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.01" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EventFlowOptimiser::Function2" + }, + "parameters": [ + "", + "1", + "\"4\"", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "ExecutionTarget", + "=", + "\"Slow\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "2" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "1.5" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "3" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "4" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "VariableTICKTIER", + "=", + "5" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VariableSpeedDeterment", + "=", + "0.05" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EventFlowOptimiser::Function2" + }, + "parameters": [ + "", + "VariableSpeedDeterment", + "\"75\"", + "" + ] + }, + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Identifiers[Identifier]", + "False", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PushString" + }, + "parameters": [ + "Identifiers", + "Identifier" + ] + }, + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "Identifiers[Identifier]", + "False", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Identifier", + "name": "Identifier", + "supplementaryInformation": "sceneIdentifier", + "type": "expression" + }, + { + "description": "Execution Target", + "name": "ExecutionTarget", + "supplementaryInformation": "[\"Slow\",\"Medium\",\"Fast\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "reapter.", + "fullName": "Repeater", + "functionType": "Condition", + "name": "Function2", + "sentence": "Loop every: _PARAM1_ Using Looper: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "ParameterUsedLooper" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CompareTimer" + }, + "parameters": [ + "", + "ParameterUsedLooper", + ">=", + "ParameterEverysec" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "ParameterUsedLooper" + ] + }, + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Every (Second)", + "name": "ParameterEverysec", + "type": "expression" + }, + { + "description": "Used Looper", + "name": "ParameterUsedLooper", + "supplementaryInformation": "[\"1\",\"2\",\"3\",\"4\",\"5\"]", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Disables Optimised Events.", + "fullName": "Disable Events (Optimised)", + "functionType": "Action", + "name": "Function3", + "sentence": "Disable Optimized Event: _PARAM1_ Enable: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "EnableDisable", + "False", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "Identifiers[Identifier]", + "True", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "EnableDisable", + "True", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "Identifiers[Identifier]", + "False", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Identifier", + "name": "Identifier", + "supplementaryInformation": "sceneidentifier", + "type": "expression" + }, + { + "description": "Enable", + "name": "EnableDisable", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "async": true, + "description": "Wait For Condition.", + "fullName": "Wait For Condition", + "functionType": "Condition", + "name": "Function4", + "sentence": "Wait For Condition, _PARAM1_ Seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Wait" + }, + "parameters": [ + "TimeToWait" + ] + }, + { + "type": { + "value": "BuiltinAsync::ResolveAsyncEventsFunction" + }, + "parameters": [ + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Time To Wait", + "name": "TimeToWait", + "type": "expression" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] +} \ No newline at end of file