beta
This commit is contained in:
+11
-11
@@ -167,7 +167,7 @@ local function CreateTestForCondition(uid, input, allConditionsTemplate, usedSta
|
|||||||
local preamble = conditionTemplate and conditionTemplate.preamble;
|
local preamble = conditionTemplate and conditionTemplate.preamble;
|
||||||
|
|
||||||
local stateCheck = "state[" .. trigger .. "] and state[" .. trigger .. "].show and ";
|
local stateCheck = "state[" .. trigger .. "] and state[" .. trigger .. "].show and ";
|
||||||
local stateVariableCheck = "state[" .. trigger .. "]." .. variable .. "~= nil and ";
|
local stateVariableCheck = string.format("state[" .. trigger .. "][%q]", variable) .. "~= nil and ";
|
||||||
|
|
||||||
local preambleString
|
local preambleString
|
||||||
|
|
||||||
@@ -208,35 +208,35 @@ local function CreateTestForCondition(uid, input, allConditionsTemplate, usedSta
|
|||||||
elseif (cType == "number" and value and op) then
|
elseif (cType == "number" and value and op) then
|
||||||
local v = tonumber(value)
|
local v = tonumber(value)
|
||||||
if (v) then
|
if (v) then
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. op .. v;
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]" .. string.format("[%q]", variable) .. op .. v;
|
||||||
end
|
end
|
||||||
elseif (cType == "timer" and value and op) then
|
elseif (cType == "timer" and value and op) then
|
||||||
if (op == "==") then
|
if (op == "==") then
|
||||||
check = stateCheck .. stateVariableCheck .. "abs(state[" .. trigger .. "]." ..variable .. "- now -" .. value .. ") < 0.05";
|
check = stateCheck .. stateVariableCheck .. "abs(state[" .. trigger .. "]" .. string.format("[%q]", variable) .. "- now -" .. value .. ") < 0.05";
|
||||||
else
|
else
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. "- now" .. op .. value;
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]" .. string.format("[%q]", variable) .. "- now" .. op .. value;
|
||||||
end
|
end
|
||||||
elseif (cType == "select" and value and op) then
|
elseif (cType == "select" and value and op) then
|
||||||
if (tonumber(value)) then
|
if (tonumber(value)) then
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. op .. tonumber(value);
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]" .. string.format("[%q]", variable) .. op .. tonumber(value);
|
||||||
else
|
else
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. op .. "'" .. value .. "'";
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]".. string.format("[%q]", variable) .. op .. "'" .. value .. "'";
|
||||||
end
|
end
|
||||||
elseif (cType == "bool" and value) then
|
elseif (cType == "bool" and value) then
|
||||||
local rightSide = value == 0 and "false" or "true";
|
local rightSide = value == 0 and "false" or "true";
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. "==" .. rightSide
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]" .. string.format("[%q]", variable) .. "==" .. rightSide
|
||||||
elseif (cType == "string" and value) then
|
elseif (cType == "string" and value) then
|
||||||
if(op == "==") then
|
if(op == "==") then
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. " == [[" .. value .. "]]";
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]" .. string.format("[%q]", variable) .. " == [[" .. value .. "]]";
|
||||||
elseif (op == "find('%s')") then
|
elseif (op == "find('%s')") then
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. ":find([[" .. value .. "]], 1, true)";
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]" .. string.format("[%q]", variable) .. ":find([[" .. value .. "]], 1, true)";
|
||||||
elseif (op == "match('%s')") then
|
elseif (op == "match('%s')") then
|
||||||
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]." .. variable .. ":match([[" .. value .. "]], 1, true)";
|
check = stateCheck .. stateVariableCheck .. "state[" .. trigger .. "]" .. string.format("[%q]", variable) .. ":match([[" .. value .. "]], 1, true)";
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if (cType == "timer" and value) then
|
if (cType == "timer" and value) then
|
||||||
recheckCode = " nextTime = state[" .. trigger .. "] and state[" .. trigger .. "]." .. variable .. " and (state[" .. trigger .. "]." .. variable .. " -" .. value .. ")\n";
|
recheckCode = " nextTime = state[" .. trigger .. "] and state[" .. trigger .. "]" .. string.format("[%q]", variable) .. " and (state[" .. trigger .. "]" .. string.format("[%q]", variable) .. " -" .. value .. ")\n";
|
||||||
recheckCode = recheckCode .. " if (nextTime and (not recheckTime or nextTime < recheckTime) and nextTime >= now) then\n"
|
recheckCode = recheckCode .. " if (nextTime and (not recheckTime or nextTime < recheckTime) and nextTime >= now) then\n"
|
||||||
recheckCode = recheckCode .. " recheckTime = nextTime\n";
|
recheckCode = recheckCode .. " recheckTime = nextTime\n";
|
||||||
recheckCode = recheckCode .. " end\n"
|
recheckCode = recheckCode .. " end\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user