Ir para conteúdo

Bruno

Herói
  • Total de itens

    2571
  • Registro em

  • Última visita

  • Dias Ganhos

    27

Tudo que Bruno postou

  1. Bruno

    Item que add VIP

    @@diguuinhoo, Algo simples, a função em si já faz tudo, tente assim: local dias = 30 -- dias vip function onUse(cid, item) dias = tonumber(dias) vip.addVipByAccount(getPlayerAccount(cid), vip.getDays(dias)) doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) doPlayerPopupFYI(cid, "Foram adicionados " .. dias .. " dias de VIP em sua account.\nSua VIP Account expira em " .. os.date("%d/%m/%y", vip.getVip(cid)) .. ".") return true end
  2. Parabéns a essa evolução que o XTibia está passando. Muitos duvidaram da capacidade da equipe atual de levantar o XTibia e fazê-lo ficar onde nunca deveria ter saído, está sendo uma luta todos os dias, porém venho aqui dizer que a equipe atual é capacitada sim e está demonstrando isso dia após dia! Parabéns a todos que estão se empenhado, não só membros da equipe mas aos usuários também.
  3. Bruno

    Scroll

    Fica a seu critério amigo coloque o que você preferir, só preciso que coloque para resolver o tópico rs
  4. Bruno

    Wild grover rune

    Amigo, qual erro? Você precisa ser mais específico
  5. Bruno

    Scroll

    @@ScythePhantom, Tente assim: local config = { storage = 10520, -- use uma storage não utilizada tempo = 5, -- em minutos remItem = false -- remove item ao usar } function onUse(cid, item) if getPlayerSkullType(cid) == SKULL_WHITE or isPlayerPzLocked(cid) then return false, doPlayerSendCancel(cid, "Voce nao pode usar o teleport estando pk ou pz lock.") end local pos, temple = getCreaturePosition(cid), getTownTemplePosition(getPlayerTown(cid), false) if getPlayerStorageValue(cid, config.storage) < os.time () then doTeleportThing(cid, temple, true) setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo * 60)) doSendMagicEffect(pos, CONST_ME_TELEPORT) doSendMagicEffect(getClosestFreeTile(cid, temple), CONST_ME_POFF) if config.remItem then doPlayerRemoveItem(cid, item.itemid, 1) end else return false, doPlayerSendCancel(cid, "Voce so pode usar o teleport a cada " .. (config.tempo / 60) .. " minutos.") end end
  6. Bruno

    Npc Bugado

    Tenta assim: local tab = { aposta1 = {10000, 20000}, -- apostaN = {custo, premio}, aposta2 = {100000, 2000000}, aposta3 = {1000000, 2000000} } 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 function thinkCallback(cid) local rand = math.random(1,100) if rand == 1 then selfSay('Oi! Ganhe dinheiro com sua sorte!') end if rand == 2 then selfSay ('Só entendo português, diga oi.') end if rand == 3 then selfSay ('Posso te ajudar?') end return true end function greetCallback(cid) return true end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'jogar')) then selfSay('O jogo é bem simples, você só precisa decidir se quer apostar 1 crystal coin, 10 crystal coins ou 100 crystal coins. Após decidir sua aposta, será sorteado um número entre 1 e 10 para mim e para você, vence quem sortear o maior número. Se der empate, você recebe o dinheiro da aposta de volta, se você ganhar receberá o dobro do valor da aposta e se perder eu fico com o seu dinheiro da aposta. Diga {1 crystal coin}, {10 crystal coins} ou {100 crystal coins} para começar o jogo.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, '1 crystal coin') and talkState[talkUser] == 1) then selfSay('Você tem certeza que quer apostar 1 crystal coin?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, '10 crystal coins') and talkState[talkUser] == 1) then selfSay('Você tem certeza que quer apostar 1 crystal coin?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, '100 crystal coins') and talkState[talkUser] == 1) then selfSay('Você tem certeza que quer apostar 1 crystal coin?', cid) talkState[talkUser] = 4 elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 2) then if doPlayerRemoveMoney(cid, tab.aposta1[1]) then local playerNumber = math.random(1, 10) local npcNumber = math.random(1, 10) if playerNumber < npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nVocê Perdeu! Vamos {jogar} novamente?',cid) talkState[talkUser] = 0 elseif playerNumber == npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nDeu Empate! Vamos {jogar} novamente?',cid) talkState[talkUser] = 0 elseif playerNumber > npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nVocê Venceu! Hoje é seu dia de sorte, vamos {jogar} novamente?',cid) doPlayerAddMoney(cid, tab.aposta1[2]) talkState[talkUser] = 0 end else selfSay('Desculpe, mas você não possui dinheiro para esta aposta',cid) end elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 3) then if doPlayerRemoveMoney(cid, tab.aposta2[1]) then local playerNumber = math.random(1, 10) local npcNumber = math.random(1, 10) if playerNumber < npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nVocê Perdeu! Vamos {jogar} novamente?',cid) talkState[talkUser] = 0 elseif playerNumber == npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nDeu Empate! Vamos {jogar} novamente?',cid) talkState[talkUser] = 0 elseif playerNumber > npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nVocê Venceu! Hoje é seu dia de sorte, vamos {jogar} novamente?',cid) doPlayerAddMoney(cid, tab.aposta2[2]) talkState[talkUser] = 0 end else selfSay('Desculpe, mas você não possui dinheiro para esta aposta',cid) end elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 4) then if doPlayerRemoveMoney(cid, tab.aposta3[1]) then local playerNumber = math.random(1, 10) local npcNumber = math.random(1, 10) if playerNumber < npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nVocê Perdeu! Mas não desanime, vamos {jogar} novamente?',cid) talkState[talkUser] = 0 elseif playerNumber == npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nDeu Empate! Vamos {jogar} novamente?',cid) talkState[talkUser] = 0 elseif playerNumber > npcNumber then selfSay('Seu número: '.. playerNumber ..'.\nMeu número: '.. npcNumber ..'.\nVocê Venceu! Hoje é seu dia de sorte, vamos {jogar} novamente?',cid) doPlayerAddMoney(cid, tab.aposta3[2]) talkState[talkUser] = 0 end else selfSay('Desculpe, mas você não possui dinheiro para esta aposta',cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  7. Bruno

    Wild grover rune

    @@damiaotorres, Teste assim: local areas = { [1] = {frompos = {x=1136, y=1019, z=7}, topos = {x=1169, y=1039, z=7}}, -- exemplo [2] = {frompos = {x= xxx, y= xxx, z= x}, topos = {x= xxx, y=xxx, z=x}}, } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function onCastSpell(cid, var) for i = 1, #areas do if isInArea(getThingPosition(cid), areas[i].frompos, areas[i].topos) then return false, doPlayerSendCancel(cid, "Voce nao pode usar wild growth rune nesta area.") end end return doCombat(cid, combat, var) end
  8. Bruno

    Wild grover rune

    Você configurou corretamente o script? Imagine que sua área seja o quadrado amarelo... As variáveis são os pontos vermelhos:
  9. Bruno

    xMapShape v1.0.1

    É uma boa ideia, mas isso não seria bom ao fórum, já que o programa em si leva o nome dele, independente de onde foi postado. Obrigado pela sugestão. Obrigado Lordbaxx
  10. Bruno

    Wild grover rune

    Tenta assim: local areas = { [1] = {frompos = {x=1136, y=1019, z=7}, topos = {x=1169, y=1039, z=7}}, -- exemplo [2] = {frompos = {x= xxx, y= xxx, z= x}, topos = {x= xxx, y=xxx, z=x}}, } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function onCastSpell(cid, var) for i = 1, #areas do if not isInArea(getPlayerPosition(cid), areas[i].frompos, areas[i].topos) then return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Voce nao pode usar wild growth rune nesta area.") end end end
  11. Olha, primeiramente não é porque não temos uma divisão de cargos por suporter, mapper, programmer que não somos responsáveis por áreas específicas! Cada um sabe sua função, não creio que está faltando atendimento por parte da equipe. Agora os membros que se destacam no fórum e ainda não estão na equipe, pode ter a total certeza que eles são vistos e com certeza serão eles a serem convidados a entrar na equipe quando surgirem novas vagas. A princípio obrigado por demonstrar interesse, porém, isso que você está fazendo não é uma sugestão e sim uma supervisão, na qual está monitorando último acesso, último conteúdo e etc. Você pode ficar tranquila que isso que está sendo visto e o responsável será justo em relação ao assunto. Não querendo ser grosso, apenas curto, estou fechando o tópico para evitar discussões, pois isso não é assunto a ser discutido aqui. Qualquer dúvida ou sugestão relacionada a qualquer outro assunto, sinta-se a vontade para postar. Como disse antes, volto a dizer, obrigado por demonstrar interesse.
  12. Essas questões não são para ser discutidas aqui, pois foge da finalidade de tópico, porém, não são apenas concursos que trazem movimento e em relação a conteúdo estamos voltando com tudo!
  13. Eu acho que para determinar o "membro do mês" não seria só postagens de conteúdo... Para ser o membro do mês, além de postar conteúdo o membro precisaria ajudar outros membros e ser pró-ativo em suas postagens, se não vamos ter muito conteúdo sem suporte, conteúdo abandonado e etc.
  14. Bruno

    xMapShape v1.0.1

    v1.0.1 Foram removidas as restrições de importação, agora não tem limite de tamanho ou de bites para importar imagens.
  15. Vou ser sincero, primeira pessoa que eu tento ajudar quando o assunto trata-se de derivados. Segue basicamente a mesma lógica que você tinha antes, não sei se vai dar certo. Teste ai:
  16. Bruno

    xMapShape v1.0.1

    Obrigado pela força Daniel! Assim que possível estarei fixando alguns detalhes.
  17. Bruno

    xMapShape v1.0.1

    Introdução O projeto foi iniciado por @Daniel para manter atualizado um recurso antigo que é muito utilizado, além de ser útil e criativo: o Bit Map To Map; baseando-se em sua estrutura, desenvolvemos um novo Map Shape, o xMapShape; Esperamos pedidos de novas atualizações e opiniões sobre o projeto. Funções O xMapShape apresenta algumas funções a mais, tudo está sendo planejado para uma praticidade que envolva estética e funcionalidade: Você adiciona uma imagem, seleciona uma cor, essa cor selecionada será transformada em Mapa; você pode escolher várias cores e alguns grounds, assim como a versão que desejar. Também alterei a estrutura do programa ao salvar o arquivo, pra quem reclamava, agora está perfeito! Funções alteradas como a seleção de cor possibilitam um melhor manuseamento da ferramenta, o que antes produzia cor1 e cor2 agora pode ser listado como quantas cores você desejar. Como usar? Veja o tutorial Download MediaFire Scan Requerimentos .NET Framework 3.5 ou superior Changelog [02/06/2015] v1.0.1: - Removida restrições de importação [01/06/2015] v1.0.0: - Lançamento do xMapShape Créditos Bruno Minervino Daniel DarkstaR
  18. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  19. Vai em data/creaturescripts/login.lua e adicione a seguinte linha: if getPlayerStorageValue(cid, 98798644) == -1 then setPlayerStorageValue(cid, 98798644, 0) end Lembre que 98798644 é a storage usada no sistema.
  20. Por gentileza, poste a sua resolução pois outro usuário pode estar com o mesmo problema. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  21. Foi um erro no operador, já alterei, poderia testar? Att.
  22. Hahaha, como meu tempo é corrido, não consigo me dedicar muito a isso! Assim que possível, irei concluir.
  23. Tenta assim: local coinID = 9971 -- moeda para comprar skills Agora alterando essa variável, você altera a moeda de compra.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...