Ir para conteúdo

Sanieg

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    Sanieg recebeu reputação de diarmaint em (Evento) Double Exp com Effect - Iniciado Manualmente   
    Opah galera.. Tranquilo ?!..
    Então, eu criei esse evento para meu WODBO, mas resolvi compartilhar com vocês.. Então, sem mais enrolação, como funciona:

    Então, para começar, crie doubleexpevent.lua em data/creaturescripts/scripts e dentro dele:
    Agora, adicione as tags em creaturescripts.xml:
    Em seguida, em data/creaturescripts/scripts, abra Login.lua e adicione em baixo de alguma tag parecida as tags:
    Ok, agora o comando para iniciar o evento..
    Em data/talkactions abra talkactions.xml e adicione a tag:
    E para terminar, crie doubleexp.lua em data/talkactions/scripts e dentro dele:
     
    Comando utilizado para iniciar o evento:
     
  2. Gostei
    Sanieg deu reputação a Atiralol Korobeiniki em [POKETIBIA] Como Desbugar Slot da ball do Pokemon   
    olá galera eu vi que muita gente tem esse problema de puxar um squirtle por exemplo e depois botar outra ball no slot
    e nascer 2 squirtle, e dai dps que nasceu 2 squirtle o cara puxa outra ball pro slot e puxa + 1 squirtle ai fica 3 squirtle fora da ball
    e então eu vou ensinar vocês como faz para arrumar esse bug e deixar apenas para puxar 1 poke de cada vez !!!
    primeiramente vocês vão em:
    /data/actions/scripts/goback.lua
    e vocês procurem por:
    elseif item.itemid == pokeballs[btype].on then e embaixo vocês botam:
    e pronto depois disso só dar reload em actions ou reiniciar o servidor !!!
    caso forem ensinar como faz isso para outras pessoas gostariam que deixassem o meu crédito por esse script q eu fiz !!!
  3. Curtir
    Sanieg recebeu reputação de Ramon Sylva em (Resolvido)[PEDIDO] NPC que da itens aleátorio diariamente.   
    npc .xml:
  4. Curtir
    Sanieg recebeu reputação de Druid Del Destruc em Ajuda adicionar atributos no item   
    E aí men.. Sinceramente,  faz tempo que eu não mecho com OTSERVER.
    Mas enfim..
     
    Até onde eu recapitulei, esses "percent" que você quer adicionar irão contar apartir do valor extendido que você colocou. Por exemplo, se o "value" for 150, ele não irá aumentar 150%. Ele irá  aumentar 50% à partir desse 100%.
    Ficando: 
    <attribute key="maxhealthpercent" value="150"/> <attribute key="maxmanapercent" value="150"/> Em outro caso, se você quer especificar a quantia você usaria o "points" no lugar de "percent". Ficando assim: maxHealthPoints ; maxManaPoints.
    Ou simplesmente: 
    <attribute key="maxHealthPoints" value="150"/> <attribute key="maxManaPoints" value="150"/> Aumentando 150 pontos.
     
    De outra forma, você poderia usar o "manaGain" é o "healthGain" que dá no mesmo.
    E especificar o tempo com o "healthticks" e "manaticks" mais o "value" em milissegundos. Ex: value="1000" corresponde em 1 segundo.
     
    Créditos: OTL
  5. Curtir
    Sanieg recebeu reputação de Mateus Santosss em (Evento) Double Exp com Effect - Iniciado Manualmente   
    Opah galera.. Tranquilo ?!..
    Então, eu criei esse evento para meu WODBO, mas resolvi compartilhar com vocês.. Então, sem mais enrolação, como funciona:

    Então, para começar, crie doubleexpevent.lua em data/creaturescripts/scripts e dentro dele:
    Agora, adicione as tags em creaturescripts.xml:
    Em seguida, em data/creaturescripts/scripts, abra Login.lua e adicione em baixo de alguma tag parecida as tags:
    Ok, agora o comando para iniciar o evento..
    Em data/talkactions abra talkactions.xml e adicione a tag:
    E para terminar, crie doubleexp.lua em data/talkactions/scripts e dentro dele:
     
    Comando utilizado para iniciar o evento:
     
  6. Gostei
    Sanieg recebeu reputação de djteteh em (Evento) Double Exp com Effect - Iniciado Manualmente   
    Opah galera.. Tranquilo ?!..
    Então, eu criei esse evento para meu WODBO, mas resolvi compartilhar com vocês.. Então, sem mais enrolação, como funciona:

    Então, para começar, crie doubleexpevent.lua em data/creaturescripts/scripts e dentro dele:
    Agora, adicione as tags em creaturescripts.xml:
    Em seguida, em data/creaturescripts/scripts, abra Login.lua e adicione em baixo de alguma tag parecida as tags:
    Ok, agora o comando para iniciar o evento..
    Em data/talkactions abra talkactions.xml e adicione a tag:
    E para terminar, crie doubleexp.lua em data/talkactions/scripts e dentro dele:
     
    Comando utilizado para iniciar o evento:
     
  7. Gostei
    Sanieg recebeu reputação de kody em [TUTORIAL] Como Adicionar um novo Pokemon   
    [[Tópico formatado e melhorado]]
                 Então pessoal irei ensinar como adicionar um novo pokemon no servidor configurando as técnicas e passivas etc...
     Primeiro você terá que adicionar o pokemon no servidor, então vamos lá o pokemon que adicionarei é o shiny tangrowth
    Abra o bloco de notas com o arquivo Shiny Tangrowth.xml e nele coloque:



               Coloque esse script em data/monsters/scripts depois vá em data/monsters abra monsters.xml
    e em seguida adicione esse tag no Monsters.xml:
      <monster name="Shiny Tangrowth" file="scripts/Shiny Tangrowth.xml"/>             Agora para poder capturar e usa-lo. Abra data/lib depois configuration.lua e procure por: movestable = { 
    Em alguma linha abaixo de }, coloque:



    Preferencial: Para adicionar a passiva dele coloque logo abaixo de move7
    passive1 = {name = "Mega Drain", level = 1, cd = 0, dist = 6, target = 0, f = 20, t = "grass"},
    Agora buscando por: pokes = {
    em baixo de }, em alguma linha separada coloque uma linha da seguinte forma:



            Agora para adicionar a foto [item/Portrait] busque por fotos = {
    Coloque em algum lugar apropriado a seguinte linha:



    Editavel:
    E para capturar, busque por: pokecatches = {
    Logo abaixo de uma linha coloque:



    Editavel:
    Adicionando na pokedex, procure por:  newpokedex = {
    Em baixo de uma linha adicione:



    Editavel:
    E para terminar com a pokedex procure por: oldpokedex = {
    em baixo do ultimo pokemon adicione a tag:



    Editavel:
    Video aula (Créditos a Pato Roko):
    https://www.youtube.com/watch?v=MEKu88Ez1DY
  8. Gostei
    Sanieg deu reputação a Jamison Collins em (8.60) TFS 0.4 Rev 3777 [Sem BUGS]   
    Olá TKbianos, 
    Para aqueles que usam bastante o distro TFS 0.4.Rev3777, trago até vocês as sourcers + distro compilado sem nenhum bug.
     
    Log de erros consertados em inglês, pois não fui eu quem fiz as alterações (créditos no final do tópico) 



     
    Houve umas alterações importantes nos arquivos a cima, então, cuidado na hora de copiar e colar o seu server em cima desse.
     
    Downloads :
    TFS 0.4 (Rev 3777 - Sem bugs R12) -----  (Talvez melhor para quem está com dificuldade de compilação)
    TFS 0.4 (Rev 3777 - Sem bugs R19) ----- Scan TFS 0.4 (Rev 3777 - Sem bugs R19)
     
    Arquivos Dll -- Scan Arquivos Dll
     
    CRÉDITOS MARAVILHOSOS PARA :
    MartyX (100%)
  9. Gostei
    Sanieg deu reputação a Kazuya9629 em Como Proteger Suas Sprite   
    Creditos Object Build Por Ter criado Programa
    ABRA PASTA Object Builder
     

    Abaixe Notepad++
    https://notepad-plus-plus.org/

    MODIFIQUE A Dat e Spr Por Um Numero gigante Para Que object Build Bug E Aparessa Signitude 0 ASSIM ELES NAO CONSEGUIRAO Abrir com object Buid So Voce Porque so voce tem o codigo

    Depois Que Salva O Arquivo Abra Object Build

    Vai Em Arquivo e COPILAR COMO

    PROCURE OQUE VOCE EDITOU

     
    FINALIZER  CONFIRMANDO PRONTO

     
  10. Gostei
    Sanieg recebeu reputação de The King of Madness em (Resolvido)[ERRO] Formula de MagicLevel   
    Mano.... mds.. Você está certo. O damage é 40, numa vocação normal. Sua vocação multiplica esse valor (40) por 4... 40*4=160
    Então basta alterar o "magDamage" para 1.0
    Você disse que ele está causando 160 de dano... Coincidência ?! Eu diria que não, mas não sei né..
  11. Gostei
    Sanieg recebeu reputação de The King of Madness em (Resolvido)[ERRO] Formula de MagicLevel   
    Eu testei essa formula no meu personagem com level 1 e ML level 0, ele causou 38-39 dmg... Ou seja, quase o esperado (acho q ainda tem algo errado ;v). Você testou essa spell usando um personagem com esse LvL e ML ?..
  12. Gostei
    Sanieg recebeu reputação de bomlgames em (Resolvido) Script para armas elementais.   
    Opah mano.. Editei um script bem simples de configurar com o seu pedido ...
    Novo Script:
    Explicação:  
  13. Gostei
    Sanieg recebeu reputação de thelifeofpbion em function onStepIn [simples]   
    Em baixo do último end no script acima, adicione:
    tag:
     
    Script pronto.* Por favor, verifique o script e me diga se foi de acordo com o pedido.
  14. Gostei
    Sanieg deu reputação a KotZletY em Tutorial 2 em 1 - Magic e Shoot Effects   
    Bom galera, o Tópico já diz tudo, irei explicar como mudar para Uint16 dessa vez nas Source, para quem não sabe. Irei explicar como aumentar em Magic Effects, para assim você seu Server usar mais de 255, e ShootEffects para usar mais de 41 Distance efeitos(muito mais). Existe Tópicos no Tk, porém não é a mesma coisa, esse é diferente pois você irá alterá o valor dos uint's disparados para o Client, para assim então usar além do Padrão!
      Abaixo umas informações essenciais ! 
    Esse Tópico é especifico para TFS 0.4, para que assim você possa aumentar o limite de efeitos no Client, e usar mais de 255 efeitos, e mais de 41 efeitos em Distância.  Vale lembra também que você não é obrigado a mudar em ambos, se você quiser apenas aumentar o Limite de Efeitos para mais de 255, então mude apenas ele, caso queria aumentar apenas os Efeitos que são lançados a distância(ShootEffects ou Distance Effects), caso queria os dois, use ambos. 
     
    Vamos começar primeiramente com os Magic Effects:
     
     
     
    Agora vamos mudar o ShootEffects para uint16.
     
     
    Bom não adianta mudar isso se não fizer alteração no Client, então deixarei aqui, dois Tópicos de como mudar de uint8 para uint16 no Client em em ShootEffects e MagicEffect.
     
     
    Mudando os Efeitos de uint8 a 16 para Magic Effects
    Mudando os Efeitos de uint8 a 16 para Shoot Effects
     
    Então é isso ae, qualquer erro só comentar para que eu possar tentar ajudar.
     
    Tópico exclusivo do Tk, proibido posta em outro site, blog ou fórum! 
     
    xD
  15. Gostei
    Sanieg recebeu reputação de franckle em Alguem sabe me dizer porq isso?   
    Bem, se você ultrapassou o limite de 65535 sprites, elas irão ficar 'bugadas' e será bem claro que esse é o problema.. É esse o caso ?
    E sobre "estender" o client: não creio que seja possível em um Old Client.. Você pode "quebrar" o limite de sprites no Tibia.dat, mas isso só funcionará em um NewClient.. Ao menos, era assim na última vez em que lí um post sobre esse assunto.
  16. Gostei
    Sanieg recebeu reputação de bomlgames em (Resolvido) Script para armas elementais.   
    Mano.. É um saco editar script pelo celular..
    doublespellwand.lua
    tag:
     
  17. Gostei
    Sanieg recebeu reputação de xWhiteWolf em function onStepIn [simples]   
    Em baixo do último end no script acima, adicione:
    tag:
     
    Script pronto.* Por favor, verifique o script e me diga se foi de acordo com o pedido.
  18. Gostei
    Sanieg recebeu reputação de ZoR em (Resolvido)Erro Unable Outfist   
    Verifique as suas tags e compare com essas tags acima que você vai entender...
  19. Gostei
    Sanieg recebeu reputação de Pedriinz em function onStepIn [simples]   
    Em baixo do último end no script acima, adicione:
    tag:
     
    Script pronto.* Por favor, verifique o script e me diga se foi de acordo com o pedido.
  20. Gostei
    Sanieg recebeu reputação de Pedriinz em function onStepIn [simples]   
    Yo!! Boa noite..
    code:
    moveall.lua
     
  21. Gostei
    Sanieg recebeu reputação de thelifeofpbion em function onStepIn [simples]   
    Yo!! Boa noite..
    code:
    moveall.lua
     
  22. Gostei
    Sanieg recebeu reputação de wedyhiu2 em Monstros Pararam De atacar   
    Opah... Boa noite.
    Então amigo, se o caso é que alguns monstros te causam dano e outros não, mesmo com você no target, seu equipamento pode estar absorvendo o damage.
    Mas, dependendo de ser um monstro especifico, pode ser que algum script onCombat() esteja com erros. Dessa forma, você recebe o target, mas sem nenhum damage. (Vale lembrar que pode ser o script o próprio monstro*)..
    Espero ter ajudado.
  23. Gostei
    Sanieg deu reputação a Skyforever em doEmpurrePlayer(cid, player, vez, ultimapos)   
    TIPO: Função
    Versão: 1.0.
    Testado: Sim, tfs 0.3.6(OITO.SESSENTA[8.6]).



    @Oque Faz?.
    >função que empurra jogadores(ou monstros) ela empurra em um determinado interval.

    @Instalando
    Primeiramente vá em pasta do seu servidor depois entre na pasta data e em seguida lib agora entre no arquivo 050 - function e adicione o seguinte conteúdo lá:



    if vez == 10 then return true end ali em 10 e quantas vezes vai empurrar então você coloca mais ou menos. O efeito é nessa linha doSendMagicEffect(getThingPos(player), 34) é só mudar o 34 para outro efeito desejado. Lembrando que se você alterar quantas vezes irá empurrar você deve alterar aqui também: tab = {100, 150, 200, 350, 400, 550, 600, 750, 900, 1000} ali e o interval entre os empurrões do 1 pro segundo é 100 e assim por diante se você diminuir deve tirar ali, se quiser aumentar só adicionar. @Exêmplo!. Um exêmplo de como usar: local pos = getPosByDir(getCreaturePosition(cid), getCreatureLookDirection(cid), 1) pos.stackpos = 253 if (isPlayer(getThingFromPos(pos).uid)) then player = getThingFromPos(pos).uid addEvent(doEmpurrePlayer, 1, cid, player, 1, getCreaturePosition(cid)) end

    é isso esperem que gostem.

    CRÉDITOS
    Eu
    Xotservx.
  24. Gostei
    Sanieg deu reputação a Emersonssss em [Registre IP]   
    Um Sistema Beem Util para mim, posso localizar qualquer Char que algum dia um Certo IP ou Char Logou, Porem cria varios arquivos por causa de Ips Dinamicos, mas a função é perfeita e Sempre que preciso localizar algum engraçadinho utilizo ela.
     
    lib/050-function.lua
    function RegistrarIP(cid) if isPlayer(cid) or isCreature(cid) then f = io.open("data/logs/IP/IpNumero/"..doConvertIntegerToIp(getPlayerIp(cid))..".txt", "a+") f:write("Player : "..getCreatureName(cid).." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() end if isPlayer(cid) or isCreature(cid) then f = io.open("data/logs/IP/IpName/"..getCreatureName(cid)..".txt", "a+") f:write("Player : "..doConvertIntegerToIp(getPlayerIp(cid)).." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() end if isPlayer(cid) or isCreature(cid) then f = io.open("data/logs/IP/IpAccount/"..getPlayerAccount(cid)..".txt", "a+") f:write("Player : "..getCreatureName(cid).." - "..doConvertIntegerToIp(getPlayerIp(cid)).." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() end return true end em login.lua
     
    antes do Ultimo return true
    if isPlayer(cid) then RegistrarIP(cid) end Lembrando de Criar os Diretorios 
     
    logs/IP/IpNumero/
    logs/IP/IpName/
    logs/IP/IpAccount/
     
    Creditos?
    Emerson Henrique
  25. Gostei
    Sanieg deu reputação a Killua em Armazenar Tabelas em Storages (setGlobalTableStorage)   
    Introdução:

    Esses dias eu estava fazendo um sistema e senti a necessidade de armazenar várias informações (por player) em um só lugar. Porém, todos nós sabemos que não é possível colocar uma tabela como valor de um storage. Por conta disso, decidi tornar possível esse armazenamento.

    Tenho certeza de que essa biblioteca será uma ferramenta extremamente útil para todos os scripters. Ela abre muitas portas e vai permitir a criação de muitos sistemas interessantes.

    Instalação:

    Simplesmente crie o arquivo tableStorage.lua em data/lib e coloque esse código:





    Utilização:

    Para armazenar uma tabela em um storage de um player, use:
    setPlayerTableStorage(cid, key, tabela) Exemplo:
    setPlayerTableStorage(cid, 199991, {["primeiro"] = 4, [8] = "Killua", [3] = 22}) Para armazenar uma tabela em um storage global, use:
    setGlobalTableStorage(key, tabela) Exemplo:
    setGlobalStorageValue(123412, {1, 55, "c", 3}) Para retornar as tabelas, use:
    getGlobalTableStorage(key) ou
    getPlayerTableStorage(cid, key) Esclarecimento:

    As tabelas retornadas pelas funções getGlobalTableStorage e getPlayerTableStorage são tabelas normais e podem ser manipuladas como qualquer outra, por exemplo:
    for t, k in pairs(getPlayerTableStorage(cid, 123444)) do print("["..t.."] "..v) end Observações:

    As tabelas não armazenam valores booleanos, outras tabelas e nem funções, apenas strings e números. No entanto é claro que ela pode armazenar valores recebidos de funções, por exemplo:
    setPlayerTableStorage(cid, 17271, {["level"] = getPlayerLevel(cid), ["sex"] = getPlayerSex(cid) == 1 and "female" or "male"}) Funcionará perfeitamente.


    Mas:
    setPlayerTableStorage(cid, 17271, {returnDouble = function(value) return value*2 end, try = 11, [2] = 10}) Não irá funcionar.

    As tabelas podem ser preenchidas com ou sem index definido, de forma que os não definidos serão definidos automaticamente numa sequencia (Como qualquer tabela). Sendo assim:
    setPlayerTableStorage(cid, 12344, {1,3,23,1999,"test"})setPlayerTableStorage(cid, 12344, {[5] = "hi", ["mia"] = 32, c = 18})setPlayerTableStorage(cid, 12344, {1, "c", 6, ["test"] = 18, b = "c", "hello world"}) São todas válidas.
     
    Cuidado com com tabelas muito grandes! Elas podem acabar pesando bastante e consumindo bastante de sua database. Eu aconselho não ultrapassar 4 elementos. É claro que apenas um storage com uma tabela bem grande não vai causar problema mas, em um servidor com muitos jogadores, pode ser perigoso adicionar muitas tabelas grandes (1 por jogador).

    Considerações:

    Eu realmente acho que essa biblioteca vai abrir várias possibilidades para todos vocês, scripters. E espero que criem muitos sistemas legais a partir dela. Se tiverem dúvidas ou sugestões, podem dizer.

    Abraços.

Informação Importante

Confirmação de Termo