Postado Março 13, 2012 13 anos Eu queria que o Script fizesse assim... Queria que o NPC BANK tivesse as funções de você poder pegar dinheiro, como empréstimo, aí o NPC te add uma Storage... Depois você poderia ir no NPC e quitar esse empréstimo e daí poderia pegar novamente se precisá-se. Eu tentei fazer isso...até a parte de pegar dinheiro e não poder pegar mais por estar com a Storage funcionou, a parte de que falar pagar e pagar também funcionou, só que o Script não verifica se o player tem dinheiro suficiente pra pagar na BP e mesmo o player sem dinheiro estava "pagando" e a Storage sendo excluída, podendo assim pegar nova quantia sem ter realmente pago o empréstimo anterior, ou seja, bug... Ficou como abaixo: Mostrar conteúdo oculto ---------------------- PAGAR ------------------------------------------------------------------------------------- elseif talkState[talkUser] == 30 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then selfSay(' Deseja prosseguir e quitar sua divida de {100 reais} conosco?', cid) talkState[talkUser] = 31 end elseif talkState[talkUser] == 31 then if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then if (getPlayerStorageValue(cid, 26001)) == 1 then doPlayerRemoveItem(cid,2152,100) setPlayerStorageValue(cid, 26001, nil) talkState[talkUser] = 0 else selfSay('Pagamento efetuado com sucesso.',cid) end else selfSay('Volte sempre.', cid) end ---------------------- LIMITE ------------------------------------------------------------------------------------- elseif talkState[talkUser] == 25 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then selfSay(' Lembre-se: Voce ficara devendo {100 reais} ao banco.', cid) selfSay(' Deseja prosseguir?', cid) talkState[talkUser] = 26 end elseif talkState[talkUser] == 26 then if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then if (getPlayerStorageValue(cid, 26001) <= os.time()) then doPlayerAddItem(cid,2152,100) setPlayerStorageValue(cid, 26001, os.time()+600) selfSay('Ai esta seu dinheiro.',cid) talkState[talkUser] = 0 else selfSay('Voce precisa pagar o emprestimo anterior para efetuar um novo.',cid) end else selfSay('Volte sempre.', cid) end Se possível, gostaria de saber se tem como fazer para que, se você devesse para o NPC BANK, ao depositar algum dinheiro ele ir descontando do que você deve. Desde já agradeço' Abraços a todos. Editado Março 15, 2012 13 anos por Lpz (veja o histórico de edições)
Postado Março 14, 2012 13 anos Uma perguntinha, o que significa : setPlayerStorageValue(cid, 26001, os.time()+600) ? Parece que é de tempo, mas creio que você possa fazer com quantidade de storage, mas seria uma matemática terrivel. Pois ai daria pra ele pagar exemplo, 27 reais e 73 reais depois ... da pra fazer isso... Para resolver seu problema, tente isso : Exemplo : if (getPlayerStorageValue(cid, 26001)) == 1 then subistitui por : if ((getPlayerStorageValue(cid, 26001)) == 1) and (getPlayerItemCount(cid, 2152) >= 100) then Espero ter ajudado ! @edit Me tire uma dúvida, Pra que serve setPlayerStorageValue(cid, 26001, os.time()+600) ? Qual é a quantidade de storage 26001 que ele entrega ao player ? Obrigado =) Jared Leto Editado Março 14, 2012 13 anos por Jared Leto (veja o histórico de edições)
Postado Março 14, 2012 13 anos Autor @Jared Leto' Então, na verdade eu peguei esta tag do script pronta, eu queria por normalmente como você disse acima... Porém, creio que quanto eu estava fazendo assim, não estava funcionando ou então não estava funcionando a outra parte do Script, a de pagar. E no caso de pegar 27 e depois mais 73 reais, não seria possível, pois como pode ver não se diz o valor que se quer e sim só que deseja tirar o limite da conta, que no caso é 100 reais. Vou fazer mais alguns testes aqui' Obrigado pelas informações. Editado Março 14, 2012 13 anos por Adriano SwaTT (veja o histórico de edições)
Postado Março 15, 2012 13 anos Adriano eu nao sei se essa funçao aki vai funcionar porque foi meu irmao que fez e o servedele e mix yourots e o distro e mix soft entao ta ai a funçao Doremovemoney(Cid, Quanty, Delay) e Doaddmoney(Cid, Quanty, Delay) usa 1 pra adicionar o dinheiro e o outro pra retirar eu nao sei explica essa funçao porque eu nao a fiz lib/050-function function doAddMoney(cid, quanty, delay) if isCreature(cid) then doCreatureAddMoney(cid, quanty) if delay ~= 1 then addEvent(doAddMoney, 1000, cid, quanty, delay -1) end else return LUA_ERROR end return nil end function onSay(cid, words, param) local add = 10 local money = -1 doAddMoney(cid, money, add) return TRUE end lib/050-function function doRemovemoney(cid, quanty, delay) if isCreature(cid) then doCreatureRemoveMoney(cid, quanty) if delay ~= 1 then addEvent(doRemovemoney, 1000, cid, quanty, delay -1) end else return LUA_ERROR end return nil end exemplo de uso: function onSay(cid, words, param) local remove = 10 local money = 5 doRemoveMoney(cid, Remove, Money) return TRUE end eu nao sei se vai ajudar e essas funçoes ai em cima tenta modificar elas xD vou ver se acho mais que adiciona ou remove dinheiro aki ---edit doPlayerRemoveStorage(cid, storage) lib/050-function function doPlayerRemoveStorage(cid, storage) local pid = getPlayerGUID(cid) doRemoveCreature(cid,true) db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. pid .. " AND `key` = " .. storage .. ";") return TRUE end Exemplo de uso: local stor = 30000 -- numero da storage if getPlayerStorageValue(cid, stor) >= 1 then doPlayerRemoveStorage(cid, stor) end Editado Março 15, 2012 13 anos por Alberess (veja o histórico de edições)
Postado Março 15, 2012 13 anos Eu ainda não entendi o script... No caso o jogador recebe um 'saldo bônus' de 100? ai ele pode ir retirando esse saldo até chegar 100...caso ele não tenha pagado o saldo ele não pode retirar mais dinheiro do npc até pagar oque ele deve?
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.