FE

Criando Um Npc Report

Por Felipe Moraes, 03 de mar. de 2007 em NPCs, monsters e raids

script
9
2.6k
Felipe MoraesF
03 de março de 2007 às 19:08

aprenda a criar um npc report (de preferencia coloque ele em um lugar meio escondido.para + ngm ver o q vc esta falando...)

abra o bloco de notas e cole o seguinte:

 

-- Respawn position set
--ox = 44 --posx
--oy = 5 --posy
--oz = 6 --posz

focus = 0
contador = 0
talk_start = 0
target = 0
following = false
attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Que Deus os abençoe.')
focus = 0
contador = 0
talk_start = 0
end
end


function onCreatureTurn(creature)

end


function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end


function onCreatureSay(cid, type, msg)
msg = string.lower(msg)

if ((string.find(msg, '(%a*)oi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 3 then
selfSay('diga roubo para reportar um roubo e insulto para reportar um insulto!')
focus = cid
talk_start = os.clock()

elseif string.find(msg, '(%a*)oi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 3 then
selfSay('Perdão, ' .. creatureGetName(cid) .. '! Eu estou atendo outra pessoa no momento.')
contador = 0

elseif msgcontains(msg, 'roubo') and focus == cid then
selfSay('/B GMs ' .. creatureGetName(cid) .. ' disse que foi roubado ')
talk_start = os.clock()
elseif msgcontains(msg, 'insulto') and focus == cid and contador == 1 then
selfSay('/B GMs ' .. creatureGetName(cid) .. ' Disse ter sido insultado')
contador = 0

talk_start = os.clock()

elseif string.find(msg, '(%a*)Tchau(%a*)') and focus == cid and getDistanceToCreature(cid) < 3 then
selfSay('Tchau, ' .. creatureGetName(cid) .. '!')
focus = 0
contador = 0
talk_start = 0
end
end


function onCreatureChangeOutfit(creature)

end


function onThink()
if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Proximo...')
end
focus = 0
contador = 0
end
end

 

 

save como report.lua na pasta data/npc/scripts do seu ot

 

agora vamos cria o XML

 

copie para o bloco de notas

 

 

<?xml version="1.0"?>
<npc name="Report" script="data/npc/scripts/report.lua" access="3">
<look type="129" head="58" body="59" legs="45" feet="114" corpse="3128"/>
</npc>

 

e salve como report.xml na pasta data/npc do seu ot

 

agora vamos por seu npc no mapa

 

abra o aquivo npc que esta na pasta data/world

pule uma linha e coloque

 

<npc name="report" x="posx" y="posy" z="posz" dir="3"/>

 

agora salve e pronto

 

 

Credits by MixRox

LordfireL
03 de março de 2007 às 19:32

so uma correção, é report.lua se for o script

deve ser lagal, mas pra que adianta esconder

se dps ele vai fala pra todos...

Bl4NkB
07 de março de 2007 às 15:07

Coloquei ele aki no meu ot, os caras reclamam pakas nele pq eles brigam e depois reportam sem nenhum motivo ;/

Só deu problema aki no meu OT, não sei o de vcs...

flws

XPauloX
07 de março de 2007 às 15:11
-- Respawn position set

--ox = 44 --posx

--oy = 5 --posy

--oz = 6 --posz

 

Isso e pra o npc se movimentar?

 

Tutorial fico ótimo só fico essa duvida.

4 semanas depois...
GOD ZéG
28 de março de 2007 às 20:41

@XPaulo Acho Que é Pra Se Movimentar Sim ;x Mas Não Sei Ao Certo Quem Tinha que Responder Era O Dono Do Tópico Ainda Resta Essa Duvida ¬¬... Flws... bom nao ótimo tópico vo por essi npc nu meu ot obrigado pelo seu post :) ^^ cya...

2 meses depois...
skynagerloasS
17 de maio de 2007 às 16:01

Nossa, achei que não era possível,

a criação de um NPC como este,

achei que era preciso recompilar o OT-Server,

criando uma saida para o lua dos reports, pode ser muito util,

abraços.

2 semanas depois...
favoreftyF
29 de maio de 2007 às 00:47

Bom,

 

achei esse tutorial praticamente inútil...

 

me diz pra que o player ia perde tempo falando com o npc

 

podendo falar diretamente com o GM/GOD ?

 

 

sobre o tutorial achei mal explicado, o dono não diz para que serve tal informação...

 

bom é isso

 

 

Abraços,

Favorefty.

1 mês depois...
JvchequerJ
05 de junho de 2007 às 21:47

Olá Xtibiano,

 

Parabéns, seu tutorial foi aprovado.

 

Estarei movendo ele para a área de tutoriais.

 

Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho.

 

 

Atenciosamente,

JV Chequer *Diretor Xtibia.com*

NostradamusN
05 de junho de 2007 às 23:05
(de preferencia coloque ele em um lugar meio escondido.para + ngm ver o q vc esta falando...)

 

Não há necessidades, já que no script ele informa quem foi o "informante".