Autor: MaXwEllDeN (Maxwell Denisson)
Versão testada: TFS 0.3.6, 8.54
#Explicação
Eu falo com um npc, e digo à ele bless, ai ele me abençoa, ai na próxima vez que eu morrer, só eu posso abrir o meu corpo.
#Instalação
@Actions
Na pasta scripts copie qualquer arquivo com a extenção lua, e renomeie ele para BlessDie, abra, delete tudo que houver dentro dele, copie esse conteúdo e salve:
function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid ~= getPlayerGUID(cid) + 1000 then
doPlayerSendCancel(cid, "This corpse has blessed by the gods, so it you can't touch it.")
return true
end
end
TAG:
<action actionid="90100" script="BlessDie.lua"/>
@Creaturescripts
Na pasta scripts copie qualquer arquivo com a extenção lua, e renomeie ele para BlessDie, abra, delete tudo que houver dentro dele, copie esse conteúdo e salve:
function onDeath(cid, corpse, deathList)
if getPlayerStorageValue(cid, 21718) > 0 then
setPlayerStorageValue(cid, 21718, -1)
doItemSetAttribute(corpse.uid, "aid", 90100)
doItemSetAttribute(corpse.uid, "uid", getPlayerGUID(cid) + 1000)
end
return true
end
Abra o arquivo login.lua, que está na pasta scripts, e antes do return true coloque isso:
registerCreatureEvent(cid, "BlessDie")
@NPC
Fiz um npc só de exemplo pra mostrar como por a bless...
ai está o xml dele:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Max" script="BlessDie.lua" walkinterval="0" floorchange="0">
<health now="150" max="150"/>
<look type="335" head="79" body="95" legs="95" feet="81" corpse="2212"/>
<parameters>
<parameter key="message_greet" value= 'Olá |PLAYERNAME|, estou distribuindo uma bless especial que quando você morre ninguém pode tocar no seu corpo.'/>
</parameters>
</npc>
Ai está o Script que deve ser nomeado de BlessDie:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
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 msgcontains(msg, 'bless') and getPlayerStorageValue(cid, 21718) < 1 then
setPlayerStorageValue(cid, 21718, 1)
selfSay("{".. getCreatureName(cid) .."} você está abençoado, e na próxima vez que você morrer, {ninguém além de você poderá tocar no seu corpo}.", cid)
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
É só isso, agora se você pegar a bless, quando morrer não vão poder pegar seus items, mas podem arrastar o corpo.. >.<, só falta ajeitar esse pequeno problema , Flw
info
Grupo: Barão
Registrado: 18/10/10
Posts: 246
Reputação: +89
Char no Tibia: Elite Pamcadaum
#Explicação
Eu falo com um npc, e digo à ele bless, ai ele me abençoa, ai na próxima vez que eu morrer, só eu posso abrir o meu corpo.
#Instalação
@Actions
Na pasta scripts copie qualquer arquivo com a extenção lua, e renomeie ele para BlessDie, abra, delete tudo que houver dentro dele, copie esse conteúdo e salve:
function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid ~= getPlayerGUID(cid) + 1000 then doPlayerSendCancel(cid, "This corpse has blessed by the gods, so it you can't touch it.") return true end endTAG:
@Creaturescripts
Na pasta scripts copie qualquer arquivo com a extenção lua, e renomeie ele para BlessDie, abra, delete tudo que houver dentro dele, copie esse conteúdo e salve:
TAG:
Abra o arquivo login.lua, que está na pasta scripts, e antes do return true coloque isso:
@NPC
Fiz um npc só de exemplo pra mostrar como por a bless...
ai está o xml dele:
<?xml version="1.0" encoding="UTF-8"?> <npc name="Max" script="BlessDie.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="335" head="79" body="95" legs="95" feet="81" corpse="2212"/> <parameters> <parameter key="message_greet" value= 'Olá |PLAYERNAME|, estou distribuindo uma bless especial que quando você morre ninguém pode tocar no seu corpo.'/> </parameters> </npc>Ai está o Script que deve ser nomeado de BlessDie:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 msgcontains(msg, 'bless') and getPlayerStorageValue(cid, 21718) < 1 then setPlayerStorageValue(cid, 21718, 1) selfSay("{".. getCreatureName(cid) .."} você está abençoado, e na próxima vez que você morrer, {ninguém além de você poderá tocar no seu corpo}.", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())É só isso, agora se você pegar a bless, quando morrer não vão poder pegar seus items, mas podem arrastar o corpo.. >.<, só falta ajeitar esse pequeno problema
, Flw