Postado Março 10, 2012 13 anos em data/npc/scripts crie o arquivo bankcredit.lua e adicionem isso nele \/ local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local ITEM = aki vc coloca o id do item if(msgcontains(msg, 'bank') or msgcontains(msg, 'help')) then selfSay('Ola amigo oque deseja fazer? {deposit} ou {depositar} para depositar, {withdraw} ou {sacar} para sacar dinheiro ou {balance} para ver seu saldo!', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'balance') or msgcontains(msg, 'BALANCE') and talkState[talkUser] == 1 then local balance = getPlayerBalance(cid) selfSay('Voce possui ' .. balance .. ' gps no banco', cid) elseif msgcontains(msg, 'deposit') or msgcontains(msg, 'depositar') and talkState[talkUser] == 1 then selfSay('Digite o valor que voce deseja depositar.', cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 then n = getNumber(msg) if(msg == 'all' and doPlayerDepositAllMoney(cid)) then selfSay('Depositado com sucesso!', cid) talkState[talkUser] = 1 end if n <= 0 then selfSay('escolha um valor acima de 0!', cid) talkState[talkUser] = 1 end if(msgcontains(msg, 'withdraw') or msgcontains(msg, 'sacar')) then local withdraw = if (getPlayerItemCount(cid, ITEM) ~= 1) then local sacar = if (getPlayerItemCount(cid, ITEM) ~= 1) then selfSay('Você não tem o cartão de debito para retirar dinheiro!', cid) talkState[talkUser] = 1 end end end if n and doPlayerDepositMoney(cid, n) then selfSay('Depositado com sucesso!', cid) talkState[talkUser] = 1 else selfSay('Voce nao tem o valor informado', cid) talkState[talkUser] = 1 end elseif msgcontains(msg, 'withdraw') or msgcontains(msg, 'sacar') and talkState[talkUser] == 1 then local withdraw = if (getPlayerItemCount(cid, ITEM) ~= 1) then local sacar = if (getPlayerItemCount(cid, ITEM) ~= 1) then selfSay('Digite o valor que voce deseja retirar.', cid) talkState[talkUser] = 3 elseif talkState[talkUser] == 3 then n = getNumber(msg) local balance = getPlayerBalance(cid) if(msg == 'all' and doPlayerWithdrawAllMoney(cid)) then selfSay('Retirado ' .. balance .. ' gps da sua conta!', cid) talkState[talkUser] = 1 end if (n ~= 0 and doPlayerWithdrawMoney(cid, n)) then selfSay('Retirado ' .. n .. ' gps da sua conta!', cid) talkState[talkUser] = 1 else selfSay('Voce nao pode retirar esse valor!', cid) talkState[talkUser] = 1 end elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function getNumber(txt) x = string.gsub(txt,"%a","") x = tonumber(x) if x ~= nill and x > 0 then return x else return 0 end end depois crie um arquivo na pasta npcs com o nome banqueiro de credito.xml e adicione isso dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="Banqueiro De Credito" script="bankcredit.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="128" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Eu sou seu banqueiro por aqui!"/> </parameters> </npc> @@@Edit: esse npc, fais que o player só possa retirar dinheiro se tiver um certo item (cartão de credito ou debito) Editado Março 11, 2012 13 anos por 1215171 falto a letra "n" no banqueiro de credito.xml/ajeitado bug do script (veja o histórico de edições) Ae ajudei? Rep+
Postado Março 10, 2012 13 anos Você poderia dar mais informações né. Como oque ele faz, pra que serve. Eu entendo pq sei lua, agora os leigos nao entendem nada.
Postado Março 10, 2012 13 anos Legal. Não vi tudo.. mas parece ser bacana usando cartões de crédito http://baiakuza.com/IP: baiakuza.com TIBIA: 10.96 Baiak Custom [ High Exp Rate ]
Postado Março 10, 2012 13 anos Vou fazer uma edição geral do Script, mas vou usá-lo como base.. Então Rep+ pra você' Valeu por compartilhar' @@EDIT' Eu achei um errinho no Script e tals... Nesta parte: if(msgcontains(msg, 'withdraw') or msgcontains(msg, 'sacar')) then if (getPlayerItemCount(cid, ITEM) ~= 1) then if (getPlayerItemCount(cid, ITEM) ~= 1) then selfSay('Voce precisa do "Credit Card" para retirar dinheiro!', cid) talkState[talkUser] = 1 end end end Mesmo sem o item, o NPC executava a função' Mas valeu pelo resto do Script. Editado Março 11, 2012 13 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
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.