[npc] Papai Noel

alissonlinneker
em NPCs, monsters e raids

alissonlinneker

ñ frite bacon sem kmiza xP
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 15/12/07Posts: 239
Olá a todos.

Antes de mais nada vou avisando que esse NPC eu tinha criado no ano passado (se me recordo bem).

Se houver algum erro, avise-me!

 

-Disse o Hokage Chuck do [site retirado]

 

 

Pois bem. Vim lhes mostrar um npc que encontrei perdido por ai, e mostrarei ele aqui para vocês.

Como vocês podem ver no "Quote" esse script não é de minha autoria.

Apenas estou trazendo ele para o XTibia :smile_positivo:

 

Então vamos lá:

 

 

O NPC consiste em dar algum presente para o jogador. Esse jogador tem uma certa chance entre três presentes. Dependendo da sorte, ele ganhará tal presente.

Depois de ganhar seu presente de Natal, não irá ganhar mais. Para evitar que jogadores fiquem criando contas, você também pode colocar um level mínimo para ganhar presentes.

O Papai Noel é bem exigente quanto ao level! (Haha)

 

Enfim, agora que terminei a descrição vou passar o script e explicá-lo.

---Primeira Parte // Scripts.

Abra o bloco de notas, e salve o arquivo como papai.lua, ou um nome que você quiser, mas com .lua no final e na pasta data/npc/scripts

 

No arquivo, digite:

 

 

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('Flws...')

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)

 

cname = creatureGetName(cid)

lvl = getPlayerLevel(cname)

msglvl = 'MSG DE FALTA DE LVL'

lvlmin = LEVEL_PARA_GANHAR

 

if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 and lvl >= lvlmin then

msg_inicial = 'COLOQUE A MSG INICIAL AQUI.'

 

selfSay(msg_inicial)

focus = cid

talk_start = os.clock()

 

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 and lvl >= lvlmin then

selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Falo com voce em um minutinho.')

 

elseif (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 and lvl < lvlmin then

selfSay(msglvl)

focus = 0

talk_start = 0

 

elseif focus == cid then

talk_start = os.clock()

 

if msgcontains(msg, 'sim') then

sorte = math.random(1,6)

jogoid = UNIQUE ID PARA O 'JOGO'

jogo = getPlayerStorageValue(cid,jogoid)

id1 = ALGUM ID

id2 = ALGUM ID

id3 = ALGUM ID

msgid1 = 'Voce ganhou alguma coisa!'

msgid2 = 'Voce ganhou alguma coisa!'

msgid3 = 'Voce ganhou alguma coisa!'

msgerro = 'Voce ja ganhou alguma coisa!'

 

if sorte == 1 and jogo == -1 or sorte == 2 and jogo == -1 then

selfSay(msgid2)

buy(cid,id2,1,0)

setPlayerStorageValue(cid,jogoid,1)

focus = 0

talk_start = 0

 

elseif sorte == 3 and jogo == -1 or sorte == 4 and jogo == -1 or sorte == 5 and jogo == -1 then

selfSay(msgid1)

buy(cid,id1,1,0)

setPlayerStorageValue(cid,jogoid,1)

focus = 0

talk_start = 0

 

elseif sorte == 6 and jogo == -1 then

selfSay(msgid3)

buy(cid,id3,1,0)

setPlayerStorageValue(cid,jogoid,1)

focus = 0

talk_start = 0

elseif jogo == 1 then

selfSay(msgerro)

focus = 0

talk_start = 0

end

end

 

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

selfSay('Flws, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

end

 

function onCreatureChangeOutfit(creature)

 

end

 

 

function onThink()

 

if focus > 0 then

x, y, z = creatureGetPosition(focus)

myx, myy, myz = selfGetPosition()

if ((myy-y==0) and (myx-x<=0 and myx-x>=-4)) then

selfTurn(0)

end

if ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then

selfTurn(2)

end

if ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then

selfTurn(1)

end

if ((myx-x==0) and (myy-y>=0 and myy-y<=4)) then

selfTurn(3)

end

if ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then

selfTurn(1)

end

if ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then

selfTurn(3)

end

if ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then

selfTurn(2)

end

if ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then

selfTurn(0)

end

if ((myy-y==-3) and (myx-x>=-2 and myx-x<=2)) then

selfTurn(1)

end

if ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then

selfTurn(3)

end

if ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then

selfTurn(2)

end

if ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then

selfTurn(0)

end

if ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then

selfTurn(1)

end

if ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then

selfTurn(3)

end

if ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then

selfTurn(2)

end

if ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then

selfTurn(0)

end

end

 

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

if focus > 0 then

selfSay('Proximo...')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Flws...')

focus = 0

end

end

end

 

OBS: O NPC ta em português. Se quiser inglês, coloque. ;D

 

Explicações:

 

msg_inicial = 'COLOQUE A MSG INICIAL AQUI.'

Coloque a fala inicial (quando o player fala hi) aqui.

Se quiser que o NPC fale o nome da pessoa, coloque ' .. cname .. ' (exatamente como está) na frase.

 

sorte = math.random(1,6)

Código da Sorte. Verifica a sorte da pessoa. O 1,6 é a sequência de sorte que pode acontecer.

Caso você queira adicionar alguns itens, terá que mexer no 1,6.

 

jogoid = UNIQUE ID PARA O 'JOGO'

Unique ID utilizado na 'quest' do 'jogo' do papai noel.

 

jogo = getPlayerStorageValue(cid,jogoid)

Código que verifica se o jogador já fez a quest. Caso queira que o npc fique entregando presentes para a mesma pessoa PERMANENTEMENTE, retire tudo que tiver 'jogo' (exatamente como está escrito) do script

 

id1 = ALGUM ID

ID do item mais fácil de pegar com o NPC

 

id2 = ALGUM ID

ID do 2° item mais fácil de pegar com o NPC

 

id3 = ALGUM ID

ID do item mais difícil de pegar com o NPC

 

msgid1 = 'Voce ganhou alguma coisa!'

Mensagem que aparece quando a pessoa ganha o item mais fácil de achar.

 

msgid2 = 'Voce ganhou alguma coisa!'

Mensagem que aparece quando a pessoa ganha o 2° item mais fácil de achar.

 

msgid3 = 'Voce ganhou alguma coisa!'

Mensagem que aparece quando a pessoa ganha o item mais difícil de achar.

 

msgerro = 'Voce ja ganhou o seu premio!'

Mensagem que aparece quando a pessoa já utilizou o NPC.

 

lvlmin = LEVEL_PARA_GANHAR

Troque o 'level_para_ganhar' pelo número do level que o personagem tem que ter para ganhar o prêmio. Caso ele não tenha o level suficiente, irá aparecer a 'msglvl'

 

msglvl = 'MSG DE FALTA DE LVL'

mensagem que aparece quando o char não tem level suficiente.

 

 

Prontinho! A primeira parte já foi explicada, agora, só para dar um toque de papai noel, abra o bloco de notas, digite:

 

<?xml version="1.0"?>

<npc name="Papai Noel" script="data/npc/scripts/papai.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="160" head="19" body="94" legs="132" feet="95" addon="0" corpse="3128"/>
</npc>

 

 

E salve como Papai Noel.xml na pasta data/npc!

 

OBS: caso você salvou o script com outro nome, modifique o papai.lua para o nome que você salvou!

 

Fim, você fez o seu papai noel!

 

Créditos:

99% By Hokage Chuck

1% By Alisson Linneker (Por trazer ele aqui. :blush: )

 

Até mais//

 

 

Bem, como vocês podem ver, é um script facil de se configurar, mais em breve irei fazer algumas modificações legais nele. Desculpen os errus de hortografiah ce tever. "suahsua"


Devo esquecer aqueles que me impuseram obstáculos infundados e agradecer àqueles que me impulsionaram adiante. É hora, mais do que nunca, de valorizar as amizades e os conhecimentos adquiridos aqui. Agradeço a todos que me apoiaram. Vlw xTibia!
Amais!
[Retired]



~~>Meus Trabalhos:

---Sistema De Domínio De Castelos. (Action)
---Sistema De Mineraçao (Action)
---Scroll Que Da X Exp Quando é Usada (Action)
---Portas Não Abrem? Venha Aqui Ver Como Arruma! (Action)
---Crie Suas Quest´s De Uma Maneira Rapida E Facil. (Action)
---The Demon OaK Quest (Action)

---Addon Por Item, Com Todos Os Outfits. (Npc)

---Aprenda a colocar suas quests no Quest Log (Tutorial+scripts _ data/xml/quests.xml)
---Conhecendo Melhor A Pasta Globalevents (Tutorial+scripts)
---Gerencie O Seu Mysql Como Se Fosse Sqlite (Tutorial)
---Multi World Sistem - Como Funciona. (Tutorial)

---Projeto de tradução do TFS 8.31 SQL - Inglês para o Portugês (Server 8.31)

---2 Templantes para Web Site de OT (Websites de OTserv)
---Atualização de sites do Gesior para sistema de mult-world (Websites de OTserv)

---Thyrania editado (Map)
---Yalahar Global Completo (Map)

---Pic Editor para Tibia 8.2+ (Programa)
---Ztracker - Clone mapas 8.4 (Programa)



Ystifler

R.suxX~*
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/06/08Posts: 66Char no Tibia: Already Master

Nossa ..Boom Mano Gostei :D

Ta Muito Boom Esse NPC

Aprovado por min :)

flamengo.png

pdzinhow

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/11/08Posts: 19
Pois bem. Vim lhes mostrar um npc que encontrei perdido por ai, e mostrarei ele aqui para vocês.

Como vocês podem ver no "Quote" esse script não é de minha autoria.

Apenas estou trazendo ele para o XTibia :smile_positivo:

 

Então vamos lá:

 

 

O NPC consiste em dar algum presente para o jogador. Esse jogador tem uma certa chance entre três presentes. Dependendo da sorte, ele ganhará tal presente.

Depois de ganhar seu presente de Natal, não irá ganhar mais. Para evitar que jogadores fiquem criando contas, você também pode colocar um level mínimo para ganhar presentes.

O Papai Noel é bem exigente quanto ao level! (Haha)

 

Enfim, agora que terminei a descrição vou passar o script e explicá-lo.

---Primeira Parte // Scripts.

Abra o bloco de notas, e salve o arquivo como papai.lua, ou um nome que você quiser, mas com .lua no final e na pasta data/npc/scripts

 

No arquivo, digite:

 

 

 

 

OBS: O NPC ta em português. Se quiser inglês, coloque. ;D

 

Explicações:

 

msg_inicial = 'COLOQUE A MSG INICIAL AQUI.'

Coloque a fala inicial (quando o player fala hi) aqui.

Se quiser que o NPC fale o nome da pessoa, coloque ' .. cname .. ' (exatamente como está) na frase.

 

sorte = math.random(1,6)

Código da Sorte. Verifica a sorte da pessoa. O 1,6 é a sequência de sorte que pode acontecer.

Caso você queira adicionar alguns itens, terá que mexer no 1,6.

 

jogoid = UNIQUE ID PARA O 'JOGO'

Unique ID utilizado na 'quest' do 'jogo' do papai noel.

 

jogo = getPlayerStorageValue(cid,jogoid)

Código que verifica se o jogador já fez a quest. Caso queira que o npc fique entregando presentes para a mesma pessoa PERMANENTEMENTE, retire tudo que tiver 'jogo' (exatamente como está escrito) do script

 

id1 = ALGUM ID

ID do item mais fácil de pegar com o NPC

 

id2 = ALGUM ID

ID do 2° item mais fácil de pegar com o NPC

 

id3 = ALGUM ID

ID do item mais difícil de pegar com o NPC

 

msgid1 = 'Voce ganhou alguma coisa!'

Mensagem que aparece quando a pessoa ganha o item mais fácil de achar.

 

msgid2 = 'Voce ganhou alguma coisa!'

Mensagem que aparece quando a pessoa ganha o 2° item mais fácil de achar.

 

msgid3 = 'Voce ganhou alguma coisa!'

Mensagem que aparece quando a pessoa ganha o item mais difícil de achar.

 

msgerro = 'Voce ja ganhou o seu premio!'

Mensagem que aparece quando a pessoa já utilizou o NPC.

 

lvlmin = LEVEL_PARA_GANHAR

Troque o 'level_para_ganhar' pelo número do level que o personagem tem que ter para ganhar o prêmio. Caso ele não tenha o level suficiente, irá aparecer a 'msglvl'

 

msglvl = 'MSG DE FALTA DE LVL'

mensagem que aparece quando o char não tem level suficiente.

 

 

Prontinho! A primeira parte já foi explicada, agora, só para dar um toque de papai noel, abra o bloco de notas, digite:

 

<?xml version="1.0"?>

<npc name="Papai Noel" script="data/npc/scripts/papai.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="160" head="19" body="94" legs="132" feet="95" addon="0" corpse="3128"/>
</npc>

 

 

E salve como Papai Noel.xml na pasta data/npc!

 

OBS: caso você salvou o script com outro nome, modifique o papai.lua para o nome que você salvou!

 

Fim, você fez o seu papai noel!

 

Créditos:

99% By Hokage Chuck

1% By Alisson Linneker (Por trazer ele aqui. :blush: )

 

Até mais//

 

 

Veii ta com algum erro o npc! eu criei ele e talz ele so falta isso "Falta level para vc" foi o q eu botei e tipo no level eu botei 20 e nada botei 10 e nada tbm 0 e nada tbm tem alguma coisa errada com ele! veja ai na boa q vou querer ele pra botar no meu ot ;D

h3online

.......0.o.......
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 21/02/07Posts: 137Char no Tibia: GOD Grimrath

sim aki tb ta assim



[X]Camponês
[X]Caçador
[X]Cavaleiro
[X]Baronete
[X]Barão


Tibi4ee e Colex melhores escripters
Mapper e RPG Maker

masterfoxer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/08/07Posts: 2

Aqui tambem não esta dando,mas oque acontece e que eu falo Hi com o npc e ele não responde nada apenas fica andando...

Pensei da possibilidade de ser por causa do server que é 8.31...

 

Alguem pode me ajudar por favor?

yzs

I'll Cause Black Sensations, Up And Down Your Spine...
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 18/11/08Posts: 546

q loko cara vo tenta por no meu ot (eh q so novo em ot xP)

Sou Fan Dessa Galera







É meu fan?! Me odeia?! Te ajudei?! Quer me matar?! Então use minha Fanbar (thx to Bixu Do Mato)



<---Gifts--->

..::Bixu Do Mato[1] -- Flyw[1] -- THH[1] -- MUTAN0[1][2] -- Skulls[1] -- cai01992[1]::..


Minha Outfit (V²):



Ronaldo u_u




jpfds1

Jauum
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/12/08Posts: 41Char no Tibia: Phoenix Shore

NooSsa Caraaaaaaaaaaaaaaaaaa

Parabens

TAHH OTIMO ^^

Ainda Pro Natal Ae xD

Tah Otimo Pra Min Por No Meu Yourots Ice ;)

Hehe

Parabens

Abraços

_-_-Jaum-_-_
My Orkut
Meu Avatar :



Leie E Respeite As Regras \/ :
Regras Xtibia
Char No Tibia :

Admin Jaum



Sign :



Eu Sou :






_____________________________________________________
* Copyright © 2009 Jaum. All rights reserved. ® *

pinguyn

Pinguyn
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/05/08Posts: 17Char no Tibia: Slash'Bloker

cara não sei se sou eu que não programei direito mais eu fasso tudo direitinho e quando abro o server e falo hi

ele não fala nada só continua andando , preciso muito de um npc desse que funcione em 8.31 pois estou lançando um server comemorativo de natal e sem papai noel não da né :cry:

É nois queirois !!



Hail Slash' !!




SoU FaN de:
LeozeraRox

Ta4E

_____________________________________*

Meu fan ? Use minha fan bar !



Tunt'z Tunt'z Tunt'z