Existem muitas formas de troca, que muita gente não sabe como colocar, geral as pessoas tentam colocar :
buy(cid,2455,1,0)
sell(cid,2455,1,0)
Mas sempre dava a mesma coisa, ele sempre pega o item sem devolver um....
O Script de troca é esse:
Explicando:
Mensagem que o player irá dizer para a troca, no caso, eu fiz um exemplo de uma confirmação.
Esse comando serve para remover o item do player, no caso, uma dagger.
No caso, ai está o tal comando de se o player não tiver o item, ele não trocara o item.
Essa mensagem o NPC falará quando o player não tiver o item para a troca.
Esse comando server para adicionar um item ao player, no caço 2 gps pela dagger.
Essa mensagem o NPC irá falar quando vocês trocarem o item.
Importante¹: Se for para adicionar mais de 100 gold tenque colocar 2 comando, exemplo: doPlayerAddItem(cid,2148,43) e doPlayerAddItem(cid,2152,2), no caso o player ganhara 243 gps.
Aqui está um exemplo de um NPC de Troca:
Agora é so configura como eu disse acima....
Agora vou ensinar como o NPC falará com você apenas se você tiver feito alguma quest.
Depois de:
if (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4
Adicione:
and queststatus > 0 then
Ficando:
if (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4 and queststatus > 0 then
Emcima adicione:
Esse é o StorageValue da quest, se você fez ela ou não...
Embaixo de:
elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then
selfSay('Bye human.')
focus = 0
talk_start = 0
end
Adicione:
Mensagem que irá aparecer se o player não tiver feito a quest
Pronto, estou acabando meu tutorial por aqui, espero ter ajudado as pessoas a fazerem seu server com mais RPG do que o normal.