Ir para conteúdo

Demonbholder

Infante
  • Total de itens

    1551
  • Registro em

  • Última visita

  • Dias Ganhos

    24

Tudo que Demonbholder postou

  1. Faaaala galera, tudo tranquilo? Espero que sim, estou sem boas idéias esse dias, mas creio que essa será, no mínimo, útil para vocês. Caso tiverem idéias, deixem-as nos comentários e talvez eu as farei. Bom, como minha terceira colaboração do mês, vamos ao script. Como funciona: É uma talkaction que permite que você coloque lembretes para si mesmo em qualquer dia válido. Comandos: !setday - Seleciona o dia que você irá colocar o lembrete. Ex: !setday 23/04/2011 !update - Adiciona o lembrete no dia. Ex: !update Prova de matemática !checkday - Checa os lembretes do dia escolhido. Ex: !checkday 23/04/2011 Lembrando que !update só poderá ser usado após !setday. Créditos: Demonbholder - Script Matheus Mkalo - Me ajudou em um certo problema que eu tive. Talkaction: function onSay(cid, words, param) local storage = 30923 local storage3 = 30603 if words == "!setday" then if param ~= "" then if not (string.find(tostring(getPlayerStorageValue(cid, storage)), param)) and dateExists(param) ~= FALSE then setPlayerStorageValue(cid, storage3, "Data: " ..param) doPlayerSendTextMessage(cid, 4, "Dia confimado.") else doPlayerSendCancel(cid, "Você já usou esta data ou ela esta incorreta.") end else doPlayerSendCancel(cid, "Parâmetro necessário.") end elseif words == "!update" then if param ~= "" then if getPlayerStorageValue(cid, storage3) ~= -1 then if not (string.find(param, "/")) then valor = getPlayerStorageValue(cid, storage) == -1 and getPlayerStorageValue(cid, storage3) .. "\n" .. param .. "\n\n" or getPlayerStorageValue(cid, storage) .. getPlayerStorageValue(cid, storage3) .. "\n" .. param .. "\n\n" setPlayerStorageValue(cid, storage, valor) setPlayerStorageValue(cid, storage3, -1) doPlayerSendTextMessage(cid, 4, "Informações atualizadas.") else doPlayerSendCancel(cid, "Caracteres Invalidos.") end else doPlayerSendCancel(cid, "Data não confirmada.") end else doPlayerSendCancel(cid, "Parâmetro necessário.") end elseif words == "!checkday" then if param ~= "" then if dateExists(param) ~= FALSE then if string.find(getPlayerStorageValue(cid, storage), param) ~= nil then doShowTextDialog(cid, 2160, getDay(getPlayerStorageValue(cid, storage), param)) else doPlayerSendCancel(cid, "Dia não confimado.") end else doPlayerSendCancel(cid, "Data não existente.") end else doPlayerSendCancel(cid, "Parâmetro necessário.") end end return TRUE end function dateExists(date) local rval = date local tabe = { [01] = 31, [02] = 28, [03] = 31, [04] = 30, [05] = 31, [06] = 30, [07] = 31, [08] = 30, [09] = 31, [10] = 30, [11] = 31, [12] = 30 } local data = string.explode(date, "/") if not (data[3]) or tabe[tonumber(data[2])] < tonumber(data[1]) or tonumber(data[1]) < 1 then rval = FALSE elseif #data[1] ~= 2 or #data[2] ~= 2 or #data[3] ~= 4 then rval = FALSE end return rval end function getDay(str, cas) return string.find(str, "/", string.find(str, cas) + 10) ~= nil and string.sub(str, string.find(str, cas), string.find(str, "/", string.find(str, cas) + 10)-9) or string.sub(str, string.find(str, cas), #str) end Tag: <talkaction words="!setday;!update;!checkday" script="NomeDoArquivo.lua" /> Bom pessoal, espero que gostem, demorei todo o domingo para fazer. Isso totaliza as minhas obrigações de colaborador por este mês, mas continuarei trazendo conteúdo extra. Até mais.
  2. function onUse(cid, item, frompos, item2, topos) if item.itemid == 10305 then doCreatureAddHealth(cid, 600) doCreatureAddMana(cid, 600) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doPlayerSendTextMessage(cid,22,"You Hare Healed!...") end return TRUE end Dei uma ajeitada no script já. Seção incorreta, reportado.
  3. Eu entendo, estava de cabeça quente. Mas eu tinha falado no primeiro post que eu não saberia fazer caso não funcionasse, ai você me manda pm e ainda fica falando que ninguém ajuda. Outra, não te xinguei. Agora é esperar alguém te ajudar.
  4. Feito: function onSay(cid, item) if getPlayerStorageValue(cid, 30047) - os.time() <= 0 then if doPlayerRemoveMoney(cid, 500) == TRUE then -- dinheiro necessário local random = math.random(1, 10) local chance = { {id = 2160, quant = 1, message = "Parabéns, você ganhou uma crystal coin.", mat = {1,2,3,4}}, {id = 2400, quant = 1, message = "Parabéns, você ganhou uma magic sword.", mat = {5,6}}, {id = 2640, quant = 1, message = "Parabéns, você ganhou uma soft boots.", mat = {7}}, } for ite, res in pairs(chance) do if table.find(chance[ite].mat, random) then doPlayerSendTextMessage(cid, 22, chance[ite].message) doPlayerAddItem(cid, chance[ite].id, chance[ite].quant) setPlayerStorageValue(cid, 30047, 2 + os.time()) break end end end end return TRUE end Da uma testada ai, eu testei mas editei bastante o script depois.
  5. Já falei que se não funcionar eu não sei, pois ot MySql eu não sei alterar valores de database. Outra coisa, nem moveram seu tópico ainda pra seção correta e você diz que ninguém nunca ajuda? Ok, agora tu vai provar disso mesmo.
  6. Três coisas. Primeiro: Você postou na seção incorreta, reportarei para moverem. Segundo: Não sou seu amigo. Terceiro: Não sei como fazer para alterar valores de database usando MySql. Tente assim: function onLogin(cid) if (isVip(cid) == TRUE and string.match(getCreatureName(cid), "%p%a+%p") ~= '[VIP]') or (isVip(cid) == FALSE and string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]') then doPlayerSendTextMessage(cid, 4, "Você vai ser kikado em 10 segundos para mudar seu nome.") addEvent(doChangeStats, 10000, cid) end return TRUE end function doChangeStats(cid) local ne = string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]' and string.sub(getCreatureName(cid), 7) or "[VIP] " .. getCreatureName(cid) local id = getPlayerGUID(cid) if string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]' then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)/2) setCreatureMaxMana(cid, getCreatureMaxMana(cid)/2) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/2) doCreatureAddMana(cid, getCreatureMaxMana(cid)/2) else setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)*2) setCreatureMaxMana(cid, getCreatureMaxMana(cid)*2) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)*2) doCreatureAddMana(cid, getCreatureMaxMana(cid)*2) end doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `name` = `"..ne.."` WHERE `id` = "..id) end Caso não funcione eu não sei.
  7. Cara, não tem o que explicar, o script tem uma funcionalidade própria, ou seja, mudar a cor da roupa dos jogadores online da mesma guild que o líder desta. O script dele esta ótimo, eu não faria melhor, resumindo, não há o que explicar.
  8. Tente trocar a tag para esta: <action actionid="UNIQUE ID COLOCADO NO MAP EDITOR" event="script" value="NOME DO SCRIPT.lua"/> Use o script do xotservx.
  9. @xotservx Só uma coisa que eu vi ali, essa linha: doCreatureChangeOutfit(cid, { Não seria? doCreatureChangeOutfit(mem, { Dei uma olhada rápida, até.
  10. Você colocou o uniqueid no baú pelo map editor e na tag?
  11. function onUse(cid, item, frompos, item2, topos) if item.uid == 10101 then queststatus = getPlayerStorageValue(cid,90978) if queststatus == -1 then doPlayerSendTextMessage(cid,22,"Você Ganhou Um Black Ring!") doPlayerAddItem(cid,10502,1) setPlayerStorageValue(cid,90978,1) else doPlayerSendTextMessage(cid,22,"Você ja fez essa quest!") end return 1 end return 1 end Você tinha colocado um else return 1 end a mais. Você postou na seção errada, vou reportar para que movam. Tenha mais cuidado na próxima vez.
  12. Cuidado com posts assim Deadly123, além de ser considerado flood, você reviveu um tópico.
  13. Tem sim. Alguma chance de não vir nada? OBS: Ajudaria se não citasse meus posts. Até mais.
  14. Certo, reportarei para mover. Até mais. OBS: Este script deve ser colocado em data/creaturescripts/scripts.
  15. Duas coisinhas, você poderia ter feito em um script apenas e creio que faltou o function onSay no segundo script, o resto já falaram. Até. Ah é o for podia ser usado assim: for i = 1, 5 do Não era necessário criar uma tabela, tente assim depois.
  16. Demonbholder

    De: Ask Me

    Ótima iniciativa Itoouch! Vai ser melhor ainda se ficar ativo por bastante tempo, irá ajudar a muitos. Poderia editar as regras também, tem algumas repetições, mas a iniciativa foi muito boa, até.
  17. @Sazu É para remover o dinheiro do jogador? Se for tente: function onUse(cid, item) if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário local random = math.random(1, 10) local chance = { [1] = {id = 2160, quant = 100, message = "Parabéns, você ganhou 500k."}, [2] = {id = 2471, quant = 1, message = "Parabéns, você ganhou um golden helmet."}, [3] = {id = 2469, quant = 1, message = "Parabéns, você ganhou uma dragon scale legs."}, [4] = {id = 2646, quant = 1, message = "Parabéns, você ganhou uma golden boots."}, } for ite, res in pairs(chance) do if ite == random then doPlayerSendTextMessage(cid, 22, chance[random].message) doPlayerAddItem(cid, chance[random].id, chance[random].quant) break end end end return TRUE end No caso acima há 4 chances de vir itens, se quiser aumentar ou diminuir esses itens, edite a tabela chance logo acima, onde o numero entre colchetes deve ser de 1 a 10. A cada número que tu adicionar vai aumentar a chance. Caso não queira que o dinheiro seja removido, retire estas linhas: if doPlayerRemoveMoney(cid, 500000) == TRUE then -- dinheiro necessário e retire qualquer end ACIMA do return TRUE. Até mais.
  18. Ser usado e sumir ou que o jogador só possa usar uma vez mesmo?
  19. É uma função para ot servers, creio que seria algo como: function table.find(t, val) ret = nil for pos, mat in pairs(t) do if mat == val then ret = pos break end end return ret end Ou talvez algo um pouco mais complexo. Até.
  20. Seção incorreta amigo, irei reportar para que movam.
  21. Como esperado do grande Skyen, um grande scripter, um exemplo disso é esse script. Até mais, e parabéns novamente.
  22. Poderia ter usado string.byte associando a tabela ASCII, assim funcionaria com letras também.
  23. É difícil achar uma utilidade para P.A e P.G em lua, são conteúdos do ensino médio. Fiz as fórmulas para testar as minhas habilidades em fórmulas matemáticas em lua, pois tive que adaptar as fórmulas originais. Podem ser usados para resultados de alguma pesquisa, se você souber a biblioteca io vai ajudar. EDIT: Lembrei de uma coisa, não que seja lua, mas você sabia que o script do Messenger Plus que faz a cor ir diminuindo o tom de letra em letra é uma progressão aritmética? É realmente aplicável na pratica.
  24. Idéias para Scripts?

  25. Hehe, em alguns colégios o conteúdo do primeiro é no segundo e vice-versa. É uma matéria relativamente fácil, até.
  • Quem Está Navegando   0 membros estão online

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