Histórico de Curtidas
-
Godfather recebeu reputação de martimtiburcio em Aura System[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
-
Godfather recebeu reputação de Galako em Aura System[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
-
Godfather recebeu reputação de BlackBro em Aura System[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
-
Godfather recebeu reputação de eviltox em Magic Wall com timer (igual magebot)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!!!
-
Godfather recebeu reputação de Reds em Amuleto do Caçador (reduz dano proveniente de monstros)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
-
Godfather recebeu reputação de xWhiteWolf em Amuleto do Caçador (reduz dano proveniente de monstros)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
-
Godfather recebeu reputação de luanluciano93 em Amuleto do Caçador (reduz dano proveniente de monstros)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
-
Godfather recebeu reputação de Wakon em Amuleto do Caçador (reduz dano proveniente de monstros)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
-
Godfather recebeu reputação de luanluciano93 em Aura System[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
-
Godfather recebeu reputação de Wakon em Aura System[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
-
Godfather recebeu reputação de luanluciano93 em [CreatureEvents] Ganhar novas wands e staffs conforme upaO 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") -
Godfather recebeu reputação de eliaspalermo em [NPC] Mensageira - Players deixam mensagens num bloco de notasOi. 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 -
Godfather recebeu reputação de luanluciano93 em getStringBar(Vr,Vm,quant) - Barra em stringEaí.
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! -
Godfather recebeu reputação de Snowsz em getStringBar(Vr,Vm,quant) - Barra em stringEaí.
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! -
Godfather recebeu reputação de Fir3element em getStringBar(Vr,Vm,quant) - Barra em stringEaí.
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! -
Godfather recebeu reputação de Dennyz em Magic Wall com timer (igual magebot)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!!!
-
Godfather recebeu reputação de luanluciano93 em Magic Wall com timer (igual magebot)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!!!
-
Godfather recebeu reputação de Vinicius Sousa em [NPC] Mensageira - Players deixam mensagens num bloco de notasOi. 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 -
Godfather recebeu reputação de subhe em [NPC] Mensageira - Players deixam mensagens num bloco de notasOi. 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 -
Godfather recebeu reputação de TioItachi em [NPC] Mensageira - Players deixam mensagens num bloco de notasOi. 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 -
Godfather recebeu reputação de Kisuck em [Action] Controlled AttackATENÇÃO:
NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO.
MEU MSN: [email protected]
Pretexto:
Olá, este é o meu primeiro tópico aqui no TibiaKing, e resolvi trazer pra vocês um script que eu criei, e que estava criando mofo no meu PC haha, eu não vou explicar muito, eu coloquei um vídeo que explica melhor o que o script faz.
Explicando:
O script é basicamente um ataque que tem uma rota controlada por você, usando ctrl + setas, para direcionar o ataque.
- Tempo de controle limitado
- Não tem efeito em proction-zone
- Os danos são: level do jogador (min), e level do jogador x 3 (max)
- Mana gasta: level do jogador x 6
Script:
[data/actions/scripts/cattack.lua]
function onUse(cid, item, fromPosition, itemEx, toPosition) minMana = getPlayerLevel(cid) * 6 onoff = 4956 quantx = 0 quanty = 0 function setAxis() o = getPlayerPosition(cid) xe = o.x ye = o.y ze = o.z tempo = 3 velocidade = 150 end function doEffect() pos = {x=xe+quantx,y=ye+quanty,z=ze} if getPlayerMana(cid) < minMana then setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getTilePzInfo(pos) == FALSE then local ef = 6 of = 2 doAreaCombatHealth(cid, COMBAT_FIREDAMAGE, pos, 0, -getPlayerLevel(cid), -getPlayerLevel(cid) * 3, ef) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") else doSendMagicEffect(pos,of) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") end addEvent(checkDir,velocidade) end function checkPer() if getPlayerStorageValue(cid,work) == 1 then checkTime() end end function checkTime() if tempo > 0 then doEffect() else stop() end end function stop() posi = {x=xe+quantx,y=ye+quanty,z=ze} doSendMagicEffect(posi,49) doSendAnimatedText(posi,"...",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) addEvent(doPlayerSendCancel,800,cid,"Tempo restante: 0.") end function minusTime() if getPlayerStorageValue(cid,onoff) == 0 then elseif tempo > 0 then doPlayerSendCancel(cid,"Tempo restante: "..tempo..".") tempo = tempo - 1 addEvent(minusTime,1000) elseif tempo == 0 then stop() end end function checkDir() po = getCreatureLookDirection(cid) if po == NORTH then quanty = quanty - 1 elseif po == SOUTH then quanty = quanty + 1 elseif po == WEST then quantx = quantx - 1 elseif po == EAST then quantx = quantx + 1 end checkPer() end if getTilePzInfo(getPlayerPosition(cid)) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"PZ!",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerMana(cid) < minMana then doSendAnimatedText(getPlayerPosition(cid),"MANA",TEXTCOLOR_LIGHTBLUE) doPlayerSendCancel(cid,"Você precisa de "..minMana.." de mana para isso.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerStorageValue(cid,onoff) == 0 then setPlayerStorageValue(cid,work,1) setPlayerStorageValue(cid,onoff,1) doPlayerAddMana(cid,-minMana) doPlayerSetNoMove(cid,1) setAxis() minusTime() checkDir() else doPlayerSendCancel(cid,"Contagem cancelada.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) end return TRUE end "velocidade = 150": velocidade em milisegundos "tempo = 3": tempo em segundos Tag: [data/actions/actions.xml] <action itemid="xxx" script="cattack.lua"/>
Note: xxx é o ID do item que será utilizado.
Vídeo:
-
Godfather recebeu reputação de krafa em [NPC] Mensageira - Players deixam mensagens num bloco de notasOi. 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 -
Godfather recebeu reputação de Prizzee em Passagem SecretaVersão testada: 8.60
TFS testado: 0.4
Vídeo Demonstrativo
Script
Configurando
Lembrando que caso você não tenha gostado ou caso você queira alguma mudança, reclame com Deus.
-
Godfather recebeu reputação de lucasromero em [Action] Temple Cleaner AutomáticoATENÇÃO:
LER TODO O TÓPICO
NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO.
MEU MSN: [email protected]
Pretexto:
Olá, dessa estou aqui no TibiaKing para resolvi trazer pra vocês um script que eu criei.
Lembrando que se gostou, dá um gostei aí, rs.
É difícil explicar, então teste pois é mais fácil entender como funciona.
Explicando:
Quando você dá use no item, ele cria um "mascote". Ele é formado por efeitos, e vai se movimentando aleatoriamente. Caso tenha algum item em seu caminho, ele remove, e caso tenha uma barreira, ele se move para qualquer lado menos o da barreira (não importa quantas barreiras estiverem ao redor dele, o movimento vai ser anulado)
- Você precisa cercar todo o local onde ele pode passar. Lembrando que ele só pode andar no chão puro! Ou seja, qualquer item não-móvel (exceto o chão) é classificado como barreira.
Exemplo de local que funciona:
Em vermelho, os exemplos de barreiras (a parede também é barreira, óbvio)
Script:
[data/actions/scripts/clean.lua]
-- script by Eitor Laba -- bot cleaner v1.0 local c = {x=0,y=0,z=0} function onUse(cid, item, frompos, item2, topos) function newEffect() local random = math.random(1,4) local effects = {47} local delay = 0.8 local msgs = {"Oops!","Bloqueado","Epa!"} if random == 1 then c.x = c.x + 1 elseif random == 2 then c.x = c.x - 1 elseif random == 3 then c.y = c.y + 1 elseif random == 4 then c.y = c.y - 1 end if math.random(1,8) == 5 then local saudacoes = {"Tudo bom?","Limpando!","Olá!","","Passando!"} doSendAnimatedText(c,saudacoes[math.random(0,#saudacoes)],160) end if getThingFromPos(c).itemid > 0 then if isItemMovable(getThingFromPos(c).itemid) then c.stackpos = 253 if not isCreature(getThingFromPos(c).uid) then doSendAnimatedText(c,"Limpo!",TEXTCOLOR_YELLOW) doCleanTile(c) c.stackpos = 1 else doSendAnimatedText(c,"Licença!",160) c.stackpos = 1 end else if random == 1 then c.x = c.x - 1 elseif random == 2 then c.x = c.x + 1 elseif random == 3 then c.y = c.y - 1 elseif random == 4 then c.y = c.y + 1 end doSendAnimatedText(c,msgs[math.random(0,#msgs)],TEXTCOLOR_YELLOW) end end doSendMagicEffect(c,effects[math.random(1,#effects)]) addEvent(newEffect,delay * 1000) end c = getPlayerPosition(cid) c.stackpos = 1 newEffect() return TRUE end[/code] [size=2]Nota: você pode editar as falas na variável [i]saudacoes [/i]([i]ctrl + f: saudacoes[/i])[/size][/color] [color=#ff0000][b]Tag:[/b][/color] [color=#696969][data/actions/actions[/color][color=#0000ff].xml[/color][/i] [code]<action uniqueid="xxx" script="clean.lua"/> para usar-se uma unique id no item; ou <action itemid="xxx" script="clean.lua"/>
para usar-se qualquer item deste id;
Nota: xxx é o uniqueid (se você usou o primeiro exemplo) do item a ser usado, ou o id do item (se você usou o segundo exemplo) que será usado.
-
Godfather recebeu reputação de RenanPhellip em !fly (Igual ao GlobalWar)Legal cara, mas dava pra fazer seu script muito mais configurável pra quem vai usar:
Aí só precisa adicionar o lugar na table:
["nomedolugar"] = {x=posx, y=posy, z=posz},
O seu está legal mas se eu adicionasse 50 lugares cada um ocuparia 4 linhas, ocupando 200 linhas
Aí, cara lugar ocupa uma linha, 1/4 do que seria...