ME

Botando Seus Npcs Para Andar.

Por meleca, 02 de nov. de 2005 em Tutoriais de Scripting

script
otserv
21
5.5k
melecaM
02 de novembro de 2005 às 14:23

Bem antes de começar os ots q eu testei e funciono foram : yurots,darkonia e hotserv mas em outros deve funcionar!

Abra o arkivo data/npc/scripts/lib/npc.lua < e nele adicione. ( bote no meio de duas funções quaisquer )

CODE :

function moveRandom(ox,oy,max)

maxx = ox + max

maxy = oy + max

minx = ox - max

miny = oy - max

cx, cy, cz = selfGetPosition()

randmove = math.random(1,50)

if randmove == 1 then

nx = cx + 1

ny = cy

end

if randmove == 2 then

nx = cx - 1

ny = cy

end

if randmove == 3 then

ny = cy + 1

nx = cx

end

if randmove == 4 then

ny = cy - 1

nx = cx

end

if randmove >= 5 then

nx = cx

ny = cy

end

if((nx < maxx) and (ny < maxy) and (nx > minx) and (ny > miny)) then

moveToPosition(nx, ny, cz)

end

end

------------------------------------

depois disso vc vai trabalhar no arkivo lua do seu npc

lá no topo acrescente:

ox = 400

oy = 400

oz = 7

max = 5

ox, oy e oz é a posição de respaw do seu NPC, altere de acordo com cada NPC. o MAX é a quantidade maxima de SQMs que o NPC vai poder se afastar do ser respaw.

Ainda no arquivo do NPC dentro da função onThink() (use procura para achar onde está), coloque isso aki...

if(focus == 0) then

moveRandom(ox,oy,max)

end

Pronto agora seus npcs estão prontos para andar!!

Créditos pro JTE,

MeLeCa.

RafixR
03 de novembro de 2005 às 15:06

Explica melhor isso ae pra raça intender, pq comigo naum deu certo...

Flws

Atenciosamente,

Rafix

melecaM
05 de novembro de 2005 às 10:28

tp primero vc abre o npc.lua q se localiza na pasta do seu ot/data/npc/scripts/lib

ai vc abre esse arkivo o npc.lua e no final add isso :

 

function moveRandom(ox,oy,max)maxx = ox + maxmaxy = oy + maxminx = ox - maxminy = oy - maxcx, cy, cz = selfGetPosition()randmove = math.random(1,50)if randmove == 1 thennx = cx + 1ny = cyendif randmove == 2 thennx = cx - 1ny = cyendif randmove == 3 thenny = cy + 1nx = cxendif randmove == 4 thenny = cy - 1nx = cxendif randmove >= 5 thennx = cxny = cyendif((nx < maxx) and (ny < maxy) and (nx > minx) and (ny > miny)) thenmoveToPosition(nx, ny, cz)endend

 

ai depois q vc add isso no npc.lua vc vai no arkivo do seu npc e add isso:

 

ox = 400oy = 400oz = 7max = 5

 

ox, oy e oz é a posição de respaw do seu NPC, altere de acordo com cada NPC. o MAX é a quantidade maxima de SQMs que o NPC vai poder se afastar do ser respaw.

Ainda no arquivo do NPC dentro da função onThink() (use procura para achar onde está), coloque isso aki...

 

if(focus == 0) thenmoveRandom(ox,oy,max)end

 

Agora é so salvar tudo e abrir seu ot i ver seus npcs andarem xD

HélitonH
05 de novembro de 2005 às 19:19

meleca,

Edite seu primeiro tópico para como está este último post seu, aí eu moverei para Tutoriais.

;]

Rocha_BrR
07 de novembro de 2005 às 14:01
Bem antes de começar os ots q eu testei e funciono foram : yurots,darkonia e hotserv mas em outros deve funcionar!

Abra o arkivo data/npc/scripts/lib/npc.lua  < e nele adicione. ( bote no meio de duas funções quaisquer )

CODE :

function moveRandom(ox,oy,max)

maxx = ox + max

maxy = oy + max

minx = ox - max

miny = oy - max

cx, cy, cz = selfGetPosition()

randmove = math.random(1,50)

if randmove == 1 then

nx = cx + 1

ny = cy

end

if randmove == 2 then

nx = cx - 1

ny = cy

end

if randmove == 3 then

ny = cy + 1

nx = cx

end

if randmove == 4 then

ny = cy - 1

nx = cx

end

if randmove >= 5 then

nx = cx

ny = cy

end

if((nx < maxx) and (ny < maxy) and (nx > minx) and (ny > miny)) then

moveToPosition(nx, ny, cz)

end

end

[/code]

depois disso vc vai trabalhar no arkivo lua do seu npc

lá no topo acrescente:

 

ox = 400oy = 400oz = 7max = 5

 

ox, oy e oz é a posição de respaw do seu NPC, altere de acordo com cada NPC. o MAX é a quantidade maxima de SQMs que o NPC vai poder se afastar do ser respaw.

Ainda no arquivo do NPC dentro da função onThink() (use procura para achar onde está), coloque isso aki...

if(focus == 0) then

moveRandom(ox,oy,max)

end

Pronto agora seus npcs estão prontos para andar!!

Créditos pro JTE,

MeLeCa.

 

 

 

2 semanas depois...
Xiu XiuX
16 de novembro de 2005 às 23:56

aff kra.. explicado mto mal... sem neurose... mas num gostei =/

2 semanas depois...
Roy~R
30 de novembro de 2005 às 22:22

Só uma duvida,isso ai serve pro YurOTS 0.93?

SpankerIIS
01 de dezembro de 2005 às 09:28

Não gostei, muito mal explicado !

Obrigado,

Spanker

1 mês depois...
CalmoC
26 de janeiro de 2006 às 08:40

if(focus == 0) then

moveRandom(ox,oy,max)

end

Esa parte pode me ajudar???

Obrigado..

bawananB
26 de janeiro de 2006 às 13:24

cara dao os creditos pro cara certo tenho vc so copio e colo ate as mesmas palavras tao igual ao cara que posto em outro forum

ZynexZ
27 de janeiro de 2006 às 17:56

nice tuto! =]

ajudou mto meu ot :D

1 ano depois...
ChakauC
29 de janeiro de 2007 às 21:51

Rox

parabens manu

3 meses depois...
Andre_TsungA
11 de abril de 2007 às 20:30

Aeee fmz galera??

Eu to aki pra fala q consegui faze o npc anda.. vlw ae pelo topico meleca xD

meu ot e um zorzin e funfo perfeito..... :tongue:

 

 

VLW ABRAÇOS E ATE MAIS...

2 semanas depois...
GOD ZéG
20 de abril de 2007 às 17:20

Cara Não Acho Muito Util Npc Andar...Depende =) Mas Tah Valendo Tem Uns Que Gostam De Ficar Atras De Npc Ou Seja...Depende do Tamanho Da Loja Funcionou Perfeitamente Na Que Eu Fis =P Vlws E Cya!

2 semanas depois...
gafanhotoG
29 de abril de 2007 às 12:38

Ótimo tutorial!!