Postado Janeiro 11, 2019 6 anos Olá, estou começando um OT e eu fiz um personagem de teste, com alguns acessos de GOD. Atualmente estou usando o groupid de senior tutor (3). Só que no código de create_item por exemplo (/i), o meu personagem fala em amarelo e o comando não funciona. Eu tentei trocar em uma parte o ACCOUNT_TYPE_GOD para ACCOUNT_TYPE_SENIORTUTOR, mas sem sucesso. E queria que os comandos de teleporte (/town, /goto, /c) também funcionassem nesse personagem de teste. Segue os códigos de create item e teleporte que eu gostaria de fazer meu senior tutor conseguisse usar. local invalidIds = { 1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 14, 15, 19, 21, 26, 27, 28, 35, 43, 1094 } function onSay(player, words, param) if not player:getGroup():getAccess() then return true end if player:getAccountType() < ACCOUNT_TYPE_SENIORTUTOR then return false end local split = param:split(",") local itemType = ItemType(split[1]) if itemType:getId() == 0 then itemType = ItemType(tonumber(split[1])) if tonumber(split[1]) == nil or itemType:getId() == 0 then player:sendCancelMessage("There is no item with that id or name.") return false end end if table.contains(invalidIds, itemType:getId()) then return false end local count = tonumber(split[2]) if count then if itemType:isStackable() then count = math.min(10000, math.max(1, count)) elseif not itemType:isFluidContainer() then count = math.min(100, math.max(1, count)) else count = math.max(0, count) end else if not itemType:isFluidContainer() then count = 1 else count = 0 end end local result = player:addItem(itemType:getId(), count) if result then if not itemType:isStackable() then if type(result) == "table" then for _, item in ipairs(result) do item:decay() end else result:decay() end end player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) end return false end function onSay(player, words, param) if not player:getGroup():getAccess() then return true end local town = Town(param) if town == nil then player:sendCancelMessage("Town not found.") return false end player:teleportTo(town:getTemplePosition()) return false end function onSay(player, words, param) if not player:getGroup():getAccess() then return true end local creature = Creature(param) if not creature then player:sendCancelMessage("A creature with that name could not be found.") return false end local oldPosition = creature:getPosition() local newPosition = creature:getClosestFreePosition(player:getPosition(), false) if newPosition.x == 0 then player:sendCancelMessage("You can not teleport " .. creature:getName() .. ".") return false elseif creature:teleportTo(newPosition) then if not creature:isInGhostMode() then oldPosition:sendMagicEffect(CONST_ME_POFF) newPosition:sendMagicEffect(CONST_ME_TELEPORT) end end return false end function onSay(player, words, param) if not player:getGroup():getAccess() then return true end local target = Creature(param) if target == nil then player:sendCancelMessage("Creature not found.") return false end player:teleportTo(target:getPosition()) return false end Consegui resolver o problema. A solução foi remover todos os :getAccess() e adicionando if player:getAccountType() < ACCOUNT_TYPE_SENIORTUTOR then return false end em todos os códigos que não tinham anteriormente. Editado Janeiro 11, 2019 6 anos por Dmitri Kovarskov (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.