Ir para conteúdo

Ayron5

Cavaleiro
  • Total de itens

    155
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Histórico de Reputação

  1. Upvote
    Ayron5 recebeu reputação de mister17 em Item que spawna um pokemon   
    @R e d  Testa aí  ^^ 
    Cria na actions um lua com o nome invoca e coloca dentro...
    Please login or register to see this spoiler.
    Se preferir mudar o item, edite na tag o numero "1822" 
     
    É isso espero ter ajudado! Aguardo respostas ^^ 
  2. Upvote
    Ayron5 deu reputação a Refe em TalkColor - RedMoon   
    Please login or register to see this spoiler.
     
     
    Esse sistema eu desenvolvi para o RedMoon: a Real RPG Server
    Página do facebook:
    Please login or register to see this link.
     
  3. Upvote
    Ayron5 deu reputação a Benny em [OTClient] Cor no nome por tag (ADM;GM;HELP)   
    PREVIEW:
     
    Please login or register to see this spoiler.
     
    [ADM] é a tag (Qualquer personagem que tenha [ADM] no nome)
    Color(0x00, 0x2a, 0xff) é a cor. No caso, você tem que usar cores RGB Hexadecimais, pode encontrar uma tabela Please login or register to see this link.
     e completar com 0x.
    Exemplo:
    A cor amarela tem como código: #FFFF00
    Ficaria assim: Color(0xFF, 0xFF, 0x00)
     
    Qualquer dúvida, à disposição!
    Créditos: @Refe
     
    Abração!!
     
  4. Upvote
    Ayron5 deu reputação a Tony Araujo em [C++] Monsters Passive System (No-bugs)   
    [C++] Monsters Passive System
    testado: TFS - 0.3.6 (porém acredito que funcione em outros)
    autor: Tony Araújo (OrochiElf)
     
    Eai galera, tranquilão? Estou eu aqui novamente, e hoje eu vou compartilhar com vocês um sistema que eu vejo muitas pessoas pedindo e buscando ajuda (principalmente no meu inbox kkkkk), seria ele o sistema de monstros passivos, que consiste naquela criatura que só ataca o jogador que o atacou, caso contrário ele fica andando normalmente. O sistema foi desenvolvido em cima do código do TFS 0.3.6, porém caso instale prestando bastante atenção em outras versões, funcione, talvez seja necessário mudar algum código, porém bem simples.
    Bom, vamos ao sistema.
     
    Em creature.cpp, procure pela função:
    bool Creature::setAttackedCreature(Creature* creature)  
     
    E altere esta condição:
        if(attackedCreature)     {         onAttackedCreature(attackedCreature);         attackedCreature->onAttacked();     }  
    Por esta:
        if(attackedCreature)     {         onAttackedCreature(attackedCreature);         attackedCreature->onAttacked();         attackedCreature->addDamagePoints(this, 0);     }  
     
    Procure pela função:
    void Creature::addDamagePoints(Creature* attacker, int32_t damagePoints)  
     
    E troque por esta:
    Please login or register to see this spoiler.
     
    Bom galera, espero que gostem e que façam bom uso. Qualquer bug ou problema, comenta aí pra eu resolver.
     

  5. Upvote
    Ayron5 recebeu reputação de Yan Liima em [Resolvido] Developed by...   
    Pode fechar, era lá mesmo... 
     

    Please login or register to see this attachment.
  6. Upvote
    Ayron5 deu reputação a Yan Liima em [Resolvido] Developed by...   
    Se não me engano é em otserv.cpp das src. Mas se a intenção é retirar os créditos originais e por o seu no lugar, seria muito arrogante da sua parte, afinal, os créditos são dados como forma de parabenizar o desenvolvedor/criador ou a pessoa no qual modificou o conteúdo. Levar créditos quando na verdade não fez nada é bem 'desumilde', acredite, já passei por isso. Creio que isso é o de menos, até porque não irá aparecer para ninguém além do utilizador da distro. Talvez no futuro tu precise saber quem que foi o desenvolvedor e tals, e não irá saber pelo fato de ter alterado ;/. Enfim, creio que irá fazer a coisa certa xD boa sorte amigo!
  7. Thanks
    Ayron5 recebeu reputação de Thalles Vitor em Aprenda a por o target da PXG no seu servidor!   
    No meu tbm tive erro na compilação .-. jfsdjfshf aí me toquei no que era.
    Mano é que na minha source está assim 
    Please login or register to see this spoiler.
    É isso... Vlw pelo tutor ^^ 
  8. Upvote
    Ayron5 deu reputação a Refe em BUGS: Clonar item e "derrubar" servidores   
    Hoje eu percebi que muitas pessoas estão levando a melhor com bugs de otserver.
    E eu vim aqui ensinar para vocês como fazer tais bugs, e para quem administra um servidor também saber como tal bug é feito e assim pensar em uma forma de fixar.
     
     
    Bug de mochilas:
    Please login or register to see this spoiler.
     
     
    Bom, a minha ideia é mostrar como os bugs são feitos para os donos de servidores arrrumar.
    Obrigado pela atenção!
    Até a próxima.
  9. Upvote
    Ayron5 recebeu reputação de Marshmello em [Resolvido] Erro no Order   
    É como o amigo ali falou, é nas sourcers do OTC. 
    Eu concertei usando esse tutorial do @Refe Segue os passos... ^^ 
     
    Primeiro vá nas sources do OTC e ache o arquivo
     
    creature.cpp
     
    Lá ache e substitua
    int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) return 0;  
    Por
    int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) speed = 150;  
    Também troque
     
    void Creature::setSpeed(uint16 speed) { uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); } Por
    void Creature::setSpeed(uint16 speed) { if(speed < 1) speed = 150; uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); } Creditos para ele. ^^ 
  10. Thanks
    Ayron5 deu reputação a Refe em Aprenda a por o target da PXG no seu servidor!   
    Requisitos:
    Please login or register to see this spoiler.
     
    Primeira modificação:
    No arquivo Creature.cpp, adicione uma inclusão:
    #include <framework/graphics/image.h> No arquivo Creature.cpp encontre o desvio condicional
    if(m_showStaticSquare && animate) { Lá dentro adicione:
    ImagePtr tarf = Image::load("data/images/target.png"); TexturePtr tarfe = TexturePtr(new Texture(tarf, false)); No mesmo desvio condicional troque a linha:
    g_painter->drawBoundingRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(28, 28)*scaleFactor), std::max<int>((int)(2*scaleFactor), 1));  
    Por:
    g_painter->drawTexturedRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(tarfe->getHeight(), tarfe->getWidth())*scaleFactor), tarfe); E logo após adicione:
    g_painter->setColor(Color::white); Agora, você precisa baixar a imagem abaixo e por na pasta data/images com o nome "target.png"

    Please login or register to see this link.

     
  11. Thanks
    Ayron5 recebeu reputação de Thalles Vitor em Custom Health Bar   
    Mano, vai estar assim lá na source.
    Please login or register to see this spoiler.
    Tenta aí ^^ 
  12. Thanks
    Ayron5 deu reputação a Refe em Custom Health Bar   
    PREVIEW: 

     
    CÓDIGO:
    Please login or register to see this spoiler.
     
    CRÉDITOS:
    @Refe
  13. Upvote
    Ayron5 deu reputação a Refe em [Resolvido] Opcode e função   
    É pq você tem que enviar o opcode, o extendedopcodes.lua só funciona para receber, faz uma action com o send que você botou lá para testar
    Ou seja, ponha a função
    doSendPlayerExtendedOpcode(cid, 55, onsangue) em uma action qualquer, ou talkaction e testa.
  14. Upvote
    Ayron5 recebeu reputação de Benny em [OTClient] Shiny Name   
    Nice! ^^ 
     

    Please login or register to see this attachment.
  15. Upvote
    Ayron5 deu reputação a Benny em [OTClient] Shiny Name   
    PREVIEW:

     
    CÓDIGO:
    Procure essa parte em creature.cpp:
    if(drawFlags & Otc::DrawNames) { if(g_painter->getColor() != fillColor) g_painter->setColor(fillColor); m_nameCache.draw(textRect); }  
    Troque por:
    if (drawFlags & Otc::DrawNames) { if (g_painter->getColor() != fillColor) g_painter->setColor(fillColor); CachedText shiny; shiny.setText("Shiny"); shiny.setFont(g_fonts.getFont("verdana-11px-rounded")); Rect shinyrect = Rect(point.x - shiny.getTextSize().width() / 2.0, point.y - 26, shiny.getTextSize()); if (m_name.find("Shiny") != std::string::npos) { char* shinys = "Shiny"; std::string nname = m_name; nname.erase(0, 5); m_nameCache.setText(nname); m_nameCache.draw(textRect); g_painter->setOpacity(0.5); g_painter->setColor(Color(255, 255, 0)); shiny.draw(shinyrect); g_painter->resetColor(); g_painter->resetOpacity(); m_nameCache.setText(m_name); } else { m_nameCache.draw(textRect); } }  
    Créditos: @Refe
  16. Thanks
    Ayron5 deu reputação a Refe em [Resolvido] Cores nos Nomes Source   
    Please login or register to see this spoiler.
    As TAGS tem que ser em letras maiúsculas.
     
    [ADM] o nome vai ficar azul
    [GM] o nome vai ficar verde
    [HELP] o nome vai ficar vermelho.
     
  17. Upvote
    Ayron5 deu reputação a Marshmello em [VIDEO AULA] Multi World System   
    Salve Ekz
    Hoje Estou trazendo um video de como abrir 2 mundo em 1 só servidor
     
    REQUISITOS
    Ter as Sources do Seu Servidor  
     
  18. Upvote
    Ayron5 deu reputação a Refe em Remakes PXG ~Alolan Muk, Beedril, Pelipper   
    Salve pessoa do ékz.
    Hoje eu vou começar um post que eu acho que será útil, basicamente irei atualizar sempre que possível com remakes da PXG e quem sabe alguns itens.
    Caso queiram algum remake da PXG é só comentar aqui em baixo que eu posto para vocês o mais rápido possível.
     
    Beedrill:
    Please login or register to see this spoiler.
     
  19. Upvote
    Ayron5 recebeu reputação de eliaspalermo em [Resolvido] Ncp que Teleporta para um local   
    Vamos lá: 
    em data/npc/scripts crie o arquivo npctele.lua e cole dentro...
    Please login or register to see this spoiler.
    Agora é só editar as coordenadas de destino. Espero ter ajudado, Abraço. 
  20. Thanks
    Ayron5 deu reputação a Gengo em [Resolvido] Show Chat   
    Bom, é bem simples de fazer, vamos lá.
     
    1º Na pasta do seu otClient em /modules/game_interface abra o arquivo gameinterface.otui
    Em cima de:
    GameBottomPanel id: gameBottomPanel anchors.left: gameLeftPanel.right anchors.right: gameRightPanel.left anchors.top: bottomSplitter.top anchors.bottom: parent.bottom Coloque:
    UIWidget anchors.bottom: gameBottomPanel.top anchors.horizontalCenter: parent.horizontalCenter image-source: /images/game/console/chat @onClick: showChat() Depois na mesma pasta, abre o arquivo gameinterface.lua e coloque a seguinte function:
    function showChat() gameBottomPanel:setMarginTop(gameBottomPanel:getHeight() - gameBottomPanel:getPaddingTop()) end  
    Bom é isso, atente-se na hora de colocar pois o arquivo .otui exige indentação e etc.
     
    In-Game ficará assim:

  21. Upvote
    Ayron5 deu reputação a Yan Liima em [Lua & C++] getOtsysTime() + getPlayerPing(cid) + doPlayerSendPing(cid)   
    #Introdução
    Bom hoje estarei trazendo aqui o sistema de Ping feito pelo Mock, com uma pequena adaptação feita por mim para funcionar em TFS 0.4(talvez podendo funcionar em outras)
    Pois o que ele disponibilizou foi apenas para TFS 0.3.6 e nem foi muito utilizado pela comunidade. Muitos servidores daqui para download tem script no talk mas a lib está totalmente errada e não tem o code nas sources.
    Esse sistema tem varias utilizades, podendo usar o comando !ping para verificar seu ms ou até mesmo você por para kikar jogadores com ms muito alto...
    Se você não sabe o cliente já tem um sistema de ping, e getOtsystime é como os.time () + os.clock (), você tem ano, mês, dia, hora, minutos, segundos, milisegundos...
    Enfim chega de enrolação e vamos lá!
    Code para TFS 0.4 e OTX:
    Please login or register to see this spoiler.
     
    Prontinho, agora seu servidor está pronto para utilizar as funções de Ping. Seja criativo!
    Ahh você é daqueles que quer tudo na mão né? Aqui vai um talkactions para ver o ping.
     
    Em talkactions/scripts crie um arquivo chamado playerping.lua, cole isto dentro:
    -- Script by Yan Liima(Night for xtibia.com) function onSay(cid, words, param, channel) local ms = ping.CheckPing(cid) doPlayerSendTextMessage(cid,22,"Ping aproximado --> ["..ms.."].") return true end Em talkactions.xml
    <talkaction words="!ping" event="script" value="playerping.lua"/>  
  22. Upvote
    Ayron5 recebeu reputação de Black Clover em [Resolvido] Verificar se player tem tal item...   
    Remova o primeiro end...
  23. Upvote
    Ayron5 deu reputação a Night Wolf em Alterar Script Porta Automática.   
    Assim vai funcionar pra 2, 3, 4, 5, 800 portas, só q sugiro vc mudar o delay pra ser a quantidade de tempo q vc quer q demore dividido pelo numero de ids q vai trocar, assim independente de ser 3 ou 500 o tempo pra abrir fechar será o mesmo.

    script:

    -- Do not remove the credits -- -- [MOVEMENT] Porta que abre automáticamente -- -- Developed by Rigby (João Vitor) -- -- Xtibia.com -- local porta = {13680, 13679, ID DA POUCO ABERTA, 13677} -- porta fechada, porta pouco aberta, porta meio aberta, porta aberta local pos = {x = 1056, y = 1054, z = 7} -- local onde vai fica a porta local delay = 150 -- ela vai demorar 0.1 segundos para fica totalmente aberta ou totalmente fechada local action = 2701 -- action que ta no .xml, se muda la vai ter que muda aqui também function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getTileItemById(pos, porta[1]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[i]).uid, porta[i + 1]) end, i * delay) end end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) local tab = {} for _, pid in ipairs(getPlayersOnline()) do if getTileInfo(getCreaturePosition(pid)).actionid == action then table.insert(tab, pid) end end if #tab == 0 then if getTileItemById(pos, porta[#porta]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[(#porta - i) + 1]).uid, porta[(#porta - i)]) end, i * delay) end end end return true end dava pra fazer mais simples mas não quis mudar os fors pra vc não perder a lógica e aquele action ali era desnecessário já que vc podia usar item.actionid pra pegar o actionid do movements.xml
  24. Thanks
    Ayron5 recebeu reputação de Olan trein em [Resolvido] Ncp que Teleporta para um local   
    Vamos lá: 
    em data/npc/scripts crie o arquivo npctele.lua e cole dentro...
    Please login or register to see this spoiler.
    Agora é só editar as coordenadas de destino. Espero ter ajudado, Abraço. 
  25. Upvote
    Ayron5 recebeu reputação de Step Records em [Resolvido] NPC Item For Teleport   
    Use this one, I've tested it now and it's 100%
     

    Please login or register to see this attachment.
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...