Ir para conteúdo

Night Wolf

Herói
  • Total de itens

    341
  • Registro em

  • Última visita

  • Dias Ganhos

    18

Tudo que Night Wolf postou

  1. [3] = { --equipment {{2389, 5}, {2660, 1}, {8923, 1}, {2456, 1}, {2544, 50}}, --container {{2120, 1}, {2554, 1}, {7618, 1}} [iD DA VOCAÇÃO] -- equipamentos {{itemid, quantidade}} --- container [VEM DENTRO DA BP] {{itemid, quantidade}}
  2. @@Caronte, acho q ele quis dizer estilo o Q da miss fortune no league of legends... qnd vc dá um tiro e mata o bixo o tiro rebate com dobro de dano se tiver alguém atrás (seguindo a direção), ficaria muito legal ter algo nesse sentido tb.
  3. tem um jogo q eu jogava que os "knights" tinham uma spell que lançavava uma corrente e puxava o cara pra perto. Ficaria meio apelão pro tibia mas se botar um cooldown acho q é uma boa. Fica meio estilo Scorpion do MK no "GET OVER HERE"
  4. ficou parecidíssimo com o puxão do Blitzcrank de league of legends, curti.
  5. ficou realmente muito bom, meus parabéns. Você botou na cabeça que queria fazer e foi atrás de conseguir. O resultado veio com o esforço, obrigado por me citar e por contribuir ainda mais com a comunidade do Open Tibia. Abraços meu amigo.
  6. acredito q tfs 1.2 tenha setNoMove, só é um comando diferente... mas dá pra fazer a segunda solução usando um while e teleportando o player pra trás caso ele tente dar stepout sem o password.
  7. var.type é o tipo de combat só e pos é a posição que ele é lançado... isso tá altamente relacionado com as tags no xml, o lance é usar as funções do var pra conseguir várias informações úteis e nao ter que ficar fazendo gambiarra pra conseguir nome do target, por ex
  8. @@Caronte sempre fico em dúvida entre spells e creaturescripts. Em geral quando se usa os dois juntos sempre dá algo maravilhoso hahaha @Topic: achei bastante útil, tem algumas coisinhas que dá pra ser incrementado como a explicação do var no parametro do callback ou como forjar um combat criando uma metatable e passando no lugar do var mas por ora está excelente. REP+
  9. toda vez que reiniciar o servidor ele vai definir um horário que vai ficar imutável até o sv reiniciar novamente, então sugiro fechar o sv ou dar um reload em globalevents a cada semana pra isso daqui ficar certinho: --[[ - hour should be exact SERVER hour - to do the raid at clock 00 minutes 00 - to do the raid at exaxt date use type "exact" - to do the raid weekly use type "weekly" - days names are used only for weekly type and should be - "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" - also should be inside a array -> {} ]] local invasoes = { 'Orshabaal', 'Orshabaal', 'Orshabaal' } local hours = {12, 14, 18, 19, 20, 22, 00, 02} local raids = { [1] = { type = 'weekly', days = {'sunday'}, hour = hours[math.random(1, #hours)], minu = 00 }, [2] = { type = 'weekly', days = {'saturday'}, hour = hours[math.random(1, #hours)], minu = 00 } } local last_execsutes = {} function onThink(interval, lastExecution, thinkInterval) local static_time = os.time() for k, raid in ipairs(raids) do if (raid.type == 'weekly') then local day = os.date("%A", static_time):lower() if isInArray(raid.days, day) then local hour = tonumber(os.date("%H", static_time)) if (raid.hour == hour) then local minute = tonumber(os.date("%M", static_time)) if (raid.minu == minute) then local day_number = tonumber(os.date("%d", static_time)) if (last_execsutes[k] ~= day_number) then last_execsutes[k] = day_number executeRaid(invasoes[math.random(1, #invasoes)]) end end end end end end return true end
  10. é só criar a raid cara... local raids = { [1] = { type = 'weekly', days = {'sunday'}, hour = 18, minu = 00 }, [2] = { type = 'weekly', days = {'saturday'}, hour = 18, minu = 00 }, [3] = { type = 'weekly', days = {'saturday'}, hour = 14, minu = 00 } } vai adicionando todos os dias e horários que vc quer...
  11. não sei dizer... eu entendi q queria que atacasse todos mas um por vez, de forma aleatoria.
  12. a tag é assim <globalevent name="xxxx" interval="60" event="script" value="yyyyyy.lua"/>
  13. faz atacar só um target dos specs, todos fica zoado. Aí fica semelhante à torre do league
  14. local times = 3 --Quantos SQMs o jogador irá se mover. function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 2 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onCastSpell(cid) local playerPos = getThingPos(cid) for i = 1, times do playerPos:getNextPosition(getCreatureLookDirection(cid)) if not isWalkable(playerPos, i == times, i == times, i == times) then doPlayerSendCancel(cid, "Sorry, destination not possible.") return false end end doTeleportThing(cid, playerPos) return true end
  15. local times = 3 --Quantos SQMs o jogador irá se mover. function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 2 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onCastSpell(cid) local playerPos = getThingPos(cid) for i = 1, times do playerPos = getPosByDir(playerPos, getCreatureLookDirection(cid)) if not isWalkable(playerPos, i == times, i == times, i == times) then doPlayerSendCancel(cid, "Sorry, destination not possible.") return false end end doTeleportThing(cid, playerPos) return true end vê assim
  16. é com . mesmo, engraçado estar dando erro :// remove a linha e reescreve ela manualmente (sem ctrl + v).. as vezes pode ser erro pelo editor, tá no notepad++? se tiver clica em formatar -> converter para ansii
  17. eita, n era pra dar esse erro... tenta assim: no lugar de Position.isWalkable usa Position:isWalkable
  18. tenta assim: local function Position.isWalkable(position, playerBlock, pz) local tile = Tile(position) if not tile then return false end if playerBlock and tile:getCreatureCount() ~= 0 then return false end if pz and Tile(position):hasFlag(TILESTATE_PROTECTIONZONE) then return false end local ground = tile:getGround() if not ground or ground:hasProperty(CONST_PROP_BLOCKSOLID) then return false end local items = tile:getItems() for i = 1, tile:getItemCount() do local item = items[i] local itemType = item:getType() if itemType:getType() ~= ITEM_TYPE_MAGICFIELD and not itemType:isMovable() and item:hasProperty(CONST_PROP_BLOCKSOLID) then return false end end return true end function onCastSpell(creature, var, isHotkey) local nextPosition = creature:getPosition() for i = 1, 3 do nextPosition:getNextPosition(creature:getDirection()) if not nextPosition:isWalkable(i == 3, i == 3) then creature:sendCancelMessage("Sorry not possible.") return false end end creature:teleportTo(nextPosition, true) return true end
  19. troca essa linha aqui: nextPosition = nextPosition:getNextPosition(cid:getDirection()) por nextPosition:getNextPosition(cid:getDirection()) Testa numa area aberta
  20. tenta assim.. se não for tenta assim Se algum dos dois funcionar me diz qual que foi...
  21. eu te ajudo no primeiro e no terceiro porque to curioso em como o Zipter vai fazer o segundo.. Só aguenta eu ter um tempo maior livre pra sentar e testar isso pra não te entregar um código feito às pressas e que pode ter bugs.
  22. coloca as raids que vc quer nos horários/dias que vc quer e aí vc faz o script ao invés de rodar aquela raid em questão ele rodar um aleatorio entre elas. doExecuteRaid(raids[math.random(1, #raids)].name)
  23. cara, isso n é um sistema de raid.. usa o meu: globalevents/scripts/raid.lua globalevents.xml: <globalevent name="raids" interval="60000" event="script" value="raid.lua"/> raids/raids.xml <?xml version="1.0" encoding="UTF-8"?> <raids> <raid name="Barbarian" file="Barbarian.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Demodras" file="Demodras.xml" interval2="35" margin="1800" enabled="yes"/> <raid name="Elfs" file="Elfs.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Ferumbras" file="Ferumbras.xml" interval2="60" margin="1800" enabled="yes"/> <raid name="Necropharus" file="Necropharus.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="OrcsThais" file="OrcsThais.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Orshabaal" file="Orshabaal.xml" interval2="45" margin="1800" enabled="yes"/> <raid name="Pirates" file="Pirates.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Quara" file="Quara.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Rats" file="Rats.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Scarabs" file="Scarabs.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="The Old Widow" file="The Old Widow.xml" interval2="35" margin="1800" enabled="yes"/> <raid name="UndeadDarashia" file="UndeadDarashia.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="UndeadArmy" file="UndeadArmy.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Wolfsraid" file="Wolfsraid.xml" interval2="25" margin="1800" enabled="yes"/> <raid name="Necropharus" file="Necropharus.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Hornedfox" file="Hornedfox.xml" interval2="30" margin="1800" enabled="yes"/> <raid name="Halloweenhare" file="Halloweenhare.xml" interval2="40" margin="1800" enabled="yes"/> <raid name="Undead Jester" file="Undead Jester.xml" interval2="40" margin="1800" enabled="yes"/> <raid name="goblin" file="grynch clan goblin.xml" interval2="40" margin="1800" enabled="yes"/> <raid name="Morgaroth" file="Morgaroth.xml" interval2="40" margin="1800" enabled="yes"/> </raids> e os scripts tem que ser da forma: Agora é só retirar os que você não vai usar que dá certinho.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...