-
Total de itens
341 -
Registro em
-
Última visita
-
Dias Ganhos
18
Tudo que Night Wolf postou
-
[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}}
-
tfs 0.3.6 [Spells] Checando Interferências na Trajetória
tópico respondeu ao Skulls de Night Wolf em Globalevents e Spells
@@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.- 54 respostas
-
- spells
- interferencia
-
(e 2 mais)
Tags:
-
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"
-
ficou parecidíssimo com o puxão do Blitzcrank de league of legends, curti.
-
tfs 0.3.6 [Spells] Checando Interferências na Trajetória
tópico respondeu ao Skulls de Night Wolf em Globalevents e Spells
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.- 54 respostas
-
- spells
- interferencia
-
(e 2 mais)
Tags:
-
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.
-
[Tutorial] Formulas e Callbacks das spells – Entendendo Melhor
tópico respondeu ao Skulls de Night Wolf em Tutoriais de Scripting
porque não fazer variantToNumber(var)? aí ele transforma o variant no uid do target. -
[Tutorial] Formulas e Callbacks das spells – Entendendo Melhor
tópico respondeu ao Skulls de Night Wolf em Tutoriais de Scripting
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 -
[Tutorial] Formulas e Callbacks das spells – Entendendo Melhor
tópico respondeu ao Skulls de Night Wolf em Tutoriais de Scripting
@@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+ -
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
-
é 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...
-
não sei dizer... eu entendi q queria que atacasse todos mas um por vez, de forma aleatoria.
-
a tag é assim <globalevent name="xxxx" interval="60" event="script" value="yyyyyy.lua"/>
-
faz atacar só um target dos specs, todos fica zoado. Aí fica semelhante à torre do league
-
tfs 1.0/1.2 Spell para TFS 1x, Teleporta Tile
pergunta respondeu ao julhinhuu de Night Wolf em Scripts
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 -
tfs 1.0/1.2 Spell para TFS 1x, Teleporta Tile
pergunta respondeu ao julhinhuu de Night Wolf em Scripts
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 -
tfs 1.0/1.2 Spell para TFS 1x, Teleporta Tile
pergunta respondeu ao julhinhuu de Night Wolf em Scripts
é 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 -
tfs 1.0/1.2 Spell para TFS 1x, Teleporta Tile
pergunta respondeu ao julhinhuu de Night Wolf em Scripts
eita, n era pra dar esse erro... tenta assim: no lugar de Position.isWalkable usa Position:isWalkable -
tfs 1.0/1.2 Spell para TFS 1x, Teleporta Tile
pergunta respondeu ao julhinhuu de Night Wolf em Scripts
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 -
tfs 1.0/1.2 Spell para TFS 1x, Teleporta Tile
pergunta respondeu ao julhinhuu de Night Wolf em Scripts
troca essa linha aqui: nextPosition = nextPosition:getNextPosition(cid:getDirection()) por nextPosition:getNextPosition(cid:getDirection()) Testa numa area aberta -
tfs 1.0/1.2 Spell para TFS 1x, Teleporta Tile
pergunta respondeu ao julhinhuu de Night Wolf em Scripts
tenta assim.. se não for tenta assim Se algum dos dois funcionar me diz qual que foi... -
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.
-
script Ajuda arrumar !frags tempo ultimo frag
pergunta respondeu ao warriorfrog de Night Wolf em Scripts
Meu server 8.6 tem esse sistema aqui: -
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)
-
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.