diff --git a/Plugins/Core/sceneinlua/lang/en.lang b/Plugins/Core/sceneinlua/lang/en.lang index 008ea3bd..fb9c863e 100644 --- a/Plugins/Core/sceneinlua/lang/en.lang +++ b/Plugins/Core/sceneinlua/lang/en.lang @@ -159,6 +159,8 @@ scene.gridFineTuning.offset=Move a grid position scene.menu.alert.maxConditions=Only 4 conditions per Token! +scene.menu.conditions.instruction1=Ctrl+click to be always visible. +scene.menu.conditions.instruction2=Shift+click to fill token. scene.menu.conditions.c1=Number 1 scene.menu.conditions.c2=Number 2 scene.menu.conditions.c3=Number 3 diff --git a/Plugins/Core/sceneinlua/lang/pt.lang b/Plugins/Core/sceneinlua/lang/pt.lang index 2e8a5083..8de14aef 100644 --- a/Plugins/Core/sceneinlua/lang/pt.lang +++ b/Plugins/Core/sceneinlua/lang/pt.lang @@ -161,6 +161,8 @@ scene.gridFineTuning.offset=Mova a posição do grid scene.menu.alert.maxConditions=Apenas 4 condições por Token! +scene.menu.conditions.instruction1=Ctrl+clique pra ficar sempre visivel. +scene.menu.conditions.instruction2=Shift+clique pra ocupar o token todo. scene.menu.conditions.c1=Número 1 scene.menu.conditions.c2=Número 2 scene.menu.conditions.c3=Número 3 diff --git a/Plugins/Core/sceneinlua/module.xml b/Plugins/Core/sceneinlua/module.xml index e2b0060a..197a53f3 100644 --- a/Plugins/Core/sceneinlua/module.xml +++ b/Plugins/Core/sceneinlua/module.xml @@ -1,5 +1,5 @@ - + BR.COM.RRPG.SCENE3_IN_LUA diff --git a/Plugins/Core/sceneinlua/output/sceneinlua.rpk b/Plugins/Core/sceneinlua/output/sceneinlua.rpk index b24d5c8d..d7dfbe24 100644 Binary files a/Plugins/Core/sceneinlua/output/sceneinlua.rpk and b/Plugins/Core/sceneinlua/output/sceneinlua.rpk differ diff --git a/Plugins/Core/sceneinlua/scene_tokenMenu.lfm b/Plugins/Core/sceneinlua/scene_tokenMenu.lfm index 0a6a449c..18f995b9 100644 --- a/Plugins/Core/sceneinlua/scene_tokenMenu.lfm +++ b/Plugins/Core/sceneinlua/scene_tokenMenu.lfm @@ -125,7 +125,7 @@ local macConditions = newMultiActionMenuItem("", self.flaConditionOptions, 5); local actConditions = {}; for i=1, numConditions, 1 do - actConditions[i] = macConditions:addCheckBoxAction("/icos/conditions/"..i..".png", lang("scene.menu.conditions.c"..i)); + actConditions[i] = macConditions:addCheckBoxAction("/icos/conditions/"..i..".png", lang("scene.menu.conditions.instruction1") .. "\n" .. lang("scene.menu.conditions.instruction2") .. "\n" .. lang("scene.menu.conditions.c"..i)); end; local conditionsSlots = {0, 0, 0, 0, 0}; local slotX = {0, 0.6, 0, 0.6}; @@ -143,7 +143,7 @@ btnImageOptions.onClick = function() self:setActiveMenu(self.flaImageOptions); - end; + end; btnCondition.onClick = function() self:setActiveMenu(self.flaConditionOptions); @@ -524,7 +524,7 @@ end); self:close(); - end; + end; end; local function createInvertImageBoolOptionCallback(propName) @@ -540,7 +540,7 @@ end); self:close(); - end; + end; end; actColorBlend.onClick = function() @@ -633,127 +633,166 @@ actConditions[i]:setChecked(false); end; - actConditions[i].onClick = function() - local opGrafica = umToken.canvas:findByName(mark); - - if opGrafica == nil then - -- ADD CONDITION to all selected tokens if first token doesn't have the op - actConditions[i]:setChecked(true); - - for k=1, #self.theSelection, 1 do - local iterationUmToken = theSelection[k]; - if iterationUmToken.userData.CondtNum == nil then - iterationUmToken.userData.CondtNum = 0 - iterationUmToken.userData.CondtList = {} - end - - local iterationOpGrafica = iterationUmToken.canvas:findByName(mark); - - if iterationOpGrafica == nil then - -- ADD CONDITION to this token - if i ~= 31 then - -- Death token doesn't occupy an slot - iterationUmToken.userData.CondtNum = iterationUmToken.userData.CondtNum + 1 - iterationUmToken.userData.CondtList[iterationUmToken.userData.CondtNum] = mark - end - - -- CREATE the condition bitmap - iterationOpGrafica = iterationUmToken.canvas:addBitmap(); - iterationOpGrafica.name = mark; - - -- Getting URL - if i>= 61 and i <= 65 then - Dialogs.inputQuery("URL", lang("scene.inseridor.url"), "", - function(url) - iterationOpGrafica.url = url - end) - else - iterationOpGrafica.url = lang("scene.menu.conditions.link" .. i) - end - - -- if token is rotated ignore it - iterationOpGrafica.rotMode = "ignoreCanvasRot" - - -- draw condition after drawing token - iterationOpGrafica.outOfOrderMode = "afterOwnerLayer" - - -- define condition position - if i == 31 then - -- dead token occupy the whole token - iterationOpGrafica.x = 0 - iterationOpGrafica.y = 0 - iterationOpGrafica.width = 1 - iterationOpGrafica.height = 1 - else - -- [-0.1/0.3/0.7] - iterationOpGrafica.x = ((iterationUmToken.userData.CondtNum-1) % 3)*0.4 - 0.1 - - -- [1.4,1.8,2.2,...] - iterationOpGrafica.y = math.floor((iterationUmToken.userData.CondtNum-1)/3)*0.4 + 1.4 - iterationOpGrafica.width = 0.4 - iterationOpGrafica.height = 0.4 - - -- draw condition only when hovering or selected - iterationOpGrafica.drawingTrigger = {"hover", "selected"} - end - -- render on the 10th upper layer - iterationOpGrafica.z = 10 - else - -- this token alredy has the condition, skip - end - end; - else - -- REMOVE CONDITION to all selected tokens if first token doesn't have the op - actConditions[i]:setChecked(false); - - for k=1, #self.theSelection, 1 do - local iterationUmToken = theSelection[k] - if iterationUmToken.userData.CondtNum == nil then - iterationUmToken.userData.CondtNum = 0 - iterationUmToken.userData.CondtList = {} - end - - local iterationOpGrafica = iterationUmToken.canvas:findByName(mark) - if iterationOpGrafica~= nil then - iterationOpGrafica:delete() - end - - -- if token has any condition after this condition move them all - - -- find this condition's position on the list - local pos = nil - for l=1, iterationUmToken.userData.CondtNum, 1 do - if iterationUmToken.userData.CondtList[l] == mark then - pos = l - break - end - end - - if pos ~= nil then - -- we found that token position on the list - for l=pos, iterationUmToken.userData.CondtNum, 1 do - if l == iterationUmToken.userData.CondtNum then - -- last on the list, just delete - iterationUmToken.userData.CondtList[iterationUmToken.userData.CondtNum] = nil - iterationUmToken.userData.CondtNum = iterationUmToken.userData.CondtNum - 1 - else - -- move it one slot down - iterationUmToken.userData.CondtList[l] = iterationUmToken.userData.CondtList[l+1] - local OpGtoMove = iterationUmToken.canvas:findByName(iterationUmToken.userData.CondtList[l]) - - -- [-0.1/0.3/0.7] - OpGtoMove.x = ((l-1) % 3)*0.4 - 0.1 - -- [1.4,1.8,2.2,...] - OpGtoMove.y = math.floor((l-1)/3)*0.4 + 1.4 - end - end - -- move anyone after it - end - end + actConditions[i].onClick = function(event) + local fullSize = event.shiftKey + local smallSize = event.ctrlKey - end; - - end; + local opGrafica = umToken.canvas:findByName(mark); + + if opGrafica == nil then + -- ADD CONDITION to all selected tokens if first token doesn't have the op + actConditions[i]:setChecked(true); + + for k=1, #self.theSelection, 1 do + local iterationUmToken = theSelection[k]; + if iterationUmToken.userData.CondtNum == nil then + iterationUmToken.userData.CondtNum = 0 + iterationUmToken.userData.CondtList = {} + end + if iterationUmToken.userData.SmallCondtNum == nil then + iterationUmToken.userData.SmallCondtNum = 0 + iterationUmToken.userData.SmallCondtList = {} + end + + local iterationOpGrafica = iterationUmToken.canvas:findByName(mark); + + if iterationOpGrafica == nil then + -- ADD CONDITION to this token + if fullSize then + -- Death token doesn't occupy an slot + elseif smallSize then + -- Only 4 slots + if iterationUmToken.userData.SmallCondtNum >= 4 then return end + iterationUmToken.userData.SmallCondtNum = iterationUmToken.userData.SmallCondtNum + 1 + iterationUmToken.userData.SmallCondtList[iterationUmToken.userData.SmallCondtNum] = mark + else + iterationUmToken.userData.CondtNum = iterationUmToken.userData.CondtNum + 1 + iterationUmToken.userData.CondtList[iterationUmToken.userData.CondtNum] = mark + end + + -- CREATE the condition bitmap + iterationOpGrafica = iterationUmToken.canvas:addBitmap(); + iterationOpGrafica.name = mark; + + -- Getting URL + if i>= 61 and i <= 65 then + Dialogs.inputQuery("URL", lang("scene.inseridor.url"), "", + function(url) + iterationOpGrafica.url = url + end) + else + iterationOpGrafica.url = lang("scene.menu.conditions.link" .. i) + end + + -- if token is rotated ignore it + iterationOpGrafica.rotMode = "ignoreCanvasRot" + + -- draw condition after drawing token + iterationOpGrafica.outOfOrderMode = "afterOwnerLayer" + + -- define condition position + if fullSize then + -- dead token occupy the whole token + iterationOpGrafica.x = 0 + iterationOpGrafica.y = 0 + iterationOpGrafica.width = 1 + iterationOpGrafica.height = 1 + elseif smallSize then + -- [0.05, 0.55] + iterationOpGrafica.x = ((iterationUmToken.userData.SmallCondtNum-1) % 2)*0.5 + 0.05 + + -- [0.05, 0.55] + iterationOpGrafica.y = math.floor((iterationUmToken.userData.SmallCondtNum-1)/2)*0.5 + 0.05 + + iterationOpGrafica.width = 0.4 + iterationOpGrafica.height = 0.4 + else + -- [-0.1/0.3/0.7] + iterationOpGrafica.x = ((iterationUmToken.userData.CondtNum-1) % 3)*0.4 - 0.1 + + -- [1.4,1.8,2.2,...] + iterationOpGrafica.y = math.floor((iterationUmToken.userData.CondtNum-1)/3)*0.4 + 1.4 + iterationOpGrafica.width = 0.4 + iterationOpGrafica.height = 0.4 + + -- draw condition only when hovering or selected + iterationOpGrafica.drawingTrigger = {"hover", "selected"} + end + -- render on the 10th upper layer + iterationOpGrafica.z = 10 + else + -- this token alredy has the condition, skip + end + end; + else + -- REMOVE CONDITION to all selected tokens if first token doesn't have the op + actConditions[i]:setChecked(false); + + for k=1, #self.theSelection, 1 do + local iterationUmToken = theSelection[k] + if iterationUmToken.userData.CondtNum == nil then + iterationUmToken.userData.CondtNum = 0 + iterationUmToken.userData.CondtList = {} + end + if iterationUmToken.userData.SmallCondtNum == nil then + iterationUmToken.userData.SmallCondtNum = 0 + iterationUmToken.userData.SmallCondtList = {} + end + + local iterationOpGrafica = iterationUmToken.canvas:findByName(mark) + -- If opGrafica is inside token, it is a small op + local smallSize = iterationOpGrafica.y < 1 + if iterationOpGrafica~= nil then + iterationOpGrafica:delete() + end + + -- if token has any condition after this condition move them all + + -- find this condition's position on the list + local pos = nil + local var = "Condt" + if smallSize then + var = "SmallCondt" + end + for l=1, iterationUmToken.userData[var.."Num"], 1 do + if iterationUmToken.userData[var.."List"][l] == mark then + pos = l + break + end + end + + if pos ~= nil then + -- we found that token position on the list + for l=pos, iterationUmToken.userData[var.."Num"], 1 do + if l == iterationUmToken.userData[var.."Num"] then + -- last on the list, just delete + iterationUmToken.userData[var.."List"][iterationUmToken.userData[var.."Num"]] = nil + iterationUmToken.userData[var.."Num"] = iterationUmToken.userData[var.."Num"] - 1 + else + -- move it one slot down + iterationUmToken.userData[var.."List"][l] = iterationUmToken.userData[var.."List"][l+1] + local OpGtoMove = iterationUmToken.canvas:findByName(iterationUmToken.userData[var.."List"][l]) + + if smallSize then + -- [-0.1/0.3/0.7] + OpGtoMove.x = ((l-1) % 2)*0.5 + 0.05 + -- [1.4,1.8,2.2,...] + OpGtoMove.y = math.floor((l-1)/2)*0.5 + 0.05 + else + -- [-0.1/0.3/0.7] + OpGtoMove.x = ((l-1) % 3)*0.4 - 0.1 + -- [1.4,1.8,2.2,...] + OpGtoMove.y = math.floor((l-1)/3)*0.4 + 1.4 + end + end + end + -- move anyone after it + end + end + + end; + + end; end; end; diff --git a/Plugins/Core/sceneinlua/sdk/ndb.lua b/Plugins/Core/sceneinlua/sdk/ndb.lua index b3a55a6f..a292e42f 100644 --- a/Plugins/Core/sceneinlua/sdk/ndb.lua +++ b/Plugins/Core/sceneinlua/sdk/ndb.lua @@ -168,8 +168,8 @@ function localNDB.nodeFromHandle(nodeHandle) return node; end; -function localNDB.copyNodeToAnother(nodeDest, nodeSrc, ctxCtrl) - if (nodeDest == nil) or (nodeSrc == nil) or (nodeDest.handle == nodeSrc.handle) then +function localNDB.copyNodeToAnother(nodeDest, nodeSrc, ctxCtrl) + if nodeDest.handle == nodeSrc.handle then return; end; @@ -203,10 +203,7 @@ function localNDB.copyNodeToAnother(nodeDest, nodeSrc, ctxCtrl) if not ctxCtrl[srcChild.handle] then newChild = nodeDest:addChild(srcChild:getName()); - - if newChild ~= nil then - localNDB.copyNodeToAnother(newChild, srcChild, ctxCtrl); - end; + localNDB.copyNodeToAnother(newChild, srcChild, ctxCtrl); end; end; end, @@ -217,10 +214,6 @@ function localNDB.copyNodeToAnother(nodeDest, nodeSrc, ctxCtrl) end; function localNDB.copyTableToNode(nodeDest, tableValue) - if (nodeDest == nil) then - return; - end; - nodeDest:clearNode(); for k, v in pairs(tableValue) do @@ -248,36 +241,31 @@ function localNDB.assignPropValueToNode(node, prop, value) -- Setando um Table/Child Node _obj_invoke(node.handle, "BeginUpdate"); - tryFinally( - function() - node:setAttribute(prop, nil); -- remover atributo de mesmo nome se existir - local childNode = node:findChild(prop); - - if childNode == nil then - childNode = node:addChild(prop); -- Nodo não existe, vamos criar um - end; + node:setAttribute(prop, nil); -- remover atributo de mesmo nome se existir + local childNode = node:findChild(prop); + + if childNode == nil then + childNode = node:addChild(prop); -- Nodo não existe, vamos criar um + end; - if childNode ~= nil then - if rawget(value, "__nodeFlag") then - -- é um node - localNDB.copyNodeToAnother(childNode, value); - elseif rawget(value, "__nodeFacadeFlag") then - -- é um node facade - localNDB.copyNodeToAnother(childNode, value.__node); - else - -- Aparentemente é um table comum - localNDB.copyTableToNode(childNode, value); - end; - end; - end, - - function() - _obj_invoke(node.handle, "EndUpdate"); - end); + if rawget(value, "__nodeFlag") then + -- é um node + localNDB.copyNodeToAnother(childNode, value); + elseif rawget(value, "__nodeFacadeFlag") then + -- é um node facade + localNDB.copyNodeToAnother(childNode, value.__node); + else + -- Aparentemente é um table comum + localNDB.copyTableToNode(childNode, value); + end; + + _obj_invoke(node.handle, "EndUpdate"); else -- Setando um Atributo + --_obj_invoke(node.handle, "BeginUpdate"); _obj_invoke(node.handle, "RemoveChildNodes", prop); -- remover todos os child nodes de mesmo nome - node:setAttribute(prop, value); + node:setAttribute(prop, value); + --_obj_invoke(node.handle, "EndUpdate"); end; end; @@ -485,13 +473,7 @@ function ndb.createChildNode(nodeObj, childName) local node = localNDB.getNodeObjectFromFacade(nodeObj); if node ~= nil then - local childNode = node:addChild(childName); - - if childNode ~= nil then - return childNode:getFacade(); - else - return nil; - end; + return node:addChild(childName):getFacade(); else return nil; end; diff --git a/Plugins/Core/sceneinlua/sdk/rrpgGUI.lua b/Plugins/Core/sceneinlua/sdk/rrpgGUI.lua index 885a60bd..5d1855bf 100644 --- a/Plugins/Core/sceneinlua/sdk/rrpgGUI.lua +++ b/Plugins/Core/sceneinlua/sdk/rrpgGUI.lua @@ -1359,9 +1359,6 @@ function gui.RichEdit:getSelectionFontFamily() if System.checkAPIVersion(87, 4) function gui.RichEdit:getSelectionFontStyle() if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LGetSelectionFontStyle"); else return {}; end; end; function gui.RichEdit:getSelectionFloat() if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LGetSelectionFloat"); else return "none"; end; end; function gui.RichEdit:getSelectionParaAlign() if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LGetSelectionParaAlign"); else return "left"; end; end; -function gui.RichEdit:getSelectionParaLineSpacing() if System.checkAPIVersion(88, 3) then return _obj_invokeEx(self.handle, "LGetSelectionParaLineSpacing"); else return 1.0; end; end; -function gui.RichEdit:getSelectionParaTopMargin() if System.checkAPIVersion(88, 3) then return _obj_invokeEx(self.handle, "LGetSelectionParaTopMargin"); else return 0; end; end; -function gui.RichEdit:getSelectionParaBottomMargin() if System.checkAPIVersion(88, 3) then return _obj_invokeEx(self.handle, "LGetSelectionParaBottomMargin"); else return 0; end; end; function gui.RichEdit:gotoStart(holdSelection) if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LGotoStart", holdSelection); end; end; function gui.RichEdit:gotoEnd(holdSelection) if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LGotoEnd", holdSelection); end; end; @@ -1397,9 +1394,6 @@ function gui.RichEdit:setSelectionFontFamily(family) if System.checkAPIVersion(8 function gui.RichEdit:setSelectionFontStyle(style) if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LEditOp_SetSelectionFontStyle", style); end; end; function gui.RichEdit:setSelectionFloat(floatMode) if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LEditOp_SetSelectionFloat", floatMode); end; end; function gui.RichEdit:setSelectionParaAlign(paraAlign) if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LEditOp_SetSelectionParaAlign", paraAlign); end; end; -function gui.RichEdit:setSelectionParaLineSpacing(value) if System.checkAPIVersion(88, 3) then return _obj_invokeEx(self.handle, "LEditOp_SetSelectionParaLineSpacing", value); end; end; -function gui.RichEdit:setSelectionParaTopMargin(value) if System.checkAPIVersion(88, 3) then return _obj_invokeEx(self.handle, "LEditOp_SetSelectionParaTopMargin", value); end; end; -function gui.RichEdit:setSelectionParaBottomMargin(value) if System.checkAPIVersion(88, 3) then return _obj_invokeEx(self.handle, "LEditOp_SetSelectionParaBottomMargin", value); end; end; function gui.RichEdit:getLengthInChars() if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LGetLengthInChars"); else return 0; end; end; function gui.RichEdit:getLengthInGlyphs() if System.checkAPIVersion(87, 4) then return _obj_invokeEx(self.handle, "LGetLengthInGlyphs"); else return 0; end; end; diff --git a/Plugins/Scene/OrderMarker/module.xml b/Plugins/Scene/OrderMarker/module.xml index 89133710..e6e508d8 100644 --- a/Plugins/Scene/OrderMarker/module.xml +++ b/Plugins/Scene/OrderMarker/module.xml @@ -1,9 +1,9 @@ - + Ambesek.OrderMarker - 1.1 + 1.1.1 Order Marker diff --git a/Plugins/Scene/OrderMarker/order.lang b/Plugins/Scene/OrderMarker/order.lang index 348343a5..f10ab6fc 100644 --- a/Plugins/Scene/OrderMarker/order.lang +++ b/Plugins/Scene/OrderMarker/order.lang @@ -3,6 +3,6 @@ scene.order=Ordem scene.order.selected=Ordenar Todos Selecionados scene.order.clean=Limpar Todos Selecionados scene.order.select=Selecionar -scene.order.input=Digite a altura em quadrados +scene.order.input=Digite a ordem do token scene.order.invalid=Valor Inválido scene.order.manual=Ordernar Manualmente \ No newline at end of file diff --git a/Plugins/Scene/OrderMarker/output/OrderMarker.rpk b/Plugins/Scene/OrderMarker/output/OrderMarker.rpk index 1a7247f4..3782a077 100644 Binary files a/Plugins/Scene/OrderMarker/output/OrderMarker.rpk and b/Plugins/Scene/OrderMarker/output/OrderMarker.rpk differ diff --git a/Plugins/Scene/OrderMarker/sdk/ndb.lua b/Plugins/Scene/OrderMarker/sdk/ndb.lua index fdf33b60..a292e42f 100644 --- a/Plugins/Scene/OrderMarker/sdk/ndb.lua +++ b/Plugins/Scene/OrderMarker/sdk/ndb.lua @@ -917,7 +917,7 @@ function pairs(obj) end; function ipairs(obj) - if rawget(obj, "__nodeFacadeFlag") then + if (obj ~= nil) and rawget(obj, "__nodeFacadeFlag") then -- Node Façade local state = _prepareNodeFacadePairsState(obj); return oldIPairsFunc(state); diff --git a/Plugins/Scene/OrderMarker/sdk/rrpgGUI.lua b/Plugins/Scene/OrderMarker/sdk/rrpgGUI.lua index 3dfc8638..5d1855bf 100644 --- a/Plugins/Scene/OrderMarker/sdk/rrpgGUI.lua +++ b/Plugins/Scene/OrderMarker/sdk/rrpgGUI.lua @@ -1301,6 +1301,8 @@ gui.GridRecordList.eves["onGroupShow"] = "id, header"; gui.GridRecordList.eves["onGroupHide"] = "id, header"; gui.GridRecordList.eves["onEmptyState"] = ""; gui.GridRecordList.eves["onPagingStateChange"] = ""; +gui.GridRecordList.eves["onBeginOrganization"] = ""; +gui.GridRecordList.eves["onEndOrganization"] = ""; --[[ Objeto GridRecordListPgCtrl ]]-- diff --git a/Plugins/Scene/OrderMarker/sdk/serpent.dlua b/Plugins/Scene/OrderMarker/sdk/serpent.dlua index e1e07c22..62f268a6 100644 --- a/Plugins/Scene/OrderMarker/sdk/serpent.dlua +++ b/Plugins/Scene/OrderMarker/sdk/serpent.dlua @@ -21,7 +21,9 @@ local c, d = "Paul Kulchenko", "Lua serializer and pretty printer" local snum = {[tostring(1/0)]='1/0 --[[math.huge]]',[tostring(-1/0)]='-1/0 --[[-math.huge]]',[tostring(0/0)]='0/0'} local badtype = {thread = true, userdata = true, cdata = true} local getmetatable = debug and debug.getmetatable or getmetatable -local pairs = function(t) return next, t end -- avoid using __pairs in Lua 5.2+ + +-- local pairs = function(t) return next, t end -- avoid using __pairs in Lua 5.2+ -- it should use pairs because of nodeDatabase + local keyword, globals, G = {}, {}, (_G or _ENV) for _,k in ipairs({'and', 'break', 'do', 'else', 'elseif', 'end', 'false', 'for', 'function', 'goto', 'if', 'in', 'local', 'nil', 'not', 'or', 'repeat', diff --git a/Plugins/plugins.xml b/Plugins/plugins.xml index 69bb7946..e8516796 100644 --- a/Plugins/plugins.xml +++ b/Plugins/plugins.xml @@ -238,7 +238,7 @@ - + @@ -292,7 +292,7 @@ - + @@ -505,7 +505,7 @@ - + @@ -686,7 +686,7 @@ - +