Ir para conteúdo

joaohd

Visconde
  • Total de itens

    361
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que joaohd postou

  1. joaohd

    [Resolvido]

    Para usar o sistema do Mock não precisa definir action nenhuma. Ele disse no tópico que, caso você queira ter chance de 100%, você precisa colocar actionId 1000 no item 8306. Caso você queira isto, basta uma simples edição no script, trocando isto: chance='100/((#*(1/(@/2)))*(@/2))', por isto: chance='100', flw
  2. joaohd

    [Msn] Não Abre

    O internet explorer não influenciaria no msn... Kaonic, ele emite alguma mensagem de erro? flw
  3. joaohd

    [Msn] Não Abre

    ► Veja no firewall se ele n está desabilitado. Caso esteja, habilite-o. ► Veja se está conectado à internet (isto eh óbvio). ► Caso nenhuma solução acima surtir efeito, tente reinstalar uma versão mais nova do msn. flw
  4. É porque você não especificou no movements.xml. Simplesmente adicione as tags seguintes no seu movements.xml: <movevent type="Equip" itemid="ID" slot="head" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="ID" slot="head" event="function" value="onDeEquipItem"/> Onde está escrito "ID", coloque o id do helmet que você quer. Sempre que fizer ese tipo de edição no itens.xml, confira no movements.xml se o item está especificado para fazer a função declarada. Caso não esteja, adicione as tags, lembrando-se sempre de mudar o ID e o slot (caso não for helmet). flw
  5. joaohd

    Item Refleti

    O link é este: http://www.xtibia.com/forum/topic/124946-creatureevents-mod-refletor-de-danos/ flw
  6. Isso não é bug, mas sim um script. Pegue o id dos tiles com problema, vá em movements.xml e procure-os. Caso estejam lá, delete a tag deles e salve. Tenta isso. flw
  7. Introdução à programação LUA e lógica de programação Assim como todas as linguagens de programação, LUA tem suas particularidades e sua estrutura lógica própria, a qual envolve suas funções, operadores e engines. Para começarmos a programação em LUA, devemos conhecer sua lógica, para que possamos aplicá-la em nossos códigos. Abaixo, você encontra os operadores da linguagem e sua explicação: • “Local” = É usado para a definição de variáveis. Pode ser encontrado também destacando uma função. Neste último caso, seu uso pode ser dispensado quando a função não se encontra embutida na função principal. Exemplo de uso: ► local a = 1 ► function onUse(cid, item, fromPosition, itemEx, toPosition) local function helloWorld() print("Hello World") return TRUE end return helloWorld() end ► function helloWorld() print("Hello World") return TRUE end function onUse(cid, item, fromPosition, itemEx, toPosition) return helloWorld() end Note a diferença entre o segundo e o terceiro exemplos. Em ambos, a função principal é a “onUse”, porém, em um dos casos foi usado o operador “local” destacando a função secundária, que se encontrava embutida na função principal, ou seja, “abaixo” da função principal. • “If” = É usado para definir condições. Ele é bastante usado para tornar o script restrito ao uso não programado. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then print("O jogador possui level maior que 10") end return TRUE end Neste exemplo, o código só poderá ser usado para jogadores com level maior que 10 e retornará a mensagem “O jogador possui level maior que 10”. • “Elseif” = Assim como o “if”, é usado para definir condições, porém, seu uso deve estar obrigatoriamente associado ao “if”. Este operador define outras condições para que o código entre em vigor. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then print("O jogador possui level maior que 10") elseif getPlayerLevel(cid) == 10 then print("O jogador possui level 10") end return TRUE end Neste exemplo, caso o jogador tenha level maior que 10, o código retornará a mensagem “O jogador possui level maior que 10”, mas se o jogador tiver level 10, o código retornará a mensagem “O jogador possui level 10”. Note que para usar o “elseif”, antes tive de usar um “if”. • “For” = É usado para fazer loops no código, executando várias ações ao mesmo tempo. Seu uso é indicado para encurtamento de scripts, fazendo com que leve menos tempo para o código ser processado e economizando memória. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = { {x=1, y=2, z=3}, {x=4, y=5, z=6} } for a = 1,2 do doSummonCreature("rat", pos[a]) end return TRUE end Neste exemplo, uma tabela indica as posições onde serão sumonados os monstros. O “for” foi usado para indicar que deveriam ser sumonados 1 rat em cada uma das posições especificadas na tabela. • “While” = É usado para fazer loops no código, porém, diferente do “for”, este executa a ação até ser interrompido. Não é muito usado em OpenTibia pelo fato de usar muita memória para ser executado. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) local i = 0 while i < 10 do print (i) i = i + 1 end return TRUE end No caso acima, a variável “i” foi definida inicialmente como sendo zero. Quando o código é executado, os valores assumidos por “i” são retornados até que “i” chegue ao valor nove, que é quando o código se encerra. • “Else” = É usado para definir o que será feito caso a condição definida anteriormente seja falsa ou verdadeira, de acordo com o código e com o que se deseja. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= 10 then print("O jogador possui level 10 ou mais") else print("O jogador possui level 9 ou menos") end return TRUE end Note que foi usado anteriormente um “if” para a definição da condição. Neste exemplo, caso o jogador tenha level 10 ou mais, será retornada a mensagem “O jogador possui level 10 ou mais”. Mas se o jogador não tiver atingido level 10, será retornado “O jogador possui level 9 ou menos”. Operadores matemáticos em LUA Após entender a função de cada operador de linguagem acima, podemos passar aos operadores matemáticos ou “Operadores relacionais”. São usados para fazer a comparação numérica ou de uma string. Veja abaixo: • “<” = É usado para dizer que algo é “menor que” outro. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) < 8 then print("O jogador não possui vocação, pois seu level é menor que oito") end return TRUE end A comparação feita mostra se o jogador possui vocação de acordo com seu level, mostrando se ele tem level mínimo para ter vocação, visto que no Tíbia, jogadores abaixo do level 8 não possuem vocação. • “>” = O inverso de seu antecessor. É usado para dizer que algo é “maior que” outro. Exemplo de uso: ►function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 8 then print("O jogador pode posuir vocação") end return TRUE end Neste caso, o código retornará que o jogador pode possuir alguma vocação pois possui level maior que 8. •“<=” = Este operador faz a comparação que algo é “menor ou igual” que/a outro. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) <= 8 then print("O jogador não pode usar exura") end return TRUE end Neste exemplo, o código verifica se o jogador possui level 8 ou menos para dizer se ele pode ou não usar exura, visto que no Tíbia o jogador só pode usar exura se tiver level 9 ou maior. • “>=” = Este operador faz a comparação que algo é “maior ou igual” que/a outro. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= 9 then print("O jogador pode usar exura") end return TRUE end Neste caso, o código verifica se o jogador possui level 9 ou mais para dizer se ele pode ou não usar exura. • “==” = Este operador faz a comparação de igualdade. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) == 8 then print("O jogador já pode abandonar rookgaard") end return TRUE end A comparação feita mostra se o level do jogador é ou não 8. Se for 8, o código retorna a mensagem “O jogador já pode abandonar rookgaard”. • “~=” = Este operador faz a comparação de diferença. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) ~= 10 then print("Somente jogadores com level 10 podem usar") end return TRUE end O exemplo restringe o uso apenas a jogadores com level 10. Se o jogador não possuir level 10, o código retorna a mensagem “Somente jogadores com level 10 podem usar”. _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._. Bom, é isso. Tentei fazer um tutorial completo e que ajudasse quem quisesse aprender a linguagem. Tutorial feito totalmente por mim. Espero que esteja bom e espero comentários também. @Editado Editado a fim de corrigir alguns erros de ortografia e nos scripts. Será que ganho um ponto de reputação?
  8. Talvez a solução fosse a seguinte: -> Implementação de um sistema de agradecimentos, onde a cada número de agradecimentos de pessoas diferentes você obter, você ganha 1 ponto de reputação. Assim, a equipe ficaria menos encarregada, e mais incentivados os usuários se sentiriam em postar coisas boas/novas, trazer tutoriais que realmente ensinem e até mesmo o incentivo à ajuda nos setores de ajuda como Scripting, Mapping, Programação... flw
  9. joaohd

    Item Refleti

    O iRockStar já fez um desses. Só dar uma olhadinha na seção dos CreatureScripts&GlobalEvents. flw
  10. Fico feliz em saber que deu certo. Agora só falta você colocar no tópico o script atualizado, porque nem todo mundo lê os comentários... ps: como funcionaria esse "!Up" e "!Down" ? (acho que tem que mandar por pm, não sei se pode ficar batendo papo aqui no tópico) flw
  11. Tenta usar esse aqui. Esse não muda o outfit se n voar: Ve se deu. flw @Editado: Eu não mexi no back.lua, mas pelo que vi vai dar erro na hora de retirar a condition, porque não tem condition nenhuma 0o
  12. joaohd

    Erro E Duvida

    O remere n detecta que os arquivos estão na pasta dele. Você tem que escolher o local onde eles estão. E a versão dos arquivos e do mapa tem que ser iguais, exceto em algumas versões em que não foram alteradas as Sprites. flw
  13. Então usa esse movement pros players não poderem pisar nos tiles: Salve em "Movements"..."Scripts" com o nome de "lava.lua". E em movements.xml Vê se deu. flw
  14. Você tem que colocar ele na pasta "Actions"..."Scripts"..."Tools". Depois coloca no actions.xml a tag: flw
  15. Sò uma pergunta... Caso o jogador esteja em um local fora da cidade, onde não existem akeles tiles invisíveis e usar o script, não dará nenhum erro no console??
  16. Veja no map editor os outros tipos de lava e substitua. Tente usar a lava do "Terrain pallet"..."Cave(ou Nature se não me engano)". Quanto ao npc vender runas com 100x de cargas, abra o arquivo .lua dele e localize as runas. A blank rune, por exemplo, deverá estar assim: Onde está "2260" é o id do item. Onde está "10" é o preço do item. Onde está "1" são as cargas. Substitua o "1" por "100". Caso o seu npc for somente .xml, o sistema é parecido, mas as cargas estarão sempre na 3ª casa numeral. flw
  17. O script que vou postar foi retirado do servidor XvX 8.50. Não sei se funciona. Testa e fala se deu certo. flw
  18. joaohd

    Talkaction Muito Importante

    Nada. Isso é so uma sentença dizendo que se você não colocar o nome nem a storage, o script não vai fazer nada além de te mandar uma msg dizendo que tem que colocar nome e storage. O script já ta pronto. Só testar. flw edited não é bem uma sentença, e sim uma condição
  19. Pra arrumar, voce vai ter que abrir seu mapa com o map editor (recomendo remere), ir em "Map"..."Edit towns". Agora, clique em "Add", coloque o nome de sua cidade e coloque a posição correta do templo. Salve e feche. Agora, abra o config.lua de seu servidor e procure por: Onde tem XXX, YYY, ZZZ, coloque as coordenadas do seu templo respectivamente. Salve e feche. Agora, abra sua database e vá no Account Manager e mude a posição dele para as coordenadas que voce colocou no config.lua. Em "Town", coloque 1. Salve e feche. Veja se deu certo. flw
  20. joaohd

    Talkaction Muito Importante

    nem sei se funciona. mas tenta: e em talkactions.xml:
  21. na tag elements: aí é so trocar o physical por outros elementos e o 20 pela porcentagem que voce quiser flw
  22. joaohd

    [Resolvido]

    isso vem em todos os ots: é o script da shovel. flw
  23. Putz, tem quantos participando já? To pensando em participar mas nem sei quem ta inscrito ainda. To tendo umas ideias aqui. Se tiver 3 pessoas ou + inscritas, eu participo. flw
  24. Muito bom tutorial. Pena que já sou adepto ao fireworks. Ve se fiz direito: flw
  25. joaohd

    Odirion World #

    Nome: João Marcos Nick: apocarai Idade: 17 Área de interesse: Scripting Quanto tempo atua na área: 1 ano Porque quer participar da equipe: Desde que ingressei na área de ot server me interesso por entrar em alguma equipe, e vejo que a equipe que está sendo montada é séria e dedicada. Contato: bhering_joao@hotmail.com
  • Quem Está Navegando   0 membros estão online

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