Script: Shop System by Skydangerous
Função: Voce pode comprar items na loja
Testado: Versão 8.6
INSTALANDO
vá na pasta talkaction/scripts e cria um arquivo no formato .lua com o nome de shop e cole isto:
local loja = { ["Fire Sword"] = {id = 2160, preco = 21000, cargas = 2 } } local config = { pz = true, battle = true, premium = true } function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if param == 'lista' then local str = "" for name,preco in pairs(loja) do str = ("Item: " ..name .. ",\n Preço: " .. preco.preco .. "") end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local sky = loja[param] local iten = getItemWeightById(sky.id,1) if config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, 21,"Voce so pode comprar um item em protect zone.") return TRUE end if config.premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, 21, "Voce so pode comprar um item se for premium.") return TRUE end if config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, 21, "Voce so pode comprar um item sem battle.") return TRUE end if getPlayerFreeCap(cid) < iten then doPlayerSendCancel(cid, "Voce nao tem cap para pegar o item") return TRUE end if getPlayerMoney(cid) < sky.preco then doPlayerSendCancel(cid, "Voce nao tem dinheiro para comprar o item.") return TRUE else doPlayerAddItem(cid,sky.id,1) doPlayerRemoveMoney(cid, sky.preco) doPlayerSendTextMessage(cid, 21, "Parabens, voce comprou um item na loja!") end return TRUE end
agora no talkaction.xml cole esta tag:
<talkaction words="!shop" event="script" value="shop.lua">
Modo de Usar:
!shop nome do item
Adicionando novos items:
["test"] = {id = 2160, preco = 1}
["test"] = Nome do item que o player irá dizer
ID = Id do item
preco = Quanto irá custar (1 = 1 gp)
Lista de Items
</talkaction>