-
Total de itens
77 -
Registro em
-
Última visita
Sobre maikons
Informações
-
Forma que conheci o xTibia
Otservs
-
Sou
OT-Admin
Últimos Visitantes
1108 visualizações
maikons's Achievements
-
Alguém que usa o script da demon oak em servidores 8.60 (0.4)... Poderia me passar um script funcional pra essa versão e me ajudar a configurar? Já coloquei as arvores, mas não sei como é, se são actions, oq colocar no mapa, nunca fiz essa quests, mas os players estão cobrando...
-
bump
-
Muito obrigado, vou te dar outros reps aqui, vlw!!!
-
Não sei o porque, mas o código ta aparecendo pra mim (não sei se é só pra mim) Com varios > < Troca o código pra PHP que arruma eu acho, pelo menos quando eu posto
-
Alguém sabe?
-
Queria que cada item tivesse uma chance pra que o itemid 8300 fosse 2 vezes mais fácil de acertar If item 8306 changes = levels = { [1] = {50, false, false}, [2] = {20, false, false}, [3] = {10, true, true} }, Else if item 8300 changes = levels = { [1] = {100, false, false}, [2] = {40, false, false}, [3] = {20, true, true} }, script --PERFECT UPGRADE SYSTEM UpgradeHandler = { nameLv = { [1] = "UNIQ", [2] = "RARE", [3] = "EPIC" }, levels = { [1] = {50, false, false}, [2] = {20, false, false}, [3] = {10, true, true} }, broadcast = 3, attributes = { ["attack"] = 3, ["defense"] = 2, ["armor"] = 1 }, message = { console = "Trying to refine %s to level +%s with %s%% success rate.", success = "You have upgraded %s to level +%s", fail = "You have failed in upgrade of %s to level +%s", downgrade = "The upgrade level of %s has downgraded to +%s", erase = "The upgrade level of %s has been erased.", maxlevel = "The targeted %s is already on max upgrade level.", notupgradeable = "This item is not upgradeable.", broadcast = "The player %s was successful in upgrading %s to level +%s.\nCongratulations!!", invalidtool = "This is not a valid upgrade tool.", toolrange = "This upgrade tool can only be used in items with level between +%s and +%s" }, tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, [8300] = {range = {0, 10}, info = {chance = 0, removeable = true}} }, isEquipment = function(self) local weaponType = self:getItemWeaponType() return ((weaponType > 0 and weaponType < 7) or self.item.armor ~= 0) end, setItemName = function(self, name) return doItemSetAttribute(self.item.uid, "name", name) end, chance = function(self) local chances = {} chances.upgrade = (self.levels[self.item.level + 1][1] or 100) chances.downgrade = (self.item.level * 5) chances.erase = (self.item.level * 3) return chances end } function UpgradeHandler:new(item) local obj, ret = {} obj.item = {} obj.item.level = 0 obj.item.uid = item.uid for key, value in pairs(getItemInfo(item.itemid)) do obj.item[key] = value end ret = setmetatable(obj, { __index = function(self, index) if _G[index] then return (setmetatable({callback = _G[index]}, {__call = function(self, ...) return self.callback(item.uid, ...) end} )) else return UpgradeHandler[index] end end}) if ret:isEquipment() then ret:update() return ret end return false end function UpgradeHandler:update() -- this will return the level by the quality or 0 if it has no quality. self.item.level = 0 for r, v in ipairs(self.nameLv) do if self:getItemName():find(v) then self.item.level = r end end end function UpgradeHandler:refine(uid, item) if (self.item.level >= 3) then return true end if not self.item then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.notupgradeable) return "miss" end local tool = self.tools[item.itemid] if(tool == nil) then doPlayerSendTextMessage(uid, MESSAGE_EVENT_DEFAULT, self.message.invalidtool) return "miss" end if(self.item.level > #self.levels) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.maxlevel:format(self.item.name)) return "miss" end if(self.item.level < tool.range[1] or self.item.level >= tool.range[2]) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.toolrange:format(unpack(tool.range))) return "miss" end local chance = (self:chance().upgrade + tool.info.chance) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.console:format(self.item.name, (self.item.level + 1), math.min(100, chance))) if(tool.info.removeable == true) then doRemoveItem(item.uid, 1) end if chance * 100 > math.random(1, 10000) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_ORANGE, self.message.success:format(self.item.name, (self.item.level + 1))) if (self.item.level + 1) >= self.broadcast then doBroadcastMessage(self.message.broadcast:format(getCreatureName(uid), self.item.name, (self.item.level + 1))) end -- it says if the item's level is greater then 0 (meaning is level equal to 1 or more) if it is add 1 more -- if the current level equals 0 add 1 to it self:setItemName(self.item.level > 0 and self.nameLv[self.item.level + 1].." "..(self:getItemName():gsub(self.nameLv[self.item.level].." ", "")) or self.nameLv[1].." "..self:getItemName()) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item.level > 0 and getItemAttribute(self.item.uid, key) or self.item[key]) + value) end end return "success" else if item.itemid == 8300 then if self.item.level > 0 then -- this will remove any number with a + sign in front of it from the string self:setItemName(self:getItemName():gsub((self.nameLv[self.item.level].." "), "")) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, getItemAttribute(self.item.uid, key) - self.item.level * value) end end end else doRemoveItem(self.item.uid, 1) end doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, item.itemid == 8300 and "Your item level has been reseted." or "You have broken your item while trying to upgrade it.") end end
-
[Encerrado] Como o underwar faz pra dar aquele save que kicka e depois voltar?
tópico respondeu ao maikons de maikons em Tópicos Sem Resposta
Pra ativar isso é só mudar isso no config.lua? globalSaveEnabled = true globalSaveHour = 7 globalSaveMinute = 0 shutdownAtGlobalSave = true cleanMapAtGlobalSave = true Parece q o sv volta e n fecha mais, como faz pra voltar? -
[Encerrado] Como o underwar faz pra dar aquele save que kicka e depois voltar?
tópico respondeu ao maikons de maikons em Tópicos Sem Resposta
Achei que tinha como fazer pra de algum jeito limpar algo, tipo arquivos temporarios ou qualquer coisa, que reinicia-se deixava a parada mais lisa a limpa, como eles fazem pro ot desligar numa hora e voltar em outra? Tem certeza q não rola nada disso? Pq se fosse só save ou clean eles botavam um mass kick e um clean nesse horario :S -
[Encerrado] Como o underwar faz pra dar aquele save que kicka e depois voltar?
tópico respondeu ao maikons de maikons em Tópicos Sem Resposta
Será que eles não reinciam a maquina, fazem algum procedimento pra deixar a parada mais lisa dps do save? Pq eu sinto o sv mais leve n sei pq Será que não tem algum metodo de algo bom pra fazer quando da esses saves? E como o ot volta sozinho? -
[Encerrado] Como o underwar faz pra dar aquele save que kicka e depois voltar?
um tópico no fórum postou maikons Tópicos Sem Resposta
Editando config.lua consegui fazer pra 6:00 dar aquele save que derruba o server pra limpar tudo, como o underwar faz pra o server voltar depois? Por que eles fazem isso? Pra reiniciar a maquina e tal? O que eles fazem? Compensa né pra deixar o ot mais liso né? -
Como editar as sources pra só quem der o ultimo hit pegar injust nas sources 0.4? Acho que bastante gente usaria isso, alguém pode me ajudar?
-
[Arquivado]O atual cenário OTserv
tópico respondeu ao TarciisioFilho de maikons em Noticias - Arquivo
Pelo menos pra mim tem, não aguento jogar essa mesmice -
Alguém me ajuda a arrumar meu creaturescript? script local spells = { [1] = { --sorcerer level = { [10] = "1spell", "spell1", [20] = "2spell", "spell2" } }, [2] = { --druid level = { [1] = "spell", "spell", [5] = "spell", "spell" } }, [3] = { --paladin level = { [1] = "spell", "spell", [5] = "spell", "spell" } }, [4] = { --knight level = { [1] = "1spell", "spell1", [5] = "2spell", "spell2" } } } local array_sorc = {"Sorcerer", "Master Sorcerer"} local array_druid = {"Druid", "Elder Druid"} local array_paladin = {"Paladin", "Royal Paladin"} local array_knight = {"Knight", "Elite Knight"} local text = "" function onAdvance(cid, skill, oldLevel, newLevel) if skill == SKILL__MAGLEVEL then player = Player(cid) if isInArray(array_sorc, player:getVocation()) then CONFIG = spells[1] elseif isInArray(array_druid, player:getVocation()) then CONFIG = spells[2] elseif isInArray(array_paladin, player:getVocation()) then CONFIG = spells[3] elseif isInArray(array_knight, player:getVocation()) then CONFIG = spells[4] end if not CONFIG return false end EVENT = CONFIG.level[player:getMagLevel()] if not EVENT then return false end for i, v in ipairs(EVENT) do text = text..""..i..", " end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "New spells: "..text..) end return true end Erro; http://i.imgur.com/OV5FEde.png
-
Sim e não é VIP account 8306 id da pedra FREE (que vai dar pra comprar pelo jogo) 8300 id da pedra VIP (que vai comprar por donate)
-
Ta no inicio do tópico: As minhas modificações são: 8306 - pedra free, se errar com ela, destroi a arma (funcionando perfeitamente) 8300 - pedra VIP, se errar com ela, volta todos os niveis da arma
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.