Postado Outubro 4, 2022 2 anos .Qual servidor ou website você utiliza como base? NTO Hards Qual o motivo deste tópico? Buenas tardes Então, estou com um problema que estava adiando muito pra vir aqui pra pedir ajuda a vocês por vergonha que ja pedi ajuda demais kk Então, esses erros estão acontecendo com uma certa frequencia em alguns personagens, porém acredito que deve ser meio que o mesmo erro pra todos, peguei como exemplo dessa vocação pra tentarem me dar uma luz, se responderem eu agradeço do fundo do meu coração (Sei que é na chamada do DoPlayerSendChannelMessage porém, tem o "cid" já indicando quem é pra mandar a mensagem, então não faço ideia de como arrumar isso Está surgindo algum erro? Se sim coloque-o aqui. Citar [Error - Spell Interface] data/spells/scripts/personagem/hashirama/8.lua:onCastSpell Description: (LuaInterface::luaDoPlayerSendChannelMessage) Player not found [Error - Spell Interface] data/spells/scripts/personagem/hashirama/6.lua:onCastSpell Description: (LuaInterface::luaDoPlayerSendChannelMessage) Player not found Você tem o código disponível? Se tiver publique-o aqui: Hashirama 8.lua Spoiler local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_BROWN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 0) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -12.0, -1600, -12.0, -1800) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 1000) setConditionParam(condition, CONDITION_PARAM_SPEED, -400) setCombatCondition(combat1, condition) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) local waittime = 3 -- Tempo de exhaustion local storage = 8234 if exhaustion.check(cid, storage) then doPlayerSendChannelMessage(cid, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.") return false end local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position1, 230) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) exhaustion.set(cid, storage, waittime) return true end Hashirama 6.lua Spoiler local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_BROWN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 0) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -6.0, -1400, -6.0, -1600) arr1 = { {3} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) if isCreature(parameters.cid) then return doCombat(parameters.cid, combat1, parameters.var) end end function onCastSpell(cid, var) local waittime = 2 -- Tempo de exhaustion local storage = 8214 if exhaustion.check(cid, storage) then doPlayerSendChannelMessage(cid, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.") return false end local parameters = { cid = cid, var = var} local target = getCreatureTarget(cid) -- efeito no alvo local pos = getCreaturePosition(target) local poz = getCreaturePosition(cid) -- effeito no caster addEvent(doSendMagicEffect, 25, {x = pos.x, y = pos.y+1, z = pos.z}, 384) addEvent(doSendMagicEffect, 500, {x = pos.x+1, y = pos.y+1, z = pos.z}, 38) addEvent(onCastSpell1, 500, parameters) exhaustion.set(cid, storage, waittime) return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
Postado Outubro 4, 2022 2 anos E ai, @katumblo, acho que o problema é que está faltando parâmetros nessa função que está gerando o erro, pelo menos no tfs 0.4 ela espera 5 parâmetros: doPlayerSendChannelMessage(cid, author, message, SpeakClasses, channel) Nesse cenário eu acho que seria melhor usar a função doPlayerSendTextMessage(cid, MessageClasses, message) ou a função doPlayerSendCancel(cid, message). As definições para o segundo parâmetro da função doPlayerSendTextMessage você geralmente encontra em "data/lib/000-constant.lua", pesquisando por MESSAGE_TYPES. ➥ Regras | Seções OTServ | Seções BOT
Postado Outubro 5, 2022 2 anos Autor 10 horas atrás, Wakon disse: E ai, @katumblo, acho que o problema é que está faltando parâmetros nessa função que está gerando o erro, pelo menos no tfs 0.4 ela espera 5 parâmetros: doPlayerSendChannelMessage(cid, author, message, SpeakClasses, channel) Nesse cenário eu acho que seria melhor usar a função doPlayerSendTextMessage(cid, MessageClasses, message) ou a função doPlayerSendCancel(cid, message). As definições para o segundo parâmetro da função doPlayerSendTextMessage você geralmente encontra em "data/lib/000-constant.lua", pesquisando por MESSAGE_TYPES. Resolveu parcialmente, eu ficaria feliz do jeito que tá pois não da mais erro na distro, porém, não ta indo pro chat "loot" do meu server, você sabe como faria pra colocar pra ir pro chat de lá? A e se puder me ajudar na outra dúvida agradeço kk
Postado Outubro 5, 2022 2 anos Solução @katumblo, tenta assim: doPlayerSendChannelMessage(cid, "", "Mensagem...", TALKTYPE_CHANNEL_W, id_do_channel) ➥ Regras | Seções OTServ | Seções BOT
Postado Outubro 5, 2022 2 anos Autor 3 horas atrás, Wakon disse: @katumblo, tenta assim: doPlayerSendChannelMessage(cid, "", "Mensagem...", TALKTYPE_CHANNEL_W, id_do_channel) Boa meu caro! Consegui resolver, muito obrigado Editado Outubro 5, 2022 2 anos por katumblo (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.