Ir para conteúdo

Omega

Marquês
  • Total de itens

    1165
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que Omega postou

  1. Ficou muito maneiro, bem mais do que eu esperava só de ver o código. Parabéns.
  2. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  3. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  4. Tópico na seção errada, favor prestar mais atenção da próxima vez. Movido para pedidos e dúvidas - servidores derivados.
  5. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  6. Omega

    Script criar item

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

    Item summon

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  8. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  9. http://www.xtibia.com/forum/topic/96598-pasta-data-parte-i-basico-de-lua/ Já temos esse conteúdo em nosso fórum há muito tempo. É um ótimo tutorial. Olá XTibiano! Infelizmente, seu tutorial foi reprovado. Procure por ajuda na seção de como formular um bom tutorial. Grato pela atenção. Movido.
  10. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  11. Parabéns pelo conteúdo, vou movê-lo para a área de websites, já que esta área se destina mais a códigos prontos de C++.
  12. Omega

    [New Entrada]

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  13. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  14. Omega

    Erro npc

    Essa seção não deve ser usada para pedidos ou dúvidas, temos uma seção específica para isso. Por favor, preste mais atenção da próxima vez. Movido para Pedidos e Dúvidas Resolvidos - Scripting.
  15. O que você pode fazer é usar um addEvent de 10 ms (que será imperceptível pelos jogadores), mas o jogador já terá recebido ou não a skull, permitindo que você cheque. Crie uma função que faça todas essas coisas que você quer fora da função principal (onKill). Use todos os parâmetros que você usaria normalmente na função principal, mas lembrando que o target já não existirá mais, pois terá morrido. Então, em vez de getCreaturePosition(target), utilize targetPos e passe essa posição como parâmetro para sua função secundária (a que você deve criar). Então você deve checar se a skull que ele tinha no momento de execução do script é diferente do momento em que sua função será executada. Se for diferente, então ele acabou de ganhar skull e você deverá criar a gravestone. Mas como o corpo já estará no chão, a gravestone será criada por cima. Um esboço: http://pastebin.com/9rmeUmSs TRUE é uma variável com valor de true. Portanto, é mais fácil (e mais correto) usar true.
  16. É uma listagem simples, mas é útil e não acho que seja tão fácil de encontrar. Aprovado e movido.
  17. Joguei há muito tempo atrás, mas eram servidores piratas. Gostei, mas depois achei muito complicado e cansei. Todas aqueles tiers e ter que ficar 2hs batendo no mesmo bicho é tenso.
  18. [ironia]Bom, as outras histórias também foram muito boas, agradeço ao público por votar em mim e prometo me esforçar para continuar merecendo esse prêmio. Foi um concurso super emocionante, acirrado até o final.[/ironia]
  19. Aplicando em OTServers - I Muito foi desenvolvido desde o início dos OTServers e, embora muitos não tenham observado isso, esse desenvolvimento foi lento. Inicialmente, era muito difícil criar scripts para OTS's, porque o suporte para tal era pequeno. Os primeiros scripts desenvolvidos eram somente actions e spells. Movements, globalevents, talkactions e, finalmente, creaturescripts foram introduzidos posteriormente. Por isso, vamos começar com aplicações básicas de actions, que são scripts que definem uma função chamada quando o jogador usa um item. Antes disso, vamos começar entendendo como funcionam os OTServers: o código-fonte, que é compilado e se transforma, em última instância, naquele executável que serve para abrir o servidor, é feito em C++, uma outra linguagem de programação. Essa parte define toda a base do servidor e é mais complicada de se editar, pois toda vez ele terá que ser compilado novamente. Por isso, utiliza-se Lua, uma linguagem de fácil edição. O código-fonte ou source code ou simplesmente, sources do servidor define o que acontecerá com as informações recebidas pelo cliente. Quando um jogador clica em um item, esse clique é enviado para o servidor, que encaminha essa resposta para um script Lua do tipo action. O servidor, então, lê esse código Lua e o executa. E é aí que nós, scripters Lua, entramos. Até agora abordamos um código para um baú de quest, mas com funções fictícias. Os códigos-fonte mais usados são os desenvolvidos pelo The Forgotten Server Team, mais conhecidos como TFS. Nele, existem várias funções que podemos usar em nossos códigos Lua. Vamos usar algumas funções dele a seguir, para criarmos um script de um baú de quest de verdade. Primeiramente, vamos pensar nas restrições: um baú de quest deve poder ser aberto apenas uma vez, certo? Essa é nossa primeira condição. Além disso, talvez queiramos fazer um baú específico para uma vocação. Essa será nossa segunda condição. Então, o jogador terá duas condições para cumprir e deverá receber uma mensagem avisando se não cumprir cada condição. Caso ambas sejam cumpridas, ele deverá ganhar a recompensa e algo que evite que ele abra novamente o baú. Vamos criar um esboço do código: Agora precisamos traduzir isso para as funções utilizadas e entendidas pelo servidor: a função básica, que é chamada quando um item é usado, se chama onUse e seus dois primeiros parâmetros são cid e item. Precisamos entender o que é o cid. Cada criatura dentro do servidor tem um número de identificação único para ela. Esse número é denominado cid – creature identification. Para executarmos alguma função para uma criatura ou para conseguirmos informação sobre essa criatura, precisaremos fornecer seu número de identificação como parâmetro dessa função. Segue no link uma lista de algumas das várias funções existentes nos servidores 8.6 – aqui. Várias informações dos jogadores podem ser guardadas no banco de dados do servidor (mais sobre isso no capítulo de Banco de dados e SQL). Inclusive informações que chamamos de storages, que podem ser usados para guardar números e strings e não são apagados quando o jogador loga ou morre. Para manipulá-los, podemos utilizar a função setPlayerStorageValue(cid, storageKey, value) e getPlayerStorageValue(cid, storageKey). Cada storage tem uma chave de identificação (storageKey). Se ele não tiver um valor definido, seu valor padrão é -1. Portanto, podemos utilizar essas funções para verificar se o jogador já fez ou não a quest, dessa forma: if getPlayerStorageValue(cid, storageKey) == -1 then jogador não fez a quest! else jogador já fez a quest! end Utilizando a lista das funções, tente selecionar as que você deverá usar para o script do baú. OBS.: deve-se ter cuidado para não repetir o número de um storageKey, pois pode haver conflito entre dois scripts diferentes. Assim, você pode escolher aleatoriamente um número com 6 ou mais algarismos, fazendo com que a chance de repetição seja muito pequena ou listando os storages que você já usou e conferindo para não repetir. Para verificar quais storages já foram usadas, utilize essa talkaction. Assim como várias outras constantes do servidor, cada vocação é associada a um número: sorcerer = 1, druid = 2, paladin = 3 e knight = 4. Para promotions, soma-se 4 ao número da vocação. Para ver o valor dessas e das outras constantes, vá na pasta data do seu servidor e procure pelo arquivo 000-constant.lua dentro da pasta lib. O script do nosso baú deverá ficar com uma cara mais ou menos assim: http://pastebin.com/BVQVzqhi Não se preocupe se você ainda não entendeu totalmente esse código, em breve você poderá fazê-lo completamente sozinho, se já não pode. Essa foi apenas uma introdução a aplicações em OTServers.
  20. Omega

    The Elder Scrolls Online

    O beta tá. Mas depois é 40 dólares pra comprar a edição básica, 60 pra premium e depois de um mês, 15 dólares de mensalidade. Sinceramente, você vê jogos por aí que são "free", mas acaba tendo que pagar mensalidade. Por exemplo, não dá pra jogar Tibia sem ser PA mais. Treinamento offline? É mensalidade. Outro exemplo é Grand Chase, que você pode pagar por equipamentos, experiência, etc. Eu tava jogando Lord of the Rings Online e dá pra comprar TUDO. Então, sinceramente, não me desanimo com a mensalidade, não, desde que não tenham vantagens pagas no jogo. Mas não me pareceu muito diferente do que já tem por aí e me desanimei. Nas primeiras missões já apareceu um bug que a seta não marcava direito o lugar da missão, ficava só mostrando pra ir e voltar.
  21. Omega

    The Elder Scrolls Online

    Alguém aí jogando? Pretende jogar? Brinquei um pouco aqui no beta e me decepcionei =/
  • Quem Está Navegando   0 membros estão online

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