Npc Que Vende Novos Itens

zimbituba
em NPCs, monsters e raids
  • 1
  • 2

zimbituba

Crystal Server Founder
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/08Posts: 704Char no Tibia: Atera Knight

Agora está na seção correta

 

 

 

Entao chega de papo e vamos ao que interessa

 

 

 

O NPC vende os novos itema 8.1 que são os seguintes: armor, legs, helmets e boots.

 

 

Primeiramente vá na pasta data/npc copie um arquivo lá existente e renomeie para Farizeus.

Abra o arquivo e cole isto dentro:

 

<?xml version="1.0"?>

<npc name="[color="#FF0000"]Farizeus[/color]" script="data/npc/scripts/new_items.lua" access="3" lookdir="3" autowalk="15">
<health now="1" max="1"/>
<look type="268" head="20" body="100" legs="50" feet="99"/>
</npc>

Feche e salve.

 

Após ter feito isto, abra a pasta data/np/scripts copie um arquivo lá existente e renomeie para new_items.

Abra o arquivo e cole isto dentro:

 

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

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
 	if focus == cid then
         selfSay('Good bye then.')
         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 (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4 then
 		selfSay('Hello ' .. creatureGetName(cid) .. '! Eu estou vendendo os novos items, pois estou precisando de dinheiro para curar a doença que meu pai tem no coração. Desejas algo?')
 		focus = cid
 		talk_start = os.clock()


 	elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
 		selfSay('Sorry, ' .. creatureGetName(cid) .. '! Estou ocupado, atendo você daqui a pouco, aguarde...')

 	elseif focus == cid then
	talk_start = os.clock()


	if msgcontains(msg, '[color="#0000FF"]blue legs[/color]') then
		buy(cid,[color="#FF8C00"]7730[/color],[color="#808000"]1[/color],[color="#FFFF00"]25000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]terra coat[/color]') then
		buy(cid,[color="#FF8C00"]7884[/color],[color="#808000"]1[/color],[color="#FFFF00"]20000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]terra legs[/color]') then
		buy(cid,[color="#FF8C00"]7885[/color],[color="#808000"]1[/color],[color="#FFFF00"]30000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]terra boots[/color]') then
		buy(cid,[color="#FF8C00"]7886[/color],[color="#808000"]1[/color],[color="#FFFF00"]2000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]magma boots[/color]') then
		buy(cid,[color="#FF8C00"]7891[/color],[color="#808000"]1[/color],[color="#FFFF00"]2000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]glacier shoes[/color]') then
		buy(cid,[color="#FF8C00"]7892[/color],[color="#808000"]1[/color],[color="#FFFF00"]2000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]lightning boots[/color]') then
		buy(cid,[color="#FF8C00"]7893[/color],[color="#808000"]1[/color],[color="#FFFF00"]2000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]magma legs[/color]') then
		buy(cid,[color="#FF8C00"]7894[/color],[color="#808000"]1[/color],[color="#FFFF00"]30000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]lightning legs[/color]') then
		buy(cid,[color="#FF8C00"]7895[/color],[color="#808000"]1[/color],[color="#FFFF00"]30000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]glacier kilts[/color]') then
		buy(cid,[color="#FF8C00"]7896[/color],[color="#808000"]1[/color],[color="#FFFF00"]25000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]glacier coat'[/color]) then
		buy(cid,[color="#FF8C00"]7897[/color],[color="#808000"]1[/color],[color="#FFFF00"]15000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]lightning robe[/color]') then
		buy(cid,[color="#FF8C00"]7898[/color],[color="#808000"]1[/color],[color="#FFFF00"]15000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]magma coat[/color]') then
		buy(cid,[color="#FF8C00"]7899[/color],[color="#808000"]1[/color],[color="#FFFF00"]15000[/color])
	elseif msgcontains(msg, '[color="#0000FF"]magma monocle[/color]') then
		buy(cid,[color="#FF8C00"]7900[/color],[color="#808000"]1[/color],[color="#FFFF00"]2500[/color])
	elseif msgcontains(msg, '[color="#0000FF"]glacier mask[/color]') then
		buy(cid,[color="#FF8C00"]7902[/color],[color="#808000"]1[/color],[color="#FFFF00"]2500[/color])
	elseif msgcontains(msg, '[color="#0000FF"]lightning headband'[/color]) then
		buy(cid,[color="#FF8C00"]7901[/color],[color="#808000"]1[/color],[color="#FFFF00"]2500[/color])
	elseif msgcontains(msg, '[color="#0000FF"]glacier mask[/color]') then
		buy(cid,[color="#FF8C00"]7902[/color],[color="#808000"]1[/color],[color="#FFFF00"]2500[/color])
	elseif msgcontains(msg, '[color="#0000FF"]terra hood[/color]') then
		buy(cid,[color="#FF8C00"]7903[/color],[color="#808000"]1[/color],[color="#FFFF00"]2500[/color])





	elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
		selfSay('Até mais, volte sempre!, ' .. creatureGetName(cid) .. '!')
		focus = 0
		talk_start = 0
	end
 	end
end


function onCreatureChangeOutfit(creature)

end


function onThink()
 	if (os.clock() - talk_start) > 30 then
 		if focus > 0 then
 			selfSay('Próximo por favor...')
 		end
		focus = 0
 	end
	if focus ~= 0 then
		if getDistanceToCreature(focus) > 5 then
			selfSay('Até mais.')
			focus = 0
		end
	end
end

 

 

Pronto seu NPC que vende os novos itens está pronto :)

 

 

Explicando:

 

Vermelho = nome do npc.

Laranja = id do item.

Verde = Quantidade de itens que o player vai receber.

Amarelo = Prelo do item.

Azul = Nome do item.

 

Espero que gostem e façam bom proveito :)

 

 

Créditos 100% by Shynzo ( eu )

Caso for repassar em algum forum, favor não tirar meus créditos :icon1:

If you would like to thank me for my Crystal Server and others, feel free to donate.
Paypal: shynzomapper@hotmail.com

kruxdudu

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/07/07Posts: 284

Nossa cara!

Muitooo bom mesmo o tutorial, por favor moderadores nao excluam deixem ele passar pra outra seção pois muito me interessa esse topico!

Parabpens ae Shynzo.!

Muito bom.

Sou fan de:



MaNeRiNhU

Banido
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/09/06Posts: 190Char no Tibia: M e N

seu script tem acentos... e como todos sabem, nenhum server, com excessao dos SQLS, aceitam acentos...

isso tira o rpg do server, afinal todos poderiam ter todos os items novos sem esforço algum



Natanael Beckman

Administrador
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 06/08/06Posts: 554Char no Tibia: Balacky

Bom amigo já que até agora nenhum moderador apareceu, o local correto para você fazer topico dessa natureza (tutorial). Acesse OTServ > Tutoriais > Aprovação de Tutoriais> la faça o seu tutorial minutos ou horas depois seu topico será avaliado por algum moderador que irá aprovar seu tutorial e transferi-lo para a seção correta isso se for realmente aprovado.

 

Espero ter ajudado.

 

Topico reportado.

 

Nem menos =D.

znExesyD.png

servercore.png

zimbituba

Crystal Server Founder
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/08Posts: 704Char no Tibia: Atera Knight

eu testei no aries 0.4.5 axo ki é isso e nao deu erro por isso ta com acento^^

e eu sei é ki eu nao tava conseguindo postar na seção correta mais vlw

If you would like to thank me for my Crystal Server and others, feel free to donate.
Paypal: shynzomapper@hotmail.com

SirLukinhas

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/02/08Posts: 12Char no Tibia: Grimeriuss

Nossa Bem Legal ... Parabéns :smile_positivo:

[S.F.C] ' Lυкιιιιηнαš ' [S.F.C] ;)






Meu Fã ? Me Odeia ? Qué me Matar?

Use Minha Fã Bar \/


Sou fã de \/






Lυкιιιιηнαš Rulez

Thyranic

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/10/06Posts: 20Char no Tibia: Shawn'Evull

Na verdade qualquer server aceita acentos ¬¬

Você só não pode usá-los em arquivos .XML se for .LUA não há problema nenhum em acentuar as palavras. ( Demorei pra percber isso, infelizmente :p )

Bem, embora eu use npcs com esse code no meu server, não gosto deles assim e irei adicionar novos que perguntam se o player realmente deseja executar a ação, ( ex: Você realmente quer vender 1 halberd por 300 gps? ).

Pois se você simplismente chega e diz o que quer comprar ou vender, apesar de ser mais rápido, não é muito bom de ser usado...

Anyway, isso aqui não é um tutorial, é um Npc ;o

Legalzinho pra quem gosta desse tipo...Vlws, flw.

Chapolin

Sigam-me os bons!
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 02/05/06Posts: 139

Tópico movido para a seção Otserv > Tutoriais > Aprovação de Tutoriais

 

Com a minha astúcia,

Chapolin.

zimbituba

Crystal Server Founder
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/08Posts: 704Char no Tibia: Atera Knight

vlw por mover para a seção correta

If you would like to thank me for my Crystal Server and others, feel free to donate.
Paypal: shynzomapper@hotmail.com

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

Não gostei muito não, esses itens é legal de os conseguir

 

 

Atenciosamente,

Maximus



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS

zimbituba

Crystal Server Founder
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/08Posts: 704Char no Tibia: Atera Knight

tipo eu criei pensando naquesles OT's que nao possuem quest para os novos itens, que nao é o caso do meu que ja tem varias quests com os novos itens ^^

If you would like to thank me for my Crystal Server and others, feel free to donate.
Paypal: shynzomapper@hotmail.com

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

Não foi no sentido de fazer quest e pegar esse item e sim de matar um monstro e pegar esse item (demora mais vale a pena!)

 

 

Atenciosamente,

Maximus



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS

zimbituba

Crystal Server Founder
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/08Posts: 704Char no Tibia: Atera Knight

tbm ^^

mais tem gente que tem preguiça ai um npc creiu eu ki é a forma mais prática

na minha opniao

If you would like to thank me for my Crystal Server and others, feel free to donate.
Paypal: shynzomapper@hotmail.com

gabrifer

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 26/10/07Posts: 100Char no Tibia: Climber Man

Tutorial muito bom!

Está explicado e organizado!

APROVADO!

Abraços :D



Sou Fan:




Ès meu Fan?

Nandu Minerim

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/09/06Posts: 196

muito sem graca comprar itens, seria legal se trocasse por outros itens, outra coisa, isso nao deveria ser considerado um tutorial e sim uma npc pronta

  • 1
  • 2