Tudo que Storm postou
-
Script adicionar um Storage ao Boss morrer
@Revenant Não tenho muita experiência com as TFS 1.X, então realmente conheço bem pouco das funções e fica difícil de ajudar. Tenta assim: function onKill(player, target, damage, flags, corpse) if(isMonster(target)) then if(string.lower(getCreatureName(target)) == "Mazzinor" or "Ghulosh" or "Gorzindel" or "Lokathmor" or "Scarlett Etzel") then doCreatureSay(target, "EU RETORNAREI!!! Todos voces sentirao minha vinganca, e trarei MIL ANOS de guerra...", TALKTYPE_ORANGE_1) for _, var in ipairs(target:getTargetList()) do var:setStorageValue(Storage.Livraria.AcessoSalaFinal, var:getStorageValue(Storage.Livraria.AcessoSalaFinal) + 1) var:getPosition():sendMagicEffect(math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE)) end end end return true end
-
(Resolvido)Spell dando paralyze infinito
@One Punch Man Em relação ao tempo, não faz sentido. Você provavelmente fez algo errado, não faz sentido já que o AddEvent é executado depois de 5 segundos, como tá na script time * 1000 , onde time é igual a 5, ou seja, 5 * 1000 = 5000 milissegundos que é igual a 5 segundos. A não ser que o tempo do addEvent seja de uma unidade diferente de milissegundos, o que eu acho que não é. Em relação ao player não conseguir ser atacado, não faz sentido também, já que a função tira apenas a capacidade do player de se mover. Verifique no seu creaturescripts se tem alguma script que não deixa o jogador ser atacado quando o mesmo não poder andar.
-
Formula attack spells
@maleskinho Na spell não me parece estar muito alto, faz assim, vai no config.lua e tenta alterar nessas linhas aqui: formulaLevel = 1.0 formulaMagic = 1.0
-
Script adicionar um Storage ao Boss morrer
@Revenant Tenta assim e continua mantendo o valor da storage como um valor menor: local servants = { ['Gorzindel'] = {storage = Storage.Livraria.AcessoSalaFinal}, ['Lokathmor'] = {storage = Storage.Livraria.AcessoSalaFinal}, ['Ghulosh'] = {storage = Storage.Livraria.AcessoSalaFinal}, ['Mazzinor'] = {storage = Storage.Livraria.AcessoSalaFinal}, ['The Scourge Of Oblivion'] = {storage = Storage.Livraria.AcessoSalaFinal} } function onKill(creature, target) local targetMonster = target:getMonster() local player = creature:getPlayer() if not player then return true end if not targetMonster or targetMonster:getMaster() then return true end local bossConfig = servants[targetMonster:getName()] if not bossConfig then return true end player:setStorageValue(bossConfig.storage, player:getStorageValue(bossConfig.storage) + 1) return true end
-
Script adicionar um Storage ao Boss morrer
@Revenant Essa tabela foi declara em uma lib? De qualquer forma, tente mudar o valor das storages para um valor menor, já aconteceu um caso comigo de a storage não funcionar por ter um número muito grande. Se não funcionar, tenta o seguinte: player:setStorageValue(bossConfig.storage, player:getStorageValue(bossConfig.storage) + 1)
-
(Resolvido)Cast System
@bellatrikz Não sei se está relacionado ao cast, mas se você estiver usando sqlite deixe plain, se estiver usando mysql deixe sha1.
-
(Resolvido)Cast System
@bellatrikz Não sei o que pode ser, mas você já tentou utilizar a database que essa distro que contém o cast disponibilizou? Utilizou a datapack que vem com o servidor?
-
Qual linguagem de programação devo aprender para criar e aditar poketibia
@nickyfull Aprender a linguagem Lua é essencial para programar com Otservers. Aprender C++ também é essencial, mas somente se você quiser programar nas sources (código fonte do servidor, quando compilada é conhecida como executável ou distro).
-
Script adicionar um Storage ao Boss morrer
@Revenant Ta faltando um "L" nessa linha, la no final ta "Storage.Livraria.AcessoSalaFina" player:setStorageValue(Storage.Livraria.AcessoSalaFinal, player:getStorageValue(Storage.Livraria.AcessoSalaFina) + 1) Mesmo assim, tenho dúvidas se irá funcionar. Pelo jeito você ta puxando uma storage de uma tabela, a questão é: essa tabela foi mesmo declarada em algum outro script? se sim, ela foi declarada globalmente e do jeito correto?
-
Boss Systeam
@Dr Mandrake Tenta assim:
-
Recompensa Diaria
@Dr Mandrake Tenta aí: local config = { hours = 24, -- Horas para poder usar o bau novamente storage = 1225 -- Storage do exhaust } local items = { {2150, 3}, {2151, 1}, {2152, 10}, {2153, 100} } -- {item_id, count}, {item_id, count} function onUse(cid, item, fromPosition, itemEx, toPosition) if not exhaustion.check(cid, config.storage) then local random = math.random(1, #items) local random_item = items[random] exhaustion.set(cid, config.storage, config.hours * 60 * 60) doPlayerAddItem(cid, random_item[1], random_item[2]) doPlayerSendTextMessage(cid, 27, "Parabens! Voce pegou sua recompensa diaria.") doSendMagicEffect(fromPosition, 5) return true else doPlayerSendTextMessage(cid, 27, "Voce precisa esperar ".. exhaustion.get(cid, config.storage) .." segundos para pegar sua recompensa novamente!") doSendMagicEffect(fromPosition, 3) return false end return true end
-
Entrar no boss Dragonking quantos player quiser
@Jhonjhon775 Que erro deu? especifique mais.
-
Magias de cura nao funcionam
@bellatrikz Você trocou de distro? Precisa trocar de distro, já que a função doPlayerSetCastState não ta sendo encontrada
-
Magias de cura nao funcionam
@bellatrikz Esse servidor contém já um sistema de cast na própria source, sem erros e bugs.
-
Magias de cura nao funcionam
@bellatrikz NÃO recomendo que você use esse sistema, ele é cheio de bugs e de falhas, que vão prejudicar e não será pouco seu servidor. Mas de qualquer forma, eu tentei arrumar essa parte das spells de healing. Só mudar na script do creaturescripts: function onLogout(cid) if getPlayerStorageValue(cid, 12269) > 0 then doPlayerSendCancel(cid, "To logout, you need to exit the Cast System first. Use the parameter '!cast exit'.") return false end setPlayerStorageValue(cid, 10359, -1) return true end function onStatsChange(cid, attacker, type, combat, value) if getPlayerStorageValue(cid, 12269) >= 1 and isMonster(attacker) or isPlayer(attacker) then return false end return true end function onAttack(cid, target) if not isPlayer(cid) or not isPlayer(target) then return true end if getPlayerStorageValue(cid, 12269) > 0 then doRemoveCondition(cid, CONDITION_INFIGHT) return false end return true end De toda forma, recomendo você usar a TFS 0.4 que já tem um cast system implantado no servidor, melhor que essa gambiarra de sistema.
-
Magias de cura nao funcionam
@bellatrikz Volta as scripts de attack e logout e me manda a statschange pra eu tentar arrumar o problema.
-
Magias de cura nao funcionam
@bellatrikz Manda essa script de castHits aqui
-
Magias de cura nao funcionam
@bellatrikz93 Verifique no seu creaturescripts, desative todas as scripts de onStatsChange e veja se o problema ainda persiste.
-
(Resolvido)FOOD MAGICO
@Phineasz local config = { [2150] = {tip = "Mana", textType = 27, msg = "Mana refilled.", effect = 3}, [2151] = {tip = "Life", textType = 27, msg = "Life refilled.", effect = 3} } function onUse(cid, item, fromPosition, itemEx, toPosition) local var = config[item.id] if var then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, var.textType, var.msg) doSendMagicEffect(fromPosition, var.effect) if string.lower(var.tip) == string.lower("Mana") then doCreatureAddMana(cid, getCreatureMaxMana(cid)) else doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end end return true end
-
(Resolvido)Mana Potion
@Jonathan005 Tenta assim:
-
(Resolvido)FOOD MAGICO
@Dr Mandrake Fiz de forma rápida aqui, testa aí pra ver se vai funfar: local config = { effect = 3, -- Effect ao usar o item textType = 27, -- Tipo do Texto msg = "Mana Refilled." -- Texto que vai aparecer quando usar o item } function onUse(cid, item, fromPosition, itemEx, toPosition) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, config.textType, config.msg) doSendMagicEffect(fromPosition, config.effect) return true end Para o que enche a vida toda é a mesma coisa, só trocar a linha: doCreatureAddMana(cid, getCreatureMaxMana(cid)) Para essa linha aqui: doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
-
(Resolvido)Mana Potion
@Jonathan005 Manda a script das potions aqui
-
(Resolvido)Spell dando paralyze infinito
@MarkCharlotte Removi a condition, não faz nenhum sentido ter ela ali
-
(Resolvido)Spell dando paralyze infinito
@MarkCharlotte Tenta assim:
-
(Resolvido)Spell dando paralyze infinito
@MarkCharlotte Tenta assim: