Postado Janeiro 13, 2015 10 anos Autor Kikou e deu o seguinte erro na distro: [13/01/2015 01:16:12] Account Manager has logged in. [13/01/2015 01:16:12] Account Manager has logged out. [13/01/2015 01:16:12] Lua Script Error: [CreatureScript Interface] [13/01/2015 01:16:12] in a timer event called from: [13/01/2015 01:16:12] data/creaturescripts/scripts/granaura.lua:onLogin [13/01/2015 01:16:12] luaGetCreaturePosition(). Creature not found [13/01/2015 01:16:12] Lua Script Error: [CreatureScript Interface] [13/01/2015 01:16:12] in a timer event called from: [13/01/2015 01:16:12] data/creaturescripts/scripts/granaura.lua:onLogin [13/01/2015 01:16:12] data/creaturescripts/scripts/granaura.lua:7: attempt to index local 'pos' (a number value) [13/01/2015 01:16:12] stack traceback: [13/01/2015 01:16:12] data/creaturescripts/scripts/granaura.lua:7: in function 'getPositions' [13/01/2015 01:16:12] data/creaturescripts/scripts/granaura.lua:23: in function <data/creaturescripts/scripts/granaura.lua:16>
Postado Janeiro 13, 2015 10 anos local events = {} function getPositionsByDirection(uid) pos = getCreaturePosition(uid) positionsByDirection = { [1] = {x = pos.x + 1, y = pos.y, z = pos.z, stackpos = 0}, [2] = {x = pos.x, y = pos.y + 1, z = pos.z, stackpos = 0}, [3] = {x = pos.x - 1, y = pos.y, z = pos.z, stackpos = 0}, [4] = {x = pos.x, y = pos.y - 1, z = pos.z, stackpos = 0}, } return positionsByDirection end function changeOutfit(cid) local sec = 0.5 if not isPlayer(cid) then return false end local positions = getPositionsByDirection(cid) local last = last or 1 local last = (positions[last] and last) or 1 local next = (last == #positions) and 1 or last + 1 doSendDistanceShoot(positions[last], positions[next], 18) local event = addEvent(changeOutfit, 3.0*sec*450, cid) events[cid] = event return true end function onLogin(cid) local storage = getGlobalStorageValue(13340) if storage == getPlayerGuildId(cid) then local event = addEvent(changeOutfit, 0, cid) events[cid] = event end return true end function onLogout(cid) if events[cid] then stopEvent(events[cid]) end return true end Editado Janeiro 13, 2015 10 anos por MaXwEllDeN (veja o histórico de edições)
Postado Janeiro 13, 2015 10 anos Solução Vá em lib e crie um arquivo chamado, granAura e cole dentro: local events = {} local function getPositions(cid) local pos = getCreaturePosition(cid) local ret = { [1] = {x = pos.x + 1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y + 1, z = pos.z}, [3] = {x = pos.x - 1, y = pos.y, z = pos.z}, [4] = {x = pos.x, y = pos.y - 1, z = pos.z}, } return ret end function granEffect(cid, last) local sec = 200 if (isPlayer(cid) == FALSE) then return false end local positions = getPositions(cid) local last = last or 1 local last = (positions[last] and last) or 1 local next = (last == #positions) and 1 or last + 1 doSendDistanceShoot(positions[last], positions[next], 18) local event = addEvent(granEffect, sec, cid, last + 1) events[cid] = event return true end Em lib ainda abre o constant.lua e function.lua e adicione logo na primeira linha: dofile('data/lib/granAura.lua') Agora vá em creaturescripts/scripts e abre o login.lua e adicione encima do ultimo return TRUE: --granAura-- if getPlayerStorageValue(cid, 13345) == 1 then granEffect(cid) return TRUE end e para ganhar o efeito, é só adicionar a storage 13345 no player que irá ganhar o efeito, no caso se quiser que já logue com o efeito adicione embaixo do primeiro end acima de registerCreatureEvent granEffect(cid) flw, abç. Editado Janeiro 15, 2015 10 anos por nookia (veja o histórico de edições)
Postado Janeiro 13, 2015 10 anos Autor Deu certo nookia mas agora como eu faço pra configurar entre guild, quando uma guild mata o boss ganha o efeito se outra matar ganha e a que estava no poder perda, como estava antes. Se puder me explicar, grato.
Postado Janeiro 14, 2015 10 anos @nookia, pq vc editou o script? aquele lá tava certo e esse daí não :~~~
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.