Ir para conteúdo

Thayguroficial

Membro
  • Registro em

  • Última visita

Tudo que Thayguroficial postou

  1. Perdão pela falta de atenção, consertei a burrada e funcionou os drop da "terraspecial" do jeito que eu queria, ta dropando só a partir daquele skill, porem a terra normal continua não caindo nada, faz o tick e não vem a skull e a small stone. Não deu nenhum erro na distro mining.lua
  2. Opa amigo pode me ajudar, esse script ta 100% funcionando mas eu quero um sem hora determinada pra ser ativado, quero que fique sempre ativo, pois quero por na sala de quest e no evento castle do meu servidor. Outra coisa, ali a parte de frompos/topos como faz pra contar também uma area subterranea ao mesmo tempo, ex: se tiver 1 player no terreo com mesmo ip de outro player em uma montanha ou no subsolo ele joga para o templo. Grato desde já
  3. Thayguroficial postou uma resposta no tópico em Suporte Tibia OTServer
    Abra seu remeres e vá em: preferences/client version, escolha versão do client e coloque o diretorio do client de seu servidor derivado. Após ter feito isso vá na pasta do seu servidor e copie seu items.otb, abra o Meu computador/Disco Local (C:) e procure a pasta onde foi instalado seu remeres. Abra a pasta data e abra a pasta com a versão do seu client, cole seu items.otb lá e aperta F5 no remeres ou abra seu mapa de novo. Espero ter ajudado!
  4. Eu adicionei esses novos códigos e quando eu uso a pick, aparece a mensagem (tick) que eu peguei mas não vem nada na minha backpack, quando eu tiro essa função ele volta a pegar: function getDrops(cid, special) for i= -1,getPlayerStorageValue(cid, config.storage) do if levels[i] then if i >= 50 and special then table.insert(drops, levels[i]) end end end return true end Vou deixar em spoiler como ta no meu minig.lua:
  5. Como faço para que no nível 50 por exemplo, a pessoa minere em outra "terra" e só nessa terra de nível 50 drope os itens do nível 50+?
  6. Tenta assim: --[[ PERFECT UPGRADE SYSTEM 2.0 Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- UpgradeHandler = { refiner = { [1] = {80, false, false}, [2] = {80, true, false}, [3] = {70, true, false}, [4] = {70, true, false}, [5] = {60, true, false}, [6] = {60, true, true}, [7] = {50, true, true}, [8] = {40, true, true}, [9] = {30, true, true}, [10] = {10, true, true}, [11] = {5, true, true}, [12] = {1, true, true} }, broadcast = 10, attributes = { ["attack"] = 1, ["defense"] = 2, ["armor"] = 5 }, 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 = { [8302] = {range = {0, 12}, info = {chance = 0, removeable = true}}, [8300] = {range = {0, 12}, info = {chance = 100, removeable = true}}, [2153] = {range = {0, 12}, info = {chance = 5, 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() self.item.level = (tonumber(self:getItemName():match("%+(%d+)")) or 0) end function UpgradeHandler:refine(uid, item) 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 self:setItemName((self.item.level > 0 and self:getItemName():gsub("%+(%d+)", "+".. (self.item.level + 1)) or (self:getItemName() .." +1"))) 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(self.levels[self.item.level][3] == true and (self:chance().erase * 100) > math.random(1, 10000)) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.erase:format(self.item.name)) self:setItemName(self.item.name) for key, value in pairs(self.attributes) do if self.item[key] > 0 then doItemSetAttribute(self.item.uid, key, self.item[key]) end end elseif(self.levels[self.item.level][2] == true and (self:chance().downgrade * 100) > math.random(1, 10000)) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.downgrade:format(self.item.name, (self.item.level - 1))) self:setItemName((self.item.level == 1 and self.item.name or self:getItemName():gsub("%+(%d+)", "+".. (self.item.level - 1)))) 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[key] + value * (self.item.level - 1))) end end else doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.fail:format(self.item.name, (self.item.level + 1))) end return "fail" end end
  7. Funcionou! muito obrigado O problema era que os 2 scripts tinha levels = { ?
  8. Alguém pode me dar uma força? estou utilizando o script de mining do nosso querido xWhiteWolf e o Perfect Upgrade System 2.0. O problema é que quando o mining system está ativo (action) eu não consigo refinar nenhum item, aparece o seguinte erro na distro: Vou deixar os 2 scripts em spoiler: MINING SYSTEM UPGRADE SYSTEM Grato desde já por qual quer tipo de ajuda!
  9. Pessoal como faço pra depois que o player estiver resetado diminua 50% a exp (stages.xml) do servidor. A storage é a seguinte: 30023 Tenho um script de aumentar a exp dos players com premium account, talvez se fizer ao contrário, em vez de aumentar 50%, diminui 50%? function onLogin(cid) local rate = 1.5 -- 50% local config = { welvip = "você tem "..((rate - 1)*100).."% de exp a mais agora!", not_vip = "Vips ganham "..((rate - 1)*100).."% a mais de experiencia!", s = 13500, -- storage vip } if getPlayerStorageValue(cid, config.s) - os.time() >= 1 then doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip) end return TRUE end
  10. Como faço pra por um texto animado laranja em cima do jogador, quando abrir a caixa: Você recebeu 100 crystal coins com 50% de chance. Script da caixa:
  11. Boa tarde, alguem poderia me ajudar em como eu faço o 1 npc não reagir a "hi" e que ele mande mensagens automaticas no default ex: Seja bem vindo ao servidor!
  12. Ja tentou trocar os números do {x=getPlayerPosition(cid).x+4, y=getPlayerPosition(cid).y-1 ?
  13. Eae galerinha, to procurando um script creio que seja um "login.lua" e não encontrei. Quero reduzir a exp perdida por mortes no PvP (player vs player). Exemplo: Se eu morrer pra monstro, perco 3 leveis, se eu morrer para player, perco 1 level. É possível fazer isso? Agradeço desde já!
  14. Fala pessoal, beleza? Estou tendo um problema na hora de compilar as sources do meu servidor no linux 12.04 32bits Segue a imagem dos erros: EDIT: Consegui resolver esse problema usando outra rev, mas deu outro erro quando tento abrir o servidor, alguem pode ajudar? EDIT: Consegui resolver esse problema executando: apt-get install locales locale-gen en_US.UTF-8 update-locale LANG=en_US.UTF-8 reboot
  15. Fiz tudo certinho, usei o comando /z 255 pra ver o effect 256 e funcionou! Porem quando eu coloco o effect 255 em uma spell ele não aparece pode me ajudar?
  16. Desculpa, não sabia Grande abraço tenha uma boa noite !
  17. CARALHOO, desculpa pelo palavrão mas eu tive que expressar minha felicidade, quero te agradecer pela ajuda. Pessoas como você, meu deus tenho nem palavras. Muito obrigado de verdade. Funcionou perfeitamente do jeito que eu queria. REP+++ que merecido edit: criando 3 contas pra te da rep+
  18. To com o mesmo bug, se conseguir resolver posta pra gente ai por favor
  19. Agora o efeito está durando 30 segundos, só que o efeito fica parado no sqm em que foi usado a spell, ele não acompanha o personagem.
  20. Alterei o {x=pos.x+0, y=pos.y+0, z=pos.z}} para {x=pos.x+1, y=pos.y+0, z=pos.z}} o efeito ficou certinho onde eu queria, o problema é que ele só solta o efeito 1x. Não é continuo até o termino da spell (30 segundos).
  21. Esse local pos1 ta valendo somente para o efeito padrão da spell, quando não tem o id da vocation/efeito no local vocs.
  22. Funcionou perfeitamente só que eu queria que o efeito soltasse em cima do personagem, olha como ta na imagem:
  23. Não, por que eu quero todas as vocações com o mesmo nome da spell (ex: ultimate power up). Só que com efeitos diferentes para cada vocação pra combinar com as sprites!
  24. Cara gostei bastante desse script, deixa o servidor "free to play". É uma moeda invisivel, sem problemas com clonagem. Tenho um servidor derivado também TFS 0.4, ajudem nosso amigo ai, pode ser que funcione comigo também Obrigado
  25. É um servidor derivado, de dragon ball. Tem mais de 400 transformação, se puder fazer pra umas 5 pra mim ver como é o script, depois eu vou criando as outras. Muito obrigado!

Informação Importante

Confirmação de Termo