Pesquisar na Comunidade
Mostrando resultados para as tags ''buy''.
Encontrado 3 registros
-
[Encerrado] [PEDIDO] como deixar house pra free compra pda do sciler
um tópico no fórum postou vudi Tópicos Sem Resposta
Queria deixar house pra todo mundo compra no pda sciler espero ajuda -
talkactions/scripts/shop.lua local config = { ["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' }, ["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'no' }, ["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'no' } } function upperfirst(first, rest) return first:upper()..rest:lower() end function onSay(cid, words, param, channel) if (param == nil or param == '' or param == 'lista' or param == 'list') then if (words == "!sell" or words == "/sell") then str = "Showing items that you can sell:\n\n" else str = "Showing items that you can buy:\n\n" end for item, vars in pairs(config) do if (words == "!sell" or words == "/sell") then expl = string.explode(vars.sell, " ") else expl = string.explode(vars.buy, " ") end item = item:gsub("(%a)([%w_']*)", upperfirst) if (expl[1] == 'no') then str = str else str = str .. item.. " - " .. expl[2] .. " gps\n" end end return doShowTextDialog(cid, 2160, str) end local item = config[param:lower()] param = param:lower() if (item) then local sell = string.explode(item.sell, " ") local buy = string.explode(item.buy, " ") if (words == "!sell" or words == "/sell") then if (sell[1] == "yes") then if (doPlayerRemoveItem(cid, item.id, 1)) then doPlayerAddMoney(cid, sell[2]) doSendMagicEffect(getPlayerPosition(cid), 30) return doPlayerSendTextMessage(cid,29,"Here are, you sold "..param.." for "..sell[2].." gold coins.") else doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendTextMessage(cid,29,"You don't have anything "..param.." to sell.") end else doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be sold.") end else if (buy[1] == "yes") then if (doPlayerRemoveMoney(cid, buy[2])) then doPlayerAddItem(cid, item.id) doSendMagicEffect(getPlayerPosition(cid), 28) return doPlayerSendTextMessage(cid,29,"Here are, you bought "..param.." for "..buy[2].." gold coins.") else doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendTextMessage(cid,29,"You don't have enough money.") end else doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be bought.") end end else doSendMagicEffect(getPlayerPosition(cid), 2) if (words == "!sell") then return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be sold or it does't exist.") else return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be bought or it does't exist.") end end end <talkaction words="!sell;/sell;!buy;/buy" event="script" value="shop.lua"/> ♣ Config Observem no começo do código estas linhas: Seguindo uma ordem óbvia, adicionem abaixo do boots of haste e antes do '}' que fecha o config. assim para adicionar sigam o modelo ["nome do item"], repectivamente de suas variáveis. ♣ Variáveis id - é onde você coloca o id do item sell - você precisa colocar se o item pode ser vendido por "yes" ou "no", caso for yes de um espaço (se não der espaço não funciona) e bote o valor em gold coins (não é k) buy - segue a ordem igual ao sell porem é se o item pode ser comprado pelo !buy ou não, e o preço que o player pagará. ♣ Exemplos Assim, digamos que desejo acrescentar um mastermind shield onde o player pode vender por 60k e comprar por 120k, adicionarei: ["mastermind shield"] = {id = 2514, sell = 'yes 60000', buy = 'yes 120000' }, Em seguida quero adicionar uma soft boots que pode ser vendida por 300k, mas NÃO PODE ser comprada. Colocarei: ["soft boots"] = {id = 6132, sell = 'yes 300000', buy = 'no' }, Então, meu config ficará desta forma: Atenção! Reparem que em todas as linhas finalizam-se com }, mas na última há ausência da vírgula, isto ocorre por que não pode ter vírgula no último, não sei ao certo se dará erro, não cheguei a testar, mas em muitas linguagens de programação ocorre um erro. Então é melhor ficar atento. ♣ Comprando Bom, agora que já adicionou todos os items, vou explicar como funciona: O player comprará uma boh (item sugestivo) item por: !buy boots of haste, caso não tenha grana, não vai conseguir, caso tenha comprará. ♣ Vendendo O mesmo quando ele for vender, ele falará: !sell boots of haste, caso não tenha o item, o script negará, caso tenha o item some e o dinheiro aparece (: ♣ Lista de items Ohh, não sei quais items pode ser comprados, e também não sei quanto custa, e agora? Diga !buy, ou !buy list ou !buy lista para ver todos os items O mesmo com os items que podem ser vendidos: !sell, !sell list ou !sell lista Créditos : Renato 90% 10% á Min Por Trazer Ao Xtibia e Formatar
- 2 respostas
-
- talkaction
- sell
- (e 5 mais)
-
Aí galera, meu segundo script, fiz para responder um pedido e alterei algumas coisas, mas não queria deixar mofando no pc =P Acho que deve ter alguns scripts parecidos mas tentei fazer um de fácil configuração, quanto mais opções melhor não é mesmo? Diante mão, obrigado ao Jhon992 por me ensinar a usar o comando doShowTextDialog (ainda tô começando ^^). Vamos ao script: Em talkactions>scripts crie um arquivo.lua e cole isto dentro: -- Script Loja [Comando !buy] by Leoxtibia -- local minlevel = 50 -- level minimo para usar o comando local idmoeda = 2148 -- id da moeda para comprar os itens -- 2148 é gold coin local compra = { ["superuh"] = {id = 2310, count = 100, price = 10}, --- [nome do item que aparecerá na loja] = id do item, quantidade, preço em idmoeda ["magicprison"] = {id = 2290, count = 100, price = 100} } function onSay(cid, words, param) local shop = compra[param] if (shop) then if getPlayerLevel(cid) >= minlevel then if doPlayerRemoveItem(cid, idmoeda, compra[param:lower()].price) == TRUE then doPlayerAddItem(cid, compra[param:lower()].id, compra[param:lower()].count) doSendMagicEffect(getCreaturePosition(cid),13) doCreatureSay(cid, "Voce comprou " .. compra[param:lower()].count .." " .. param:lower() .. "!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 22,"Você deve ter ".. compra[param:lower()].price .." ".. getItemNameById(idmoeda) .." para comprar esse item.") end else doPlayerSendTextMessage(cid, 22,"Você deve ter level " .. minlevel .. " ou mais para poder comprar na loja.") end end return true end function onSay(cid, words, param) if param == "" then local itensCompra = {"superuh","magicprison"} local text = "" for i=1, #itensCompra do if i == 1 then text = i.." - ".. itensCompra[i] .."\n" else text = text.. i .." - ".. itensCompra[i] .."\n" end end doShowTextDialog(cid,9004,text) return TRUE end end Agora em talkactions.xml cole a tag: <talkaction log="yes" words="!buy" event="script" value="nomedoseuarquivo.lua"/> Para usar o comando é só falar !buy + nome do item. Exemplo: !buy superuh // Para ver os itens da loja use somente !buy. Para adicionar mais itens que poderão ser comprados adicione mais linhas: ["suddendeath"] = {id = 1234, count = 100, price = 100}, Lembrando que a última linha não tem vírgula. Para adicionar os items que serão mostrados na loja, adicione os nomes na linha, sempre "entre aspas": local itensCompra = {"superuh","magicprison", "suddendeath"} Então é isso aí, espero que ajude alguém =D Vlw, abraços.