Ir para conteúdo

MaXwEllDeN

Héroi
  • Registro em

  • Última visita

Tudo que MaXwEllDeN postou

  1. [paste]aHGgp1dd[/paste]
  2. TpEvents.lua [paste]QXvx9BaR[/paste] <talkaction words = "/event" event = "script" value = "TpEvents.lua" /> Exemplo de uso:
  3. Precisa instalar a libboost, dá uma procurada ai no fórum, com certeza tem um tópico ensinando a fazer.
  4. O certo seria: <action actionid="12001;12002;12003;12004;12005;12006;12007;12008;12009" script="points.lua"/> Ou até <action actionid="12001-12009" script="points.lua"/>
  5. MaXwEllDeN postou uma resposta no tópico em Suporte Tibia OTServer
    Cara, você não tá usando o gesior, tenho quase certeza que você ainda não moveu os arquivos do gesior pra pasta do apache...
  6. MaXwEllDeN postou uma resposta no tópico em Suporte Tibia OTServer
    Posta isso anexado, cada arquivo separadamente e suas pastas, do jeito que tá tá muita bagaceira, fica chato de entender.
  7. MaXwEllDeN postou uma resposta no tópico em Recursos Avançados
    xD, ficou bacana Guido. Provando que simplicidade não influencia na utilidade, xD
  8. Nem sou, huahua ainda tenho muito que aprender . Tópico movido!
  9. skill rates, não mudei nada na fórmula que ele adiciona as skills.
  10. [paste]5j5vBiAz[/paste]
  11. <globalevent interval = "600" event = "script" value = "MapChange.lua"/> em interval você configura o intervalo em segundos. MapChange.lua [paste]yqGLGDsj[/paste]
  12. [paste]frETN4Wv[/paste]
  13. MaXwEllDeN postou uma resposta no tópico em Suporte Tibia OTServer
    Você colocou a actionid 20321 no piso? Descreva a situação por favor! Dá algum erro no console do servidor?
  14. MaXwEllDeN postou uma resposta no tópico em Suporte Tibia OTServer
    <moveevent type ="StepIn" actionid = "20321" event = "script" value = "TileEXP.lua" /> TileEXP.lua local exp = 150 -- Quanto de exp vai adicionar local interval = 3 -- Em quantos segundos local function xp(uid, pos) if not isCreature(uid) then return false end local p = getThingPos(uid) if p.x ~= pos.x or p.y ~= pos.y or p.z ~= pos.z then return false end doPlayerAddExperience(uid, exp) addEvent(xp, interval * 1000, uid, pos) return true end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then addEvent(xp, interval * 1000, cid, toPosition) end return true end
  15. Use o mesmo item.otb que você usa no servidor, no RME.
  16. Bem dahora Psy. Mas, é como eu disse, coloca algo novo, que torne o seu diferente dos outros.
  17. MaXwEllDeN postou uma resposta no tópico em Tutoriais sobre Scripting
    Pattern Pattern ("Padrão" em pt-br) é uma poderosa funcionalidade para manipulação de strings (caso você não saiba o que é uma "string", busque saber antes de continuar, recomendo também ter um certo domínio sobre a biblioteca string), e usada para buscar um padrão de texto pré-definido. Porque aprender ? Possui recursos indispensáveis quando se precisa trabalhar com strings, alta aplicabilidade em scripts direcionados a otserv (talkactions), não que se vá usar isso a todo o momento, mas é altamente recomendado que se saiba trabalhar com patterns, é extremamente útil as vezes. Funções Algumas funções da biblioteca padrão string que aceitam pattern em seus parâmetros: string.find(string, pattern) – Procura a primeira instância da pattern na string string.gfind(string, pattern) – Quando for chamada repetidamente, retorna cada instância da pattern na string string.gsub(string, pattern, replace) – Retorna uma string em que todas as instâncias da pattern foram substituidas por replace string.match(string, pattern, init) – Retorna uma lista de ocorrências da pattern na string, começando em init (1 significa o primeiro caractere da string, 2 o segundo, assim por diante) Conjuntos Quando se constrói uma pattern, se utiliza alguns caracteres, cada um representando um conjunto diferente: (onde "x" não é um caractere mágico ^$()%.[]*+-?) → Representa o caractere "x" mesmo; . → Representa todos os caracteres; %a → Representa todas as letras; %c → Representa todos os caracteres de controle; %d → Representa todos os dígitos; %l → Representa todas as letras minusculas; %p → Representa todos os caracteres de pontuação; %s → Representa todos os caracteres de espaço; %u → Representa todas as letras maiúsculas; %w → Representa todos os caracteres alfanuméricos; %x → Representa todos os dígitos hexadecimais; %z → Representa o caractere com a representação do 0 (zero). Ao usar zeros na pattern ela não irá funciona, use esta nesse caso; Ao usar letra maiúscula, isso faz representar o contrário (Exemplo: %A → Representa tudo que não for letras; %D → Representa tudo que não for um digito; assim por diante...). Como dito anteriormente, para se criar uma pattern é necessário utilizar esses conjuntos, uma pattern é feita de uma sequência desses conjuntos. Se você quisesse criar uma pattern para encontrar uma certa string em um texto, por exemplo, para encontrar os números da string "23otserv", você teria que usar esta pattern "%d%dotserv", assim você estaria definindo que quer os numeros que estão ao lado da palavra ‘otserv’. Mas e se tivesse que encontrar um numero com 10 "casas" ? Por isso existe os modificadores, para evitar essa repetição desnecessária. Modificadores Servem principalmente para poupar serviço e são quatro, entenda 'x' como sendo algum conjunto (%a, %c, %d, ...): x* → Retorna 0 ou mais repetições do conjunto x. Sempre retornará a maior cadeia possível encontrada; x+ → Retorna 1 ou mais repetições do conjunto x. Sempre retornará a maior cadeia possível encontrada; x- → Retorna 0 ou mais repetições do conjunto x. Sempre retornará a menor cadeia possível encontrada; x? → Retorna 0 ou 1 ocorrência de x; Elementos especiais Existe também quatro elementos especiais: %n → Sendo n um numero entre 1 e 9, busca a enésima captura (apenas vi sendo usada na função string.gsub); %bxy → Procura uma string que inicia com x e termina com y; ^ → Quando está no começo da pattern, força a pattern a ser encontrada no começo da string; $ → Quando está no final da pattern, força a pattern a ser encontrada no fim da string; Nota: Se ^ ou $ estiverem em outros lugares da pattern, não fazem nada, apenas representam eles mesmos. Construindo uma pattern Vamos construir algumas patterns com os elementos citados acima. Primeiro alguns exemplos e depois uma explicação mais detalhada de cada elemento da pattern: String para as patterns: "Exemplo lua de pattern lua feito em lua" exemplos toscos, a gente se vê por aqui Pattern: (%a+) lua Capturaria: Exemplo lua de pattern lua feito em lua Ele só retornará o primeiro caso que corresponder com a pattern. Agora, ao invés de usar o "%a" fosse usado o "." (que captura tudo), aconteceria isso: Pattern: (.+) lua Capturaria: Exemplo lua de pattern lua feito em lua Como "%a" captura apenas letras e não o "espaço", foi por isso que no primeiro exemplo só capturou a palavra "Exemplo" e no segundo exemplo, como foi usado o "." que captura tudo, capturou uma parte maior (ai que vêm a parte do modificador) por causa do modificador "+" que sempre vai buscar a maior cadeia possivel, agora veja um exemplo usando o "-": Pattern: (.-) lua Capturaria: Exemplo lua de pattern lua feito em lua O modificador "-", como dito anteriormente, captura a menor cadeia e por isso capturaria apenas o "Exemplo". Todos os modificadores são importantes. Um exemplo maior: Pattern: (%a+) lua (.-) lua (.+) Capturaria: Exemplo lua de pattern lua feito em lua Para quem não entendeu Explicação passo a passo: (%d+) Captura → O parenteses define que você quer que retorne essa captura. Conjunto → No caso é o de digitos. Modificador → No caso mostra que é para obter a maior cadeia possivel com 1 ou mais repetições do conjunto. Um exemplo mais avançado Agora usando de exemplo a pattern da função string.trim, que remove os espaços em branco do lado esquerdo e direito da string. function string.trim(str) -- Function by Colandus return (string.gsub(str, "^%s*(.-)%s*$", "%1")) end string.gsub(str, "^%s*(.-)%s*$", "%1") str → Uma string qualquer; ^ → Força o começo da pattern ser encontrada no começo de str; %s* → Conjunto de espaços, podendo ter 0 ou mais repetições; (.-) → A captura principal, a que vai ser retornada, podendo ser digitos, letras, espaço, etc; $ → Força o final da pattern ser encontrada no fim de str; %1 → Retorna a 1ª captura da pattern e usa como parametro da função (Esse é um dos elementos especiais, %n); Dessa forma será removido os espaços apenas no começo e no fim da string ! Complemento Depois de dominar e entender como funciona as patterns, vamos aplica-las em funções, vou mostrar um exemplo de cada função (as que foram citadas no começo). string.find: init, end, case1, case2 = string.find("minha string123", "(%a+) (.+)") init → Onde inicia a captura encontrada (nesse caso, init = 1); end → Onde termina a captura encontrada (end = 15); case1 → Primeira captura que equivale a pattern (%a+) (case1 = minha); case2 → Segunda captura que equivale a pattern (.+) (case2 = string123); string.gfind: for occ in string.gfind("a1a2a3a4a5", "(%a%d)") do print(occ) end occ → Terá um valor para cada instância da pattern (%a%d) encontrada, então irá printar a1, a2, a3, a4 e a5. string.match: case1, case2 = string.match("Eu tenho 50 reais", "(%d+) (%a+)") case1 → Primeira captura que equivale a pattern (%d+) (case1 = 50); case2 → Segunda captura que equivale a pattern (%a+) (case2 = reais); Referência http://www.lua.org/manual/5.1/pt/manual.html#5.4.1 http://lua-users.org/wiki/PatternsTutorial Então é isso, espero ter sido o mais claro possivel, Qualquer dúvida, erro ou sugestão, poste !
  18. MaXwEllDeN postou uma resposta no tópico em Tutoriais sobre Scripting
    Criado por: Kaotar Testado e Baseado em: TFS 0.4_DEV Informações adicionais: Todo mundo já se deparou, quando foi modificar a sua spell, com a formula e não entendeu o que cada numero significava, irei explicar tudo o que necessitas nesse tópico. Hail, bom como já leram nas informações adicionais acima, estou aqui para explicar o que cada numero, na formulas de combat, significam. Formula: setCombatFormula(combat, type, mina, minb, maxa, maxb[, minl, maxl[, minm, maxm[, minc[, maxc]]]]) Como podem ver são varios os argumentos que passamos para essa função: para facilitar a explicação vou chama-los de forma diferente. Notem as cores, você pode escolher até que cor quer usar, você pode usar só os argumentos azuis, os azuis e os vermelhos ou todos. PS: Impossível usar apenas o vermelho ou apenas o marrom é obrigatório seguir a ordem. Vamos as explicações: Bom como não é obrigatório colocar os numero em vermelho, quando não é especificados esses números nas spells a formula pega eles do config.lua na parte. formulaLevel = 5.0 formulaMagic = 1.0 Sendo que: Mas e o i ,j? Explicando em outras palavas: i, j serão valores padrões para Minimo e Maximo, se eles forem menores que i, j então i, j que serão considerados.Exemplo: Se Minimo = 50, Maximo = 100, i = 60 e j = 80 então a formula vai ter o Minimo de 60 por causa que i substitui o Minimo, pois é maior Maximo vai ser 100, pois j é menor que o Maximo, então não substitui. Bom acho que isso vai facilitar a vida de muita gente, pois avia varias duvidas na seção de suporte sobre o assunto, então decidi fazer esse tópico. Alguma observações: Este tópico aplica-se apenas quando o tipo de formula é COMBAT_FORMULA_LEVELMAGIC; Está formula ainda tem sofre o adicional da vocação e dos equipamentos; Está formula foi retirada do TFS 0.4_DEV, e pode ter alterações em outras verções. Espero ter ajudado. TODO: Explicar outros tipos de formulas e mostrar outras formas de fazer isso. Lembrando: Não fui eu quem criou esse tutorial, foi o Kaotar, de outro fórum, eu só trouxe ele para o TibiaKing.
  19. Deleta tudo relacionado ao sistema, baixa e instala denovo. Se não der, testa em outro servidor, se está dando o mesmo erro.
  20. [paste]X3JjuyZ3[/paste]
  21. Meu amigo, te dei REP - por Double post, seja paciente e espere que alguém responda sua dúvida. Ninguém aqui é pago pra ficar ajudando os outros, e não são macacos que só servem pra resolver suas dúvidas, se você quer que alguém ajude, espere. --- Cola o script da stone aqui.
  22. Amigo. O título do seu tópico estava incorreto, leia as regras da sessão antes de ir criando os tópicos. Sobre o script, leia ele e tente copiar a parte do Eeve, só mudando o nome dos pokémons, pra ver se dá certo.

Informação Importante

Confirmação de Termo