Npc De Backpack

Conde Sapo
em NPCs, monsters e raids

Conde Sapo

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/08/07Posts: 322Char no Tibia: Conde Sapo (Secura)

Exclusivo para XTibia

favor não postar em outro forum

 

 

Cansei de ver as BPs da mesma cor nos OTs

Criei esse NPC Back Picka

(AhuHhehUahaE)

 

1° - Vamos acertar uma das BPs

Confira seu data\items\items.xml

 

Se estiver assim :

<item id="3960" name="backpack">
<attribute key="weight" value="1800"/>
<attribute key="containerSize" value="20"/>
<attribute key="slotType" value="backpack"/>
</item>

troca por isto :

	<item id="3960" name="an old and used backpack">
<attribute key="description" value="A label on the backpack reads: Property of Sam, Thais."/>
<attribute key="weight" value="1800"/>
<attribute key="containerSize" value="20"/>
<attribute key="slotType" value="backpack"/>
</item>

 

=======================================================================

 

2° - Criando o NPC

data\npc\BackPicka.xml

<?xml version="1.0"?>

<npc name="Back Picka" script="data/npc/scripts/bp.lua" access="3" lookdir="1" autowalk="200" speed="200">
<health now="1" max="1"/>
<look type="160" head="38" body="79" legs="107" feet="114"/>
</npc>

Altere o look type a gosto.

A velocidade de andar e mover eu puz 200

(quase não fica parado e anda na velocidade BOH)

 

=======================================================================

 

3° - Criando o Script

data\npc\scripts\bp.lua

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) .. '! I sell all types of BackPack for 20 gps each.')
	focus = cid
	talk_start = os.clock()

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
	selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

elseif focus == cid then
	if msgcontains(msg, 'bp') or msgcontains(msg, 'backpack') or msgcontains(msg, 'bps') or msgcontains(msg, 'backpacks') then
		selfSay('I sell brown (1) , green (2) , yellow (3) , red (4) , purple (5) , blue (6) , gray(7) , golden (8) , star (9) , camouflage (10).') 
		selfSay('I can sell specials pirate (11) , holding (12) , sam (13) , fur (14).')
		talk_start = os.clock()

	elseif msgcontains(msg, 'brown') or msgcontains(msg, '1') then
		buy(cid,1988,1,20)

	elseif msgcontains(msg, 'green') or msgcontains(msg, '2') then
		buy(cid,1998,1,20)

	elseif msgcontains(msg, 'yellow') or msgcontains(msg, '3') then
		buy(cid,1999,1,20)

	elseif msgcontains(msg, 'red') or msgcontains(msg, '4') then
		buy(cid,2000,1,20)

	elseif msgcontains(msg, 'purple') or msgcontains(msg, '5') then
		buy(cid,2001,1,20)

	elseif msgcontains(msg, 'blue') or msgcontains(msg, '6') then
		buy(cid,2002,1,20)

	elseif msgcontains(msg, 'gray') or msgcontains(msg, '7') then
		buy(cid,2003,1,20)

	elseif msgcontains(msg, 'golden') or msgcontains(msg, '8') then
		buy(cid,2004,1,20)

	elseif msgcontains(msg, 'star') or msgcontains(msg, '9') then
		buy(cid,5949,1,20)

	elseif msgcontains(msg, 'camouflage') or msgcontains(msg, '10') then
		buy(cid,3940,1,20)

	elseif msgcontains(msg, 'pirate') or msgcontains(msg, '11') then
		buy(cid,5926,1,20)

	elseif msgcontains(msg, 'holding') or msgcontains(msg, '12') then
		buy(cid,2365,1,20)

	elseif msgcontains(msg, 'sam') or msgcontains(msg, '13') then
		buy(cid,3960,1,20)

	-- elseif msgcontains(msg, 'fur') or msgcontains(msg, '14') then
	-- 	buy(cid,7342,1,20)

	elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
		selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
		focus = 0
		talk_start = 0
	end
end
end

function onCreatureChangeOutfit(creature)
end

function onThink()
doNpcSetCreatureFocus(focus)
if (os.clock() - talk_start) > 30 then
	if focus > 0 then
		selfSay('Next Please...')
	end
	focus = 0
end
if focus ~= 0 then
	if getDistanceToCreature(focus) > 5 then
		selfSay('Good bye then.')
		focus = 0
	end
end
end

O Player vai poder comprar a BP pela cor ou pelo número.

Todas BPs valem 20 gps.

 

Exemplo :

 

Trecho da fala do NPC

bla-bla-bla (7) , golden (8) , bla-bla-bla

 

Trecho do script

elseif msgcontains(msg, 'golden') or msgcontains(msg, '8') then
buy(cid,2004,1,20)

 

Se o Player falar "golden" ou "8" ele vai comprar a BP Dourada de Ankrhamun por 20 gps.

(alterar o preço se desejar)

 

Acho que é só....

 

:XTibia_smile:

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


Encontro de Quake na minha Ex-LAN

odeio rapidshare

"Criticas enriquecem o trabalho dos inteligentes.
Os negligentes simplesmente as ignoram." - Conde Sapo

"A melhor recompensa do Mestre ,
é ver o Aluno superar as espectativas." - Conde Sapo



(finalmente me convenceram a fazer a Fan Bar)

Meus trabalhos :
\/------- Clicar

01 - Porta com chave numérica
02 - Efeito de MAR em movimento
03 - Fruta na Árvore (acrescentei arvore)
04 - NPC Messager
05 - Monstros Morrem Mas Nao Somem Do Mapa
06 - Simulando UnderWater
07 - SpellBook (Book 2175)
08 - CommandsSpellBook (Book 6120)
09 - Fixo: Tudo Sobre A Linguagem Lua
10 - Dice (Rolando os dados)
11 - Voodoo Skull (previsão da sorte do dia)
12 - Caça Niqueis
13 - Mapa-spawn.xml (Como funciona)
14 - Pendurando objetos na parede
15 - Santa Doll (Papai Noel)
16 - EuTeAmoVoce [Instant Spell]
17 - doSendAnimatedText (Todas as cores)
18 - NPC Banqueiro
19 - 8 Bichos (Massive Summon)
20 - Transformando Barril Simples em Barril de Mana Fluid
21 - Quebrando Itens Com Arma (Tirando BUG)
22 - Padre Marcelo (Totalmente REFEITO)
23 - Npc De Backpack ( Back Picka )
24 - Npc De Dolls ( Baby Doll )
25 - Fonte Da Juventude (Mana e Life)
26 - NPC que troca itens
27 - Removendo paredes com PAUSA, (efeito visual lindo)
28 - Halloween - Fazendo o PumpkinHead
29 - Halloween - Criando o monstro Halloween Hare
30 - Mapa pra fazer Testes (Sapo.otbm)
31 - Fishing Rod (Qualquer versão)
32 - Jungle Maw (planta que morde)
33 - Npc Stan (fantasias de Carnaval)
Clicar -------/\

RichardM

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/10/07Posts: 43Char no Tibia: Nenhum no Momento

Cara que rox adorei

~~Aprovado~~

emotions_gratis_069.gif

CarlosPain

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 24/09/07Posts: 606Char no Tibia: Pain Niihzamun

Como sempre o Conde Sapo está contribuindo para o fórum com seus tutoriais criativos!

Conde.. já falei que adimiro muito seus comentarios a respeito dos meus tutoriais, e da mesma forma adimiro os seus.

Ainda bem que você não usa aquelas cores carnavalescas =P

 

Obrigado por contribuir.

Pain

Carlos Donizeti

pain@xtibia.com

"Bebo porque sou egocêntrico... gosto quando o mundo gira ao meu redor."

thayam

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 02/11/05Posts: 179Char no Tibia: Dehby Dias, Hacked

Parabens Conde

Muit bom Adorei xD

Conde Sapo

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/08/07Posts: 322Char no Tibia: Conde Sapo (Secura)

Tinha um MONTE DE ERRO e ninguém corrigiu

:sad:

 

 

Acertei o script lá

 

 

:XTibia_smile:

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


Encontro de Quake na minha Ex-LAN

odeio rapidshare

"Criticas enriquecem o trabalho dos inteligentes.
Os negligentes simplesmente as ignoram." - Conde Sapo

"A melhor recompensa do Mestre ,
é ver o Aluno superar as espectativas." - Conde Sapo



(finalmente me convenceram a fazer a Fan Bar)

Meus trabalhos :
\/------- Clicar

01 - Porta com chave numérica
02 - Efeito de MAR em movimento
03 - Fruta na Árvore (acrescentei arvore)
04 - NPC Messager
05 - Monstros Morrem Mas Nao Somem Do Mapa
06 - Simulando UnderWater
07 - SpellBook (Book 2175)
08 - CommandsSpellBook (Book 6120)
09 - Fixo: Tudo Sobre A Linguagem Lua
10 - Dice (Rolando os dados)
11 - Voodoo Skull (previsão da sorte do dia)
12 - Caça Niqueis
13 - Mapa-spawn.xml (Como funciona)
14 - Pendurando objetos na parede
15 - Santa Doll (Papai Noel)
16 - EuTeAmoVoce [Instant Spell]
17 - doSendAnimatedText (Todas as cores)
18 - NPC Banqueiro
19 - 8 Bichos (Massive Summon)
20 - Transformando Barril Simples em Barril de Mana Fluid
21 - Quebrando Itens Com Arma (Tirando BUG)
22 - Padre Marcelo (Totalmente REFEITO)
23 - Npc De Backpack ( Back Picka )
24 - Npc De Dolls ( Baby Doll )
25 - Fonte Da Juventude (Mana e Life)
26 - NPC que troca itens
27 - Removendo paredes com PAUSA, (efeito visual lindo)
28 - Halloween - Fazendo o PumpkinHead
29 - Halloween - Criando o monstro Halloween Hare
30 - Mapa pra fazer Testes (Sapo.otbm)
31 - Fishing Rod (Qualquer versão)
32 - Jungle Maw (planta que morde)
33 - Npc Stan (fantasias de Carnaval)
Clicar -------/\

CarlosPain

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 24/09/07Posts: 606Char no Tibia: Pain Niihzamun

@Conde Sapo

 

Eu não entendo de scripts, e nem tenho paciencia pra ficar lendo eles (são muito grandes)

Mas, é feito por você? Tá aprovado!

 

Passar bem

Pain

Carlos Donizeti

pain@xtibia.com

"Bebo porque sou egocêntrico... gosto quando o mundo gira ao meu redor."

Master Gm Gui

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/05/06Posts: 88Char no Tibia: ­

Eu tinha feito um NPC assim..

 

Só que quando fui testar na versão mirage 8.0, acho que não suportava tal itens...

 

Ou eu tinha feito algo errado..

 

Vou testar esse pra ver.

 

Valeu conde.

 

:thumbsupsmiley:

Ferrys

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 10/10/07Posts: 110Char no Tibia: Ferrys

muito bom

valeu conde por mais um topico :D

 

APROVADO

i love otserv (?)

SirAlquati

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/01/07Posts: 206Char no Tibia: Thiago Shinoda

Otimo tutorial

Como seus tutorial são sempre bons

eu nem testo (sempre funfa)

e tambem eu num entendo de scripts (se quiser me dar uma aula Msn : dvls_thiago@hotmail.com)

 

Abraços....


De volta ao Xtibia.

SirAlquati

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/01/07Posts: 206Char no Tibia: Thiago Shinoda

Otimo tutorial

Como seus tutorial são sempre bons

eu nem testo (sempre funfa)

e tambem eu num entendo de scripts (se quiser me dar uma aula Msn : dvls_thiago@hotmail.com)

 

Abraços....


De volta ao Xtibia.

Blitztanis

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/10/07Posts: 1Char no Tibia: Blitztanis

bem bom, não muito complicado, é mais chato de fazer mesmo , mas muito bom mesmo, bem útil =]

parabéns

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

Use isInArray(array, element) muito melhor em termos de performace, e diminui o código para mais de 70%

[twitter]ThomazYuji[/twitter]

Conde Sapo

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/08/07Posts: 322Char no Tibia: Conde Sapo (Secura)

Já tentei usar array

Use isInArray(array, element)

Mas não conseguí achar a posição do elemet dentro do array

 

só vem a resposta TRUE ou FALSE

eu saberia trabalhar obtendo a posição.

(Evolutions 7.92)

 

 

Exemplo :

 

Arr1 = {'Item1', 'Item2', 'Item3', 'Item4', 'Item5')

Pos = isInArray(Arr1, 'Item3')

 

Dentro de Pos só vem TRUE

Eu queria 3 (terceiro item da tabela)

 

Ae eu usaria isso com a segunda tabela

 

Arr2 = {'100', '200', '300', '400', '500')

"O valor do " .. Item3 .. " é R$" .. Arr2[Pos]

 

 

Meu array no Padre Marcelo

mes = os.date("%m")

mesesChr = {"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"}
mesBR = mesesChr[mes*1]

Ae foi facil.... eu tinha a posição.

 

:XTibia_smile:

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


Encontro de Quake na minha Ex-LAN

odeio rapidshare

"Criticas enriquecem o trabalho dos inteligentes.
Os negligentes simplesmente as ignoram." - Conde Sapo

"A melhor recompensa do Mestre ,
é ver o Aluno superar as espectativas." - Conde Sapo



(finalmente me convenceram a fazer a Fan Bar)

Meus trabalhos :
\/------- Clicar

01 - Porta com chave numérica
02 - Efeito de MAR em movimento
03 - Fruta na Árvore (acrescentei arvore)
04 - NPC Messager
05 - Monstros Morrem Mas Nao Somem Do Mapa
06 - Simulando UnderWater
07 - SpellBook (Book 2175)
08 - CommandsSpellBook (Book 6120)
09 - Fixo: Tudo Sobre A Linguagem Lua
10 - Dice (Rolando os dados)
11 - Voodoo Skull (previsão da sorte do dia)
12 - Caça Niqueis
13 - Mapa-spawn.xml (Como funciona)
14 - Pendurando objetos na parede
15 - Santa Doll (Papai Noel)
16 - EuTeAmoVoce [Instant Spell]
17 - doSendAnimatedText (Todas as cores)
18 - NPC Banqueiro
19 - 8 Bichos (Massive Summon)
20 - Transformando Barril Simples em Barril de Mana Fluid
21 - Quebrando Itens Com Arma (Tirando BUG)
22 - Padre Marcelo (Totalmente REFEITO)
23 - Npc De Backpack ( Back Picka )
24 - Npc De Dolls ( Baby Doll )
25 - Fonte Da Juventude (Mana e Life)
26 - NPC que troca itens
27 - Removendo paredes com PAUSA, (efeito visual lindo)
28 - Halloween - Fazendo o PumpkinHead
29 - Halloween - Criando o monstro Halloween Hare
30 - Mapa pra fazer Testes (Sapo.otbm)
31 - Fishing Rod (Qualquer versão)
32 - Jungle Maw (planta que morde)
33 - Npc Stan (fantasias de Carnaval)
Clicar -------/\

Skulls

Coordenador de Eventos
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 26/02/07Posts: 859Gênero: Masculino

Parabens condee

 

APROVADAÇO

 

soh q eu ainda axo mais pratico exevo con bp ^^

 

hashusahusahu

 

mais flanu serio agora o tuto fiko mto rox e mto criativo ^^

 

flw