Ir para conteúdo

LuckOake

Marquês
  • Total de itens

    1104
  • Registro em

  • Última visita

  • Dias Ganhos

    20

Tudo que LuckOake postou

  1. Beleza, funcionou, só que aqui moveu alguns scripts que estavam registrados, o bug é por que o seu script está como case sensitive, o script tava registrado como teste mas o arquivo tava como Teste. E tinha umas pastas a mais aqui na minha data que tinham uns arquivos.xml, o programa abriu essa pasta e deu erro: :121: attempt to index local 'xml' (a nil value) Anyway, legal o programa
  2. Entendi a Programação Orientada a Objetos, me sinto com poder .-.
    1. Oneshot

      Oneshot

      parabeemmss kra

  3. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  4. Se quiser em action, tó: actions.xml: <action actionid="11696" script="efeitoforever.lua"/> Substitua o xxxx por um action id que desejar. efeitoforever.lua: function eff(id, pos) doSendMagicEffect(pos, id) addEvent(eff, 1000, id, pos) end function onUse(cid, item) local efeito = 10 -- ID do efeito eff(efeito, getThingPos(item.uid)) return true end
  5. Movement, no caso, seria se o player pisasse num lugar? Sim, tem: movements.xml: <movevent type="StepIn" actionid="xxxx" script="efeitoforever.lua"/> Substitua o xxxx por um action id que desejar. efeitoforever.lua: function eff(id, pos) doSendMagicEffect(pos, id) addEvent(eff, 1000, id, pos) end function onStepIn(cid, item) local efeito = 10 -- ID do efeito eff(efeito, getThingPos(item.uid)) return true end Configure aqui: local efeito = 10 -- ID do efeito
  6. Wow, legal, REP+. Poderia fazer um que usa o sistema do example82.lua, ao invés de XML.
  7. LuckOake

    A arte da POG

    Olá Antes de mais nada, quero informar que este tutorial é apenas para descontração, e que não seja levado a sério, por favor. Não, é sério mesmo, não leve isso a sério ou você pode acabar com sua reputação. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Introdução 1) O que é POG? POG, ou Programação Orientada a Gambiarras, é o modo de programar que faz um usuário chegar à um resultado de uma maneira extremamente nada convencional, tendo vários motivos, como a preguiça. É o ápice da carreira de um programador, em que ele se torna um gambiarrizador. O primeiro POG conhecido foi feito em 1582 d.C. Atualmente, este POG é chamado de "Ano Bissexto", criado pelo Papa Gregório XIII. Este POG foi aplicado quando descoberto que a Terra leva 365 dias e 6 horas para dar uma volta no Sol, sendo que nosso calendário tem apenas 365 dias, fazendo com que tenhamos 6 horas a menos no ano. Ao invés de corrigir o sistema para que não houvesse essa diferença, a solução adotada pelo Papa foi: "A cada quatro anos, é só colocar mais um dia". E então foi criado o primeiro POG de que se tem notícia. Por causa desse fato, dia 29 de fevereiro ficou conhecido como "Dia Internacional da POG", instituído em 1930. 2) POGs Conhecidas - Windows - Qt - Universo - MacGyver - Scripts do Caotic Sendo um POGger Antes de se tornar um POGger, há alguns requisitos básicos: - Preguiça - Final de semana - Véspera de feriado ou feriado - Windows - Imaginação Após ter esses requisitos, você pode começar a ser o mestre dos mestres, o gambiarrizador. O tipo de programador que consegue fazer o confuso ficar complexo. Comecemos com um script básico, que soma 3 com 50. local a = 3 local b = a + 50 local c = b print(c) E um script que diz sim se a = b. local a = 3 local b = 2 if b == a then print("Sim") end if b ~= a then print("Não") end Ou então, para gerar um número aleatório. function generateRandomNumber() return 4 end (OBS: A melhor parte é teimar que o número é aleatório) E até mesmo pra saber se o número é par: function isPar(number) local x = {1, 3, 5, 7 , 9} local number = tostring(number) local a = string.sub(number, #number) local a = tonumber(a) for i =1, #x do if a == x[i] then return false end end return true end Para descobrir se alguém está online também: function isOnline(cid) local player = {} for a, b in ipairs(getPlayersOnline()) do if b == cid then table.insert(player, cid) end end if #player > 0 then return true else return false end end Ou montando frases: function pogeandoComCaotic(array) -- Quem precisa de table.concat? k = 1 while k < #array+1 do x = ""..(x or "").." "..array[k].."" k = k+1 end return x end local a = {"usar","table","concat","e","para","os","fracos"} print(pogeandoComCaotic(a)) Afinal, pra quê table.concat quando se tem um caotic? - POGs falhos Só vale lembrar que nem sempre um POG vai funcionar, muitas vezes ele vai acabar explodindo o PC da pessoa dando erro. local a = 3 while a ~= 100 do if a then os.execute("ECHO "..a.."") local a = a + 1 end end Final Como já dizem os grandes programadores gambiarrizadores: "Não importa a gambiarra, o que importa é o resultado final". Felizmente, ninguém escapa do POG. Programador que não usa POG é poser. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ É isso galera, obrigado e NÃO SEJAM POGGERS Créditos: - LuckOake -- Pelo "tutorial" e scripts - Caotic -- Por alguns POGs - Slicer -- Por ajudar com um POG - Desciclopédia -- Por algumas informações
  8. É, legal a função, dá pra usar em alguns eventos. De qualquer maneira, dá pra reduzir bastante isso ai: function s(value, mul) return ""..value.." "..(value % mul == 0 and "- Multiplo" or "- Não multiplo").."" end
  9. Caramba cara, POG rolou solto ai .-. function onUse(cid, item) local storage = 13798 local wait = 1 -- Tempo de exhaustion if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "You are exhausted.") return true end doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doPlayerAddMana(cid, getPlayerMaxMana(cid)) doCreatureSay(cid, "Hmmmmmmm!", TALKTYPE_MONSTER) exhaustion.set(cid, storage, wait) doRemoveItem(item.uid, 1) return true end Anyway, se foi você que fez isso tudo ai, tá até bem pra quem tá começando.
  10. LuckOake

    erro efeitos

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  11. LuckOake

    Bug login.lua

    Tó: O erro era que tinha um return true e um end a mais.
  12. A função é até bem útil, mas o Skymagnum já tinha feito ela de uma maneira mais simplificada. http://www.xtibia.com/forum/topic/194266-getnumbertypen/
  13. Ideia até interessante, o problema é a parte de poder atravessar ele. Se tiver como fazer isso, teria que editar nas sources.
  14. Olá Sim, eu sei que eu não tô ajudando muita aqui na seção esses dias, mas tudo tem um motivo, que já expliquei pro Caotic. Mas pra dar uma descontraída, eu trouxe um sisteminha aqui pra vocês, que originalmente eu achei na OTLand, mas como tava meio pogado, além do que tinha gente reclamando de que não funcionava (comigo mesmo não funcionou) e ainda precisava de biblioteca adicional, fiz um novo com a mesma ideia, mas de uma maneira mais clean e funcional. O que é: Um sistema pra "assustar" os players. O GOD fica de Ghost e usa o comando, então é mandado várias falas ao redor dele. Vocês entenderão melhor na ScreenShot. Script (terror.lua): Tag (talkactions.xml): <talkaction access="5" words="/terror" script="terror.lua"/> Imagens: Utilização: /terror Frase,Quantidade de mensagens,TALKTYPE ID OBS: O TALKTYPE ID é opcional, mas deve ser colocado em números. Créditos: LuckOake -- Pelo Script Colandus -- Pela base
  15. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  16. Caotic, publica esse tutorial no portal, tá merecendo muito.
  17. Nossa, ótimo tutorial. Realmente, tá excelente. Realmente, falta beleza na maioria dos códigos dos novatos hoje em dia, o povo simplesmente ignora a identação, não põe espaço depois da virgula, coloca nomes estranhos em variáveis, etc.
  18. Rapaz, não são linhas, são funções. E segundo, não é só isso ai. Dependendo das modificações em seu server, há muito mais funções que podem ser usadas. Vou organizar seu tópico e mover pra área correta.
  19. Organize o tópico e coloque os créditos. 24 horas ou vou fechar o tópico.
  20. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  21. É, eu percebi a besteira que fiz. Já arrumei o script lá em cima. Anyway, toma ele aqui também:
  22. O script tá meio pogado, mas acho que deu certo. Testa ai:
  23. Arrumei o bug pra você e dei uma arrumada no script: Sobre as adições, explique um pouco melhor, não entendi o que você quer, ao certo.
  24. Mas se você vai setar o valor da exhaust como 60 depois, então pra quê isso? local x = exhaustion.get(cid, 12346) or 0 @Topic A propósito, usar onLogin e return false não é muito boa ideia, vai impedir o player de fazer login. O que seria melhor fazer é usar onLogout. function onLogout(cid) if getPlayerStorageValue(cid, 12345) == 1 then if exhaustion.get(cid, 12346) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The exhaustion is in "..exhaustion.get(cid, 12346).." seconds.") return false end end return true end A propósito, o player pode fazer logout com a exhaustion que não vai dar erro se ela acabar com ele offline. Usei um sistema parecido com esse no Vampire System, em que se o player não se alimentar depois de x horas ele evolui o nível de vampirismo, e se o player estiver offline quando esse tempo acabar, quando ele logar o script termina de ser executado.
  25. Eu tentei colocar fora do onSay, mas ai deu problema nas funções por causa do pid = getPlayerGUID(cid). But, anyway, deve ter sido bobeira minha. Vou arrumar.
  • Quem Está Navegando   0 membros estão online

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