Ir para conteúdo

Shyrriro

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Shyrriro recebeu reputação de Arysoooon em (Resolvido)[PEDIDO] Script comando !sellhouse pra vender house   
    Lokozoido o seu deve esta assim
     
    <talkaction words="!sellhouse" filter="word-spaced" event="function" value="houseSell"/>
     
     
    deixe como o klipstyle disse.
     
    <talkaction words="!sellhouse"  event="function" value="houseSell"/>
     
     
     
     
    Diferença:
     
    <talkaction words="!sellhouse" filter="word-spaced" event="function" value="houseSell"/>
    <talkaction words="!sellhouse"  event="function" value="houseSell"/>
  2. Gostei
    Shyrriro recebeu reputação de TsplayerT em (Resolvido)Corpose Errada!   
    Não sei o que ocorreu por ai, não tenho conhecimento da base que usa, mas devia esta correndo tudo bem. Tente verificar a forma que salva o item otb para não dar quaisquer bugs.
  3. Gostei
    Shyrriro recebeu reputação de TsplayerT em (Resolvido)Corpose Errada!   
    http://prntscr.com/7q2n2k
     
    Segue a print
     
     
    Client ID
     
    Server ID é o ID do item que será a corpse que você irá por no xml do pokemon
     
    também coloque o corpse em type container para que o corpo possa ser aberto.
     
    http://prntscr.com/7q2nhb
     
    não esqueça de por no item.xml
     
        <item id="2818" article="a" name="defeated magikarp">
                 <attribute key="containerSize" value="1" />
            <attribute key="decayTo" value="0" />
            <attribute key="duration" value="50" />
            <attribute key="corpseType" value="blood" />
        </item>
     
     
    Tudo isto é um exemplo, siga as minhas imagens.
  4. Gostei
    Shyrriro recebeu reputação de ramonbdl157 em (Resolvido)Dúvidas spriters bugadas... Urgente   
    Este programa da quais você teve problema é o programa DatEditor Demoniac Application, é um programa para se add novas sprites e organizala-las é mesmo que object builder, o object builder é bem melhor para você usar então aconselho a usa-lo.
     
    Tome este item editor ele tem melhor compatibilidade
    • Item Editor 0.2.1



     
    Aqui um breve tutorial sobre ele, instala novamente coisa que você vai saber fazer. Após todo processo você vai na pasta o item editor e em data. \ItemEditor\Data dentro de data você cria uma pasta chamada 854 se seu client não for uma versão extendida caso seja uma versão estendida crie uma pasta com nome 854_EX e jogue seu spr e dat dentro, aconselho a ir nas propriedades do executavel e configurar ele para abrir somente como administrador para que não ocorra certos problemas.
     
    Aqui o object builder para você adicionar novas sprites e edita-las a seu gosto, é o melhor e mais atualizado que encontrei em um site oficial, pois não vai requerir instalar certos programas que requer nos que tem aqui no forum.
     
    • Object Builder



     
    Boa sorte!
  5. Gostei
    Shyrriro recebeu reputação de ramonbdl157 em (Resolvido)Dúvidas spriters bugadas... Urgente   
    Sim você pode usar o item editor, e procurar um tutorial aqui mesmo no forum você pode achar facil. Eu estou de saida então depois retorno e vejo suas duvidas então eu vou por te ajudar mais um pouco aconselho você a usar item editor 0.2.1, caso esteja necessitando na volta eu coloco para download para você, enquanto isso vai aprendendo ai, a como usar ou se achar um bom, boa sorte. criar items novos é facil, após abrir no programa e criado, você só precisa editar ele no items.xml, coisa simples, não é nenhum bixo de sete cabeças.
     
    Ai vai um exemplo http://prntscr.com/7oq35p
     
    Server ID 11403 será o id que da foto
     
    7961 é a id do client que você vai colocar ali ele vai reconhecer a foto do empoleon! lembrando marque aquelas mesmas opções que estão ali se não irá da problema. usable e pickupable.
  6. Gostei
    Shyrriro recebeu reputação de ramonbdl157 em (Resolvido)Dúvidas spriters bugadas... Urgente   
    Esta tudo meio confuso isso, você fala de foto de pokemon que não aparece, que no caso seria o portrait. Mas você mostra o corpse do empoleon.
     
    Se você quer colocar um portrait no seu empoleon você não coloca o id do client e sim criando um novo item no seu item.otb então o client id você coloca ele no item que será a foto do item, então pega o server id que é a numeração do item que você vai por na script.
  7. Gostei
    Shyrriro deu reputação a Danihcv em (Resolvido){PEDIDO} Tile Vip   
    function onStepIn(cid, item, position, fromPosition) if getPlayerPremiumDays(cid) < 1 then doTeleportThing(cid, fromPosition) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED) doPlayerSendCancel(cid,"Somente premium's podem passar aqui.") end return true end Tenta assim.
  8. Gostei
    Shyrriro deu reputação a xWhiteWolf em Passagem secreta diferente   
    Eai pessoal, vim trazer hoje um sistema de passagem secreta que um amigo viu no Baiak-wars. Não sei qual server é esse e eu não jogo tibia então pra mim tanto faz mas ele gravou um vídeo, pediu um igual e obviamente eu não fiz um igual porque o sistema dos caras era muito ruim uhauheuhauheuhauheuhuhauhe
    Enfim, comecei um script do 0 pra fazer exatamente oque ele queria e foi isso daqui que eu consegui:

    Explicação: Você clica em algum item escondido pelo mapa e abre uma passagem secreta que vai durar X segundos (configurável), após esse tempo a passagem se fecha; Note que nessas imagens ele não tá escondido já que tem uma FUCKING ARVORE NO MEIO DE UM DESERTO mas você pode colocar uma tocha em cima de uma parede e colocar o actionid na tocha pra ativar e vai ficar super foda e com muito rpg
    Ué, mas oque tem de diferente dos outros scripts?
    Bem, ele é super fácil de configurar e ele dá a sensação de que o item foi arrastado :]

    Bom, se isso não foi o bastante pra você entender então observe essas fotinhas 
     
     
     


    Tendo entendido tudo vamos à parte mais legal da coisa (SCRIPTAR!!!!)

    Você vai precisar criar um arquivo em actions\scripts chamado hidden.lua com o seguinte conteúdo:

     
    local positions = { [1] = {pos = {x=139, y=77, z=7}, id = 1718}, [2] = {pos = {x=140, y=77, z=7}, id = 1718}, [3] = {pos = {x=139, y=76, z=7}, id = 6855, toid = 6884}, [4] = {pos = {x=140, y=76, z=7}, id = 6855, toid = 6884}, } local createpos = { [1] = {pos = {x=138, y=77, z=7}, id = 1718}, [2] = {pos = {x=141, y=77, z=7}, id = 1718} } local tempo = 5 function onUse(cid, item, frompos, item2, topos) if getTileItemById(positions[1].pos, positions[1].id).uid < 100 then doPlayerSendCancel(cid, "Is already open.") return true end doCreatureSay(cid, "You have ".. tempo .." seconds.", 19) function criar_paredes() for i = 1, #positions do if i <= (#positions/2) then doCreateItem(positions[i].id, 1, positions[i].pos) local obst = getTileItemById(createpos[i].pos, createpos[i].id).uid doSendMagicEffect(createpos[i].pos, 2) doRemoveItem(obst, 1) elseif i > (#positions/2) then local obst = getTileItemById(positions[i].pos, positions[i].toid).uid doTransformItem(obst, positions[i].id) end end return true end for i = 1, #positions do local obst = getTileItemById(positions[i].pos, positions[i].id).uid if i <= (#positions/2) and obst ~= 0 then doRemoveItem(obst, 1) doSendMagicEffect(positions[i].pos, 2) doCreateItem(createpos[i].id, 1, createpos[i].pos) elseif i > (#positions/2) and obst ~=0 then doTransformItem(obst, positions[i].toid) end end addEvent(criar_paredes, tempo*1000) return true end Feito isso vc vai precisar declarar no actions.xml a forma que você quer utilizar o script
    <action actionid="27004" script="hidden.lua"/> note que vc pode colocar algum itemid, actionid ou uniqueid de sua escolhe, só lembre de mudar no map editor dependendo da forma que vc escolher.


    Agora eu vou ensinar vocês a configurarem o meu monstrinho *-*
     
    aqui você tem o tempo que a passagem vai ficar aberta
     
    aqui você vai editar o seguinte: na primeira são as posições dos itens e seus respectivos id's

     
    posição das duas prateleiras e seus id's
     
    posição das paredes, id dela e pra qual id ela vai ser transformada.

     
    aqui você tem as posições que sua prateleira vai se mover e os id's dela.

    Lembrando que você pode se sentir livre pra adicionar oque vc quiser e deixar do seu gosto, só lembrando que se vc quiser adicionar mais items ou diminuir itens é só alterar nas duas tabelas seguindo a mesma lógica. Metade pra prateleira, metade pra parede e uma tabela pra fazer as prateleiras se moverem.


    Os créditos são 60% meus e 40% do @MaXwEllDeN por ter me dado um norte no começo do script.
    Qualquer coisa comenta aí e dá aquele rep+ pra ajudar ;]
     
  9. Gostei
    Shyrriro recebeu reputação de Lokozoido em (Resolvido)[PEDIDO] Script comando !sellhouse pra vender house   
    Lokozoido o seu deve esta assim
     
    <talkaction words="!sellhouse" filter="word-spaced" event="function" value="houseSell"/>
     
     
    deixe como o klipstyle disse.
     
    <talkaction words="!sellhouse"  event="function" value="houseSell"/>
     
     
     
     
    Diferença:
     
    <talkaction words="!sellhouse" filter="word-spaced" event="function" value="houseSell"/>
    <talkaction words="!sellhouse"  event="function" value="houseSell"/>
  10. Gostei
    simplesmente troque no talkactions.xml a parte referente ao sell house por esta.
     
    <talkaction words="!sellhouse"  event="function" value="houseSell"/>
  11. Gostei
    Se pelo que entendi do que você falou. Acho que a solução para seu problema é hospedagem de site. Você paga por isso esta aqui o exemplo https://www.lgvhost.com.br/central/cart.php?a=add&pid=16escolha um note para site net, com ou org, verifica se o nome já não é existente. Se tem isso de graça por ai eu não sei te informar.
  12. Gostei
    Shyrriro recebeu reputação de Jhon loco em (Resolvido)[AJUDA] Erro ao Carregar o Dat/Spr   
    Tentou converter alguma vez seu Dat/Spr? Qual versão dele e do seu RME?
  13. Gostei
    Shyrriro deu reputação a biel.stocco em [PEDIDO] Buy House   
    Olá pessoal!
    Para comprar houses, tem que ir na porta da house e falar !buyhouse
     
    queria saber como faço pra mudar.. ao invés de falar !buyhouse na porta da house, quero mudar para uma placa
     
     
    grato!
  14. Gostei
    Shyrriro deu reputação a Nextbr em [Pokemon] Torneio System   
    Boa Tarde Turma, Hoje vou Postar um sistema De Torneio Para Poketibia!
     
    Para que possa funcionar o sistema de Torneio verifique se na (area pvp-zone ) funciona o pvp, caso nao funciona tentem procurar um tutorial de como liberar o pvp-zone e talves tente mudar isso aki no config.lua de voces:
    worldType = "pvp-enforced"
    protectionLevel = 1   Bom Chega de Mimimi e vamos La:   data/lib/Torneio.lua e add isso:

      Depois vai em Globaleevents/Torneio.lua

      <globalevent name="TournamentStart" time="11:35" event="script" value="Torneio.lua"/>   Depois vai em Actions/Torneio.lua: Atençao: Voce faz uma area do Torneio no Map editor e Coloca PVP-Zone no Mapa editor  e coloca uma Alavanca com a uid "18279"

      XML: <action uniqueid="18279" event="script" value="Torneio.lua"/>   Agora o NPC TORNEIO NPCS/NPCS.XML:

     
    NPC/SCRIPTS/Torneio.lua:



     
     
    [*] Bom é so Isso Flw bj ;*
     
       
  15. Gostei
    Shyrriro deu reputação a 3visan em [Aula 5] Variáves e Comentários   
    Variaveis



    Aula 5




    Olá, bem-vindos a nossa 5ª aula de scripting. Nesta aula iremos tratar de uma coisa indispensável em todos os scripts: Variáveis. As variáveis podem ser entendidas como uma "caixa" que armazena um valor na memória RAM, ou um substituto de um valor, uma igualdade de um valor, como se ela fosse o valor em si.

    Toda variável deve ter um nome definido por você, mas existem regras para definí-los: quando for escolher o nome da variável, não use números no começo e nunca use caracteres especiais, como acentos, sifrões ou asteríscos. Use apenas a-z, A-Z e pode-se usar números também, desde que não estejam no começo da variável. Existem também palavras que são reservadas e não podem ser declaradas como variáveis: (if while true nil for repeat until do break return function false in end else elseif or and). Na maioria das vezes, você deve declarar (Dar um valor) a variável, senão ela retornará nil (Vimos isto na Aula 2).

    Vamos ao um exemplo de como declarar uma variável.



    numero = 27 epare, eu criei uma variável chamada numero, e ao mesmo tempo ela vale 27, então quando eu for usa-lá em algum lugar eu posso escrever 27 ou então escrever numero. Vamos ao um exemplo em si: numero = 27 print(numero) print(27) Veja, eu declarei a nossa variável como 27, em seguida a função print irá mostrar o valor dela no caso 27, e em baixo mostra a você o número 27. Ambos irão mostrar a mesma coisa, pois você declarou que numero é 27. As variáveis podem ser modificadas no decorrer do script como o exemplo: numero = 10 numero = numero * 3 print(numero) print(10) Nesse caso é diferente, vamos por linhas para ser mais fácil. Em sua primeira linha declaramos que a variável vale 10. Logo na segunda linha redeclaramos a variável como sendo numero igual a numero (seu valor atual) vezes 3. No caso ela vai passar a valer 30, pois 10 * 3 = 30. Na terceira linha o script ira mostrar a você o valor da variável, que nesse caso é 30. Na quarta linha ele irá mostrar 10, sim 10 não é 30, mas nós não declaramos ela como 10? Sim, mas acontece que na segunda linha modificamos seu valor. Apenas para ressaltar vamos falar mais uma vez brevemente o que vimos na aula 2. Os tipos de variáveis. Nossas variáveis podem ser de vários tipos. Como vimos acima se chama number (Número), mas temos tambem: (Curiosidade: Funções são armazenadas em variáveis!) Bem, em OTServ, quando se declara uma variável, como por exemplo o nome numero em um script x ela acaba sendo chamada de variável global, isso quer dizer que apos executar uma vez o script x, quando se executar o script y e chamar a variável sem ser declarada ela será usada com o valor que foi declarado no script x. Normalmente isso atrapalha muito e ainda consome memória do seu PC, pois a variável fica guardada ocupando memória a toa. Existe um modo de evitar isso, esse modo é declarar a variável como local, que no caso quando o script terminar de executar a variável, ela vai ser deletada e não ficará consumindo memória do seu PC. E isso se faz assim: local texto = "Ola pessoas." --- ou assim local algo Veja que quando declarada local na 3ª linha eu não coloquei = valor, isso se dá porque você declarou ela como local, mas não declarou valor. So se pode fazer isso quando ela é declarada local, depois você pode colocar o valor que quiser, ela apenas está como local mais ainda é nil. Não se preocupem ainda com variáveis locais e globais. Veremos mais afundo na próxima aula. Comentarios Essa parte é simples, ajuda quando se esta fazendo um script, ou quando quer explicar alguma coisa no script para uma pessoa que vai ver. São os comentários. Eles servem apenas para você "falar" ou comentar alguma coisa no script. Elas não influenciam em nada do script (Em sua execução). Para criar um comentário basta iniciá-lo com --. A cada linha do comentário você deve adicionar mais dois - (menos) assim: -- Ola gente, eu estou comentando!!!!!! -- que coisa o0 -- uhahuahuahuauhauhahu -- oi? ------- eu posso fazer com mais de um porem o minimo é 2 Quando se inicia um comentário ele fica até o final da linha. Pode se fazer comentários com varias linhas sem ter que ficar adicionando -- toda hora, se faz usando [[, assim: --[[ ahuahuahuhua eu sei comentar em comentarios ]] --- aqui vai seu script

    Usa-se muito isso para inserir créditos ou explicar algo, mesmo.

    Exercício.
    Crie um pequeno script que tenha 3 variáveis, que e o valor de cada uma deve ser modificado de alguma forma e insira comentários em cada linha e no final um comentários com + de uma linha usando [[ ]].




    Respostas abaixo, se você abrir antes de tentar você é um fracasado, a menos que você não queria aprender scripting:




    --------------respota abaixo---------



    variavel1 = 123 -- essa e minha variavel 1
    variavel2 = 7 -- diga oi pra 2
    variavel3 = 10 -- oia a 3 aqui
    variavel1 = variavel1 + variavel2 + variavel3 * 10 / 5
    --[[
    nossa eu somei a variavel 1 com a 2 e a 3 e multipliquei por 10 e dividi por 5 e deu 150]]
    -- fim




    Creditos:



    99% Mock



    1% Vittu


    Aula 6 Escopo

  16. Gostei
    Shyrriro deu reputação a 3visan em [Aula 2] Lógica da Programação   
    #Aula 1 Introdução


    Lógica da Programação
    Aula 2



    O que é a Lógica da Programação?
    Bem, tudo o que é escrito em alguma linguagem de programação deve seguir uma lógica para poder funcionar. Vamos pegar um exemplo simples e curto: Um script de SD. (Sudden Death Rune)

    Quando o script de SD for chamado (Alguém usou a SD), ela segue passos básicos, que é basicamente a execução dela. Primeiro o script vai verificar se quem usou a SD possui nível, magic level, etc... suficiente para poder usar a SD. Se não possuir opa! Ela vai enviar uma mensagem de erro ao jogador, um efeito de fumaça e vai encerrar a execução. Caso contrário: se for um jogador com todos os requerimentos básicos para usar uma SD, então o script vai verificar se o alvo é um Player ou Monstro. Se não for vai enviar uma mensagem de erro, efeito, e vai parar de executar. Se for um monstro ou player, então o script fará um efeito da SD atingindo o alvo, toda aquela piromancia louca, e então vai tirar o devido dano do jogador.

    Um pouco cansativo de ler tudo isso, mas observe o exemplo abaixo:




    Quando uma SD for usada, então faça: Verifique se o jogador que usou a SD possui nível igual ou maior que 45, e se possui nível mágico maior ou igual a 15. Se possuir, faça: Se o alvo da SD for um Monstro ou Jogador, então faça: Calcule o dano que causará ao alvo. Remova uma carga da SD. Execute o efeito de SD. Calcule o dano que causará ao alvo e execute-o no alvo, tirando a vida dele ou mana, no caso de o alvo estiver usando o Magic Shield (Utamo Vita). Mas se o alvo da SD não for um Monstro ou Jogador, então faça: Envie uma mensagem de erro ao jogador. Envie um efeito de fumaça na posição do jogador. Aqui termina a verificação se o alvo da SD é um Monstro ou Jogador, ou nenhum dos dois. Mas se o jogador não possuir estes requerimentos, então faça: Envie uma mensagem de erro ao jogador. Envie um efeito de fumaça na posição do jogador. Aqui termina a verificação se o jogador possui ou não os requerimentos. Aqui termina a execução da SD. Agora, depois deste algoritmo, talvez tenha ficado mais claro como os programas de computador funcionam. Tudo não passa de um processo lógico, onde a linguagem de programação só serve como uma "máscara" para que o programador escreva o código seguindo esta lógica, por isso é ultra importante saber a lógica da programação antes de começar a programar. O que é um Algoritmo? O "código" que eu escrevi acima (Dentro da caixa de texto) representando o uso da SD foi um algoritmo. Os algoritmos são formas de representar a lógica seguida pelo programa. São passos que o programa segue para atingir determinado objetivo ou em outras palavras, completar uma tarefa (No caso da SD, matar ou não o alvo, ou enviar uma mensagem de erro). Um exemplo de algoritmo são as operações matemáticas, como somar, dividir, multiplicar, subtrair... Quando você soma 2 mais 2, você está executando um algoritmo para ele atingir o objetivo (O resultado!!), que é 4. Um programa ou script é basicamente a escrita dos algoritmos em uma linguagem de programação que é executada pelo computador de forma lógica. Alguns exemplos de algoritmos para representar ações da vida real: Tomar Banho: Código: Ir ao banheiro Tentar ligar o registro Verificar se o chuveiro ligou, se ligou então faça: Se molhe Se ensaboe Se lave Se enxague Desligue o registro Se enchugue Verificar se tem vontade de colocar uma roupa, se tiver, então faça: Coloque uma roupa Mas se não tiver vontade de colocar uma roupa, então faça: Saia pelado pela rua gritando: "Preciso de um penico!!" Finalize a verificação se tem vontade de colocar uma roupa ou não Mas se o chuveiro não ligar, então faça: Chame um técnico e arrume o problema Finalize a verificação se o chuveiro funciona ou não Finalize a execução do banho Comer Pizza: Convidar os amigos e amigas Ir até a pizzaria Se houver uma menina (Ou menino) no grupo que esteja a fim de você e você não esteja a fim dela ou dele, então faça: Peça pizza de alho, cebola e atum Mas se houver uma menina (Ou menino) no grupo que esteja a fim de você e você esteja a fim dela ou dele, então faça: Lamente-se por não ter ido a um cinema Mas se não houver ninguém a fim de você, então faça: Peça qualquer pizza Finalize a verificação se há ou não uma menina (Ou menino) no grupo que esteja a fim de você e você esteja ou não a fim dela ou dele Peça uma coca cola Diga ao garçom que prefere gelada (Ciclo) Enquanto não for a hora de pagar a conta, faça: Coma a pizza Peide Diga que foi mal Tome um gole da coca Arrote Diga que é natural Finalize se for a hora de pagar a conta ou volte ao começo do ciclo se ainda não for Se você tiver dinheiro suficiente, então faça: Diga aos seus amigos que não tem dinheiro e pague só metade Mas se você não tiver dinheiro, então faça: Diga aos seus amigos que não tem dinheiro e corra para não apanhar Finalize a verificação se você tem dinheiro ou não Vá embora Finalize a execução de comer pizza




    Esta aula foi curta pois eu prefiro lhes ensinar as estruturas lógicas conforme ensino as mesmas em Lua, assim trabalhando a lógica e Lua ao mesmo tempo. Primeiro ensino como funciona a estrutura na Lógica e depois ensino como aplicar em Lua.

    Exercícios-Tarefa:
    1. Monte o algoritmo de um script de "Shovel (Pá)".
    2. Monte o algoritmo de um script de "Pedra que troca sexo".
    3. Monte o algoritmo de "Ir ao cinema".
    4. Monte o algoritmo de "Fazer bolo".




    Resposta1:



    verifique se o alvo da pá é um buraco que pode ser aberto



    , se for, então faça: Verifique se o buraco está aberto,



    se não estiver, então faça: Transforme o ID do buraco fechado para o ID de um buraco aberto



    Mas se o buraco estiver aberto, então faça: Envie uma mensagem de erro ao jogador dizendo: "This hole is already opened."



    Envie um efeito de fumaça na posição do jogador Finalize a verificação se o buraco está aberto



    Mas se não for, então faça: Envie uma mensagem de erro ao jogador dizendo: "Sorry, this is not possible." Envie um efeito de fumaça na posição do jogador Finalize a verificação se é ou não um buraco que pode ser aberto.




    Resposta2:



    Verifique se quem clicou na pedra é um jogador



    , se for, então faça:



    Verifique se o jogador é mulher



    , se for, então faça:



    Transforme o sexo dele em homem



    Execute um efeito de magia azul



    na posição do jogador Envie uma mensagem ao jogador afirmando que o sexo dele foi trocado



    Mas se o jogador é homem, então faça:



    Transforme o sexo dele em mulher



    Execute um efeito de magia azul na posição do jogador



    Envie uma mensagem ao jogador afirmando que o sexo dele foi trocado



    Finalize a verificação se o jogador é mulher ou homem



    Finalize a verificação se quem clicou na pedra é um jogador




    Resposta3:



    Se arrume



    Tome banho



    Dirija seu carro até o cinema



    Pague o ingresso



    Assista o filme



    Volte para casa




    Resposta4:



    AQUI



    Sei que isso é meio estranho mas acredite ira ajudar sim.



    Creditos:



    99% Skyen Hasus



    1% Vittu



    #Aula 3 Primeiros passos
  17. Gostei
    Shyrriro deu reputação a tatooo em [Resolvido] Adicionar sprites Emum Client De Poketibia   
    Amigo segue Esse Tutorial ae :
     
     
    1° Baixe o dat editor 8.54
    http://www.4shared.c..._editor_854.htm
     
    2°Clicke em Open No canto Superior esquerdo e procure pelo arquivo Dat e o Spr Do cliente que quer copiar a sprite
     
    3° Procure a sprite desejada Clicke ctr+e e salveem algum lugar do seu pc
     
    4° Depois de ter feito isso abra do mesmo geito o seu cliente  e aperte ctr+i i vai aparecer uma janela para procurar um arquivo vá ate o arquivo que vc salvo no seu pc
     
    5°Depois de abrir vai aparecer uma janelinha para apertar em yes ou no se vc quiser substituir uma sprite existente por essa vc aperte em yes se vc nao quiser substituir e criar uma nova aperte em no.
     
    Obs-Para substituir por uma sprite existente vá ate ela clique nela aperte ctrl+I e aperte em yes (No seu Caso  A Sprite Tem Que Ser Do Mesmo Tamanho)
     
    Se voce Quiser Saber Qual é sua newtype e só ir la em baixo na barra itemtype
     
    6° agora é so vc salvar vai em file clique em save e aperte em compile
     
    Se Ajudei Da Um Rep+ Aee
    Abraço
  18. Gostei
    Shyrriro deu reputação a 3visan em [Aula 4] Operadores e Bibliotecas   
    Operadores Aritméticos e Bibliotecas
    Aula 4



    Na aula anterior vimos como chamar funções e conhecemos as funções print e type. Nesta aula apenas vou reforçar a aula anterior ensinando as funções mais básicas e usadas que são nativas da linguagem Lua, ou seja, não são funções criadas para Open Tibia Server, e sim funções prontas que já estão incluídas na linguagem Lua, e vou ensinar também os operadores aritméticos. Vamos começar com eles.

    Os Operadores Aritméticos
    OBS: Você pode fazer seus testes no editor e interpretador Lua usando a função print para exibir os resultados.

    Enquanto você quiser mecher em Lua (Ou em qualquer outra linguagem de programação), você vai precisar fazer contas matemáticas, sejam elas contas simples como uma adição, ou até mesmo contas complexas, incluindo fórmulas e etc...

    Os operadores aritméticos funcionam exatamente como na matemática que você está acostumado na escola. Os operadores aritméticos que você provavelmente conhece (A não ser que esteja usando fraldas) são:

    Adição (+)
    Subtração (-)
    Multiplicação (*)
    Divisão (/)



    Você já pode começar a testá-los:



    print(3+2) print(3-2) print(3*2) print(3/2) O resultado será: 5 1 6 1.5 OBS: Se este não for o resultado, procure a assistência técnica pois seu sistema operacional só pode ser pirateado... Existem mais 3 operadores aritméticos que você talvez não conheça. São eles: Módulo (%) Exponencição (^) Unário (-)







    As Bibliotecas

    Vimos na aula anterior que existem vários tipos de dados, como por exemplo, strings e números. Assim como estes tipos, existem bibliotecas (Conjuntos de funções) para manipular estes tipos. Vamos conhecer as funções mais básicas das bibliotecas mais usadas.

    A Biblioteca Padrão:
    A biblioteca padrão não contém funções para manipular especificamente um tipo de dado, e sim o ambiente de programação. Suas funções mais básica, importantes e mais usadas são:

    Sintaxe: Modo correto de escrever o código.
    OBS: O que estiver entre [ e ] são argumentos opcionais, ou seja, você pode defini-los ou não. Quando houver três pontos (...) significa que você pode enviar quantos argumentos desejar.

    dofile(filename)
    Abre o arquivo e o executa como um bloco de código Lua. Otima função para carregar bibliotecas criadas em Lua.

    print(···)
    Escreve uma ou mais frases no interpretador. Ótima para fazer testes. A função suporta todos os tipos de dados.

    tonumber(value [, base])
    Transforma um valor em número. Se não for possível converter, retorna 'nil'.

    tostring(value)
    Transforma um valor em string.

    type(value)
    Retorna o tipo de um valor.




    Funções de bibliotecas padrões








    A Biblioteca Math:
    A biblioteca Math serve para manipular operações aritméticas, números, etc...

    math.ceil(x)
    Retorna um valor inteiro maior que x mais próximo de x. (Em outras palavras, arredonda para cima.)

    math.floor(x)
    Retorna um valor inteiro menor que x mais próximo de x. (Em outras palavras, arredonda para baixo.)

    math.random([m [, n]])
    Retorna um valor pseudo-randômico entre m e n baseado em uma semente (Um número que determina a sequência).

    math.randomseed(value)
    Altera a semente do pseudo-randomismo.




    todas as funções de biblioteca math








    A Biblioteca String:
    A biblioteca string manipula strings...

    string.gsub(s, pattern, repl [, n])
    Procura na string 's' por valores iguais à string 'pattern' e substitui pela string 'repl'.

    string.len(s)
    Esta função retorna o tamanho da string 's'.

    string.lower(s)
    Retorna a string 's' com as letras em minúsculas.

    string.upper(s)
    Retorna a string 's' com as letras em maiúsculas.

    string.rep(s, n)
    Retorna a string 's' repetida 'n' vezes.

    string.reverse(s)
    Retorna a string 's' ao contrário.

    string.sub(s, i [, j])
    Retorna a parte da string 's' entre as posições i e j.




    todas as funções da biblioteca string








    A Biblioteca OS:
    Esta biblioteca serve para pegar valores ou manipular o sistema operacional, como por exemplo, pegar a data.

    os.clock()
    Retorna o tempo de execução do script, em segundos...

    os.date([format [, time]])
    Retorna a data baseada no formato 'format'.

    os.time([table])
    Retorna um número correspondente à hora atual.




    Todas as funções biblioteca OS




    Vamos ver um por um: O Operador de Módulo (%): Este operador vai lhe dar o resto de uma divisão, por exemplo, o módulo de 3 por 2 é 1, pois 3 dividido por 2 dá 2 e sobra 1. print(3%2) 1 O Operador de Exponencição (^): Este operador vai lhe dar o valor de uma potência, por exemplo, a potência de 3 por 2 é 9, pois 3 elevado a 2 dá 9. print(3^2) O Operador Unário (-): Este operador vai lhe dar o inverso de um valor, por exemplo, o inverso de 3 é -3, pois 3 vezes -1 dá -3. print(-3) Prioridades Aritméticas (( e )): Existem também as prioridades aritméticas, que devem ser definidas com ( para iniciar e ) para finalizar. Por exemplo: print(3+3*3) print((3+3)*3)
  19. Gostei
    Shyrriro deu reputação a 3visan em [Aula 3] Primeiros Passos   
    Primeiros Passos
    Aula 3



    Relembrando o que eu disse na primeira aula, você precisará de um interpretador Lua e é muito recomendado que possua também um bom editor com suporte à sintaxe Lua, então nosso primeiro passo será obter o editor e o interpretador.

    As aulas serão voltadas ao scripting para Open Tibia Servers, então nada melhor do que um bom OTServer para testar seus scripts, mas ficar testando os scripts em um OTServer pode ser uma tarefa cansativa e demorada, então vamos usar também scripts fora de OTServers para praticar. Para isso, você pode fazer o download de qualquer um dos seguintes programas:


    Editores + Interpretadores:

    SciTE Scintilla [Avançado]
    OTScript Live! [Recomendado]



    Editores:

    Notepad++



    Interpretadores:

    Lua [Oficial]



    Depois que você tiver seu editor e interpretador Lua (Recomendo o OTScript Live!), instale ele. No caso do OTScript Live!, depois de descompactar, vá em "Help", no menu, e clique em "Register To Lua". Abrirá uma caixa confirmando a alteração, basta apertar "OK" e todos os seus scripts irão abrir com o OTScript Live!.




    testando seus scripts!
    No caso do SciTE, para testar o seu script você deve primeiro salvá-lo com a extensão Lua (*.lua). No caso do SciTE e do OTScript Live! você pode testar seu script apenas apertando F5, sendo que no OTScript Live! não é necessário salvar o script antes de testar.

    Após pressionar F5, o SciTE irá abrir uma área de textos abaixo da área de edição com as informações do teste, e o OTScript Live! vai abrir uma janela.

    Para testar se o seu SciTE ou OTScript Live! está funcionando, use o seguinte script:



    print("Hello world!") Nas informações mostradas pelo interpretador deve estar escrito "Hello world!". Se aparecer, parabéns, você testou o seu primeiro script Lua...(Ou não >.<) O que o script fez? o0 Uma das coisas mais importantes nos scripts são as funções. Uma função é "um bloco de código previamente pronto", uma subrotina, que quando chamada executa esse bloco. Imagine as funções como um atalho para executar alguma coisa. Pode ser usada, por exemplo, para encurtar scripts que tenham alguma parte do codigo que se repita muitas vezes. Criando uma função você pode usar esse código que se repete muitas vezes somente uma vez (Dentro da função), então em vez de usar esse bloco várias vezes, você só precisaria chamar a função várias vezes. Você pode criar suas próprias funções, mas isso veremos mais para frente. Tudo o que importa agora é aprender a chamar funções. O "Nome da Função", na verdade, é o nome da variável em que está armazenada a função, mas não se preocupem com isto ainda... O "Nome da Função" é o nome que você deve chamar para que a função ocorra, pois há vária funções (Obviamente), então você deve especificar qual função quer chamar. É a mesma coisa do que ter 3 pessoas. Quando quiser chamar uma das pessoas, deve dizer o nome dela. Os argumentos são as "Respostas" para as "Perguntas" da função chamada. A maioria das funções faz "perguntas". No caso da função "print", ela nos "perguntou" o que queriamos escrever na tela, e "respondemos": "Hello world!". É importante lembrar que cada pergunta deve ser respondida adequadamente, por exemplo, se alguém te pergunta: "Que horas são?" você não pode responder: "Sim.". A mesma coisa acontece com as funções, você deve responder exatamente o que ela está perguntando. Outra observação importante é que você deve responder as perguntas da função na ordem em que foram perguntadas. Se a pergunta nº 1 for "Que horas são?" e a nº 2 for "Quer um biscoito?", você deve responder respectivamente que horas são e se você quer um biscoito. OBS: Algumas funções fazem "perguntas" opcionais, ou seja, você pode ou não responder. Se você não "responder", a própria função atribuirá um valor padrão para a resposta. Os parâmetros são simplesmente o conjunto de todos os argumentos. OBS: Todos os argumentos (Respostas) do parâmetro devem estar entre parênteses e ser separados por vírgulas! Tipos de valores! Bem, como eu disse, cada resposta deve seguir o tipo da pergunta, então vou citar aqui os tipos destes valores. OBS: Existe uma função para descobrir o tipo de cada valor! Esta função é a função type(valor)... Numbers Como o nome diz, numbers são números, não há muito o que falar sobre eles... Exemplo: print(1) print(2) print(3) OBS: A função print aceita todos os tipos como resposta. Strings As strings devem iniciar com um símbolo especial e deve terminar com o mesmo caractere que foi usado para iniciar a string. Esses símbolos são: Apóstrofo: Começa com ' e termina com '. Aspas: Começa com " e termina com ". Colchete-Colchete: Começa com [[ e termina com ]]. Colchete-Igual-Igual-Colchete: Começa com [==[ e termina com ]==]. As strings são conjuntos de caracteres, como letras, números (Não são numbers, pois se houver um número entre os símbolos especiais será tomado como string!!!), acentos, espaços, etc... Se você quiser escrever uma frase na tela, por exemplo, não pode deixá-la solta pelo script. Esta frase deve ser uma string, ou o script dará erro. Exemplo: print('Apóstrofos') print("Aspas") print([[Colchete-Colchete]]) print([==[Colchete-Igual-Igual-Colchete]==]) OBS: 1 << Isto é um number. "1" << Isto é uma string. Booleanos Os booleanos podem assumir apenas dois valores: true e false. true: Valor verdadeiro. false: Valor falso. OBS: Os booleanos podem ser complicados de entender no começo, mas com o tempo você acostuma. Não se preocupe com eles agora... Exemplo: print(true) print(false) print(nil) Functions Exatamente o que o nome diz: é o que estamos vendo agora. Functions são nada mais nada menos do que funções. Exemplo: print(function() end) OBS: Não se preocupe com isso ainda! Tables ou Arrays São tabelas, ou seja, armazenam mais do que um valor dentro de uma "caixa". Tabelas podem armazenar outras tabelas e todos os valores dentro de uma tabela possuem um identificador, chamado "index" (índice). Tabelas começam com o símbolo { (Chave) e terminam com o símbolo } (Chave). Exemplo: print({}) Userdata Lua é uma linguagem de programação criada para dar extensão à linguagem de programação C e C++. Userdatas são ponteiros que indicam valores em C ou C++. Não se preocupe com eles. Nil Nil simboliza um valor nulo. Não deixa de ser um valor, mas é um valor sem conteúdo. Exemplo: print(nil) As funções retornam! Toda função retorna um ou mais valores, nem que sejam valores nulos (nil), portanto você pode usar uma função dentro do print para escrever os valores que a função retornar! Vamos usar como exemplo a função type(valor), que vai nos retornar uma string com o tipo do valor. Exemplo: print(type(1))




    O exemplo acima vai escrever em sua tela a frase: "Number", pois 1 é um number!

    Exercícios:
    Usando a função print para escrever na tela e type para pegar o tipo de algum valor, obtenha as seguintes frases na tela:







    Resposta no spoiler abaixo, tente fazer antes de ver.








    Creditos:



    99% Skyen Hasus



    1% Vittu


    Aula 4 Operadores e biblioteca

  20. Gostei
    Shyrriro deu reputação a xWhiteWolf em Correr (Poketibia)   
    Fala galera, vim trazer um script bem simples que fiz à pedidos de um membro que nem lembro mais o nome haha.

    você diz correr "frase e sai a frase em laranja em cima de você enquanto você fica mais rápido.. é bem simpleszinho mas vai ajudar esse pessoal que mexe com poketibia e não tem idéia de como fazer nada kkk.

    Pra começo de história crie um arquivo em data\talkactions\scripts chamado correr.lua e adicione isso dentro dele:
     
    local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition, 1.7, -36, 1.7, -36) function onSay(cid, words, param) local pos = getThingPos(cid) if(param == '') then doSendMagicEffect(pos, 14) doAddCondition(cid, condition) return true end local t = string.explode(param, '"') if(t[2]) then doCreatureSay(cid, "Strong Haste: ".. t[2], 20, false, 0, pos) doSendMagicEffect(pos, 14) doAddCondition(cid, condition) end return true end Agora no talkactions.xml adicione essa linha:
    <talkaction hide="yes" words="correr" event="script" value="correr.lua"/>
    Pra usar você diz: correr "frase que quer que saia aqui. Se você digitar apenas correr não vai sair nada escrito;

    Exemplo:


    Espero que seja útil pra vocês. Abraços do lobo.
  21. Gostei
    Shyrriro deu reputação a Natanael Beckman em DEV C++ Compilando TFS no Windows   
    DEV C++,  aprenda a compila uma source TFS!
     
    Downloads(Baixe de acordo as configurações do seu windows):
    DEV C++ CONFIGURADO PARA 32BITS
    DEV C++ CONFIGURADO PARA 64BITS
    REV 3884 TFS 0.4
     
    Certo, feitos os downloads, extrai DEV C++ no Disco C e REV 3884 em Documentos.
    ======================================
    Abra o DEV C++:
    ======================================

    ======================================
    Abra a Source:
    ======================================

    ======================================
    Localize a pasta da Source e abra o arquivo TheForgottenServer.dev, Documentos> trunk.r3884> dev-cpp> TheForgottenServer.dev:
    ======================================

    =============================================================

    ======================================
    Aguarde carregar todos os arquivos:
    ======================================

    ======================================
    Vamos adicionar o parâmetro -D__CONSOLE__ no teclado digita ALT + P, clique em parameters e adicione o parâmetro... Feito? clique em OK:
    ======================================

    ======================================
    Vamos compilar Source, no teclado digite CTRL+F9 e aguarde finalizar o processo:
    ======================================

    ======================================
    Se der tudo certo em Log vai estar como mostra a imagem abaixo:
    ======================================

    ======================================
    Verifique na pasta Documentos> trunk.r3884> dev-cpp você vai encontrar o arquivo TheForgottenServer.exe e pronto meu parabéns você compilou!
    ======================================

    ===========================================
    Só isso galera tutorial rápido resumido e útil!
    Créditos Natanael Beckman!    
    ===========================================     
     
    Caso você adquira uma source com apenas os arquivos .cpp e .h e não sabe como compilar o projeto, abaixo vamos explicar:
    Na pasta onde está localizado os arquivos .cpp e .h crie uma pasta chamada dev-cpp, e dentro dela adicione uma imagem icone.
     

     
    Abra o DEV-C++, clique em  File> New> Project:
     

     
    Logo em seguida selecione Empty Project, em name terá o nome Project1 altere utilize o nome quer quiser, após isso clique em OK e em seguida selecione a pasta dev-cpp que criamos:
     

     
    Agora selecione a opção Win32GUI caso use source OTX ou TFS selecione Win32Console ao lado << Browse selecione a imagem do icone que está na pasta Dev-Cpp.
     

     
    No mesmo menu na aba Parameters em C++ compiler adicione os seguintes parâmetros:
    -D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ E em Linker adicione as seguintes libs:
    -lboost_filesystem -lboost_thread -lboost_system -lboost_regex -lsqlite3 -lwsock32 -llua5.1 -lws2_32 -leay32 -lmysql -lxml2 -lgmp -lz -s   No mesmo Menu na aba Build Option escreva na segunda coluna horizontal escreva Obj e dê OK.     Na lateral terá o nome do seu projeto o meu no caso é The Forgotten Server, clique com o botão direito do mouse em cima do nome e clique na opção Add Project:      Selecione na pasta da sua source todos os arquivos .cpp e .h após isso salva o projeto e já pode compilar CTRL+F9:         OpenSSL 0.9.8   1º baixe http://devpaks.org/details.php?devpak=73 2° abra Dev-Cpp > Tools > Packager Manager > Install > Seleciona o arquivo baixado e instala, fecha abre e testa!
      Clica aqui \/
  22. Gostei
    Shyrriro deu reputação a Vodkart em [Tutorial] IF, Else, Then, Elseif, And e Or   
    Exercicios:



    1 - Com base no script acima, se na linha 1 fosse adicionado "number = 10", quais dos nomes retornaria?

    a) Nil
    b) ANA
    c) Pedro
    d) caio
    e) duda


    2 - Com base no script acima, se na linha 1 fosse adicionado "number = 0", quais dos nomes retornaria?

    a) Nil
    b) ANA
    c) Pedro
    d) caio
    e) duda


    3 - MArque V ou F sobre o comando if:

    a) ( ) - todo "if" acompanha um "then" e um "end", podendo haver um "else" se for chamado
    b) ( ) - no uso do "if" é obrigatorio o uso do "else"
    c) ( ) - todo "elseif" acompanha um "end"
    d) ( ) - no uso do "elseif" o "then" não é necessário
    e) ( ) - o "elseif" pode ser usado sem precisar ter um "if" anteriormente
    f) ( ) - pode haver mais de um "if" aninhado dentro do mesmo script
    g) ( ) - O máximo de "elseif" que pode ser usado é 10.
  23. Gostei
    Shyrriro deu reputação a nibelins em [MODERN ACC/POKETIBIA]WebSite PokeTibia 3.0   
    boa novas pessoal venho aqui pra posta a minha versão mais nova v 3.0
     



     
    nem muitas delonga
     
    download
  24. Gostei
    Shyrriro deu reputação a biriba800 em Website Fire 1.0 [Template]   
    Eaw glaera do tibia king tava desenvolvendo um template de poketibia e finalmente consegui um resultado n sei se ele ta bom mais espero que gostem  se gostarem da +rep
     
    ScreenShot:
       
    Download template:
    Scan
  25. Gostei
    Shyrriro deu reputação a Fausto32 em [Resolvido] [Erro] - Duplicate uniqueID   
    Na verdade não e um erro e um aviso '-' vai no RME e vai em Search UniquesID acha as duas ou mais Uniques q tão com essa id apaga uma c não serve pra nada ou muda no script Mais mano creio q e uma alavanca da poi no caso ai acho q conheco o mapa tinha a mesma unique duplicada k olha ae '

Informação Importante

Confirmação de Termo