Ola,
Venho aqui para mostrar ha vocês um tutoria bem legal:
Voçe esta cansado de só compra itens em npcs? Principalmente aqueles burros que falam horas?
Seus problemas acabaram, fiz um script que funciona como uma loja.
Prós: Voçe pode comprar um item com apena um clique, alem de ser mais pratico é divertido =D
Contra: Não é bom por itens mais raros para vender, pos o preço n pode passar de 65000.
Bem vamos ao que intereça... Primeiro vou por o script e explicar como ele funciona.
Copie isto e salve como loja.lua.
Citação:
-- Sistema de loja by -Jovial-
function onUse(cid, item, frompos, item2, topos)
preco = item.actionid
itemid = item.uid-10000
if itemid > 100 then if preco > 0 then if doPlayerRemoveMoney(cid,preco) == 1 then doSendAnimatedText(frompos,"Thank\'s",198); doPlayerAddItem(cid,itemid,1) doPlayerSendTextMessage(cid,22,'Voce comprou uma ' .. getItemName(itemid) .. ' por ' .. preco .. 'gps.') else doPlayerSendCancel(cid,'Esta ' .. getItemName(itemid) .. ' custa ' .. preco .. 'gps.') end else doPlayerSendCancel(cid,"Preco invalido! Avisar um GM.") end else
e adicione isto no actions.xml
Citação:
<action itemid="1512" script="loja.lua" />
Vamos a outras partes intender como essas poucas linhas juntas fazem uma loja legal.
Primeiro como configurar?
Vá no map editor e faça um balcao(para ficar bonito), coloque o item que sera vendido
nele, para a pessoa saver qual item está a venda, e coloque encima do item um item
que tem o id 1512, ele nao é movivel, por isso ninguem pegara os itens de baixo. Nesse item que voçe colocou encima do item que sera vendido que é aonde voçe terá que
clicar para comprar o item. Para configurar qual item ira ser vendido e qual o preço quando clicar no item 1512 é so fazer assim: No actionid, coloque o preço, entre 1 e
65000, no unique id voçe ira colocar o id do item a ser vendido, mas pera.., se voçe por direto o id do item, voçe nao poderar criar mais uma quest dele pois só pode haver 1
uniqueid, nao podento ter iguais, intao quando for por o numero do item adicione 10000 (10mil), exemplo voçe quer que la venda o item 2000, intao coloque no uniqueid
12000 (10000+2000).
function onUse(cid, item, frompos, item2, topos) Indica que esta action sera execultada quando o player clicar em algo.
itemidx = item.uid Nessa linha eu disse que a variavel itemidx sera igual o unique id do item clicado.
preco = item.actionid Nessa linha eu disse que a variavel preco sera igual ao action id do item que foi clicado.
itemid = item.uid-10000 Aqui eu falei que a variavel uniqueid é igual o unique id do item que foi clicado menos 10000.
if doPlayerRemoveMoney(cid,preco) == 1 then Esta linha esta verificando se o player tem o dinheiro necessario para comprar o item.
doSendAnimatedText(frompos,"Thank\'s",198); Esta linha faz com que quando comprado o item apareça uma mensagem escrito Thank's (Se voçe tirar a \ do Thank\'s o script nao ira funcionar, fique tranquilo ela n ira aparecer)
doPlayerAddItem(cid,itemid,1) Aqui o player receberá o item qu esta configurado para ser vendido, se ele tiver o dinheiro.
As linhas importantes ja foram explicadas, o resto é so mensagens. Mas se quiser que eu explique é só pedir.
EU vi e achei legal trazer para o fórum,
Lembrando que os créditos são de
Creditos By:
~~>Jovial<~~
Espero que Gostem!!