Ir para conteúdo

Demonbholder

Infante
  • Total de itens

    1551
  • Registro em

  • Última visita

  • Dias Ganhos

    24

Tudo que Demonbholder postou

  1. Sem problemas, não vou desistir, já tenho idéia do problema. O problema que você esta tendo pode ser resolvido se você seguir o seguinte tutorial: http://www.xtibia.com/forum/topic/149324-eliminando-erro-de-vocations/ Muitos tem esse problema, mas com este tutorial ele pode ser resolvido. Quanto ao script do !buyvip, continue usando este ultimo que eu lhe passei. Boa sorte, aguardo resposta.
  2. Certo, então troca o script do !buyvip por este:
  3. Troca o !buyvip por isso: Depois troca o vocations.xml por isto:
  4. Sugiro que troque de OtServer então, porque se for convencer o monstro, terá de editar o arquivo do demon.xml, porem todos irão poder convence-lo com a runa; meio difícil do seu server não ter essa função, porque se realmente não há, é impossível ter o comando "/s" de god, gm, cm, etc... A menos que doSummonMonster seja outra função no seu Ot, então teria que ver a função no comando do "/s".
  5. Posta o comando do !buyvip e vocations.xml.
  6. Estranho, aqui funcionou perfeito, ele convence e os monstros saem de perto dele. Edit: Isso está acontecendo porque você editou errado. Do jeito que eu fiz funciona perfeitamente.
  7. Demonbholder

    Os.date

    Olá galera do XTibia, vamos ver... vou tentar ajudar vocês com um tutorial de os.date. Sendo sincero, eu aprendi a pouco tempo como usar o os.date, em um exemplar de programação lua. Estou fazendo este tutorial para esclarecer a maioria das duvidas que vocês possam ter, então, por favor, prestem muita atenção se forem ler, e não leiam a menos, que estejam com tempo, paciência e vontade de aprender, pois eu creio que mesmo sendo novato com o os.date, eu vou conseguir fazer um bom tutorial. Publico alvo: Este tutorial foi feito para ensinar programadores lua, do nível iniciante/intermediario, ou seja, aqueles que já tem algum conhecimento quanto a os.time, variáveis, loopings, e etc... Agradecimentos: Devo agradecer ao ta4e, uma pessoa que eu considero extremamente confiável e amiga, já que sempre esteve disposto a me ajudar em minhas duvidas, e me ensinou praticamente tudo que eu sei. Alguma coisa para o noobinhu, que me fez ter curiosidade quanto ao assunto. Sem mais delongas, vamos ao tutorial... Em OtServers, os.date é pouco explorado, já que sua funcionalidade, é, por muitos, desconhecida. Então vou explicar como você poderia usa-lo em um script para o seu ot. Vamos ver, digamos que você queira que um script funcione a partir das oito da manhã, e pare de funcionar a partir das duas da tarde; para isso, você poderia usar o os.date. O os.date, assim como o os.time, serve para controlar valores de tempo, e retornam os mesmos de acordo com os valores da cpu, a partir de quando o script entra em funcionamento, então, o exemplo acima ficaria assim: function onSay(cid, words, param) if os.date("%X") >= "08:00:00" and os.date("%X") <= "14:00:00" then doPlayerSendTextMessage(cid, 22, "Teste") end end No exemplo acima, a talkaction só ira funcionar se for depois das oito da manhã, e antes das duas da tarde, então, dentro deste intervalo de tempo, o script funcionará normalmente, e irá mandar a mensagem "Teste" para o jogador. Já se o script for executado fora deste intervalo, no caso, nada acontecerá. Deve-se notar, também, que no script acima, dentro dos parênteses esta isto: "%X" Certo, eu acho que eu poderia chamar isto de parâmetro; existem vários destes parâmetros que podem ser utilizados, neste caso, eu usei o "%X", pois ele retorna valores do horário na seguinte forma: Onde, azul são as horas, vermelho são os minutos, e verde são os segundos; neste caso, você deveria usar os números como um relógio digital de 24 horas. Acho que a lógica do os.date já deu para entender, mas vamos recapitular: Uma coisa muito importante do os.date, é que você deve igualar ele, com valores entre aspas, mesmo que sejam números, por exemplo: if os.date("%X") >= "08:00:00" and os.date("%X") <= "20:00:00" Perceba que os números estão entre aspas. Certo, depois de termos recapitulado a lógica do os.date, vamos aos mais importantes parâmetros que podem ser usados e os valores que são retornados por eles; segue a lista: Parâmetro: Explicação: %a dia da semana abreviado (Wed) %A dia da semana completo (Sunday) %b nome do mês abreviado (Sep) %B nome do mês completo (April) %c data e hora (09/16/98 23:48:10) %d dia do mês [01-31] %H hora de um relógio de 24 horas [00-23] %I hora de um relógio de 12 horas [01-12] %M minutos [00-59] %m mês [01-12] %S segundos [00-60] %w dia da semana por números [0-6 = Domigo-Sabado] %x data (09/16/98) %X hora (23:48:10) %Y ano (1998) Vocês podem perceber que todas as palavras que forem usadas, tanto abreviações, como palavras inteiras, devem ser em ingles, é claro. Certo, dito os mais usados parâmetros e a lógica do os.date, acho que isso pode encerrar o nosso tutorial, mas antes, uma ultima dica; se você tem duvida de que valor o parâmetro vai retornar, faça o seguinte: function onSay(cid, words, param) local par = os.date("Parâmetro") doPlayerSendTextMessage(cid, 22, "O valor é "..par.."!") end E por ultimo, mas não menos importante, para se criar uma tabela usando o os.date, deve-se usá-lo da seguinte maneira: os.date("*t", Valor_da_Tabela) Isso deve funcionar e encerrar o nosso tutorial; é claro que o os.date pode ter mais alguma utilidade que eu desconheça, mas eu acho que isso pode ser uma boa introdução dele. Espero que tenham gostado, ate mais.
  8. Acho que é isso: Teste e diz se funcionou, valeu.
  9. Como assim em uma área pre-determinada? Não vai ser em volta do player?
  10. Duvida resolvida por pm; solução: Troque a função doCreatureSay por esta: doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE) Já podem mover o tópico.
  11. @gabisaoo Eu estava rindo porque ele falou: totalmente inovador e copiado de outros jogos Como algo é inovador se é copiado de outros jogos? Ou seja, estava rindo que ele falou errado. Eu não quis dizer que não é inovador ou que não é copiado dos outros jogados, só quis dizer que ele se contradiz. Na minha opinião é bastante inovador, boa sorte.
  12. Olá pessoal do XTibia! Venho aqui, mais uma vez, apresentar um script desenvolvido por min e pelo Vodkart. O script consiste em um sistema de tiles (pisos) com action ids onde eles adicionam uma porcentagem de vida e mana para o jogador, e ainda pode ser usado como armadilha, podendo ser usado em diversas quests. Segue o script e a explicação deste: Como não havia as funções necessárias para o desenvolvimento do script, estas foram criadas no próprio e estão funcionando perfeitamente. Para adicionar o script, vá em data/movements/scripts, crie um arquivo .lua e cole isto dentro dele: No script acima, você irá escolher dois action id, um para o script de cura, e outro para as armadilhas. No caso, eu escolhi o action id 60160 para a cura, e o action id 60161 para as armadilhas. Azul: Action id usado nos tiles, lembrando que o action id do tile de cura, e o action id do tile de armadilha deve ser diferente. Vermelho: Tempo que vai ficar adicionando/removendo vida e mana do jogador. Verde: Quanto que vai ser adicionado de vida e mana ao jogador em porcentagem, ou seja, vai adicionar tanto por cento da vida máxima do jogador. 1/10 = 10% 2/10 = 20% 3/10 = 30% 4/10 = 40% 5/10 = 50% 6/10 = 60% 7/10 = 70% 8/10 = 80% 9/10 = 90% 1 = 100% Laranja: Quanto que vai remover de vida e mana do jogador (desta vez, não em porcentagem!). Marrom: Este é o tempo necessário para o jogador poder usar o tile e recuperar vida; pode ser configurado com a seguinte conta: Numero_de_Segundos Multiplicado_por Tantas_Vezes Exemplo: 3600*24 -- No caso, são 3600 segundo, o equivalente a uma hora, multiplicado por 24, resultando em um dia. Se você esta por dentro das novidades do forum, certamente já adicionou o script do Vodkart, que se encontra neste link: Script do Vodkart Se já adicionou e seguiu todos os passos exatamente como esta dito lá, o script se torna menor, menos complexo e mais configurável, então pode usar, ao invés do script acima, este outro: A unica diferença é que se você já adicionou as funções do Vodkart, poderá contar com elas e usar o script acima, porém, os dois estão funcionando igualmente. Após ter adicionado um dos scripts, vá em data/movements, abra o arquivo movements.xml e cole esta tag em algum lugar dele: Azul: Action ids usados nos tiles. Cinza: Nome do arquivo .lua criado para adicionar um dos scripts acima. Espero que gostem, e comentem, até a próxima!
  13. Funcionou perfeitamente, parabéns velho, você é um gênio, sempre ajudando o pessoal e tal. Muito bom mesmo, ainda teve que criar uma função... me salvou pela décima vez cara, muito obrigado mesmo, rep + merecido.
  14. kkkkkkk, TOTALMENTE INOVADOR E COPIADO DE OUTROS JOGOS, kkkkkkkk. Para velho, não exagera, nem é tão difícil como vc ta falando...
  15. Testado na versão 8.50, qualquer adaptação necessária, da um toque.
  16. Oi galera do XTibia, queria saber se tinha como vocês fazerem um avatar para min. Se alguém tiver tempo, e eu não estiver sendo tão exigente, será que tinha como colocar o Takayanagi? Esse cara ai do meu atual avatar, se não conhecerem, podia ser do Hitsugaya, o cara da minha fan bar ali. Se tiverem um tempo ai, se der pra fazer, seria eternamente grato; é isso, valeu.
  17. Ah, me intenção não foi ofender, se pareceu que foi isso, desculpa. É verdade o que eles falaram, é como o sistema de war com escudos, é possivel, mas difícil colocarem pra free. Boa sorte velho.
  18. Heuhuehuehu, você quer que eu acredite que mais de 10 scripter tentaram fazer isso? heuheuheuheu Vou te falar porque é mentira: 1º É complicado; 2º Ninguém tem saco pra fazer isso. Odeio quando postam assim: Desafio scripting, ou Desafio de script... acha que isso motiva nos a fazer o script? Acontece o contrario... Abraços...
  19. Cara, entendo que você queira atenção para o seu pedido, mas postar duas vezes seguidas é flood, então cuidado com isso, o certo seria: local ite = {x=???, y=???, z=??, stackpos=255} getThingFromPos(ite) Se eu não me engano é 255 que é o mais alto de uma pilha.
  20. Olá galera do XTibia, hoje eu gostaria de postar um sistema de kills; se o mesmo já fora postado antes, peço minhas sinceras desculpas, já que, fui eu quem criou este, mas tenho a impressão de já ter visto ele em algum outro lugar. Bom, se já foi postado antes, postem que eu reporto para fechar. Primeiramente gostaria de pedir desculpas pelo meu amadorismo, pois reconheço que não me comparo com os grandes nomes de scripters do XTibia, mas estou aqui, tentando ajudar o máximo possivel. Este sistema funciona da seguinte maneira: você usa a talkactions e recebe uma mensagem de todos os jogadores online, com o numero de vezes que eles mataram alguém (desde que o sistema foi implantado). Sem mais delongas, vamos ao sistema: Em data/talkactions/scripts, crie um arquivo .lua e cole isto dentro: Só por curiosidade, eu utilizei o sistema de !online para fazer este. Agora vá em talkactions.xml e cole esta tag em algum lugar dele: Certo, talkaction pronta, agora vá em data/creatureevents/scripts, crie um arquivo .lua e cole isto nele: Feito isso, abra o arquivo login.lua e ache as tags que registram eventos, entre elas, cole a seguinte tag: Por ultimo, abra creatureevents.xml e cole a seguinte tag em algum lugar lá: Azul: Palavras para ativar a talkaction. Vermelho: Nome do arquivo .lua que você criou para colocar o script da talkaction. Laranja: Nome do evento, você pode escolher qualquer um, mas deve ser o mesmo nas duas tags. Verde: Nome do aruiqvo .lua que você criou para colocar o script do creatureevents. Sei que não esta muito bom, já que não é por tables, como seria o ideal, e também desculpem-me por todas as edições desde o inicio do tópico... Espero que gostem, e mais uma vez desculpem se já houver alguma coisa parecida, ou, se eu errei alguma coisa.
  21. Parabéns velho... porra, que criatividade do caralho, queria ter metade desta.
  22. Da para usar os.date, você quer que o script funcione a partir das sete da manhã, até as sete da noite? Mais nada?
  23. Oi, eu já tinha visto um problema parecido antes, só não entendi o por que da mensagem de erro no seu script, já que não há nenhuma condição... Testa esse ai: Qualquer coisa, avisa. -- Edit: Mudei o script, este deve funcionar.
  24. Acho que funciona: Testa ae, depois fala se funcionou. Até.
  • Quem Está Navegando   0 membros estão online

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