SK

Criar Npc De Compra

Por Sky Master, 11 de jan. de 2006 em Tutoriais de Scripting

script
17
8.3k
Sky MasterS
11 de janeiro de 2006 às 08:59

Primeiro va na pasta do seu ot e va em data/npc/scripts

Copie e cole o seller como bloco de notas na mesma pasta so mudar o nome se vc quiser que o nome seja Vendedor se poe vendedor...ai vai estar assim:

 

focus = 0talk_start = 0target = 0following = falseattacking = falsefunction onThingMove(creature, thing, oldpos, oldstackpos)endfunction onCreatureAppear(creature)endfunction onCreatureDisappear(cid, pos) if focus == cid then        selfSay('Good bye then.')        focus = 0        talk_start = 0 endendfunction onCreatureTurn(creature)endfunction msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))endfunction onCreatureSay(cid, type, msg) msg = string.lower(msg) if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then  selfSay('Hello, ' .. creatureGetName(cid) .. '! I sell ropes (50gps), shovels (20gps), backpacks (10gps), manafluids (100gps), lifefluids (60gps) and fishing rods (100gps). I buy vials (10gps).')  focus = cid  talk_start = os.clock() elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then  selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') elseif msgcontains(msg, 'rope') and focus == cid then  buy(cid,2941,1,50)  talk_start = os.clock() elseif msgcontains(msg, 'shovel') and focus == cid then  buy(cid,3395,1,20)  talk_start = os.clock() elseif msgcontains(msg, 'backpack') and focus == cid then  buy(cid,2792,1,10)  talk_start = os.clock() elseif msgcontains(msg, 'manafluid') or msgcontains(msg, 'mana fluid') and focus == cid then  buy(cid,2812,7,100)  talk_start = os.clock() elseif msgcontains(msg, 'lifefluid') or msgcontains(msg, 'life fluid') and focus == cid then  buy(cid,2812,10,60)  talk_start = os.clock() elseif msgcontains(msg, 'fishing rod') and focus == cid then  buy(cid,3421,1,100)  talk_start = os.clock()elseif (msgcontains(msg, 'vial') or msgcontains(msg, 'flask')) and focus == cid then  sell(cid,2812,1,10)  talk_start = os.clock() elseif string.find(msg, '(%a*)bye(%a*)') and focus == cid and getDistanceToCreature(cid) < 4 then  selfSay('Good bye, ' .. creatureGetName(cid) .. '!')  focus = 0  talk_start = 0 endendfunction onCreatureChangeOutfit(creature)endfunction onThink() if (os.clock() - talk_start) > 30 then  if focus > 0 then   selfSay('Next Please...')  end   focus = 0 endif focus ~= 0 then if getDistanceToCreature(focus) > 5 then  selfSay('Good bye then.')  focus = 0 endendend

 

Agora faca assim:

elseif msgcontains(msg, 'rope') and focus == cid then

buy(cid,2941,1,50)

talk_start = os.clock()

Ai vc quer vende crown armor vc vai la em rope e muda por crown armor e aonde ta buy(cid,2941,1,50) vc poe o ID da crown armor

para funcionar procure a frase

 

I sell ropes (50gps), shovels (20gps), backpacks (10gps), manafluids (100gps), lifefluids (60gps) and fishing rods (100gps). I buy vials (10gps).')

 

E mude por

 

I sell crown armor (10k), shovels (20gps), backpacks (10gps), manafluids (100gps), lifefluids (60gps) and fishing rods (100gps). I buy vials (10gps).')

 

E assim vai =D

ai se vai mudando todos

Para por ele no mapa vc vai em

World/npc.xml

Abra-o como bloco de notas

Vai estar por exemplo assim:

<?xml version="1.0"?>

<npclist>

<npc name="Seller" x="145" y="50" z="7" dir="3"/>

<npc name="Dark Rodo" x="129" y="50" z="6" dir="0"/>

<npc name="Mad" x="145" y="51" z="6" dir="3"/>

<npc name="Lector" x="127" y="49" z="7" dir="1"/>

<npc name="Perac" x="144" y="54" z="5" dir="0"/>

<npc name="Dufi" x="128" y="55" z="7" dir="1"/>

<npc name="Seller" x="208" y="80" z="7" dir="3"/>

<npc name="Dark Rodo" x="207" y="71" z="7" dir="2"/>

<npc name="Cody" x="129" y="30" z="7" dir="2"/>

<npc name="Pirate Jack" x="177" y="64" z="7" dir="1"/>

<npc name="Guild Master" x="129" y="51" z="5" dir="0"/>

<npc name="Obi" x="173" y="46" z="7" dir="1"/>

<npc name="Fargum" x="171" y="64" z="7" dir="1"/>

<npc name="Nimral" x="122" y="117" z="7" dir="3"/>

<npc name="Dagor" x="132" y="29" z="7" dir="2"/>

<npc name="Diamati" x="132" y="29" z="6" dir="2"/>

<npc name="Azemor" x="132" y="29" z="5" dir="2"/>

<npc name="Shanti" x="132" y="29" z="4" dir="2"/>

<npc name="Orlan" x="127" y="49" z="4" dir="1"/>

<npc name="The Oracle" x="96" y="207" z="6"/>

<npc name="Sally" x="74" y="220" z="7" dir="1"/>

</npclist>

Voce adiciona o seu tipo

<?xml version="1.0"?>

<npclist>

<npc name="Seller" x="145" y="50" z="7" dir="3"/>

<npc name="Vendedor" x="X em que vai estar" y="Y em que vai estar" z="Z em que vai estar" dir="3"/>

<npc name="Dark Rodo" x="129" y="50" z="6" dir="0"/>

<npc name="Mad" x="145" y="51" z="6" dir="3"/>

<npc name="Lector" x="127" y="49" z="7" dir="1"/>

<npc name="Perac" x="144" y="54" z="5" dir="0"/>

<npc name="Dufi" x="128" y="55" z="7" dir="1"/>

<npc name="Seller" x="208" y="80" z="7" dir="3"/>

<npc name="Dark Rodo" x="207" y="71" z="7" dir="2"/>

<npc name="Cody" x="129" y="30" z="7" dir="2"/>

<npc name="Pirate Jack" x="177" y="64" z="7" dir="1"/>

<npc name="Guild Master" x="129" y="51" z="5" dir="0"/>

<npc name="Obi" x="173" y="46" z="7" dir="1"/>

<npc name="Fargum" x="171" y="64" z="7" dir="1"/>

<npc name="Nimral" x="122" y="117" z="7" dir="3"/>

<npc name="Dagor" x="132" y="29" z="7" dir="2"/>

<npc name="Diamati" x="132" y="29" z="6" dir="2"/>

<npc name="Azemor" x="132" y="29" z="5" dir="2"/>

<npc name="Shanti" x="132" y="29" z="4" dir="2"/>

<npc name="Orlan" x="127" y="49" z="4" dir="1"/>

<npc name="The Oracle" x="96" y="207" z="6"/>

<npc name="Sally" x="74" y="220" z="7" dir="1"/>

</npclist>

Creditos: GM Rotciv, eu

Editado Abril 17 por Sky Master

mosquitoM
11 de janeiro de 2006 às 11:11

po bom tutorial tah bem explicado

Sky MasterS
12 de janeiro de 2006 às 21:16

Vlw aew :D

::Sky Master::

Editado Janeiro 13 por Sky Master

1 mês depois...
Sky MasterS
10 de fevereiro de 2006 às 08:41

comentem ae para tds olharem aki nhe? coments plx so pra ajudar hehe

vlw

EigenliebE
10 de fevereiro de 2006 às 14:45

ME responde uma coisa.

 

dir="1"/>

 

É a direção que ele vai estar?

Faltou você explicar isso no tutorial.

Pato_VerdeP
10 de fevereiro de 2006 às 16:11

Eita, acho que o GM Rotciv já fez um tutorial desse.Seria Flood ou ao menos coloque os direitos autorais não acha?Bom pelo pouco tempo que to no fórum deu para notar isso,se já existe um tópic igual,falando mais ou menos a mesma coisa é flood ou tem que por os direitos autorais.

Valw e Flw

Sky MasterS
11 de fevereiro de 2006 às 14:11

Olha tipo esse tuto eu tirei de um sim... Desculpem

Mais tipo acho que eh sim so quis ajudar

3 meses depois...
ronaldoR
26 de maio de 2006 às 16:44

 

8P: apenas perfeito..perfect...gratz....otimo...parabens..melhor impussivel :DDDDD

1 mês depois...
Sky MasterS
05 de junho de 2006 às 08:50

OMG!!

Ty ronaldo!!

Plx coments....

8 meses depois...
Soul BoyS
02 de fevereiro de 2007 às 23:32

Mt Bom O Tópico Me Ajudou Mt No Meu Ot , Mais Eu Só Keria Sabe O Q Q é Dir , Eh A Direção Em Q O Npc Vai Fik , E Tp 1 = direita? / 2 = esquerda? / 3 = baixo? / 4 = cima ? , é Essa A Ordem Dos Números?

kildsK
05 de fevereiro de 2007 às 01:08

boa manow isso ajuda pra quem fas serv dificil

flw nego

2 semanas depois...
hugobululuH
14 de fevereiro de 2007 às 20:06

vlw =D mto bom e explicado

1 mês depois...
Sky MasterS
15 de março de 2007 às 13:11

Vlw pelos coments

 

@Soul Boy

 

Mt Bom O Tópico Me Ajudou Mt No Meu Ot , Mais Eu Só Keria Sabe O Q Q é Dir , Eh A Direção Em Q O Npc Vai Fik , E Tp 1 = direita? / 2 = esquerda? / 3 = baixo? / 4 = cima ? , é Essa A Ordem Dos Números?

 

 

 

Sim, isso mesmo

Editado Março 15 por Sky Master

1 mês depois...
GOD ZéG
23 de abril de 2007 às 05:04

Bem o tutorial ta bem explicado,parabéns ótimo tutorial ajudará a muitas pessoas ^^

1 mês depois...
hamonlorionH
21 de maio de 2007 às 13:47

vlw tava precisando