Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/15/10 em todas áreas
-
Ae galera presentão, exclusividade absoluta para o Xtibia, pelo menos não axei em nenhum forum. Farmine e Zao 100% completa, Wailing Widows cave, que eu nao achei nenhum video, resolvi eu mesmo fazer, seguindo o mini map da cip é claro, mas só para quebrar o galho, se alguém tiver algum video desta cave posta ae que eu atualizo o mapa. Algumas fotos do mapa: Coordenadas de zao: (Edit> goto position > x=33078, y=31532, z=6)(coordenadas para achar a city logo que abrir o otbm, nao sao as coordenadas de farmine, ja no mapa global) Otbm: Atualizei alguns resps que faltavam, caso falte algo ainda avise, acredito ter 100% dos resps. farmine+zao.rar1 ponto
-
Ações bancárias Sistema desenvolvido por mim (apocarai), idéia e correções por matheusMkalo. Como funciona: Você deposita uma quantia e, dependendo da cotação, você pode ganhar ou perder dinheiro. Então, mãos à obra: Primeiramente, crie um arquivo com o nome BankSharesEvent.lua em seu diretório globalevents/scripts, colocando o script abaixo: --Script por apocarai, matheusMkalo-- s = {} y = {} function countAuctions() return #s end function chance() -- função para balanceamento das ações. if math.random(1,10) <= 2 then x = (math.random(1,3)*10/100) elseif math.random(1,10) >= 3 and math.random(1,10) <= 5 then x = (math.random(2,5)*10/100) elseif math.random(1,10) >= 6 and math.random(1,10) <= 8 then x = (math.random(3,7)*10/100) elseif math.random(1,10) == 9 then x = (math.random(4,8)*10/100) elseif math.random(1,10) == 10 then x = (math.random(5,9)*10/100) end return table.insert(y, 1, x) end function doExecuteBankShares(cid) if math.random(1,10) >= 6 then return chance(), doPlayerSetBalance(cid, (getPlayerBalance(cid))*(1+tonumber(y[1]))), doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "As a\ç\õ\es bancárias est\ã\o em alta. Seu saldo teve acréscimo de " .. (tonumber(y[1])*100) .. "'\%\'. Agora seu saldo é de: " .. getPlayerBalance(cid) .. " gp's. Hoje tivemos: " .. countAuctions() .. " movimenta\ç\õ\es financeiras."), table.remove(y,1) elseif math.random(1,10) == 10 then return doPlayerSetBalance(cid, 0), doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Os bancos faliram. Voc\ê\ perdeu todo seu investimento. Seu saldo atual é de: " .. getPlayerBalance(cid) .. " gp's. Hoje tivemos: " .. countAuctions() .. " movimenta\ç\\õ\es financeiras.") else return chance(), doPlayerSetBalance(cid, (getPlayerBalance(cid))*(tonumber(y[1]))), doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "As a\ç\õ\es bancárias estão sofrendo quedas. Seu saldo teve queda de " .. (tonumber(y[1])*100) .. "'\%\' gp's . Seu saldo atual é de: " .. getPlayerBalance(cid) .. " gp's. Hoje tivemos: " .. countAuctions() .. " movimenta\ç\õ\es financeiras."), table.remove(y,1) end return TRUE end function onThink(interval, lastExecution) table.insert(s,"Bank shares: Ok!") for i = 1, #getOnlinePlayers() do if getPlayerStorageValue(getCreatureByName(getOnlinePlayers()[i]),99889) >= 1 then if getPlayerBalance(getCreatureByName(getOnlinePlayers()[i])) ~= 0 then doExecuteBankShares(getCreatureByName(getOnlinePlayers()[i])) print("[bank Shares System:: Executado com sucesso.]") end end end return TRUE end Salve e feche. Agora, adicione a seguinte tag em seu globalevents.xml: <globalevent name="BankShares" interval="3600" event="script" value="BankSharesEvent.lua"/> Caso queira alterar o tempo entre as execuções, modifique o interval. Caso contrário, somente salve e feche. Em seu diretório npc/scripts, crie um arquivo com o nome BankShares.lua, colocando o script abaixo: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {} 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 local function isValidMoney(cid, money) if isNumber(money) == TRUE and money > 0 and money < 999999999 and money <= getPlayerMoney(cid) then return TRUE end return FALSE end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'ajuda') or msgcontains(msg, 'ofertas') then selfSay("Voce pode checar seu {saldo} da sua conta, {depositar} dinheiro ou {extrair} para retirar. Voce tambem pode {transferir} dinheiro para outros players, tambem pode entrar nas {açoes}, diga {informaçoes} para saber sobre as açoes.", cid) talkState[cid] = 0 ----------------------------------------------------------------- ---------------------------- Balance ---------------------------- ----------------------------------------------------------------- elseif msgcontains(msg, 'saldo') or msgcontains(msg, 'Saldo') then selfSay('Seu saldo é '..getPlayerBalance(cid)..' gold.', cid) talkState[cid] = 0 ----------------------------------------------------------------- ---------------------------- Help ------------------------------- ----------------------------------------------------------------- elseif msgcontains(msg, 'basic functions') then selfSay('Voce pode checar seu {balance} da sua conta, {deposit} dinheiro ou {withdraw} para extrair. Voce tambem pode {transfer} dinheiro para outros players, tambem pode entrar nas {açoes}.', cid) talkState[cid] = 0 elseif msgcontains(msg, 'informaçoes') then selfSay('Açoes, voce tem uma chance de ganhar ou de perder de 10% a 90% do valor total do balance da sua conta.', cid) talkState[cid] = 0 ----------------------------------------------------------------- ---------------------------- Deposit ---------------------------- ----------------------------------------------------------------- elseif msgcontains(msg, 'depositar tudo') then moneyTo[cid] = getPlayerMoney(cid) if moneyTo[cid] < 1 then selfSay('Voce nao tem dinheiro.', cid) talkState[cid] = 0 else selfSay('Voce realmente quer adicionar '..moneyTo[cid]..' gold?', cid) talkState[cid] = 2 end elseif msgcontains(msg, 'depositar') then selfSay("Porfavor me diga quanto voce quer depositar.", cid) talkState[cid] = 1 elseif talkState[cid] == 1 then moneyTo[cid] = tonumber(msg) if isValidMoney(cid, moneyTo[cid]) == TRUE then selfSay('Voce realmente quer depositar '..moneyTo[cid]..' gold?', cid) talkState[cid] = 2 else selfSay('Nao é uma quantia valida para deposito.', cid) talkState[cid] = 0 end elseif talkState[cid] == 2 then if msgcontains(msg, 'sim') then if doPlayerDepositMoney(cid, moneyTo[cid], 1) ~= TRUE then selfSay('Voce nao tem esse dinheiro.', cid) else selfSay('Tudo bem, nos adicionamos '..moneyTo[cid]..' gold para seu saldo. Voce pode extrair seu dinheiro quando quiser. Seu saldo é ' .. getPlayerBalance(cid) .. '.', cid) end elseif msgcontains(msg, 'nao') then selfSay('Como desejar. Posso fazer mais alguma coisa por voce?', cid) end talkState[cid] = 0 ----------------------------------------------------------------- ---------------------------- Withdraw --------------------------- ----------------------------------------------------------------- elseif msgcontains(msg, 'extrair') then selfSay("Porfavor, diga-me quanto voce deseja extrair.", cid) talkState[cid] = 6 elseif talkState[cid] == 6 then moneyTo[cid] = tonumber(msg) if isValidMoney(cid, moneyTo[cid]) == TRUE then selfSay('Voce esta certo que quer extrair '..moneyTo[cid]..' gold de sua conta de banco?', cid) talkState[cid] = 7 else selfSay('Nao é uma quantia valida para extraçao.', cid) talkState[cid] = 0 end elseif talkState[cid] == 7 then if msgcontains(msg, 'sim') then if doPlayerWithdrawMoney(cid, moneyTo[cid]) ~= TRUE then selfSay('Voce nao tem essa quantia em sua conta. Seu saldo é '..getPlayerBalance(cid)..'. Por favor, diga-me quanto quer extrair.', cid) else selfSay('Aqui esta, ' .. moneyTo[cid] .. ' gold. Porfavor, digame se quizer mais alguma coisa.', cid) talkState[cid] = 0 end elseif msgcontains(msg, 'nao') then selfSay('Como desejar. Posso fazer mais algo?', cid) talkState[cid] = 0 end ----------------------------------------------------------------- ---------------------------- Transfer --------------------------- ----------------------------------------------------------------- elseif msgcontains(msg, 'transferir') then selfSay("Por favor, digame quanto de dinheiro voce quer transferir.", cid) talkState[cid] = 11 elseif talkState[cid] == 11 then moneyTo[cid] = tonumber(msg) if isValidMoney(cid, moneyTo[cid]) == TRUE then selfSay('Voce gostaria de transferir '..moneyTo[cid]..' gold para?', cid) talkState[cid] = 12 else selfSay('Nao é uma quantia valida para deposito.', cid) talkState[cid] = 0 end elseif talkState[cid] == 12 then playerTo[cid] = msg if getCreatureName(cid) == playerTo[cid] then selfSay('Voce deseja transferir dinheiro para voce mesmo? Isto e impossivel!', cid) talkState[cid] = 0 return TRUE end if playerExists(playerTo[cid]) then selfSay('Voce deseja transferir ' .. moneyTo[cid] .. ' gold para "' .. playerTo[cid] .. '" ?', cid) talkState[cid] = 13 else selfSay('O player "' .. playerTo[cid] .. '" nao existe.', cid) talkState[cid] = 0 end elseif talkState[cid] == 13 then if msgcontains(msg, 'sim') then if getPlayerBalance(cid) < moneyTo[cid] then selfSay('Voce nao tem dinheiro em sua conta.', cid) return TRUE end if doPlayerTransferMoneyTo(cid, playerTo[cid], moneyTo[cid]) ~= TRUE then selfSay('Esse player nao existe ou ainda nao tem vocaçao.', cid) else selfSay('Voce transferiu ' .. moneyTo[cid] .. ' gold tpara "' .. playerTo[cid] ..' ".', cid) playerTo[cid] = nil end elseif msgcontains(msg, 'nao') then selfSay('Como deseja. Posso fazer mais alguma coisa para voce?', cid) end talkState[cid] = 0 -------------------------------------------------------------------------------- -------------------------Bank shares-------------------------------------------- -------------------------------------------------------------------------------- elseif msgcontains(msg, "açoes") then selfSay('Açoes, deseja {entrar} ou {sair}?', cid) talkState[cid] = 14 elseif msgcontains(msg, 'entrar') and talkState[cid] == 14 then if getPlayerStorageValue(cid, 99889) <= 0 then if getPlayerBalance(cid) == 0 then selfSay('Okay. Mas, estou vendo seu saldo e ele é 0 gold coins. Quanto voce quer depositar?', cid) talkState[cid] = 15 else selfSay('Parabens. Agora, fique preparado para as açoes. Pode acontecer a qualquer hora.', cid) setPlayerStorageValue(cid, 99889, 1) talkState[cid] = 0 end else selfSay('Voce ja esta nas açoes. Verifique seu saldo.', cid) talkState[cid] = 0 end elseif talkState[cid] == 15 then moneyTo[cid] = tonumber(msg) if isValidMoney(cid, moneyTo[cid]) == TRUE then selfSay('Voce realmente quer depositar '..moneyTo[cid]..' gold?', cid) talkState[cid] = 16 else selfSay('Voce nao tem esse dinheiro para depositar.', cid) talkState[cid] = 0 end elseif talkState[cid] == 16 then if msgcontains(msg, 'sim') then if doPlayerDepositMoney(cid, moneyTo[cid], 1) ~= TRUE then selfSay('Voce nao tem nenhum dinheiro.', cid) talkState[cid] = 0 else selfSay('Tudo bem, nos adicionamos '..moneyTo[cid]..' gold para seu saldo. A partir de agora você está apto a participar das a\ç\ões do banco. Seu saldo é ' .. getPlayerBalance(cid) .. '.', cid) setPlayerStorageValue(cid, 99889, 1) end end elseif msgcontains(msg, 'nao') then selfSay('Como quiser. Posso fazer mais alguma coisa por voce?', cid) talkState[cid] = 0 elseif msg == 'sair' and talkState[cid] == 14 then if getPlayerStorageValue(cid, 99889) == 1 then selfSay('Feito. Obrigado por usar nossos servicos.', cid) setPlayerStorageValue(cid, 99889, -1) talkState[cid] = 0 else selfSay('Voce nao esta em nossos registros.', cid) talkState[cid] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Salve e feche. Agora, crie um arquivo com o nome Bank.xml em seu diretório npc, adicionando o código abaixo: <npc name="Bank" script="data/npc/scripts/BankShares.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/> <parameters> <parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {ajuda}." /> <parameter key="message_farewell" value="Tchau." /> <parameter key="message_walkaway" value="Tchau." /> </parameters> </npc> Salve e feche. Agora, abra seu config.lua e localize: bankSystem = false ou também: bankSystem = "no" E substitua por true,em caso de estar false; e yes, em caso de estar no. Sistema implantado. Agora, simplesmente adicione um respawn do npc bank em seu mapa e negocie as açoes com ele, dizendo hi;açoes;entrar (caso tenha algum dinheiro depositado), ou hi;açoes;entrar;(quantidade que deseja depositar);sim. Favor não postar em outros fóruns. Caso tenham algum problema com o sistema, poste sua dúvida para que possa saná-la. flw Obs: O npc que usei, é do servidor do alissow, modifiquei e matheusMkalo traduziu (não gostei).1 ponto
-
Ações Bancárias
Henrique Moura reagiu a MatheusGlad por um tópico no fórum
Gente o script sempre eh ativado na mesma hora pra todos, entao se ele depositar e der withdraw nao vai acontecer nada, soh quando for a hora das açoes SS:1 ponto -
[Resolvido]Como Troca Um Intem Que Tem Vocação Pela Outra
helinholima reagiu a MatheusGlad por um tópico no fórum
va em data/weapons, abra o weapons.xml e procure pelo id do item que deseja trocar a vocation. Peguei o da Avenger e botei aki olhe: Vermelho Id da vocaçao Para adicionar novas vocaçoes copiar a linha vocation id e botar abaixo e mudar o numero da vocaçao Creio que voce tenha postado na sessao errada, a sessao certa seria Duvidas sobre Scripts, preste mais atençao antes de postar um topico Reportado É isso, flw1 ponto -
[ Fechado ]
Henrique Moura reagiu a luisfe23 por um tópico no fórum
Vou reportar para um moderador fechar o tópico. Reportado !1 ponto
Líderes está configurado para São Paulo/GMT-03:00