
Tudo que Rogex Joyz postou
-
Sistema de Medalhões! Solicite aqui!
Eu gostaria de solicitar minha medalha de 3 anos por gentileza.
-
Mapa Lion Sanctum
Muito bacana, muitos estão atrás deste mapa. Assim que tiver o restante e puder trazer eu gostaria de baixar para ver como está o trabalho da cip rsrs rep +
- Atualização da plataforma, tópicos mais rápidos, novos recursos e renovação do visual
-
[OTX] New Auto Loot Unlimited Edition 2.0
Vodkart perfeito em tudo que se propõe. Que homem meus amigos, que homem ! Este sistema funcionaria em tfs 0x ?
-
Votação - Desafio de Mapping #007
- O mapa do Croix nos leva diretamente para um mundo de minas, achei o máximo a idéia de vários andares de montanha, me passou uma sensação real de uma mina, tem o meu voto. - O mapa do Nolis ficou show, achei bem interessante a parte de brincar com o ''preto'' como se fosse uma espécie de ''poço'' de mineração. Os cristais deram um toque sofisticado. - O mapa do Korsan também ficou lindo de se ver, na mesma hora eu lembrei daqueles desenhos onde entra em um carrinho e começa a ir por uma montanha russa de mineração. - O mapa do belmont ficou bom, enriqueceu com detalhes.
-
Bounac 12.40
Alguém tem idéia de como “copiar" esse mapa com as sprites e tudo para um 8.60 ? Adicionando sprites por sprites no object builder e criando os itens id pelo item editor seria quase impossível
-
EFEITO QUE TROCA DO POSICAO
Não entendi. Como assim sai outro efeito ? No gif está saindo o mesmo efeito porém de lados diferentes.
-
Script exori hur imitando o martelo de Thor
troque maxDamage = 500 -- Qual o dano máximo que você deseja que esta magia tire ? - Lembrando que são dois danos distintos de ida e outro de volta interval = 750 -- Após soltar a magia, quanto tempo levará para o martelo retornar para você ? - Coloque o tempo em milésimos de segundos por maxDamage = 500, -- Qual o dano máximo que você deseja que esta magia tire ? - Lembrando que são dois danos distintos de ida e outro de volta interval = 750 -- Após soltar a magia, quanto tempo levará para o martelo retornar para você ? - Coloque o tempo em milésimos de segundos
-
Script exori hur imitando o martelo de Thor
0.x
-
Script exori hur imitando o martelo de Thor
recomenda algum programa para fazer gifs ? Eu posto em imagens por ser o jeito que eu conheço. Mas seria ótimo um programa que faz gifs da tela.
-
Script exori hur imitando o martelo de Thor
Fala galeritcha, este script imita o ''martelo de Thor'', ele funciona da seguinte forma: Após o knight falar a magia (no meu caso exori hur), um martelo vai girando em linha reta de acordo com o lado em que o player estiver virado. O martelo vai em efeito de boomerang, ele vai e volta para o dono da magia dando ataque em todos que estão no caminho, o dano é duplicado (são 2 danos), uma vez que 1 dano corresponde à ida e outro corresponde ao do martelo voltando. 0.x - unknown credits, enjoy. Praticamente as principais coisas são editáveis dentro do script logo no começo, deixarei escrito dentro dele para ficar mais fácil. Let's go ? Em spells/scripts/attack coloque: local config = { distance = 6, -- distância em que o martelo irá chegar (no caso ele está configurado para percorrer 6 sqm's e depois voltar) distEffect = 25, -- efeito que irá causar. Fale /x ingame junto com um número e veja os efeitos que mais te agrada, depois só substituir o 25 pelo número do efeito escolhido. No caso o efeito que eu escolhi é justamente de um martelo. minDamage = 200, --Qual o dano mínimo que você deseja que esta magia tire ? maxDamage = 500, -- Qual o dano máximo que você deseja que esta magia tire ? - Lembrando que são dois danos distintos de ida e outro de volta interval = 750 -- Após soltar a magia, quanto tempo levará para o martelo retornar para você ? - Coloque o tempo em milésimos de segundos } function getPosisBetween(fromPos, toPos) local posis = {} for i = 1, getDistanceBetween(fromPos, toPos) do local choices = {fromPos.x, fromPos.x + 1, fromPos.x - 1} if fromPos.x ~= toPos.x then table.sort(choices, function(a, b) if fromPos.x - toPos.x < 0 then return a > b else return a < b end end) fromPos.x = choices[1] end if fromPos.y ~= toPos.y then choices = {fromPos.y, fromPos.y + 1, fromPos.y - 1} table.sort(choices, function(a, b) if fromPos.y - toPos.y < 0 then return a > b else return a < b end end) fromPos.y = choices[1] end table.insert(posis, {x = fromPos.x, y = fromPos.y, z = fromPos.z}) end return posis end function onCastSpell(cid) local playerPos = getThingPos(cid) local toPos = { [0] = {x = playerPos.x, y = playerPos.y - config.distance, z = playerPos.z}, [1] = {x = playerPos.x + config.distance, y = playerPos.y, z = playerPos.z}, [2] = {x = playerPos.x, y = playerPos.y + config.distance, z = playerPos.z}, [3] = {x = playerPos.x - config.distance, y = playerPos.y, z = playerPos.z} } local spellToPos = toPos[getCreatureLookDirection(cid)] local posis = getPosisBetween(getThingPos(cid), spellToPos) doSendDistanceShoot(getThingPos(cid), spellToPos, config.distEffect) for i = 1, #posis do if not getTileInfo(posis[i]).protection then local pid = getTopCreature(posis[i]).uid if isMonster(pid) or isPlayer(pid) then doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -config.minDamage, -config.maxDamage, -1) end end end addEvent(function() if not isPlayer(cid) then return true end doSendDistanceShoot(spellToPos, getThingPos(cid), config.distEffect) posis = getPosisBetween(spellToPos, getThingPos(cid)) for i = 1, #posis do if not getTileInfo(posis[i]).protection then local pid = getTopCreature(posis[i]).uid if isMonster(pid) or isPlayer(pid) then doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -config.minDamage, -config.maxDamage, -1) end end end end, config.interval) return true end Em spells.xml coloque: <instant name="Whirlwind Throw" words="exori hur" lvl="200" mana="500" prem="1" needweapon="1" range="5" needtarget="1" blockwalls="1" exhaustion="1800" maglv="7" needlearn="0" script="attack/Whirlwind Throw.lua"> <vocation id="4"/> <vocation id="8"/> -- em words = o nome que deverá ser dito para soltar a spell mana = quanto de mana gastará ? needweapon = precisa estar equipado com uma arma para soltá-la ? range = configurável dentro do script needtarget = Precisa estar targetando alguém para soltar esta magia ? - Lembrando que caso coloque ''1'', precisará targetar um alvo para soltar a spell, porém isso não influencia na direção da magia. Ela soltará para onde o personagem estiver virado, como um exevo gran vis lux por exemplo. maglv = Qual o magic level necessário para conjurar esta magia ? Espero que divirta bastante gente, eu dei uns berro aqui quando vi ela em pratica haha. See you !
-
Script Teleport por sacríficio de item
❤️?
-
Script Teleport por sacríficio de item
ambos são místicos kkk
-
Boss Systeam
Não deu erro na distro, porém eu clico na alavanca e aparece: No momento existem jogadores fazendo o BOSS, aguarde até que eles saiam. Sendo que não há ninguém na sala, este erro acontece já de primeira. Ninguém consegue entrar para enfrentar o boss. Sabe o que pode ter ocorrido ? Uso tfs 0.4
-
Script Teleport por sacríficio de item
Um script simples (sei que existe outros parecidos/iguais, este funcionou perfeitamente pra tfs 0.4), mas que coloca todo um RPG naquela quest/hunt que você quer montar. No caso uma mystic flame fica ao lado (editável) de um empty coal basin (id: 1485) e após colocar um item (editável) em cima desta coal basin, a mystic flame passa a teleportar para um local pré destinado (Funciona exatamente igual ao de acesso as tumbas de Ankrahmun do global). Sem o item no local correto, ela é apenas uma mystic flame sem destino podendo andar em cima dela sem que nada aconteça. Para voltar, coloque outra mystic flame no destino com o AID 19383 (esta mystic flame faz o player retornar sem sacríficio). Vamos ao script ? ? créditos: Andu Em movements.xml adicione estas duas linhas: <movevent type="StepIn" actionid="19382" event="script" value="flametp.lua" /> <movevent type="StepIn" actionid="19383" event="script" value="flametp.lua" /> Em movements crie um arquivo lua com o nome flametp e adicione dentro dele: function onStepIn(cid, item, position, fromPosition) local tileActionID = 19382 -- actionid inserida na primeira mystic flame (a do sacrifício) local tileActionIDBack = 19383 -- actionid inserida na segunda mystic flame (a de retorno sem sacrifício) local coin = 8978 -- id do item que precisará estar na coal basin para que a mystic flame teleporte o player local teleportTo = {x=12687, y=3426, z=14}-- posição em que o player será teleportado ao fazer o sacrifício local teleportBack = {x=14012, y=33793, z=15}-- posição em que o player irá voltar no momento que passar pela mystic flame sem sacrifício local itemPosition = {x=14012, y=33788, z=15, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE} local getItem = getThingFromPos(itemPosition)-- posição em que o item de sacrifício terá que estar para ativar a primeira mystic flame if isPlayer(cid) == TRUE then if item.itemid == 1397 and item.actionid == tileActionID then if getItem.itemid == coin then doRemoveItem(getItem.uid, 1) doTeleportThing(cid, teleportTo) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doSendMagicEffect(getThingPos(item.uid), CONST_ME_TELEPORT) doSendMagicEffect(itemPosition, 15) end elseif item.itemid == 1397 and item.actionid == tileActionIDBack then doTeleportThing(cid, teleportBack) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doSendMagicEffect(getThingPos(item.uid), CONST_ME_TELEPORT) end end return TRUE end
-
Ajuda script inquisition
Alguém sabe explicar este código ? Quem fez ele não soube explicar muito bem (pelo menos eu não entendi). Eu não sei onde deve ir os respectivos AID, a explicação está bem raza. Não consigo entender se o AID é em X local ou N local... Tentei instalar mas foi só dor de cabeça. Se alguém puder pelo menos falar onde deve ser colocado os AIDS e a função deles no script, seria ótimo !! Muito obrigado desde já. O autor do script é o zakius, postado e explicado por Conde e mal interpretado por mim (kk) Em data/lib adicione: function doCreatureSayWithDelay(cid,text,type,delay,e,pcid) if delay<=0 then doCreatureSay(cid,text,type, false,pcid) else local func=function(pars) doCreatureSay(pars.cid,pars.text,pars.type, false,pars.pcid) pars.e.done=TRUE end e.done=FALSE e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e,pcid=pcid}) end end Em movements crie o arquivo inquisition.lua e adicione: local config = { bosses={---actionid, posicao para onde ira, valor que colocara, texto de entrada [1001] = {pos={x=1173, y=1137, z=12, stackpos=1}, value=1, text="Entering The Crystal Caves"}, [1002] = {pos={x=1128, y=1151, z=12, stackpos=1}, value=2, text="Entering The Blood Halls"}, [1003] = {pos={x=1045, y=1204, z=13, stackpos=1}, value=3, text="Entering The Vats"}, [1004] = {pos={x=1152, y=1195, z=13, stackpos=1}, value=4, text="Entering The Arcanum"}, [1005] = {pos={x=1247, y=1295, z=12, stackpos=1}, value=5, text="Entering The Hive"}, [1006] = {pos={x=1064, y=1308, z=13, stackpos=1}, value=6, text="Entering The Shadow Nexus. All hope desapear!"} }, mainroom={---actionid, posicao que ira,menor valor de storage que poder entrar, texto de entrada [2001] = {pos={x=1173, y=1137, z=12, stackpos=1}, value=1, text="Entering The Crystal Caves"}, [2002] = {pos={x=1128, y=1151, z=12, stackpos=1}, value=2, text="Entering The Blood Halls"}, [2003] = {pos={x=1045, y=1204, z=13, stackpos=1}, value=3, text="Entering The Vats"}, [2004] = {pos={x=1152, y=1195, z=13, stackpos=1}, value=4, text="Entering The Arcanum"}, [2005] = {pos={x=1247, y=1295, z=12, stackpos=1}, value=5, text="Entering The Hive"} }, portals={---actionid,texto de entrada [3000] = {pos={x=1065, y=1086, z=14}, text="Entering Inquisition Portals Room"}, [3001] = {pos={x=1098, y=1214, z=12}, text="Entering The Ward of Ushuriel"}, [3002] = {pos={x=1185, y=1067, z=12}, text="Entering The Undersea Kingdom"}, [3003] = {pos={x=1130, y=1213, z=12}, text="Entering The Ward of Zugurosh"}, [3004] = {pos={x=1148, y=1127, z=12}, text="Entering The Foundry"}, [3005] = {pos={x=1113, y=1254, z=12}, text="Entering The Ward of Madareth"}, [3006] = {pos={x=1043, y=1133, z=13}, text="Entering The Battlefield"}, [3007] = {pos={x=1148, y=1254, z=12}, text="Entering The Ward of The Demon Twins"}, [3008] = {pos={x=1195, y=1201, z=13}, text="Entering The Soul Wells"}, [3009] = {pos={x=1187, y=1213, z=12}, text="Entering The Ward of Annihilon"}, [3010] = {pos={x=1193, y=1254, z=12}, text="Entering The Ward of Hellgorak"} }, storage=56123,---storage usado nos teleportes da sala central walkback="You don't have enough energy to enter this portal",---Messagem que aparece se vc nao poder entrar no teleport da sala central e={} }----nao modificar, se nao tiver o creaturesaywithdelay} function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) == TRUE then if(config.bosses[item.actionid]) then local t= config.bosses[item.actionid] if getPlayerStorageValue(cid, config.storage)< t.value then setPlayerStorageValue(cid, config.storage, t.value) end doTeleportThing(cid, t.pos) doCreatureSayWithDelay(cid,t.text,19,1, config.e) elseif(config.mainroom[item.actionid]) then local t= config.mainroom[item.actionid] if getPlayerStorageValue(cid, config.storage)>=t.value then doTeleportThing(cid, t.pos) doCreatureSayWithDelay(cid,t.text,19,1,config.e) else doTeleportThing(cid, fromPosition) doCreatureSay(cid, config.walkback, 19) end elseif(config.portals[item.actionid]) then local t= config.portals[item.actionid] doTeleportThing(cid, t.pos) doCreatureSayWithDelay(cid,t.text,19,1,config.e) end end end <movevent type="StepIn" itemid="9773" event="script" value="inquisition.lua"/> E em data/creaturescripts adicione o inquisition.lua e coloque: local config = { timeToRemove = 180, -- segundos message = "Go into the teleport in 180 seconds, else it will disappear.", teleportId = 9773, bosses = { -- Nome do monstro, Posicao do teleporte ["Ushuriel"] = { pos={x=1097, y=1214, z=12, stackpos=1}, aid=1001 }, ["Zugurosh"] = { pos={x=1129, y=1213, z=12, stackpos=1}, aid=1002}, ["Madareth"] = { pos={x=1112, y=1254, z=12, stackpos=1}, aid=1003}, ["Annihilon"] = { pos={x=1187, y=1214, z=12, stackpos=1}, aid=1005}, ["Hellgorak"] = { pos={x=1192, y=1256, z=12, stackpos=1}, aid=1006} }, brothers ={ ["Golgordan"] = {pos={x=1147, y=1254, z=12, stackpos=1},aid=1004, brother = "Latrivan"}, ["Latrivan"] = {pos={x=1147, y=1254, z=12, stackpos=1},aid=1004, brother = "Golgordan"}, brothersArea ={ fromPos = {x = 1139, y = 1244, z = 12}, toPos = {x = 1155, y = 1254, z = 12} } } } local function change(position) doItemSetAttribute(getTileItemById(position, config.teleportId).uid, "aid", 3000) return TRUE end function onKill(cid, target, lastHit) if(config.bosses[getCreatureName(target)]) then local t = config.bosses[getCreatureName(target)] local position = t.pos doItemSetAttribute(getTileItemById(position, config.teleportId).uid, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(change, config.timeToRemove * 1000, position) elseif(config.brothers[getCreatureName(target)]) then local t = config.brothers[getCreatureName(target)] local brother = getCreatureByName(t.brother) if(isMonster(brother) == true) then if(isInRange(getCreaturePosition(brother), config.brothers.brothersArea.fromPos, config.brothers.brothersArea.toPos) == true) then return TRUE end else local position = t.pos doItemSetAttribute(getTileItemById(position, config.teleportId).uid, "aid", t.aid) doItemSetAttribute(teleport, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(removal, config.timeToRemove * 1000, position) end end return TRUE end <event type="kill" name="Inquisition" event="script" value="inquisition.lua"/> Adicione este código em cada XML dos bosses na pasta monsters: <script> <event name="Inquisition"/> </script> Explicação do autor a respeito do script: Os teleportes da sala principal deverão ter os Actionid respectivos no script. Sendo que cada um levará ao seu devido lugar apenas se o player já tiver passado nele. Quando o boss morre, o script modifica o teleporte para o player poder voltar para a sala principal. -Todo teleporte de Boss deverá ter o actionid 3000 como default. Pois senão o player não poderá voltar. -Existem maiores explicações no proprio arquivo. Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Erro na distro TFS 0.4
e porque aparece o nome da guild no erro ? e de monstros como undead dragon ?
-
Inconcessus Map Generator
Resumindo, ele cria mapas aleatórios ?
-
Inconcessus Map Generator
No caso este programa poderia ser usado para exportar um local todo do tibia 10 para a versão 8.60 ? Suponhamos que eu queira uma cidade recém lançada no global, seria capaz de usar isso para copiar ela e ter em meu ot 8.60 ?
-
Yutae - Cidade + Hunts
Muito maneiro ! Vou reaproveitar algumas hunts em um 8.60, tudo bem ? Ficaram lindas. A parte do trilho de trem então, sem comentários!
-
(Resolvido)Erro na distro TFS 0.4
sabe como resolver ?
-
(Resolvido)EMOTE SPELLS TFS 0.4
Funcionou 100%, rep + e obrigado Naze !!!!!!!!!!!!!!!!!!
-
(Resolvido)EMOTE SPELLS TFS 0.4
Erro na hora de compilar na linha: player->getStorage(474758, value); In member function 'ReturnValue Spells::onPlayerSay(Player*, const std::string&)': invalid conversion from 'int' to 'const char*' initializing argument 1 of 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' *** [obj//spells.o] Error 1
-
(Resolvido)Erro na distro TFS 0.4
Toda vez que meu servidor da o save, aparece esta mensagem na distro. No caso, ''only test'' é o nome da guild que criei por comando ingame para testar. Alguém sabe o que é e como resolver ? Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
- [8.60] Sistema de Recompensa Loot De Boss Compartilhado (reward chest)