Ir para conteúdo

Tutorial ~~ Criando E Implementando Sistema De Vip Coin.


Posts Recomendados

Olá galera.

Venho aqui hoje apresentar á vocês um novo jeito de vender items VIP.

Para aqueles servidores com rates altas, que sempre tem um sistema vip, bem precário!

Sem mais delongas, vamos ao HardWork. :construction:

Primeiramente, é presciso saber que neste tutorial você irá aprender:

1 - Criando uma moeda VIP.

2 - Criando um NPC para vender as moedas VIP.

 

 

Parte I - Criando uma moeda VIP

 

<div align="center">Vá até a pasta DATA e entre na pasta ITEMS.(Se for 8.40 vai estar na pasta XML)

Vamos usar o Sprite da GOLD NUGGET. Que é um item impossivel de ser obtido(dependendo do seu servidor.)

 

Gold_Nugget.gif

 

Na pasta items, localize o arquivo ITEMS.XML e Abra-o com o bloco de notas.

No Bloco de notas, com o arquivo aberto aperte CTRL+F e digite o tipo de moeda que você queira modificar(No nosso caso, GOLD NUGGET)

 

<div style="margin:0px 0px 0px 0px">

goldnugget.png

 

 

Renomei-o para VIP Coin, com o plural VIP COINS.

 

 

vipcoin.png

 

 

Pronto!

Sua Moeda vip estará feita. Mas Kakilo, espera ae! Eu vou ter de ficar sumonando toda hora que o player quiser comprar uma? Não, para isso vamos aprender como por á venda no próximo capítulo.

 

 

Parte II - Criando um NPC para vender as moedas VIP

<div align="center">

Bom, a moeda nós ja criamos, agora só falta coloca-las a venda!

Chega de tralálá e vamos por a mão na massa. Lembrando que o sistema de NPC que eu irei apresentar só servirá para 8.10. Se algum bom scripter poder criar para mim um bom npc de 8.40, concerteza irei ficar muito grato.

 

Vá até a pasta NPC, copie algum arquivo.xml cole na mesma e renomei-o para coinseller.xml

Abra o arquivo que você criou, coinseller.xml.

Dentro dele, apague tudo e cole isto:

 

 

<?xml version="1.0"?>



 

<npc name="Nyn" script="data/npc/scripts/coins.lua" access="3" lookdir="3">

<health now="1" max="1">

<look type="130" head="19" body="102" legs="52" feet="99">

</npc>

 

 

 

 

Salve e feche. Ainda dentro da pasta NPC, vá até a pasta SCRIPTS, copie algum arquivo.lua

e renomei-o para coins.lua. Abra-o, dentro dele e apague tudo oque estiver dentro, cole isso:

 

<div style="margin:0px 0px 0px 0px">

-- Walking --

 

max_x = 1 -- change the max x here. Means the NPC wont walk more to east or west as the number which is set here.



 

max_y = 1 --change the max y here. Means the NPC wont walk more to north or south as the number which is set here.

 

current_x = 0 --do nothing change here

 

current_y = 0 --do nothing change here

 

max_x = max_x - 1 --do nothing change here

 

max_y = max_y - 1 --do nothing change here

 

-- End Walking--

 

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

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('Olá ' .. creatureGetName(cid) .. '! Eu vendo VIP ')

focus = cid

talk_start = os.clock()

 

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

selfSay('Aguarde, ' .. creatureGetName(cid) .. '! Falo com você em alguns minutos.')

 

elseif focus == cid then

talk_start = os.clock()

 

if msgcontains(msg, 'vip coin') then

buy(cid,2157,1,50000)

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Até mais, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

end

 

 

function onCreatureChangeOutfit(creature)

 

end

 

 

function onThink()

-- Walking --

 

if focus == 0 and max_x >= 0 and max_y >= 0 then

 

cx, cy, cz = selfGetPosition()

 

randmove = math.random(1,20)

 

if randmove == 4 and current_x <= max_x then

 

nx = cx + 1

 

current_x = current_x + 1

 

elseif randmove == 8 and current_x >= (max_x - (max_x * 2)) then

 

nx = cx - 1

 

current_x = current_x - 1

 

elseif randmove == 12 and current_y <= max_y then

 

ny = cy + 1

 

current_y = current_y + 1

 

elseif randmove == 16 and current_y >= (max_y - (max_y * 2)) then

 

ny = cy - 1

 

current_y = current_y - 1

 

elseif randmove <= 20 then

 

nx = cx

 

ny = cy

 

end

 

moveToPosition(nx, ny, cz)

 

end

 

-- End Walking --

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

if focus > 0 then

selfSay('Proximo, por favor...')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Vejo voce por ai, amigo..')

focus = 0

end

end

end

Vermelho - Coloque o preço que você deseja vender as vip coins. 10000 = 10k.

Para aprender a integrar o NPC no mapa, clique aqui.(Agradecimentos GM Volcano).

Preços sugeridos para as VIP COINS.

Loot rate 1 = 10k cada.

Loot rate 2 = 15k cada.

Loot rate 3 = 17k cada.

Loot rate 4 = 25k cada.

Loot rate 5+ = 40k cada.

 

 

Salve, feche-o, abra seu servidor e veja o resultado.

Para sumonar a VIP Coin. digite /n vip coin 1 ou /i 2157.

 

 

 

Bom galera, é isso aí, mais um tutorial do Kakilo.



Críticas e sugestões serão sempre bem-vindas.

ERROS FAVOR COMUNICAR-ME URGENTE!

 

 

Creditos:

• Kakilo - 99% Tutorial Completo.

• GM Volcano - Tutorial de como colocar npcs no mapa.

 

 

Abraços.

 

 

 

~~ Kakilo

Editado por Henrique Moura
Link para o comentário
Compartilhar em outros sites

ae tah ae fis um script de npc pra 8.40

 

npc de vip coin sou novo por aki e achei esse topico interesante

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="wyven Seller" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0">

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

<look type="266" head="0" body="114" legs="94" feet="0" addons="3"/>

<parameters>

<parameter key="module_shop" value="1"/>

<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo vip Coins. Diga {trade}."/>

<parameter key="shop_sellable" value="blue orb,7632,100000"/>

<parameter key="shop_buyable" value="vip Coin,2157,100000"/>

</parameters>

</npc>

 

 

ta ae ate mais vlw abrass

Link para o comentário
Compartilhar em outros sites

Por exemplo para eu comprar algo com essa moeda VIP eu não vou conseguir... pois não tem como comprar nada com isso

 

Aki tah dando serto eu to usando no meu ot e da pra conprar itens vips no proprio ot e tudo mais tava aki de zueira e f :withstupidsmiley: is esse escript tabem vi um outro q eu me interecei mas nao e meu tem num outro forum do xtibia

Link para o comentário
Compartilhar em outros sites

@Zafor

é como o dwhfms disse...

você tem de criar um npc que troque os items vips pela VIP Coin.

aí é por sua conta, mas se eu tiver com um tempinho sobrando eu posto!

Abraços.

 

 

 

~~ Kakilo - Dean

Link para o comentário
Compartilhar em outros sites

Excelente tuto Kakilo!!

 

....Não é preciso apenas utilizar esse tpw de item para servir como moeda vip......kem decide a moeda do server e o valor é você.

..Contanto que o server tenha um sistema vip e um npc que troque /compre/vende itens vip pela moeda selecionado o tuto é válido !!!

 

...Muito bom para iniciantes e pessoas com dúvidas qnto a implementação de uma nova "coin"!!

 

....Parabéns !!!

Link para o comentário
Compartilhar em outros sites

kra quando eu boto o npc funciona + quando eu vou falar vip coin da isso ó .

Gente pra bota o npc pra vender itens por coins é facil só bota assim ó:

no lugar aonde ta escrito o valor do item se bota (2157,100) serao 100 moedas pra compra o item e no lugar aonde ta escritoo o id do item que vc iria compra com se bota o id que vc quiser....

 

[09/04/2009 11:41:41] Lua Script Error: [Npc interface]

[09/04/2009 11:41:41] data/npc/scripts/coins.lua:onCreatureSay

 

[09/04/2009 11:41:41] luaCreatureGetName(). Deprecated function, use getCreatureName.

 

[09/04/2009 11:41:46] Lua Script Error: [Npc interface]

[09/04/2009 11:41:46] data/npc/scripts/coins.lua:onCreatureSay

 

[09/04/2009 11:41:46] data/npc/scripts/coins.lua:66: attempt to call global 'buy' (a nil value)

[09/04/2009 11:41:46] stack traceback:

[09/04/2009 11:41:46] data/npc/scripts/coins.lua:66: in function <data/npc/scripts/coins.lua:51>

 

 

Ajuda ae !!! da dando erro no meu mapa global.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...