PR

Papai Noel Voltou

Por Presley, 17 de mai. de 2006 em NPCs, monsters e raids

script
13
3.4k
PresleyP
17 de maio de 2006 às 23:32

Creditoz by me plx!

Eh o seguinte, como ta no titulo o npc eh o papail noel. Mais oq ele faix? Ele te da um presente variavel, pode ser dinheiro, pode ser uma laranja (n tinha oq por), pode ser uma bola de neve, etc... Bom, sem mais delongas ta aki o script:

na pasta ***\data\npc\scripts faça um arkivo xamado noel.lua e nele coloque isto:

focus = 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('Feliz Natal!')

focus = 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*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then

selfSay('Feliz Natal ' .. creatureGetName(cid) .. '!')

focus = cid

talk_start = os.clock()

end

if string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Por favor aguarde.')

end

if string.find(msg, '(%a*)presente(%a*)') and focus == cid and getDistanceToCreature(cid) < 4 then

present = getPlayerStorageValue(cid,1210)

if present == -1 then

buy(cid,item,1,0)

setPlayerStorageValue(cid,1210,1)

end

if ((string.find(msg, '(%a*)dwarfs ganharam(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then

selfSay('Hohohoho issu eh muito bom!')

focus = cid

end

if present == 1 then

selfSay('Desculpe, mas nao tenho mais presentes para voce.')

end

end

if string.find(msg, '(%a*)bye(%a*)') and focus == cid and getDistanceToCreature(cid) < 4 then

selfSay('Hohoho adeus, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

function onCreatureChangeOutfit(creature)

end

function onThink()

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Feliz Natal!')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 3 then

selfSay('Feliz Natal!')

focus = 0

end

end

if focus == 0 then

cx, cy, cz = selfGetPosition()

randmove = math.random(1,25)

if randmove == 1 then

nx = cx + 1

end

if randmove == 2 then

nx = cx - 1

end

if randmove == 3 then

ny = cy + 1

end

if randmove == 4 then

ny = cy - 1

end

if randmove >= 5 then

nx = cx

ny = cy

end

moveToPosition(nx, ny, cz)

--summons = 30

--summons2 = 30

end

if focus > 0 then

rand = math.random(1,6)

if rand == 1 then

item = 2148

elseif rand == 2 then

item = 2973

elseif rand == 3 then

item = 1542

elseif rand == 4 then

item = 2671

elseif rand == 5 then

item = 2111

else

item = 2675

end

end

if focus == 0 then

randsay = math.random(1,75)

if randsay == 1 then

selfSay('Hmmhmm...')

end

if randsay == 2 then

selfSay('Hoho...')

end

end

end

depois na pasta ****\data\npc faça um arkivo chamado Papai Noel e nele coloque:

<?xml version="1.0"?>

<npc name="Santa Claus" script="data/npc/scripts/noel.lua" access="3" lookdir="2">

<mana now="800" max="800"/>

<health now="200" max="200"/>

<look type="160" head="0" body="94" legs="0" feet="94"/>

</npc>

gostaram? n? comentem d qq jeito ok??? flws um abraço

GM CrazyG
20 de maio de 2006 às 12:05

é bom para quem gosta do papai noel

^^

2 meses depois...
diogoporraD
22 de julho de 2006 às 15:42

ee ta bom mas ja tenho aki mas ta aprovado!

2 meses depois...
Noxidy__N
11 de setembro de 2006 às 08:19

vo coloka no meu agora

;DD

maiss

axo

ki vai fika bOmm

=D

flww

3 semanas depois...
God TarzanG
25 de setembro de 2006 às 15:47

ACHEI MEIO SEM GRAÇA BAH

mAS QUE BOM VC FEZ rOx APRABENS

1 mês depois...
SHUMIS
18 de outubro de 2006 às 21:47

Rox meu ot no natal nao vai poder ter pq é desert 1.2 :( se algum tive uma ideia aonde eu coloko fala aew fi!

MazXM
20 de outubro de 2006 às 16:24

nossa muito legal santa claus xD bom vo ver ser coloca no ot

1 mês depois...
03 de novembro de 2006 às 22:51

um otmo npc pro natal

2 semanas depois...
lepriL
15 de novembro de 2006 às 07:45

Otimo o meu serv eh de neve fiko mto legal!

GotckyG
16 de novembro de 2006 às 17:50

A ideia ate que e legal, mais ta mau trabalhada.. esse npc faz muito poquinha coisa... mais pra quem gosta do papai noel.. bota alguma coisa a mais como uma quest para ganhar o item.. ou algo do tipo..

flws

tibiaa4eT
18 de novembro de 2006 às 12:20

rox

ele naum vai ser mto util

+ eu keri saber como fazer randon em npcs

e agr ja sei

flws

Editado Novembro 18 por tibiaa4e

RocksodyR
25 de novembro de 2006 às 10:06

deveria identificar esses ids:

if focus > 0 then

rand = math.random(1,6)

if rand == 1 then

item = 2148

elseif rand == 2 then

item = 2973

elseif rand == 3 then

item = 1542

elseif rand == 4 then

item = 2671

elseif rand == 5 then

item = 2111

else

item = 2675

end

end

nao sei porque mas meu ot ja veio com um igual a esse em ingles, vo trocar por esse ai em portugues.

EDIT:

vo esqueceu de traduzir o nome do npc tambem:

<npc name="Santa Claus" script="data/npc/scripts/noel.lua" access="3" lookdir="2">

EDIT2:

Voce coloco ids totalmentes errados para 7.6 e o papai noel ta dando coisa pra quem ja tinha, no meu ots eu puz assim:

focus = 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('Feliz Natal!')

focus = 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*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then

selfSay('Feliz Natal ' .. creatureGetName(cid) .. '!')

focus = cid

talk_start = os.clock()

end

if string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Por favor aguarde.')

end

if string.find(msg, '(%a*)present(%a*)') and focus == cid and getDistanceToCreature(cid) < 4 then

present = getPlayerStorageValue(cid,2331)

if present == -1 then

buy(cid,2331,1,0)

setPlayerStorageValue(cid,2331,1)

end

if ((string.find(msg, '(%a*)dwarfs ganharam(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then

selfSay('Hohohoho issu eh muito bom!')

focus = cid

end

if present == 1 then

selfSay('Desculpe, mas nao tenho mais presentes para voce.')

end

end

if string.find(msg, '(%a*)bye(%a*)') and focus == cid and getDistanceToCreature(cid) < 4 then

selfSay('Hohoho adeus, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

function onCreatureChangeOutfit(creature)

end

function onThink()

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Feliz Natal!')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 3 then

selfSay('Feliz Natal!')

focus = 0

end

end

if focus == 0 then

cx, cy, cz = selfGetPosition()

randmove = math.random(1,25)

if randmove == 1 then

nx = cx + 1

end

if randmove == 2 then

nx = cx - 1

end

if randmove == 3 then

ny = cy + 1

end

if randmove == 4 then

ny = cy - 1

end

if randmove >= 5 then

nx = cx

ny = cy

end

moveToPosition(nx, ny, cz)

--summons = 30

--summons2 = 30

end

if focus == 0 then

randsay = math.random(1,75)

if randsay == 1 then

selfSay('Feliz Natal A Todos!')

end

if randsay == 2 then

selfSay('Hoho...')

end

end

end

E tem mais, para ots 7.6 tem 2 presentes com diferentes ids, eu usei o id 2331 mas se quiser um presente vazio para por coisa dentro use 1990

abco

Aizen

Editado Novembro 25 por Rocksody

6 meses depois...
skynagerloasS
25 de maio de 2007 às 15:02

Tópico contendo somente 1 NpC,

essa seção é para DataPacks com 3 ou mais Npcs,

~o{Tópico Movido}o~,

Abraços.