Ir para conteúdo

Godfather

Membro
  • Registro em

  • Última visita

  1. martimtiburcio reagiu a uma resposta no tópico: Aura System
  2. Galako reagiu a uma resposta no tópico: Aura System
  3. BlackBro reagiu a uma resposta no tópico: Aura System
  4. eviltox reagiu a uma resposta no tópico: Magic Wall com timer (igual magebot)
  5. @xWhiteWolf, olá, obrigado pela resposta Sobre essa parada de defesa, ela só funciona contra o ataque físico dos bichos (o dano "elemental" não é descontado na armadura, só no absorbPercentElement). Pensando nisso, criei um monstro com dano físico fixo de 100. Com o amuleto protegendo 40%, o dano era fixo de 60 (sem defesa alguma). Adicionei um demon helmet. Dano médio: 55. Adicionei um demon shield. Dano médio: 48. Adicionei uma demon armor. Dano médio: 40. Adicionei uma demon legs. Dano médio: 30. Dá pra concluir que sua primeira teoria não é aplicada realmente, pois o dano não ficou extremamente baixo (considerando que era apenas 100 de dano e era um demon set) Portanto, acho que não há problema nessa parte. Sobre as linhas de texto: removi a doPlayerSendTextMessage e pus a linha do doPlayerSendCancel abaixo da linha do doTargetCombatHealth para que a mensagem seja exibida ao invés da mensagem padrão do tfs Sobre o doAreaCombatHealth: ("o correto seria"?!?! Mas a minha linha já funciona o_O). O parâmetro não precisa de uma área em array, dá pra usar 0 para que fique somente em um SQM, ou 1 para que fique um círculo de 9, e assim por diante Além disso, o -1 significa que efeito nenhum será mostrado, deixando apenas o efeito do melee ou das magias que já seriam mostrados normalmente, pra ficar algo natural e não um efeito aparecendo toda hora que você perde 1 de hp. (E funciona) (/\ tudo baseado no tfs 0.4) --- // --- De qualquer forma, modifiquei um pouco o script, acho que ficou melhor (aceito que ponham do pastebin pra cá com identação, pois não sei como hehe)
  6. AMULETO WHOHOOO É um amuleto que, quando está equipado, nega x% do dano provido de monstros. (data/creaturescripts/scripts/amulet.lua) http://pastebin.com/w5wzaXyL(revisão - recomendado) http://pastebin.com/LW3Z34v9 (versão inicial) (data/creaturescripts/scripts/login.lua) Adicione esta linha: registerCreatureEvent(cid, "Amulet") (data/creaturescripts/creaturescripts.xml) Adicione esta linha: <event type="statschange" name="Amulet" event="script" value="amulet.lua"/> E pronto! No script a variável "porcentagem" possui o valor 40 como padrão, que é a porcentagem do dano que será BLOQUEADA. Ou seja, receberá ainda 60% do dano Na variável pt_br = false, troque false por true para que a mensagem seja exibida em português obs. o ID do amuleto é o 2218
  7. luanluciano93 reagiu a uma resposta no tópico: Aura System
  8. Wakon reagiu a uma resposta no tópico: Aura System
  9. Godfather postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    [Criado em TFS 0.4 (tibia 8.6), talvez não funcione em outras versões - não darei suporte] Eaí! Este mod consiste em dizer !aura para ver uma lista de auras compráveis, que, após compradas, podem ser escolhidas por "!aura nomedaaura" para que saia um efeito no jogador a cada 1 segundo. [mods/Aura.xml]: http://pastebin.com/qVayLc3m ss's e como usar: Como adicionar outros efeitos? Na 4ª linha, nesta parte: auras = { ["fogo"] = {36,1500000,11350}, ["gelo"] = {41,1500000,11351}, ["pedras"] = {44,1250000,11352}, ["energia"] = {37,1250000,11353}, ["tornado"] = {42,15000000,11354}, } Continue seguindo o padrão, que é: ["Nome"] = {Efeito, Preço, Storage}, Sendo que Storage não pode repetir, então sempre ponha um número a mais que o anterior. É isso Vlw
  10. O script é simples: você normalmente começa com a wand of vortex nos servidores. Daí, quando pega nível suficiente pra usar a próxima wand (wand of dragonbreath), ganha ela automaticamente. Assim por diante até a wand of voodoo. Funciona em druids tbm. [data/creaturescripts/scripts/evoluirwand.lua] http://pastebin.com/rHBqt3Sd (ou clique em Spoiler para ver o script aqui) [data/creaturescripts/creaturescripts.xml] Adicione a seguinte linha: <event type="advance" name="EvoluirStaff" event="script" value="evoluirwand.lua"/> [data/creaturescripts/scripts/login.lua] Adicione a seguinte linha após onLogin(cid): registerCreatureEvent(cid, "EvoluirStaff")
  11. O meu também não dá respawn, assim como o de outro cara que fez um tópico recentemente. Será que alguém poderia ajudar? Esta função é meio vital pro que eu estou fazendo...
  12. Eaí. Estava criando um sistema de pet por channels, daí senti que seria legal fazer com que tivesse uma barrinha de experiência Ficará tipo assim: (40 quadradinhos) O legal é que dá pra você modificar a largura da barrinha, mas manter os mesmos valores, como na foto: (60 quadradinhos) Daí você pode modificar os valores, como por exemplo, 7 de 10 em 20 quadradinhos: A função é a seguinte: function getStringBar(Vr,Vm,quant) local retorno = {barra,min=Vr,max=Vm,porcentagem=math.floor((Vr/Vm)*100)} local Q = quant/Vm Vr = Vr*Q Vm = Vm*Q str = "[" local trigger = false for i = 1, Vm do if i <= Vr then str = str .. "=" else if not trigger then str = str .. "|" trigger = true end str = str .. "-" end end retorno.barra = str.."]" return retorno end Ela retornará o seguinte array: retorno = { barra (que será a barrinha inteira, tipo [=====|----------] min (que é o valor usado, como o 7 da terceira foto) max (o valor máximo usado, como o 10 da terceira foto) porcentagem (que é a porcentagem do 7 para o 10, no caso 70%) } Exemplo de uso: local gsb = getStringBar(10,20,50) doPlayerSendTextMessage(cid, "4", gsb.min.." "..gsb.barra.." "..gsb.max.." ("..gsb.porcentagem.."%)") Que dará o seguinte resultado: Daí vai de sua imaginação! Esclarecendo: > getStringBar(valor,valor máximo,quantidade de quadradinhos) Esta função não é muito simples de se usar, mas quis deixar retornando o array mesmo, até pra aumentar as possibilidades de uso. Talvez ela seja uma função daquelas que você usa uma vez a cada vinte códigos, mas sempre é bom deixá-la por perto. Valeu!
  13. Opa, se já tinha foi mal. De qualquer forma, este daí fui eu quem fiz e, pelo que parece, pode ser implantado mais facilmente... @Dennyz use o script do fireelement que funcionará, o outro esqueceu de por em string
  14. Oi. Esse script vai fazer com que sua MW mostre os segundos que faltam para que ela desapareça. Só. Abra o script da magic wall (data/spells/script/support/magic wall rune.lua) Troque tudo que estiver lá dentro por: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end function onCastSpell(cid, var) countPos(var.pos,20) return doCombat(cid, combat, var) end E a MW está pronta! Agora vamos querer mudar a Wild Growth também, correto? Abra o script da wild growth (data/spells/script/support/wild growth rune.lua) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end function onCastSpell(cid, var) countPos(var.pos,45) return doCombat(cid, combat, var) end Tudo pronto, agora é só relaxar e gozar!!!
  15. Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores. [data/npc/Mensageira.xml] <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua] local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if talkState[cid] == 1 then selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close() talkState[cid] = 0 elseif msgcontains(msg, 'mensagem') then selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid) talkState[cid] = 1 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Aí você deixa ele no templo, sei lá, faz qualquer coisa Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua
  16. se o player relogar em menos de 1 segundo cai 2x mais rapido e se ele der logout vai ficar dando bug '-'
  17. Godfather reagiu a uma resposta no tópico: Programando lua in server
  18. Verdade, a tag está errada, arrumado, obrigado. Sim, sou o 20cm Aliás perdão também por não dar atenção ao tópico, tava vendo o meu canal do youtube e vi o vídeo que tinha o link, enfim... Pra configurar deve ser meio chato mesmo, apesar de que tentei por as cores e tal... Obrigado por orientá-los Kimoszin enquanto eu não estava \o
  19. Se esse script for do globalwar, que merda hein '-'

Informação Importante

Confirmação de Termo