Ir para conteúdo

Orochi Elf

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Orochi Elf recebeu reputação de danilocarvalho em [MOD] Catch Window   
    Ele ainda não está completo ..
  2. Gostei
    Orochi Elf recebeu reputação de Vodkart em Catch Window v1.3   
    [MOD] Catch Window v1.3
     
    Bom.. todos conhecem a nova janela, que quando algum jogador captura um pokemon, que nunca capturou antes, abre na tela informando quantas pokebolas (PokeBalls, GreatBalls, SuperBalls e UltraBalls), o jogador gastou para capturar aquele pokemon, e mostra também quanto de experiencia o jogador ganhou por capturar aquele pokemon.
     
    Instalação.
    Por enquanto o PDA, é o único servidor que está adaptada no tópico, se alguém adaptar para outros servidores, e quiser compartilhar, será muito bem vindo. Obrigado
     
    Pokemon Dash Advanced
    Vá na pasta Lib / Catch System.lua, e procure por:
    doAddPokemonInCatchList(cid, poke) E abaixo adicione:
        CW_Count(cid, poke, typeee)     CW_Caught(cid, poke) Agora procure por:
    doIncreaseStatistics(poke, true, false) E abaixo adicione:
    CW_Count(cid, poke, typeee) Agora, vá na pasta Lib / Crie um arquivo chamado "CatchWindow_lib.lua".
    E dentro adicione -> Link Direto (PasteBin) <- Atualizado v1.3 !
     
     
    Agora baixe o arquivo"CatcherWindow.rar", e extrai-a os arquivos dentro da pasta MODS da pasta do OTClient.
     
    Editando...
     
    No arquivo que voce colocou na LIB, tem uma tabela chamada "CW_Pokes", lá voce adiciona os pokemons e os configura.
    ["bulbasaur"] = {DB_Balls = 500001, DB_PK = 900001, ID_Portrait = 11989, P_Experience = 5000}, Legenda:
     
    [NomeDoPokemon] = {DB_Balls = Numero da storage, que irá ficar salvo as balls usadas.
    DB_Pk, Numero da storage, que irá ficar salvo se o pokemon foi capturado ou não.
    ID_Portrait = Item ID do Portrait de cada pokemon
    P_Experience = A quantidade de experiencia que o jogador irá ganhar ao capturar este pokemon.}
     
    Vídeo:
    https://www.youtube.com/watch?v=9ERSelYANFY&feature=youtu.be
     
    Galera, eu estou com uma meta de conseguir 30 rep+ neste tópico, GO!
     
    Créditos: Tony Araújo (OrochiElf) 100%
    catcherWindow.rar
  3. Curtir
    Orochi Elf recebeu reputação de GOD Vitor em [OTClient] SpellsBar + SpellsWindow   
    Eu gostaria de sugestões para esse MOD.
    Bom, a spells bar irá aparecer as magias que você configurou na spells window. Para abrir a spells Window, basta abrir no botãozinho ali .. (OBS: O tamanho da spellsBar, irá aumentar com o tanto de magias que contém nela.)
     
    Bom.. Para configurar a spell, você da um doubleClick, em cima da magia, e escolhe a hotkey dela. (Isso irá definir o local dela na spellBar)
     
    Sugestões para melhorar, por favor.
  4. Curtir
    Orochi Elf recebeu reputação de shntutor em [OLDClient-DLL] OrochiElf   
    Fala aê pessoal, eu ultimamente resolvi entender um pouco mais do OLDClient e do DLL Injection. Demorei um tempo porém consegui resultados, mas agora estou sem idéia do que posso fazer, por hora só fiz isso;
    Estou pensando em fazer um [OT-OLDClient], ou melhor dizendo, um OLDClient que tenha as mesmas funções modules que existe no OTClient.
     
    Espero sugestões do que fazer kkk
    >pica relatada do meu feito (quem lê GT entende.)
     

  5. Gostei
    Orochi Elf recebeu reputação de cell18 em [MOD] New NPC Trade System v1.0   
    [MOD] New NPC Trade System v1.0
     
    Olá pessoal, hoje eu vou vim mostrar pra vocês um novo sistema de npc trade, que eu estou desenvolvendo...

     
    Legenda:
     
    1: Foto de perfil do NPC que vende e compra os items.
    2: Aba onde aparece as ofertas que o NPC está vendendo.
    3: Foto de perfil do jogador que está vendendo ou comprando.
    4: Inventário do jogador, com a quantidade de items e o valor de cada um deles.
     
     
    Bom.. notem que na aba 3 (Foto do perfil do jogador) tem umas letrinhas escrito "Zen" e a quantidade do lado, que no caso é "0$"
    E também.. como viram está sem foto ali no perfil do jogador.. é que eu ainda não terminei, eu vou colocar para aparecer a outfit atual do jogador.
     
    Bom.. para você vender ou comprar, basta dar um double click, e escolher a quantidade desejado que irá comprar ou vender, como na foto abaixo.

     
    Bom.. me digam o que vocês acham.. e também se tiverem sugestões de mudanças ou algo parecido.
  6. Obrigado
    Orochi Elf recebeu reputação de DarkRed em Catch Window v1.3   
    [MOD] Catch Window v1.3
     
    Bom.. todos conhecem a nova janela, que quando algum jogador captura um pokemon, que nunca capturou antes, abre na tela informando quantas pokebolas (PokeBalls, GreatBalls, SuperBalls e UltraBalls), o jogador gastou para capturar aquele pokemon, e mostra também quanto de experiencia o jogador ganhou por capturar aquele pokemon.
     
    Instalação.
    Por enquanto o PDA, é o único servidor que está adaptada no tópico, se alguém adaptar para outros servidores, e quiser compartilhar, será muito bem vindo. Obrigado
     
    Pokemon Dash Advanced
    Vá na pasta Lib / Catch System.lua, e procure por:
    doAddPokemonInCatchList(cid, poke) E abaixo adicione:
        CW_Count(cid, poke, typeee)     CW_Caught(cid, poke) Agora procure por:
    doIncreaseStatistics(poke, true, false) E abaixo adicione:
    CW_Count(cid, poke, typeee) Agora, vá na pasta Lib / Crie um arquivo chamado "CatchWindow_lib.lua".
    E dentro adicione -> Link Direto (PasteBin) <- Atualizado v1.3 !
     
     
    Agora baixe o arquivo"CatcherWindow.rar", e extrai-a os arquivos dentro da pasta MODS da pasta do OTClient.
     
    Editando...
     
    No arquivo que voce colocou na LIB, tem uma tabela chamada "CW_Pokes", lá voce adiciona os pokemons e os configura.
    ["bulbasaur"] = {DB_Balls = 500001, DB_PK = 900001, ID_Portrait = 11989, P_Experience = 5000}, Legenda:
     
    [NomeDoPokemon] = {DB_Balls = Numero da storage, que irá ficar salvo as balls usadas.
    DB_Pk, Numero da storage, que irá ficar salvo se o pokemon foi capturado ou não.
    ID_Portrait = Item ID do Portrait de cada pokemon
    P_Experience = A quantidade de experiencia que o jogador irá ganhar ao capturar este pokemon.}
     
    Vídeo:
    https://www.youtube.com/watch?v=9ERSelYANFY&feature=youtu.be
     
    Galera, eu estou com uma meta de conseguir 30 rep+ neste tópico, GO!
     
    Créditos: Tony Araújo (OrochiElf) 100%
    catcherWindow.rar
  7. Curtir
    Orochi Elf recebeu reputação de Frenesy em (Resolvido)Monstros/Players Attack   
    Não testei. o Statschange voce registra no login.lua, e o target voce registra no xml do monstro.
     

    function onStatsChange(cid, attacker, type, combat, value)     if isPlayer(cid) and type == STATSCHANGE_HEALTHLOSS then         if getPlayerStorageValue(cid, 12345) >= 1 then             return false         end     end     return true end function onTarget(cid, target)     if isPlayer(target) and getPlayerStorageValue(target, 12345) >= 1 then         return false     end     return true end
  8. Gostei
    Orochi Elf recebeu reputação de sdnjaks em Perfect Tv System - OrochiElf   
    Perfect Tv System
    autor: Tony Araújo (OrochiElf)
     
    Olá pessoal, hoje eu vim mostrar para vocês o meu novo sistema de TV. Sim, isso mesmo, um sistema de televisão completo. Bom, como a maioria sabe, nenhum sistema de televisão disponível foi desenvolvido da "maneira correta".
     
    - Mas como assim, "maneira correta"?
     
    Sem utilizar a tecnica milenar chamada "GAMBIARRA", e a mais famosa delas é o auto teleport by step, ele consiste em teletransportar o telespectador toda vez em que o transmissor der um passo, ou seja, se tiver um canal com 100 pessoas assistindo, e o jogador estiver uma velocidade consideravel (ex: 2-4 passos por segundo), o que seria (120 - 240) passos por minuto, o que levaria então a (1200 - 2400) passos por minuto, por conta de todos os jogadores assistindo. Imaginem só a CPU gritando, é o que acontece, e então milhares de problemas acontecem, quedas por alto consumo da CPU, mass kicks, enfim, este sistema que estou mostrando a vocês foi desenvolvido utilizando a mesma técnica que o SvkE / PxG. É denominado de (compartilhamento de dados), consiste enviar os mesmos pacotes para todos os que estão dentro de uma certa lista / tabela. É simples entender a tecnica, pense o seguinte, quando o jogador vai dar um passo para algum lado, o servidor precisa enviar todas as informações de mapa, criaturas, items que estão na nova posição (que seriam os dados), e esse sistema envia os mesmos dados para todos os jogadores que estão assistindo, fazendo assim, atualizar a tela de todos telespectadores com as imagens do local do transmissor. 
     
    Espero que gostem
    Obs: Como está escrito no vídeo (Vídeo não oficial), não é a versão final do vídeo, porque eu gravei de ultima hora e a qualidade não ficou boa, as travadas é por conta do meu computador, tinham algumas coisas abertas kkkk (PC lixo é assim mesmo).
  9. Gostei
    Orochi Elf recebeu reputação de brenner44 em [OLDClient-DLL] OrochiElf   
    Fala aê pessoal, eu ultimamente resolvi entender um pouco mais do OLDClient e do DLL Injection. Demorei um tempo porém consegui resultados, mas agora estou sem idéia do que posso fazer, por hora só fiz isso;
    Estou pensando em fazer um [OT-OLDClient], ou melhor dizendo, um OLDClient que tenha as mesmas funções modules que existe no OTClient.
     
    Espero sugestões do que fazer kkk
    >pica relatada do meu feito (quem lê GT entende.)
     

  10. Gostei
    Orochi Elf recebeu reputação de Sexyboyy em [C++] doCreatureCastSpell(creature, spellName)   
    [C++] doCreatureCastSpell (0.3.6pl1)



    Escrito e testado: 0.3.6PL1 [8.54 - 8.60]




    Salve galera do TibiaKing, eu fui procurar na internet sobre essa função e vi que já tentaram cria-la, porém não conseguiram, ou se conseguiram nunca postaram. Então eu resolvi faze-la para vocês, e eu percebi que ninguém nunca tinha feito, por causa de uma dúvida, e um certo grau de dificuldade. Certamente, eu tive uma dificuldade no começo, porém ao desenvolver da função eu percebi que não era nada de mais.



    Então eu trago aqui pra vocês esta função, cuja a ideia é fazer com que a criatura (jogador ou monstro) a utilize uma magia pelo nome dela, importante lembrar que o nome da magia, não é as palavras mágicas, exemplo: "utani hur" é a palavra mágica e "haste" é o nome da magia. Enfim, sem mais delongas e vamos aos códigos





    Vá ao arquivo "LuaScript.cpp" e procure por:

    //doPlayerAddExperience(cid, amount) lua_register(m_luaState, "doPlayerAddExperience", LuaScriptInterface::luaDoPlayerAddExperience);


    E abaixo adicione:

    //doCreatureCastSpell // by OrochiElf. lua_register(m_luaState, "doCreatureCastSpell", LuaScriptInterface::luaDoCreatureCastSpell);


    Agora procure por:







    E abaixo adicione:

    int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L) // by OrochiElf. { //doCreatureCastSpell(cid, spellname) std::string spellName = popString(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; }


    Agora vá ao arquivo "LuaScript.h" e procure por:

    static int32_t luaDoPlayerAddItem(lua_State* L);
    E abaixo adicione:
    static int32_t luaDoCreatureCastSpell(lua_State* L); // by OrochiElf


    Exemplo, eu tenho um pet, e quero que ele utilize a magia de "utani hur" - "haste".




    Talkaction Code:

    function onSay(cid, words, param, channel) local summon = getCreatureSummons(cid)[1] if isCreature(summon) then doCreatureCastSpell(summon, "haste") end return true end


    Esta função é muito requisitada para fazer servidores de pokémon, evitando gambiarras. Que foi o motivo para qual eu desenvolvi ela






    Créditos.



    Tony Araújo (OrochiElf) 100%

  11. Curtir
    Orochi Elf recebeu reputação de Cjaker em Arton Ats Project -> Zen World (WebGL - Mobile)   
    Eai galeraaa, bom, hoje eu to aqui pra falar de uma ideia que eu tive após eu ter uma conversa com um brother. Bom, quem acompanha o Tk a mais de 4 anos, talvez já tenha ouvido falar do meu antigo projeto Arton, clicando aqui você poderá ver a página no facebook. Ele era uma mistura de Tibia e MU, tinha alguns sistemas como: Chaos Machine, Fly com Asas, Aprimoramento de equipamentos (+1 +2...), dentre outros sistemas. Aqui eu vou deixar alguns vídeos de alguns sistemas.
     
     
    1. Barra de ataque e demonstração de algumas magias.
     
     
     
    2. Sistema de Chaos Machine (Máquina de melhorias)
     
     
    3. Sistema de atributos e visualização de item.
     
     
    4. Sistema de aprimoramento de items.
     
     
    5. Sistema de equipar armadura somente com uma quantidade de skill.
     
     
    6. Novo sistema de ataque.
     
     
    7. Sistema de batalhas com NPC.
     
     
    Bom, a ideia é a seguinte: Eu quero voltar com o projeto Arton, porém com uma nova identidade (Zen World) e uma nova proposta, porém, sem esquecer das antigas.
    O projeto não utilizará base alguma e será desenvolvido completamente do 0, utilizando o Unity 3D.
    O PVP e a jogabilidade do Tibia será totalmente adaptada a plataforma Mobile, assim levando a dinâmica e emoção do mesmo.
    Uma das novas ideias é lançar o jogo para navegadores e mobiles.
    O Zen World utilizará o sistema de mapas parecido com o do Ragnarok/TibiaME/MU (dividido em partes)
     
    O projeto está aberto a vagas! Então caso você se interesse pelo projeto e deseja ajudar, não deixe de comentar.
     
    Bom galera, eu estou bastante enferrujado para escrever tópicos sobre projetos kkkkk, o meu último já tem bastante tempo. Qualquer dúvida ou caso se interessem, comentem aqui! o Feedback é muito importante.
  12. Curtir
    Orochi Elf recebeu reputação de KotZletY em Arton Ats Project -> Zen World (WebGL - Mobile)   
    Eai galeraaa, bom, hoje eu to aqui pra falar de uma ideia que eu tive após eu ter uma conversa com um brother. Bom, quem acompanha o Tk a mais de 4 anos, talvez já tenha ouvido falar do meu antigo projeto Arton, clicando aqui você poderá ver a página no facebook. Ele era uma mistura de Tibia e MU, tinha alguns sistemas como: Chaos Machine, Fly com Asas, Aprimoramento de equipamentos (+1 +2...), dentre outros sistemas. Aqui eu vou deixar alguns vídeos de alguns sistemas.
     
     
    1. Barra de ataque e demonstração de algumas magias.
     
     
     
    2. Sistema de Chaos Machine (Máquina de melhorias)
     
     
    3. Sistema de atributos e visualização de item.
     
     
    4. Sistema de aprimoramento de items.
     
     
    5. Sistema de equipar armadura somente com uma quantidade de skill.
     
     
    6. Novo sistema de ataque.
     
     
    7. Sistema de batalhas com NPC.
     
     
    Bom, a ideia é a seguinte: Eu quero voltar com o projeto Arton, porém com uma nova identidade (Zen World) e uma nova proposta, porém, sem esquecer das antigas.
    O projeto não utilizará base alguma e será desenvolvido completamente do 0, utilizando o Unity 3D.
    O PVP e a jogabilidade do Tibia será totalmente adaptada a plataforma Mobile, assim levando a dinâmica e emoção do mesmo.
    Uma das novas ideias é lançar o jogo para navegadores e mobiles.
    O Zen World utilizará o sistema de mapas parecido com o do Ragnarok/TibiaME/MU (dividido em partes)
     
    O projeto está aberto a vagas! Então caso você se interesse pelo projeto e deseja ajudar, não deixe de comentar.
     
    Bom galera, eu estou bastante enferrujado para escrever tópicos sobre projetos kkkkk, o meu último já tem bastante tempo. Qualquer dúvida ou caso se interessem, comentem aqui! o Feedback é muito importante.
  13. Curtir
    Orochi Elf recebeu reputação de Ryukiimaru em [Show Off] Pokémon Global (Old Client custom)   
    Fala aí galera, eu gostaria de mostrar a vocês o client do meu servidor. Aqui eu criei algumas aplicações e gostaria da opinião de vocês a respeito.
    Pokémon Global Page
     

     

     

     

     

     

     
     
  14. Curtir
    Orochi Elf recebeu reputação de Micheel15 em [Show Off] Pokémon Global (Old Client custom)   
    Fala aí galera, eu gostaria de mostrar a vocês o client do meu servidor. Aqui eu criei algumas aplicações e gostaria da opinião de vocês a respeito.
    Pokémon Global Page
     

     

     

     

     

     

     
     
  15. Gostei
    Orochi Elf recebeu reputação de gabriel28 em [Show Off] Pokémon Global (Old Client custom)   
    Fala aí galera, eu gostaria de mostrar a vocês o client do meu servidor. Aqui eu criei algumas aplicações e gostaria da opinião de vocês a respeito.
    Pokémon Global Page
     

     

     

     

     

     

     
     
  16. Curtir
    Orochi Elf recebeu reputação de Heyron em [Show Off] Pokémon Global (Old Client custom)   
    Fala aí galera, eu gostaria de mostrar a vocês o client do meu servidor. Aqui eu criei algumas aplicações e gostaria da opinião de vocês a respeito.
    Pokémon Global Page
     

     

     

     

     

     

     
     
  17. Gostei
    Orochi Elf recebeu reputação de Snowsz em [Show Off] Pokémon Global (Old Client custom)   
    Fala aí galera, eu gostaria de mostrar a vocês o client do meu servidor. Aqui eu criei algumas aplicações e gostaria da opinião de vocês a respeito.
    Pokémon Global Page
     

     

     

     

     

     

     
     
  18. Obrigado
    Orochi Elf recebeu reputação de KotZletY em [C++] doCreatureCastSpell(creature, spellName)   
    [C++] doCreatureCastSpell (0.3.6pl1)



    Escrito e testado: 0.3.6PL1 [8.54 - 8.60]




    Salve galera do TibiaKing, eu fui procurar na internet sobre essa função e vi que já tentaram cria-la, porém não conseguiram, ou se conseguiram nunca postaram. Então eu resolvi faze-la para vocês, e eu percebi que ninguém nunca tinha feito, por causa de uma dúvida, e um certo grau de dificuldade. Certamente, eu tive uma dificuldade no começo, porém ao desenvolver da função eu percebi que não era nada de mais.



    Então eu trago aqui pra vocês esta função, cuja a ideia é fazer com que a criatura (jogador ou monstro) a utilize uma magia pelo nome dela, importante lembrar que o nome da magia, não é as palavras mágicas, exemplo: "utani hur" é a palavra mágica e "haste" é o nome da magia. Enfim, sem mais delongas e vamos aos códigos





    Vá ao arquivo "LuaScript.cpp" e procure por:

    //doPlayerAddExperience(cid, amount) lua_register(m_luaState, "doPlayerAddExperience", LuaScriptInterface::luaDoPlayerAddExperience);


    E abaixo adicione:

    //doCreatureCastSpell // by OrochiElf. lua_register(m_luaState, "doCreatureCastSpell", LuaScriptInterface::luaDoCreatureCastSpell);


    Agora procure por:







    E abaixo adicione:

    int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L) // by OrochiElf. { //doCreatureCastSpell(cid, spellname) std::string spellName = popString(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; }


    Agora vá ao arquivo "LuaScript.h" e procure por:

    static int32_t luaDoPlayerAddItem(lua_State* L);
    E abaixo adicione:
    static int32_t luaDoCreatureCastSpell(lua_State* L); // by OrochiElf


    Exemplo, eu tenho um pet, e quero que ele utilize a magia de "utani hur" - "haste".




    Talkaction Code:

    function onSay(cid, words, param, channel) local summon = getCreatureSummons(cid)[1] if isCreature(summon) then doCreatureCastSpell(summon, "haste") end return true end


    Esta função é muito requisitada para fazer servidores de pokémon, evitando gambiarras. Que foi o motivo para qual eu desenvolvi ela






    Créditos.



    Tony Araújo (OrochiElf) 100%

  19. Obrigado
    Orochi Elf recebeu reputação de LeoTK em [C++] doCreatureCastSpell(creature, spellName)   
    [C++] doCreatureCastSpell (0.3.6pl1)



    Escrito e testado: 0.3.6PL1 [8.54 - 8.60]




    Salve galera do TibiaKing, eu fui procurar na internet sobre essa função e vi que já tentaram cria-la, porém não conseguiram, ou se conseguiram nunca postaram. Então eu resolvi faze-la para vocês, e eu percebi que ninguém nunca tinha feito, por causa de uma dúvida, e um certo grau de dificuldade. Certamente, eu tive uma dificuldade no começo, porém ao desenvolver da função eu percebi que não era nada de mais.



    Então eu trago aqui pra vocês esta função, cuja a ideia é fazer com que a criatura (jogador ou monstro) a utilize uma magia pelo nome dela, importante lembrar que o nome da magia, não é as palavras mágicas, exemplo: "utani hur" é a palavra mágica e "haste" é o nome da magia. Enfim, sem mais delongas e vamos aos códigos





    Vá ao arquivo "LuaScript.cpp" e procure por:

    //doPlayerAddExperience(cid, amount) lua_register(m_luaState, "doPlayerAddExperience", LuaScriptInterface::luaDoPlayerAddExperience);


    E abaixo adicione:

    //doCreatureCastSpell // by OrochiElf. lua_register(m_luaState, "doCreatureCastSpell", LuaScriptInterface::luaDoCreatureCastSpell);


    Agora procure por:







    E abaixo adicione:

    int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L) // by OrochiElf. { //doCreatureCastSpell(cid, spellname) std::string spellName = popString(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; }


    Agora vá ao arquivo "LuaScript.h" e procure por:

    static int32_t luaDoPlayerAddItem(lua_State* L);
    E abaixo adicione:
    static int32_t luaDoCreatureCastSpell(lua_State* L); // by OrochiElf


    Exemplo, eu tenho um pet, e quero que ele utilize a magia de "utani hur" - "haste".




    Talkaction Code:

    function onSay(cid, words, param, channel) local summon = getCreatureSummons(cid)[1] if isCreature(summon) then doCreatureCastSpell(summon, "haste") end return true end


    Esta função é muito requisitada para fazer servidores de pokémon, evitando gambiarras. Que foi o motivo para qual eu desenvolvi ela






    Créditos.



    Tony Araújo (OrochiElf) 100%

  20. Obrigado
    Orochi Elf recebeu reputação de shadauer em Buy Summon Scroll   
    [CREATURESCRIPT] Buy Summon Scroll
     
    Fala galera do TibiaKing, eu vim postar pra vocês um script que eu fiz muito rapidinho aqui, só pra passar o tempo enquanto eu compilava umas sourcers :x
    Esse script é o seguinte, você tem um scroll e dentro dele você escreve o nome da criatura que você quer sumonar, porém para cada criatura você precisa de uma certa quantia de gold coins e level. Para saber o nome das criaturas disponíveis você digita "monsters" ou "monster".
     
    Testado: 0.3.6pl1 [8.54]
     
    Instalação
    Data/Creaturescript/Scripts/ScrollMonsters.lua

    --- Créditos: Tony Araújo (OrochiElf) ---- local monsters = {     ["orc berserker"] = {price = 1000, lv = 40, exhaustSto = 99900, exhaustTime = 120},     ["dragon"] = {price = 10000, lv = 80, exhaustSto = 99901, exhaustTime = 300},     -- [nome do monstro] {price = preço(gold coins), lv = level necessário, exhaustSto = storage para salvar o exhaust, exhaustTime = quantos segundos de exhaust}, } local removeOnUse = true -- Remover ao usar? true / false function onTextEdit(cid, item, newText)     local i = monsters[newText:lower()]     local str = "~~ Scroll Monsters ~~"          if isInArray({"monsters", "monster"}, newText:lower()) then         for monsterName, monsterInfo in ipairs(monsters) do             str = str "\n" .. monsterName .." [lv: "..monsterInfo.lv.." GP$: ".. monsterInfo.price         end                  doShowTextDialog(cid, item.itemid, str)         return true     end          if i then         if getPlayerLevel(cid) >= i.lv then             if doPlayerRemoveMoney(cid, i.price) then                 if not exhaustion.get(cid, i.exhaustSto) then                     if removeOnUse then                         doRemoveItem(cid, item.uid, 1)                     end                                          doSummonCreature(cid, newText:lower())                     exhaustion.set(cid, i.exhaustSto, i.exhaustTime)                     return true                 else                                          doPlayerSendCancel(cid, "Voce precisa esperar "..exhaustion.get(cid, i.exhaustSto).." segundos.")                     return true                 end             else                 doPlayerSendCancel(cid, "Voce precisa de "..i.price.." gold coins.")                 return true             end         else             doPlayerSendCancel(cid, "Voce precisa do level "..i.lv)             return true         end     else         doPlayerSendCancel(cid, "Esta criatura não existe.")         return true     end end  
    Data/Creaturescript/Creaturescript.xml

    <event type="textedit" name="Scroll Monsters" event="script" value="ScrollMonsters.lua"/>  
    Data/Creaturescript/Scripts/Login.lua

    registerCreatureEvent(cid, "Scroll Monsters")  
     
    Créditos
    Tony Araújo (OrochiElf) 100%
  21. Curtir
    Orochi Elf recebeu reputação de quemtuacha em [C++] doCreatureCastSpell(creature, spellName)   
    [C++] doCreatureCastSpell (0.3.6pl1)



    Escrito e testado: 0.3.6PL1 [8.54 - 8.60]




    Salve galera do TibiaKing, eu fui procurar na internet sobre essa função e vi que já tentaram cria-la, porém não conseguiram, ou se conseguiram nunca postaram. Então eu resolvi faze-la para vocês, e eu percebi que ninguém nunca tinha feito, por causa de uma dúvida, e um certo grau de dificuldade. Certamente, eu tive uma dificuldade no começo, porém ao desenvolver da função eu percebi que não era nada de mais.



    Então eu trago aqui pra vocês esta função, cuja a ideia é fazer com que a criatura (jogador ou monstro) a utilize uma magia pelo nome dela, importante lembrar que o nome da magia, não é as palavras mágicas, exemplo: "utani hur" é a palavra mágica e "haste" é o nome da magia. Enfim, sem mais delongas e vamos aos códigos





    Vá ao arquivo "LuaScript.cpp" e procure por:

    //doPlayerAddExperience(cid, amount) lua_register(m_luaState, "doPlayerAddExperience", LuaScriptInterface::luaDoPlayerAddExperience);


    E abaixo adicione:

    //doCreatureCastSpell // by OrochiElf. lua_register(m_luaState, "doCreatureCastSpell", LuaScriptInterface::luaDoCreatureCastSpell);


    Agora procure por:







    E abaixo adicione:

    int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L) // by OrochiElf. { //doCreatureCastSpell(cid, spellname) std::string spellName = popString(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; }


    Agora vá ao arquivo "LuaScript.h" e procure por:

    static int32_t luaDoPlayerAddItem(lua_State* L);
    E abaixo adicione:
    static int32_t luaDoCreatureCastSpell(lua_State* L); // by OrochiElf


    Exemplo, eu tenho um pet, e quero que ele utilize a magia de "utani hur" - "haste".




    Talkaction Code:

    function onSay(cid, words, param, channel) local summon = getCreatureSummons(cid)[1] if isCreature(summon) then doCreatureCastSpell(summon, "haste") end return true end


    Esta função é muito requisitada para fazer servidores de pokémon, evitando gambiarras. Que foi o motivo para qual eu desenvolvi ela






    Créditos.



    Tony Araújo (OrochiElf) 100%

  22. Curtir
    Orochi Elf recebeu reputação de gustavof em [C++] doCreatureCastSpell(creature, spellName)   
    [C++] doCreatureCastSpell (0.3.6pl1)



    Escrito e testado: 0.3.6PL1 [8.54 - 8.60]




    Salve galera do TibiaKing, eu fui procurar na internet sobre essa função e vi que já tentaram cria-la, porém não conseguiram, ou se conseguiram nunca postaram. Então eu resolvi faze-la para vocês, e eu percebi que ninguém nunca tinha feito, por causa de uma dúvida, e um certo grau de dificuldade. Certamente, eu tive uma dificuldade no começo, porém ao desenvolver da função eu percebi que não era nada de mais.



    Então eu trago aqui pra vocês esta função, cuja a ideia é fazer com que a criatura (jogador ou monstro) a utilize uma magia pelo nome dela, importante lembrar que o nome da magia, não é as palavras mágicas, exemplo: "utani hur" é a palavra mágica e "haste" é o nome da magia. Enfim, sem mais delongas e vamos aos códigos





    Vá ao arquivo "LuaScript.cpp" e procure por:

    //doPlayerAddExperience(cid, amount) lua_register(m_luaState, "doPlayerAddExperience", LuaScriptInterface::luaDoPlayerAddExperience);


    E abaixo adicione:

    //doCreatureCastSpell // by OrochiElf. lua_register(m_luaState, "doCreatureCastSpell", LuaScriptInterface::luaDoCreatureCastSpell);


    Agora procure por:







    E abaixo adicione:

    int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L) // by OrochiElf. { //doCreatureCastSpell(cid, spellname) std::string spellName = popString(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; }


    Agora vá ao arquivo "LuaScript.h" e procure por:

    static int32_t luaDoPlayerAddItem(lua_State* L);
    E abaixo adicione:
    static int32_t luaDoCreatureCastSpell(lua_State* L); // by OrochiElf


    Exemplo, eu tenho um pet, e quero que ele utilize a magia de "utani hur" - "haste".




    Talkaction Code:

    function onSay(cid, words, param, channel) local summon = getCreatureSummons(cid)[1] if isCreature(summon) then doCreatureCastSpell(summon, "haste") end return true end


    Esta função é muito requisitada para fazer servidores de pokémon, evitando gambiarras. Que foi o motivo para qual eu desenvolvi ela






    Créditos.



    Tony Araújo (OrochiElf) 100%

  23. Curtir
    Orochi Elf recebeu reputação de gustavof em [C++] Pokemon Ghost System   
    [C++] Pokemon Ghost System
     
    Fala galera do TibiaKing, hoje eu venho postar pra vocês um conteúdo que particularmente eu acho muito bom.
    Esse sistema faz com que o pokemon cuja o nome seja "Gastly, Haunter ou Gengar" (é possível adicionar mais pokemons), passe por dentro das paredes.
     
    Instalação:
    Vá em creature.cpp, e procure por

    void Creature::getPathSearchParams(const Creature* creature, FindPathParams& fpp) const {     fpp.fullPathSearch = !hasFollowPath;  
    E abaixo adicione:

    if(creature->isPlayerSummon()) {     if(!creature->getMaster()->hasCondition(CONDITION_INFIGHT))     {         if(creature->getName() == "Gengar")             fpp.clearSight = false;         if(creature->getName() == "Haunter")             fpp.clearSight = false;         if(creature->getName() == "Gastly")             fpp.clearSight = false;     } }  
     
    Espero que façam bom uso
     
    Créditos:
    Tony Araújo (OrochiElf)
  24. Negativo
    Orochi Elf recebeu reputação de Berserken em [8.54] Naruto Seven / Client Descompilado [Download]   
    Bom amigo, eu acho muito "invasivo" voce descompilar os clients dos servidores, tipo... os donos dos servdores compilam seus EXE's para não aver RIPPINGS e também para deixar o seu client mais leve,

    porém a atitude de DESCOMPILAR, é um ato de RIPPING. e sou contra.
    Porém ao seu trabalho no servidor , estão perfeitos. REP+
  25. Gostei
    Orochi Elf recebeu reputação de robi123 em Porque nunca fizeram um gerador de loot melhor para open tibia ?   
    Não é dificil de fazer não por C++, é até tranquilo na verdade. Daria pra configurar as coisas por XML na hora de configurar o loot do monstro. Quando eu tiver tempo, faço essa edição pra vocês :D

Informação Importante

Confirmação de Termo