Nother 2 Postado 10 de Janeiro Compartilhar Postado 10 de Janeiro Salve rapaziada do TibiaDev. Por acaso alguma alma bondosa pode me ajudar criando uma spell de Clone das sombras pro TFS 1.4.2? no caso eu precisaria que o clone recebesse 10% da vida do player, a move speed dele também, e o mesmo nome. Claro também quantidade de clones que podem ser invocados. Tenho a source para caso precise adicionar algo nela. Desde já agradeço. Link para o comentário https://tibiadevs.com/forums/topic/820-pedido-de-spell-clone-tfs-142/ Compartilhar em outros sites Mais opções de compartilhamento...
yomee 29 Postado 11 de Janeiro Compartilhar Postado 11 de Janeiro Spoiler local config = { cloneHealthPercent = 10, -- Percentual da vida do player que o clone terá cloneMoveSpeed = true, -- O clone terá a mesma velocidade do jogador maxClones = 2, -- Quantidade máxima de clones duration = 15 * 1000 -- Duração dos clones em milissegundos (15 segundos) } function onCastSpell(creature, var) local player = creature:getPlayer() if not player then return false end -- Verificar se o jogador já tem clones ativos local summons = player:getSummons() if #summons >= config.maxClones then player:sendCancelMessage("Você já tem o máximo de clones invocados.") return false end -- Criar o clone for i = 1, (config.maxClones - #summons) do local clone = Game.createMonster(player:getName(), player:getPosition()) if clone then -- Ajustar vida do clone local cloneHealth = math.max(1, math.floor(player:getMaxHealth() * config.cloneHealthPercent / 100)) clone:setMaxHealth(cloneHealth) clone:addHealth(cloneHealth - clone:getHealth()) -- Ajustar velocidade do clone if config.cloneMoveSpeed then clone:changeSpeed(player:getSpeed() - clone:getSpeed()) end -- Tornar o clone um summon do jogador clone:setMaster(player) -- Remover o clone após a duração addEvent(function(cloneId) local clone = Creature(cloneId) if clone then clone:remove() end end, config.duration, clone:getId()) end end return true end 1 Link para o comentário https://tibiadevs.com/forums/topic/820-pedido-de-spell-clone-tfs-142/#findComment-4269 Compartilhar em outros sites Mais opções de compartilhamento...
Nother 2 Postado 11 de Janeiro Autor Compartilhar Postado 11 de Janeiro 8 horas atrás, yomee disse: Ocultar conteúdo local config = { cloneHealthPercent = 10, -- Percentual da vida do player que o clone terá cloneMoveSpeed = true, -- O clone terá a mesma velocidade do jogador maxClones = 2, -- Quantidade máxima de clones duration = 15 * 1000 -- Duração dos clones em milissegundos (15 segundos) } function onCastSpell(creature, var) local player = creature:getPlayer() if not player then return false end -- Verificar se o jogador já tem clones ativos local summons = player:getSummons() if #summons >= config.maxClones then player:sendCancelMessage("Você já tem o máximo de clones invocados.") return false end -- Criar o clone for i = 1, (config.maxClones - #summons) do local clone = Game.createMonster(player:getName(), player:getPosition()) if clone then -- Ajustar vida do clone local cloneHealth = math.max(1, math.floor(player:getMaxHealth() * config.cloneHealthPercent / 100)) clone:setMaxHealth(cloneHealth) clone:addHealth(cloneHealth - clone:getHealth()) -- Ajustar velocidade do clone if config.cloneMoveSpeed then clone:changeSpeed(player:getSpeed() - clone:getSpeed()) end -- Tornar o clone um summon do jogador clone:setMaster(player) -- Remover o clone após a duração addEvent(function(cloneId) local clone = Creature(cloneId) if clone then clone:remove() end end, config.duration, clone:getId()) end end return true end Então meu mano, a spell não está criando o summon. Ele solta a magia, consome mana e não da nenhum erro. Porem o summon não aparece. Link para o comentário https://tibiadevs.com/forums/topic/820-pedido-de-spell-clone-tfs-142/#findComment-4270 Compartilhar em outros sites Mais opções de compartilhamento...
GM Vortex 366 Postado 11 de Janeiro Compartilhar Postado 11 de Janeiro Eu fiz este sistema há um ano para um amigo que está usando um servidor de Naruto. Então, basta adicionar ao seu OT em data/scripts/nome.lua. Este sistema utiliza RevScript. Não é necessário editar na source. Caso apareçam erros no console, como a falta de alguma função, por exemplo, me reporte aqui que vou ajudar no que for preciso, ok? local config = { maxClones = 3, -- Número máximo de clones que podem ser criados healthPercent = 0.10, -- Porcentagem da vida do jogador que o clone terá (10%) spellName = "Clone das Sombras", -- Nome fixo da magia (não altere esta linha) words = "utamo clone", -- Nome da magia, pode ser alterado para o nome preferido (ex.: diga no jogo "utamo clone") cooldown = 30, -- Tempo de espera em segundos para usar novamente manaCost = 500, -- Quantidade de mana necessária para usar minLevel = 20, -- Nível mínimo necessário para usar a magia monsterName = "clone", -- Nome do monstro base que será usado como clone exhaustGroup = "support", -- Grupo de exaustão da magia -- Lista de vocações que podem usar a magia vocations = { "druid", "elder druid", "sorcerer", "master sorcerer", "paladin", "royal paladin", "knight", "elite knight" }, needPremium = false -- Define se precisa ser conta premium para usar } local spell = Spell("instant") function spell.onCastSpell(creature, variant) local player = creature:getPlayer() if not player then return false end local summons = player:getSummons() if #summons >= config.maxClones then player:sendCancelMessage("Você já atingiu o número máximo de clones permitidos!") return false end local remainingClones = config.maxClones - #summons local playerHealth = player:getHealth() local playerOutfit = player:getOutfit() local playerSpeed = player:getSpeed() for i = 1, remainingClones do local clone = Game.createMonster(config.monsterName, player:getPosition()) if clone then clone:setMaster(player) clone:rename(player:getName()) player:addSummon(clone) local cloneHealth = math.ceil(playerHealth * config.healthPercent) clone:setMaxHealth(cloneHealth) clone:addHealth(cloneHealth) clone:setOutfit(playerOutfit) clone:changeSpeed(playerSpeed) end end return true end spell:name(config.spellName) spell:words(config.words) spell:group(config.exhaustGroup) spell:vocation(unpack(config.vocations)) spell:id(24) spell:cooldown(config.cooldown * 1000) spell:groupCooldown(2 * 1000) spell:level(config.minLevel) spell:mana(config.manaCost) spell:isSelfTarget(true) spell:isAggressive(false) spell:needLearn(false) spell:isPremium(config.needPremium) spell:register() 3 2 Link para o comentário https://tibiadevs.com/forums/topic/820-pedido-de-spell-clone-tfs-142/#findComment-4271 Compartilhar em outros sites Mais opções de compartilhamento...
Nother 2 Postado 11 de Janeiro Autor Compartilhar Postado 11 de Janeiro 12 minutos atrás, GM Vortex disse: Eu fiz este sistema há um ano para um amigo que está usando um servidor de Naruto. Então, basta adicionar ao seu OT em data/scripts/nome.lua. Este sistema utiliza RevScript. Não é necessário editar na source. Caso apareçam erros no console, como a falta de alguma função, por exemplo, me reporte aqui que vou ajudar no que for preciso, ok? local config = { maxClones = 3, -- Número máximo de clones que podem ser criados healthPercent = 0.10, -- Porcentagem da vida do jogador que o clone terá (10%) spellName = "Clone das Sombras", -- Nome fixo da magia (não altere esta linha) words = "utamo clone", -- Nome da magia, pode ser alterado para o nome preferido (ex.: diga no jogo "utamo clone") cooldown = 30, -- Tempo de espera em segundos para usar novamente manaCost = 500, -- Quantidade de mana necessária para usar minLevel = 20, -- Nível mínimo necessário para usar a magia monsterName = "clone", -- Nome do monstro base que será usado como clone exhaustGroup = "support", -- Grupo de exaustão da magia -- Lista de vocações que podem usar a magia vocations = { "druid", "elder druid", "sorcerer", "master sorcerer", "paladin", "royal paladin", "knight", "elite knight" }, needPremium = false -- Define se precisa ser conta premium para usar } local spell = Spell("instant") function spell.onCastSpell(creature, variant) local player = creature:getPlayer() if not player then return false end local summons = player:getSummons() if #summons >= config.maxClones then player:sendCancelMessage("Você já atingiu o número máximo de clones permitidos!") return false end local remainingClones = config.maxClones - #summons local playerHealth = player:getHealth() local playerOutfit = player:getOutfit() local playerSpeed = player:getSpeed() for i = 1, remainingClones do local clone = Game.createMonster(config.monsterName, player:getPosition()) if clone then clone:setMaster(player) clone:rename(player:getName()) player:addSummon(clone) local cloneHealth = math.ceil(playerHealth * config.healthPercent) clone:setMaxHealth(cloneHealth) clone:addHealth(cloneHealth) clone:setOutfit(playerOutfit) clone:changeSpeed(playerSpeed) end end return true end spell:name(config.spellName) spell:words(config.words) spell:group(config.exhaustGroup) spell:vocation(unpack(config.vocations)) spell:id(24) spell:cooldown(config.cooldown * 1000) spell:groupCooldown(2 * 1000) spell:level(config.minLevel) spell:mana(config.manaCost) spell:isSelfTarget(true) spell:isAggressive(false) spell:needLearn(false) spell:isPremium(config.needPremium) spell:register() Muito obrigado, funcionou direitinho essa, vlw mesmo! 1 1 Link para o comentário https://tibiadevs.com/forums/topic/820-pedido-de-spell-clone-tfs-142/#findComment-4272 Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora