Postado Julho 21, 2019 5 anos Boa noite alguem consegue atualizar pra mim por favor local config = { protectZone = "sim", -- Precisa estar em PZ para usar o comando? skill = { item = 9971, -- Item removido quantidade = 10, -- Quantidade quantidadeskill = 10, -- Skill adicionada limiteskill = 350 -- Limite }, magicLevel = { item = 9971, -- Item removido quantidade = 15, -- Quantidade quantidademl = 5, -- Magic level adicionado limitedeml = 200 -- Limite }, skillID = { -- ID das skills ["club"] = SKILL_CLUB, ["sword"]= SKILL_SWORD, ["axe"] = SKILL_AXE, ["distance"] = SKILL_DISTANCE, ["shielding"] = SKILL_SHIELD }, vocationSkill = { -- Vocações que pode comprar x skill ["club"] = {4, 8}, ["sword"] = {4, 8}, ["axe"] = {4, 8}, ["distance"] = {3, 7}, ["shielding"] = {4, 8} }, vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level delay = { skill = { storage = 45, duration = 5 -- Tempo para comprar skill novamente }, magicLevel = { storage = 97, duration = 5 -- Tempo para comprar magic level novamente } } } function onSay(player, words, param) if config.protectZone == "sim" and not Tile(player:getPosition()):hasFlag(TILESTATE_PROTECTIONZONE) then return player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você precisa estar em protection zone para comprar.") end if param == "magiclevel" then if player:getMagicLevel() < config.magicLevel.limitedeml then if isInArray(config.vocationMagicLevel, player:getVocation():getId()) then if player:removeItem(config.magicLevel.item, config.magicLevel.quantidade) then if (os.time() - player:getStorageValue(config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then player:setStorageValue(config.delay.magicLevel.storage, os.time()) local playerId = player:getGuid() player:remove() db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId) else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você não tem o item requerido.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Voce não pode comprar magic level.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você chegou no limite de magic level.") end elseif config.skillID[param:lower()] then if getPlayerSkill(cid, config.skillID[param:lower()]) < config.skill.limiteskill then if isInArray(config.vocationSkill[param:lower()], player:getVocation():getId()) then if player:removeItem(config.skill.item, config.skill.quantidade) then if (os.time() - player:getStorageValue(config.delay.skill.storage)) >= config.delay.skill.duration then player:setStorageValue(config.delay.skill.storage, os.time()) local playerId = player:getGuid() player:remove() db.query("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[param:lower()]) else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você não tem o item requerido.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Voce não pode comprar este skill.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você chegou no limite de skill.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.") end return true end tentei mas não sem nem por onde começar otx 3.10
Postado Julho 21, 2019 5 anos 10 horas atrás, Cleiton Felipi disse: Boa noite alguem consegue atualizar pra mim por favor Mostrar conteúdo oculto local config = { protectZone = "sim", -- Precisa estar em PZ para usar o comando? skill = { item = 9971, -- Item removido quantidade = 10, -- Quantidade quantidadeskill = 10, -- Skill adicionada limiteskill = 350 -- Limite }, magicLevel = { item = 9971, -- Item removido quantidade = 15, -- Quantidade quantidademl = 5, -- Magic level adicionado limitedeml = 200 -- Limite }, skillID = { -- ID das skills ["club"] = SKILL_CLUB, ["sword"]= SKILL_SWORD, ["axe"] = SKILL_AXE, ["distance"] = SKILL_DISTANCE, ["shielding"] = SKILL_SHIELD }, vocationSkill = { -- Vocações que pode comprar x skill ["club"] = {4, 8}, ["sword"] = {4, 8}, ["axe"] = {4, 8}, ["distance"] = {3, 7}, ["shielding"] = {4, 8} }, vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level delay = { skill = { storage = 45, duration = 5 -- Tempo para comprar skill novamente }, magicLevel = { storage = 97, duration = 5 -- Tempo para comprar magic level novamente } } } function onSay(player, words, param) if config.protectZone == "sim" and not Tile(player:getPosition()):hasFlag(TILESTATE_PROTECTIONZONE) then return player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você precisa estar em protection zone para comprar.") end if param == "magiclevel" then if player:getMagicLevel() < config.magicLevel.limitedeml then if isInArray(config.vocationMagicLevel, player:getVocation():getId()) then if player:removeItem(config.magicLevel.item, config.magicLevel.quantidade) then if (os.time() - player:getStorageValue(config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then player:setStorageValue(config.delay.magicLevel.storage, os.time()) local playerId = player:getGuid() player:remove() db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId) else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você não tem o item requerido.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Voce não pode comprar magic level.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você chegou no limite de magic level.") end elseif config.skillID[param:lower()] then if getPlayerSkill(cid, config.skillID[param:lower()]) < config.skill.limiteskill then if isInArray(config.vocationSkill[param:lower()], player:getVocation():getId()) then if player:removeItem(config.skill.item, config.skill.quantidade) then if (os.time() - player:getStorageValue(config.delay.skill.storage)) >= config.delay.skill.duration then player:setStorageValue(config.delay.skill.storage, os.time()) local playerId = player:getGuid() player:remove() db.query("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[param:lower()]) else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você não tem o item requerido.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Voce não pode comprar este skill.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você chegou no limite de skill.") end else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.") end return true end tentei mas não sem nem por onde começar otx 3.10 Como assim cara?Não entendi o problema.
Postado Julho 21, 2019 5 anos 6 horas atrás, Rayo disse: Como assim cara?Não entendi o problema. Ele quer tornar o script compatível com o OTX 3.10 !! @Cleiton Felipi, depois eu faço pra vc... Editado Julho 21, 2019 5 anos por King Jhow (veja o histórico de edições)
Postado Julho 21, 2019 5 anos Autor 8 minutos atrás, Wesley Bueno disse: Ele quer tornar o script compatível com o OTX 3.10 !! @Cleiton Felipi, depois eu faço pra vc... Obrigado
Postado Julho 22, 2019 5 anos Ainda não testei, teste aí, qualquer erro pode reportar. Citar function onSay(cid, words, param) if(param == "skillshielding10") then if getPlayerSkillLevel(cid, SKILL_SHIELD, true) >= 341 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.") return true end if(not isKnight(cid) and not isDrunou(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Knights e Drunous podem comprar skill de shield.") return true end if getPlayerItemCount(cid, 9971) >= 10 then local pid = getPlayerGUID(cid) local shield = getPlayerSkillLevel(cid, SKILL_SHIELD, true) doPlayerRemoveItem(cid, 9971, 10) setPlayerStorageValue(cid,11548,os.time()+5) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = " .. (shield + 10) .. ", `count` = 0 WHERE `skillid` = 5 and `player_id` = " .. pid .. ";") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.") end end return true end Editado Julho 22, 2019 5 anos por Wesley Bueno (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.