-
Total de itens
1347 -
Registro em
-
Última visita
-
Dias Ganhos
36
Tudo que Oneshot postou
-
script Vamos Programar? - Introdução
tópico respondeu ao Oneshot de Oneshot em Tutoriais de Programação
Sim, mas o Brackets é voltado totalmente para front-end -
Vamos Programar? Introdução Olá, pessoal. Acredito que ninguém aqui me conheça, mas sou Oneshot, ou Bruno Lopes, um programador por passatempo. Desenvolvi muitos trabalhos para fóruns em geral, principalmente o XTibia, até que levei uma flecha no joelho... ... Brincadeiras a parte, eu gostaria muito de voltar a escrever tutoriais e quem sabe desenvolver novos recursos para a comunidade, depende muito do meu tempo disponível. Para essa primeira parte do tutorial, eu gostaria de tratar de um assunto que é subestimado por muitos... Não, eu não vou falar de lógica da programação, de Lua, ou de C++... eu vou falar sobre o editor de texto, a principal ferramenta de um programador. Muitos aqui, provavelmente começam sua vida de scripter utilizando o Notepad++ no Windows, ou talvez um gedit em alguns flavors do Linux, talvez até o vim, se você for muito hardcore Eu já usei vários editores de texto, e ultimamente tenho recomendado um editor de texto excelente, desenvolvido pela equipe do Github, chamado Atom. Eu poderia muito bem fazer deste tópico, um comparativo entre os editores de texto e até alguns IDEs (ou Integrated Development Environment), mas vou fazer deste, um tutorial para configuração do Atom e espero que vocês gostem. Atom Atom, conforme o criador, é um editor de texto totalmente personalizável, você pode editar todos os tipos de configurações dentro dele, mas também se não quiser, não é necessário. E acho que esse é o diferencial do Atom, existem muitos plugins de excelente qualidade, e você não vai precisar usar ele só para programar Lua, pode usar ele em um monte de sintaxes diferentes e se ele não tiver uma sintaxe, basta baixar um plugin que certamente existirá com a sintaxe, snippets (trechos de código pré-configurados), entre outros. Você vai baixar o Atom no site deles, http://atom.io/, no momento que escrevo esse artigo/tutorial, estou no Windows 10 (Ao invés do Fedora), então veja abaixo: Depois de baixar o instalador para sua plataforma (Ele está disponível para Windows, Linux e Mac), basta instalar o aplicativo, conforme os padrões do seu sistema (Next, Next, Next no Windows e por aí vai) Depois disso o Atom é apresentado da seguinte forma: Não tão dessa forma... estou com o tema da interface Seti-UI. Se você for curioso, pode então ler a documentação do Atom, e eu recomendo, pois você vai aprender muito lá, e se tiver noções de programação, já poderá aprender a personalizar seu Atom. Vamos baixar alguns plugins, para isso você pode ir no menu Packages > Settings View > Install Packages/Themes ou pressionar Ctrl+Shift+P (No caso do Windows), digitar Install e escolher a opção, e eu uso muito essa segunda forma: No menu que irá abrir, você pode procurar diversos plugins e temas, na página inicial ele mostra os plugins em destaque: Daqui não tem segredo, pesquise o nome do plugin, ele vai aparecer e então clique em Install, abaixo deixo alguns plugins que eu uso, e nem todos são voltados para Open Tibia. PluginsOpen Recent - Abre arquivos recentes Minimap - Mostra um minimapa com todo o código do arquivo Highlight Selected - Quando você seleciona uma palavra, ele seleciona todas as ocorrências Pigments - Voltado para Front-End, mostra a cor de um código hexadecimal de um arquivo CSS Linter* - Uma função muito presente em IDEs, que mostra algum erro no código, como um ';' faltando Auto-Detect-Indentation - Detecta a indentação de um arquivo e configura a indentação do seu TAB automaticamente) Atom-Beautify - Um "embelezador" de código Emmet - Para front-ends preguiçosos. language-lua - Para adicionar a sintaxe Lua no atom TemasSeti-UI - Um excelente tema com ícones para cada tipo de arquivo. Atom-Monokai - Um tema de sintaxe bem parecido com o Sublime. E tem muitos outros plugins excelentes... No caso do Linter, você precisa baixar o plugin principal, e então o plugin secundário para a linguagem que você pretende utilizar (Não sei se existe um Linter para Lua) Depois disso, você pode ir na opção Themes e mudar o tema de interface e de sintaxe: E por último, mudar algumas configurações a seu gosto: Cada configuração tem sua explicação em inglês. Esse é o Atom, configurado com os plugins do tutorial, com sintaxe Lua, a linha branca cruzando o arquivo é um separador que delimita 80 caracteres e quebra o código que passar disso, dando mais legibilidade. E o mais legal é que o Atom tem um modo de identificar funções diferente do Notepad++, então ele identifica até as funções Open Tibia no seu código. Legal, né? Conclusão Bom, é isso aí, esssa foi a primeira parte de uma sequência de tutoriais que pretendo fazer quando tiver tempo livre, afinal não consigo largar o Open Tibia. Espero que gostem. Abraços.
-
poketibia [Encerrado] Dúvida projeto RPG - Opinião de vocês
tópico respondeu ao zorddella de Oneshot em Tópicos Sem Resposta
Estou meio inativo do mundo Open Tibia, mas é inegável que, desde 2013, o que faz sucesso para os brasileiros (Note a ênfase) é Pokétibia, Narutibia, entre outros derivados. Colaborei recentemente para um projeto chamado Khorem, que tinha um bom enredo voltado ao RPG, com sprites próprias, que ficou cerca de dois anos sendo desenvolvido, e quando finalmente estreou não ficou nem 3 meses online. Mas não desista, reúna uma boa equipe e mão na massa. -
Cheguei a tocar no assunto com o Ranieri (Lordfire) quando me encontrei com ele aqui em SP... Esse problema parece ter raiz em um mais simples: Enquanto a comunidade estrangeira, a.k.a OTLand, tem muitos programadores, spriters, mappers, o que faz com que qualquer projeto seja concretizado facilmente... a comunidade brasileira não, é só ver o próprio fórum, já não existem mais aulas, tutoriais, etcétera... e a área de pedidos é saturada com aquilo que enterrou o Open Tibia (no Brasil), o Pokétibia. Fora spriters brasileiros, que cobram não um olho da cara, mas dois por seus trabalhos. Minha opinião, nada contra ninguém... abraço.
-
Demostração - Sistema de Tranformar Player em Pokémon!
tópico respondeu ao Luga03 de Oneshot em Exposições (Show Off)
Interessante, provavelmente a ideia é baseada no spin-off de Pokémon, Pokémon Mistery Dungeon -
Ele devia conter todas as bibliotecas para compilação. Vá por gentileza no Gerenciador de Pacotes do Dev-Cpp, acredito que é em Help > Package Manager, e instale OpenSSL.
-
Bom trabalho.
-
Esse Dev-Cpp aí é o Stian Dev-Cpp Repack?
-
tfs 1.2 Pequeno erro ao compilar alguem pode me ajudar?
pergunta respondeu ao boyfrempss de Oneshot em Programação
Verifique se você baixou o SDK do projeto The Forgotten Server e também o conjunto de libraries do Boost C++. TFS SDK Boost C++ (32-bit, 64-bit) Até mais. -
informativo Estágio xTibia - Vagas Abertas!
tópico respondeu ao Administrador de Oneshot em Noticias
Bacana. Qual o valor da bolsa-auxílio? Tem VT e VR? -
Eu não virei nada. Poxa, perdi a imagem de quando o Prezyoso fingia ser um funkeiro com um Nextel e tal...
-
Às vezes me dá vontade de voltar a criar conteúdo, ai ela passa.
-
Hm
-
Fala aê, Luuhxp Se a distro (de distribuição, arquivo .exe do servidor) que você utiliza não tiver sido compilada com o parâmetro -D__WAR_SYSTEM__, o que é bem possível, visto sua dificuldade de utilizar esse sistema, você precisará das sources. Com as sources em mãos, fica fácil compilar com o parâmetro dito acima, que possibilitará o uso do War System, caso você não tenha elas, se faz necessário procurar um servidor que tenha sido compilado com o parâmetro ou um que disponibilize as sources. Abração.
-
Veja este paste que criei no codepad.org - http://codepad.org/skN2Sm6t Adaptando para o que você quer, seria: local level = getPlayerLevel(cid) if msgcontains(msg, "hi") then if level >= 20 and level < 50 then -- piece of code here elseif level >= 50 and level < 100 then -- piece of code here else -- piece fo code here end end Em nenhum momento, ele apenas passa pelo primeiro if, como pode ver no link passado acima.
-
Faço das palavras do Tonynh as minhas. Agradeço aos responsáveis pela volta do XTibia.com, é a única comunidade que possui todos meus conteúdos, outras têm apenas uma fração ínfima. Abraço.
-
dúvida [DUVIDA] Rev avançada pra client abaixo
tópico respondeu ao warriorfrog de Oneshot em Lixeira Pública
1) Você quer pegar uma revision para Tibia 9.* ou 10.* e fazer o downgrade para Tibia 8.6? Se sim, não. 2) Nenhuma das duas, compra a versão da Chaitosoft, é estável pra caramba rerere 3) Não, não vai funcionar. -
dúvida Editar a capacidade de um container
tópico respondeu ao Mazynho de Oneshot em Lixeira Pública
Não é possível alterar esse atributo dinamicamente com funções Lua. Abraço. -
http://www.xtibia.com/forum/topic/228590-elemental-staff-wand-que-muda-de-elemento/?hl=wand http://www.xtibia.com/forum/topic/191894-wand-muda-de-efeito/?hl=wand
-
Seção de Actions.
- 13 respostas
-
- rare candy
- otserv
-
(e 2 mais)
Tags:
-
Seu erro foi aqui: if getPlayerLevel(cid) >= 50 then os.time() > getCreatureStorage(cid, 33665) then Só tem um then no final do if, AnaFeeh. O resto devem ser conectores and ou or. Ficando: if getPlayerLevel(cid) >= 50 and os.time() > getCreatureStorage(cid, 33665) then
- 13 respostas
-
- rare candy
- otserv
-
(e 2 mais)
Tags:
-
Posta o script, porque o meu exemplo não era pra dar esse erro, pelo menos eu acho que não.
- 13 respostas
-
- rare candy
- otserv
-
(e 2 mais)
Tags:
-
Legal ver o interesse das pessoas por scripting. Vamos seguir com algumas dicas. Não separe os parâmetros de função com espaço como você fez na linha 2. if getPlayerLevel (cid) >= 50 then O correto é: if getPlayerLevel(cid) >= 50 then Embora a maioria das pessoas não ligue para isso, os scripts precisam de indentação, pois organiza suas linhas de código, e a leitura não fica pesada, mas sim agradável aos olhos dos programadores. Procure sobre indentação e tente praticar nos próximos scripts. function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= 50 then doPlayerAddLevel(cid) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "You need level 50 to use this item.") end return true end Agora para limitar o uso, durante um período de tempo, existe uma função chamada os.time() que armazena o tempo decorrido em segundos desde 01/01/1970. Para exemplificar, eu dei um print os.time() que retornou isso: 1398690049 Ok, aí você me pergunta, como eu vou fazer para limitar o uso de um item, usando essa função? Armazene o valor dela acrescido de X segundos em uma storage e depois compare ela com ela mesmo e... não pera... É isso mesmo. Seu script ficaria assim: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= 50 and os.time() > getCreatureStorage(cid, 33665) then doPlayerAddLevel(cid) doRemoveItem(item.uid, 1) doCreatureSetStorage(cid, 33665, (os.time() + 60)) else doPlayerSendCancel(cid, "You need level 50 to use this item or need to wait a minute.") end return true end Veja o que eu fiz, no momento que o jogador usou o item, peguei o tempo em segundos daquele momento, somei mais 60 segundos e armazenei em uma storage. Na linha 2, faço uma comparação, se o tempo em segundos do momento de uma nova tentativa de uso já passou o tempo armazenado na storage, se já passou, é porque já passou um minuto e por aí vai. Acho que dá pra entender desse jeito, só acho. Abraço.
- 13 respostas
-
- rare candy
- otserv
-
(e 2 mais)
Tags:
-
Não, meus caros. Veja a data de criação de tópico, provavelmente em uma iniciativa de limpar a seção de pedidos de programação, o moderador simplesmente moveu os tópicos para a seção de pedidos resolvidos, enquanto devia ter movido para Lixeira, sem postar "Resolvido".
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
