Postado Abril 26, 2011 14 anos Nome: Ganhe cash ao matar alguem. Versão: Testada tfs 0.3.6 (8.54), provavelmente funfa em 8.54 + Créditos: Eu e para o demonbholder por me ajudar a fazer a lista. Como funciona? Quando você mata um player você ganha 100 cash (Pode ser alterado no script), e falano: ~~> /buy nome_do_item (Exemplo: /buy plate armor), você automaticamente comprara o item. ~~> /buy list, você vera os itens que pode ser comprados e o preço deles. ~~> /buy check, verifica quantos de cash você tem. Instalando o sistema ! 1ª: Entre na pasta data/creaturescripts/scripts, e crie um arquivo chamado cash.lua, cole este código dentro: function onKill(cid, target, lastHit) local cash = 150 -- O tanto de cash que ira ganhar ao matar o player if isPlayer(cid) and isPlayer(target) then if getPlayerIp(target) ~= getPlayerIp(cid) then setPlayerStorageValue(cid, 45550, (getPlayerStorageValue(cid, 45550)+cash)) end end return TRUE end 2ªa: Agora em creaturescripts/creaturescripts.xml bote a tag: <event type="kill" name="Kill_Cash" event="script" value="cash.lua"/> 2ªb:Agora em creaturescripts/scripts , localize login.lua (antes do ultimo return true) e cole isto dentro: registerCreatureEvent(cid, "Kill_Cash") 3ª:Voltando em data/talkactions/scripts crie um arquivo com o nome de cash.lua e cole isto dentro: -- Script by: thalia -- local item = { ["plate armor"] = {cash=150, id=2463, amount=1}, ["plate legs"] = {cash=150, id=2647, amount=1}, } function onSay(cid, words, param) itens = item[param] if param == "check" then return doPlayerSendTextMessage(cid,19,'Your total cash is '..getPlayerStorageValue(cid, 45550)..'.') elseif param == "list" then str = nil for name, tab in pairs(item) do str = str == nil and "Item name: "..name.." - Price: "..tab.cash .. "\n" or str .. "Item name: "..name.." - Price: "..tab.cash .. "\n" end doShowTextDialog(cid, 2160, str) return true end if (itens ~= nil) then if getPlayerStorageValue(cid, 45550) >= itens.cash then doSendMagicEffect(getThingPos(cid),28) doPlayerAddItem(cid,itens.id,itens.amount) setPlayerStorageValue(cid, 45550, (getPlayerStorageValue(cid,45550)-itens.cash)) return doPlayerSendTextMessage(cid,19,'Your total cash now is '..getPlayerStorageValue(cid, 45550)..'.') else return doPlayerSendCancel(cid,"Sorry, cash insufficient.") end else return doPlayerSendCancel(cid,"Sorry, this item is not for sale.") end return TRUE end 4ª:Agora em talkactions/talkactions.xml bote está tag: <talkaction log="yes" words="/buy" access="0" event="script" value="cash.lua"/> Prontinho, script istalado... Ai vocês me pergunta: Como adicionar mais itens? E eu respondo: Simples Nesta parte: ["plate armor"] = {cash=150, id=2463, amount=1}, ["plate legs"] = {cash=150, id=2647, amount=1}, È só adicionar: ["NOME DO ITEM"] = {cash=PREÇO, id=ID DO ITEM, amount=QUANTIDADE}, EXEMPLO: ["demon armor"] = {cash=3000, id=2494, amount=1}, BOM È ISSO COMENTEM O QUE ACHARAM! È só fazer isso um em baixo do outro. "Quem ri por último é retardado." "Quem cedo madruga, fica com sono o dia todo." "Família que reza unida, é religiosa pra caralho."
Postado Abril 26, 2011 14 anos Pelo que eu lembro quando itens não são agrupáveis não é possível usar a quantidade do doPlayerAddItem para adicionar mais de 1, acho que tem que usar o for mesmo. Não sei, posso ter me confundido. Ótimo sistema, rep+, até.
Postado Abril 26, 2011 14 anos E se tiver um item chamado list, como eu compro? OJOjeoaijeoiaj lol, cara seu ot ta on? se tive me manda ip ali te mandei pm
Postado Abril 26, 2011 14 anos Autor @Renato Se tiver um item chamado list, bom .. enfim @demonbholder Sim vc está certo, mais se o item não for agrupavel e botar ali exemplo, 4. vai vim 1 e cobrar preço de 1 mesmo, então n tem problema XD .. Futuramente eu melhoro esse script! "Quem ri por último é retardado." "Quem cedo madruga, fica com sono o dia todo." "Família que reza unida, é religiosa pra caralho."
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.