Mwa ha ah ha... QUe massa, vou usar no meu ot...
BLoody kisses
info
Grupo: Visconde
Registrado: 15/03/08
Posts: 295
Reputação: +1

Mwa ha ah ha... QUe massa, vou usar no meu ot...
BLoody kisses
info
Grupo: Campones
Registrado: 18/01/08
Posts: 51
Reputação: 0
Char no Tibia: Sith Thonth

o cara q fez isso eh um genil parabens adorei esse npc testei aki no meu ot e funcionou
info
Grupo: Visconde
Registrado: 15/03/08
Posts: 295
Reputação: +1

='(
Nao da pra usar no meu ot... Agora que eu vi que é pra 8.22...
Bloody kisses
info
Grupo: Marquês
Registrado: 17/01/08
Posts: 1.5k
Reputação: +15
Char no Tibia: Saint Claire

Puts, um npc muito complexo, muito bom também ![]()
Bom de se usar em um lugar estratégico, tipo, fazer uma quest, com dois caminhos... se for pelo errado, da de cara com o npc, e o npc mata o cara... se for pelo caminho certo, continua normal ![]()
Se bem que só mata pk ![]()
Mas mesmo assim, da para fazer coisas daora com ele ![]()
Abraço
info
Grupo: Visconde
Registrado: 15/03/08
Posts: 295
Reputação: +1

Alguem consegue ele para 8.1???
Se nao conseguirem tudo bem, ai eu faço =D
Bloody kisses
info
Grupo: Visconde
Registrado: 25/05/08
Posts: 1.4k
Reputação: +26
Char no Tibia: Akhumura

surprised.gif gostei brastante do npc masCara e o seguinte eu nao sei como coloko os npc/monstros no mapa ensina aew blz cra
smile_positivo.gif smile_positivo.gif
Você olhou de quando é o tópico?
tnte não postar em tópicos um pouco mais velhos.
info
Grupo: Campones
Registrado: 04/11/08
Posts: 71
Reputação: 0
Char no Tibia: Damon Chas

que rox muito maneiro.. funfo namoral.muito bom ;D

metas..
[x]1post
[x]5 posts (SERVO)
[x]10 posts (CAMPONÊS)
[x]25 posts (CAÇADOR)
[x]50 posts (CAVALEIRO)
[ ]100 posts (BARONETE)
[ ]200 posts (BARÃO)
[ ]300 posts (VISCONDE)
[ ]400 posts (DUQUE)
[ ]600 posts (ARQUEDUQUE)
[ ]800 posts (ARISTOCRATA)
[ ]1000 posts (REGENTE)
[ ]1400 posts (SÁBIO)
[ ]1800 posts (SACERDOTE)
[ ]2500 posts (PRÍNCIPE)
Editado Novembro 20 por xXhalloweenXx
info
Grupo: Campones
Registrado: 16/11/08
Posts: 62
Reputação: 0
Char no Tibia: Bardy dy asturian

bagualado mermao ja to usando no meu ot
No 8.4 nao pegou.
Erro:
[21/12/2008 11:50:31] data/npc/lib/npcsystem/npcsystem.lua:68: attempt to index local 'npcHandler' (a nil value)
[21/12/2008 11:50:31] [Warning - NpcScript::NpcScript] Can not load script: data/npc/scripts/defender.lua
info
Grupo: Artesão
Registrado: 04/01/09
Posts: 133
Reputação: +1
Char no Tibia: GOD King

8.1 pego =x
info
Grupo: Campones
Registrado: 22/01/09
Posts: 14
Reputação: 0

Parece legal cara mais axo q nao vou usar,porque quando fazer invasão ele provavelmente irá matar, mais axei mto massa
info
Grupo: Conde
Registrado: 07/05/08
Posts: 612
Reputação: +12
Char no Tibia: leviana luciferiana

vo verifica pra ve se funciona em outras versoes..
flw pela ajuda e por ter postado esse npc....
info
Grupo: Campones
Registrado: 01/04/08
Posts: 1
Reputação: 0
Char no Tibia: Odin servant

Eu dei uma adaptada pra ele rodar em 8.54, não verdade foi mais uma cortada XD
Lembrando que não testei ele em PK ainda, se alguem testar me responda.
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Defender Sauron" script="data/npc/scripts/defender.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="130" head="114" body="114" legs="114" feet="114" addons="3"/>
<parameters>
<parameter key="HitInterval" value="3000" />
<parameter key="ShootEffect" value="37" />
<parameter key="HitEffect" value="39" />
<parameter key="TypeDmg" value="1024" />
<parameter key="minDamage" value="150" />
<parameter key="maxDamage" value="700" />
<parameter key="sayText" value="Exori San" />
<parameter key="multiAttack" value="1" />
<parameter key="hitSkulledPlayer" value="1" />
<parameter key="minHeal" value="50" />
<parameter key="maxHeal" value="150" />
<parameter key="dmgRadiusX" value="7" />
<parameter key="dmgRadiusY" value="5" />
<parameter key="healRadiusX" value="3" />
<parameter key="healRadiusY" value="3" />
</parameters>
</npc>
e no lua ficou sendo assim
NpcSystem.parseParameters(npcHandler)
local guard = defender:new()
guard:setHitInterval(getNpcParameter("HitInterval"))
guard:setShootEffect(getNpcParameter("ShootEffect"))
guard:setHitEffect(getNpcParameter("HitEffect"))
guard:setTypeDmg(getNpcParameter("TypeDmg"))
guard:setDamage(getNpcParameter("minDamage"),getNpcParameter("maxDamage"))
guard:setSayText(getNpcParameter("sayText"))
guard:setHeal(getNpcParameter("minHeal"),getNpcParameter("maxHeal"))
guard:setHitSkulledPlayer(getNpcParameter("hitSkulledPlayer"))
guard:setMultiAttack(getNpcParameter("multiAttack"))
guard:setDmgRadius(getNpcParameter("dmgRadiusX"),getNpcParameter("dmgRadiusY"))
guard:setHealRadius(getNpcParameter("healRadiusX"),getNpcParameter("healRadiusY"))
function onThink()
guard:onThink(getNpcCid())
end
Infelismente ele não fala mais, porém é melhor que nada, pelo menos pra min esta sendo...
ESTE É MEU SEGUNDO POST. FAÇO SPELLS E OUTROS SCRIPT EM .LUA, VOU VER SE POST UMAS E PERDOE MEU PORTUGUÊS
Editado Julho 11 por amauribate
info
Grupo: Conde
Registrado: 18/12/05
Posts: 912
Reputação: +86
Gênero: Masculino
Char no Tibia: Kohzete
Esse npc achei muito interressante e não é meu
Peguei no otfans
Ele mata pks,monstros que chegam perto dele
Ele é um npc guarda
Funciona apenas em TFS 0.20 +
Em npcs adicione xxx.xml
E npcs/scripts adicione defender.lua
NpcSystem.parseParameters(npcHandler) local guard = defender:new() guard:setHitInterval(getNpcParameter("HitInterval")) guard:setShootEffect(getNpcParameter("ShootEffect")) guard:setHitEffect(getNpcParameter("HitEffect")) guard:setTypeDmg(getNpcParameter("TypeDmg")) guard:setDamage(getNpcParameter("minDamage"),getNpcParameter("maxDamage")) guard:setSayText(getNpcParameter("sayText")) guard:setHeal(getNpcParameter("minHeal"),getNpcParameter("maxHeal")) guard:setHitSkulledPlayer(getNpcParameter("hitSkulledPlayer")) guard:setMultiAttack(getNpcParameter("multiAttack")) guard:setDmgRadius(getNpcParameter("dmgRadiusX"),getNpcParameter("dmgRadiusY")) guard:setHealRadius(getNpcParameter("healRadiusX"),getNpcParameter("healRadiusY")) function onThink() guard:onThink(getNpcCid()) npcHandler:onThink() end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end npcHandler:addModule(FocusModule:new())E em /data/npc/lib/npc.lua adicione na primeira linha :
na mesma pasta crie creature.lua e adicione ;
-- @ Mehah and Gesior function OTSYS_TIME() return os.clock()*1000 end defender = { cid = 0, targetList = {}, targetTime = OTSYS_TIME(), hitInterval = 1000, shootEffect = CONST_ANI_THROWINGSTAR, hitEffect = CONST_ME_HITAREA, typeDmg = COMBAT_PHYSICALDAMAGE, minDmg = 300, maxDmg = 1200, sayText = "", minHeal = 1, maxHeal = 10, hitSkulledPlayer = 1, multiAttack = 1, dmgRadiusX = 7, dmgRadiusY = 5, healRadiusX = 3, healRadiusY = 3, } function defender:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end function defender:onThink(_cid) if self.cid == 0 then self.cid = _cid return end local _time = OTSYS_TIME() if (_time - self.targetTime) > self.hitInterval then self.targetTime = _time local position = getCreaturePosition(self.cid) local creature = {} local pos = {x = 0, y = 0, z = 0, stackpos = 0} if self.minDmg > 0 and self.maxDmg > 0 then self:clearTargetList() for x = -self.dmgRadiusX, self.dmgRadiusX do for y = -self.dmgRadiusY, self.dmgRadiusY do if not (x == 0 and y == 0) then pos = {x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE} creature = getTopCreature(pos) if (creature.type == 2) or (creature.type == 1 and self.hitSkulledPlayer == 1 and getPlayerSkullType(creature.uid) > 0) then if self.multiAttack ~= 1 and #self.targetList > 0 then break end self:addTarget(creature.uid) self:doSendDamage(creature.uid) end end end end if #self.targetList > 0 then if self.sayText ~= "" then doCreatureSay(self.cid, self.sayText, TALKTYPE_ORANGE_1) end end end if self.minHeal > 0 and self.maxHeal > 0 then self:clearTargetList() for x = -self.healRadiusX, self.healRadiusX do for y = -self.healRadiusY, self.healRadiusY do if not (x == 0 and y == 0) then pos = {x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE} creature = getTopCreature(pos) if (creature.type == 1) then self:doHeal(creature.uid) end end end end end end end function defender:doSendDamage(target) if isCreature(target) == TRUE then local hitDmg = math.random(self.minDmg, self.maxDmg) if getCreatureHealth(target) <= hitDmg then doSetCreatureDropLoot(target, 0) end doSendDistanceShoot(getCreaturePosition(self.cid), getCreaturePosition(target), self.shootEffect) doTargetCombatHealth(self.cid, target, self.typeDmg, -hitDmg, -hitDmg, self.hitEffect) end end function defender:doHeal(target) doTargetCombatHealth(self.cid, target, COMBAT_HEALING, self.maxHeal, self.minHeal, CONST_ME_MAGIC_BLUE) end function defender:addTarget(_target) table.insert(self.targetList,_target) end function defender:clearTargetList() self.targetList = {} end function defender:setHitInterval(hitInterval) self.hitInterval = tonumber(hitInterval) end function defender:setShootEffect(shootEffect) self.shootEffect = shootEffect end function defender:setHitEffect(hitEffect) self.hitEffect = hitEffect end function defender:setTypeDmg(typeDmg) self.typeDmg = typeDmg end function defender:setSayText(sayText) self.sayText = tostring(sayText) end function defender:setDamage(minDmg,maxDmg) self.minDmg = tonumber(minDmg) self.maxDmg = tonumber(maxDmg) end function defender:setHeal(minHeal,maxHeal) self.minHeal = tonumber(minHeal) self.maxHeal = tonumber(maxHeal) end function defender:setHitSkulledPlayer(hitSkulledPlayer) self.hitSkulledPlayer = tonumber(hitSkulledPlayer) end function defender:setMultiAttack(multiAttack) self.multiAttack = tonumber(multiAttack) end function defender:setDmgRadius(dmgRadiusX,dmgRadiusY) self.dmgRadiusX = tonumber(dmgRadiusX) self.dmgRadiusY = tonumber(dmgRadiusY) end function defender:setHealRadius(healRadiusX,healRadiusY) self.healRadiusX = tonumber(healRadiusX) self.healRadiusY = tonumber(healRadiusY) endDepois coloque-o no mapa
Quando ele mata um monstro
O monstro não dá loot
creditos : Gesior e Mehah