Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá, eu estou querendo dar Coach para servidores, explicar como as coisas funcionam na programação, melhorar a comunidade de Open Tibia e também ajudar, caso você esteja interessado entre em contato comigo via Discord.

 

Tem algumas regras:
- Só usaremos Discord.
- Respeito acima de tudo.
- Só entrar em contato caso você já possua um servidor online.
- Já saiba sobre a lógica de programação (porque se não, se torna MUITO difícil de ajudar)

- Eu tentarei te responder o mais rápido possível, não seja uma criança mimada.
- Você querer aprender.
- Se eu perceber que você está sendo Leecher, e não está querendo aprender, eu não vou responder mais.

No primeiro contato você responderá algumas perguntas minhas para saber quem que você é - e nos conhecermos melhor, claro.
E não, eu não vou fazer um script para você, vou tentar te explicar a lógica do que você quer! E você vai tentar fazer! Sim, você vai aprender!


Tá, .. mas quem eu sou? Me conhecem como vankk, e sou dono do AuraOT.  Eu jogo Tibia a 14 anos, e programo OTS a 9 anos. Atualmente eu sou um contribuidor do The Forgotten Server, e também faço trabalhos para diversos servidores com bastante jogadores online. Possuo conhecimentos em PHP, Lua, Python, Java, JavaScript.

Resumidamente é isso, não gosto de enrolar muito, gosto de ser direito.

Meu discord é vankk#7765

 

Editado por vankk (veja o histórico de edições)

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por MarcusCores
      Welcome to ShadeCores
      We are excited to finally present to you: ShadeCores!
      After a long time of development and testing, we're finally ready to launch this awesome game!
      Quick Info for laziness:
      Rates: Tibia 7.4 theme 1x Experience 1x Skills 1x Magic 1x Loot 1x Regen General info:
      Official launch: April 24, 17:00 CEST.
      Create characters: 1 hour before launch (16:00 CEST).
      Website: https://shadecores.com/?subtopic=news
      Authentic Damages Monster attacks Monsters carrying equipment & loot Monster Spawns & respawn depending on players online World light and watches Traps Line of sight system Floor saving system Exhaustion system Much more.. General Cannot multi-client REAL Proven & Verified Anti-Cheat system = No cheaters Many quests modified to add mystery to the game for everyone Much more..
      What is ShadeCores?
      ShadeCores is a game designed to mimic the oldschool version of Tibia.com, but in a slower pace.
      Our goal is to be a long lasting and functional game that doesn't run a course of being broken after a few years.
      Read more at: https://shadecores.com/?subtopic=about&view=about.

      World Map
      The map contains all places of Tibia 7.70.
      It also contains 100% spawns of Tibia 7.70.
      With exception of Ankrahmun and Port Hope that was removed for balancing purposes.

      Built authentically
      ShadeCores was built hand in hand with hacked Tibia files (7.70 version) and is very accurate to how Tibia was (with exception things that has been improved).
      If you played Tibia back in 7.4-7.70 and join ShadeCores, you will yourself notice how scary accurate every single spawn is.
      Read more at: https://shadecores.com/?subtopic=about&view=additional.

      Game health
      We have made many modifications to ensure a healthy economy and game.
      Read more at: https://shadecores.com/?subtopic=about&view=balance.

      Creature Behavior
      In ShadeCores, same as in CipSoft's, creatures that's fleeing for their life (low health) will not make any pauses no matter how close the player is.
      Creatures also doesn't have any exhaustion of their abilities such as attacks, healings and more.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=5-Features+-Creature+Behavior.

      Creature spawns
      ShadeCores has the very same spawn system that CipSoft's had back in the day.
      All creatures that spawns has a "home".
      And this "home" has a set amount of creatures that belongs to it, always same type of creature.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=3-Features+-Creature+spawns.

      Accurate creature loot & inventory
      ShadeCores have an accurate loot & inventory system for creatures, working identically as it did in CipSoft's back in the day.
      Which means that creatures with items that give light, will also light up the creature, or armors that will increase the armor of the creature, or that when a creature wear boots of haste, it will run noticeably faster!
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=1-Features+-Creatures+equipping+their+loot+%26amp%3B+loot+system.

      Authentic exhaustions
      Believe it or not, OT's have it completely wrong, OTs uses 1 or 2 kind of exhaustions depending on which version they're meant to reflect (healing + attacking spells).
      However, in CipSoft's, there were 3 different exhaustions in the old days, 4 if you include "using item on.." exhaustion which was 1 second.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=6-Features+-Exhaustion+system.

      Floor saving
      ShadeCores are running with a map-saving system that allow the map to save certain edits done by players.
      The edits can almost be anything from items added to certain places, to open doors, wall torches that's lit or not, items hiding in boxes, book cases or even unexpected containers invisible to the naked eye.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=12-Features+-Floor+saving+system.

      Game health balance
      To ensure that ShadeCores become as perfect as possible, a lot has to be considered and corrected.
      Our goal is to make a long lasting and functional game that doesn't run a course of being broken after a few years.
      In ShadeCores, you're not meant to get unlimited supplies, hunting dragons, dragon lords, demons or other demonic critters, we don't fancy the rushed pace much of Tibia has become along with the community.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=13-Features+-Game+Health+Balance+(creatures%2C+supplies%2C+gold).

      Keep valuables valuable
      In ShadeCores it's harder to obtain "good" equipment, which will turn lower level equipment into the new good equipment.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=14-Features+-Game+Health+Balance+(equipment).

      Line of sight system
      In ShadeCores we use the same line-of-sight system as in CipSoft's.
      You may notice when you're playing that sometimes you can throw things in a way you can't do in most OT's.
      And you' may also notice that sometimes, you cannot throw things in same way as in most OT's.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=8-Features+-Line+of+sight+system.

      Poison storm
      Almost every OT either has ticking poison damage from around 50 counting down until 0, while others have an instant damage followed by poison or some other mixtures.
      While in reality, damage of the poison storm is decided by level and magic level, from the first tick of damage, it decreases with a few % until it reaches 0.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=7-Features+-Poison+storm.

      Traps functionality
      Traps does a static amount of damage. 30 to be exact, it's always 30.
      However, traps cause a physical damage that listen to the creatures armor.
      It means that the damage can and will be reduced by any armor the creature may have.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=2-Features+-Traps+(item).

      World light & watches
      In ShadeCores, time and world light works exactly like it did in CipSoft's back in the day.
      Read more at: https://shadecores.com/?subtopic=support&view=faq&topic=9-Features+-World+lights+%26amp%3B+watches.

      Anti-Cheat system
      We have a very advanced and automatic anti-cheat system that detects all kind of cheats rather quickly, be it bot, macro, tasker or others.
      This system was first developed and proven to work very well in RetroCores world "Cleanera".
      It has since then been improved to be faster and detect a wider array of cheats that people could use.

      A lot of servers has basically lied about that they're anti-bot, most of players have been in "anti-bot" servers that's been exploding with cheats and nobody gets punished, which is why most with good reason wont trust whenever someone says they're "antibot".
      But through Cleanera@RetroCores, we've verified for a lot of people that we're not bullshitting you, we're legit, we have a system that works and a lot of people have tested it and found themselves shocked when their "secret cheat" got caught even though nobody was nearby them.

      Additionally to the anti-cheat, ShadeCores does not allow multi-clienting
      Multi-Clienting will be treated as a cheat and lead to a deletion.
      To make sure nobody accidentally use multi-client without knowing the rules, we've made so that it's not possible to start more than one instance of the client.
      If you try to start a new client while already having one open, you will face this little message.

      Other Game Features
      Ability to play for free. No level restrictions on items nor spells. Non-stackable runes/fluids. No Runes from NPCs. No item-hotkeys. No wands/rods. No protection zone on boats/carpets. Manual aiming Anti-lag system. Great and improved monster systems. Monsters can be lured anywhere. No stairjump exhaust. Possibility to make UH traps. Accurate 7.4 formulas. Classic premium system. Classic promotion system. Many and random raids with possibility to loot raid-rare items.
      If you're new to the community, you're welcome to join the ShadeCores Discord server to chat with other players and staff!
      plain link: https://discord.gg/BtZmNDNUz6


      ShadeCores will officially launch on April 24 at 17:00 CEST!
      You will be able to create characters starting at 16:00 CEST the same day!

      Sincerely,
      ShadeCores Staff
    • Por Cat
      Quer saber como eu fiz esses banners e quadros em menos de 1 hora?
       
      (tópico original: https://tibiaking.com/forums/topic/104074-banners-e-pinturas/)
       
       
      - ○ -
       
      Bom, a verdade é que não precisa saber pixel art para produzir peças como estas. Mas se você souber, agrega muito a qualidade das peças, uma vez que você queira melhorar a moldura ou até mesmo aplicar retoques na imagem reduzida.
       
      Este tutorial é bem simples, iremos trabalhar com resize (redução de imagens), distorção, nitidez e ruídos.
      Foram utilizados: Paint e Photoshop 2019 (se você não tiver condições financeiras para comprar Photoshop, recomendo a versão 2019 cracked, você encontra facilmente na internet, apenas cuide com vírus, escaneie tudo certinho, etc)
       
      1 - Escolha uma imagem de sua preferência, leve em consideração que quanto mais detalhes estiverem próximos uns dos outros, mais elementos aparecerão no resultado final, eu escolhi estas abaixo:

       

       
      2 - O segundo passo é determinar a área da imagem que será utilizada, e redimensioná-la para 128x128, 128x64, 64x64, 64x32, ou 32x32. (leve em consideração que um tamanho 128x128 precisara de 3x3 paredes para encaixá-la no mapa, e 32x32 apenas 1 parede)

       
         
       

       
      3 - Agora, utilizando o Photoshop irei melhorar a qualidade dessas imagens reduzidas, usando as ferramentas redução de ruído e aplicação inteligente de nitidez. Também mudarei para uma cor de minha preferência. Veja: 
       
       
       

       
      4 - Agora utilizaremos as seguintes ferramentas do Paint, nesta ordem:
       
       
       
      O resultado será este:
       

       
      Agora basta aplicar a moldura e pronto, está feito!
       
       
       
       
       
       
       
       
       
    • Por Wise
      Notei que alguns membros precisavam desse creature event pra desenvolver alguns sistemas, então eu resolvi compartilhá-lo com vocês.



      Na source, em creatureevent.cpp



      Abaixo de:
      else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH;
       
      Adicione:
      else if(tmpStr == "moveitem") m_type = CREATURE_EVENT_MOVEITEM;
       
      Abaixo de:
      case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath";
       
      Adicione:
      case CREATURE_EVENT_MOVEITEM: return "onMoveItem";
       
      Abaixo de:
      case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList";
       
      Adicione:
      case CREATURE_EVENT_MOVEITEM: return "cid, item, count, toContainer, fromContainer, fromPos, toPos";
       
      Antes de:
      bool CreatureEvents::playerLogout(Player* player, bool forceLogout)
       
      Adicione:
      uint32_t CreatureEvent::executeMoveItem(Player* player, Item* item, uint8_t count, const Position& fromPos, const Position& toPos, Item* toContainer, Item* fromContainer, int16_t fstack) { //onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(player->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(player) << std::endl; env->streamThing(scriptstream, "item", item, env->addThing(item)); scriptstream << "local count = " << count << std::endl; env->streamThing(scriptstream, "toContainer", toContainer, env->addThing(toContainer)); env->streamThing(scriptstream, "fromContainer", fromContainer, env->addThing(fromContainer)); env->streamPosition(scriptstream, "fromPos", fromPos, fstack); env->streamPosition(scriptstream, "toPos", toPos, 0); scriptstream << m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[30]; sprintf(desc, "%s", player->getName().c_str()); env->setEvent(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(player->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); LuaInterface::pushThing(L, item, env->addThing(item)); lua_pushnumber(L, count); LuaInterface::pushThing(L, toContainer, env->addThing(toContainer)); LuaInterface::pushThing(L, fromContainer, env->addThing(fromContainer)); LuaInterface::pushPosition(L, fromPos, fstack); LuaInterface::pushPosition(L, toPos, 0); bool result = m_interface->callFunction(7); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeMoveItem] Call stack overflow." << std::endl; return 0; } }

       
      Agora, em creatureevent.h


      Abaixo de:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList);
       
      Adicione:
      uint32_t executeMoveItem(Player* player, Item* item, uint8_t count, const Position& fromPos, const Position& toPos, Item* toContainer, Item* fromContainer, int16_t fstack);
       
      Procure por:
      CREATURE_EVENT_PREPAREDEATH
       
      Substitua por:
      CREATURE_EVENT_PREPAREDEATH, CREATURE_EVENT_MOVEITEM

       
      E em game.cpp


      Depois de:
      if(!canThrowObjectTo(mapFromPos, mapToPos) && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere)) { player->sendCancelMessage(RET_CANNOTTHROW); return false; }
       
      Adicione:
      bool success = true; CreatureEventList moveitemEvents = player->getCreatureEvents(CREATURE_EVENT_MOVEITEM); for(CreatureEventList::iterator it = moveitemEvents.begin(); it != moveitemEvents.end(); ++it) { Item* toContainer = toCylinder->getItem(); Item* fromContainer = fromCylinder->getItem(); if(!(*it)->executeMoveItem(player, item, count, fromPos, toPos, (toContainer ? toContainer : 0), (fromContainer ? fromContainer : 0), fromStackpos) && success) success = false; } if(!success) return false;

       
      Um exemplo BEM simples do uso desse creature event:



      Tag:
      <event type="moveitem" name="MoveItem" event="script" value="moveitem.lua"/>

       
      moveitem.lua
      function onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) local item = 12345 if item.itemid == item and getPlayerAccess(cid) < 4 then return doPlayerSendCancel(cid, 'You are not allowed to move this item.') and false end return true end Nessa estrutura de controle, se o item for o de ID 12345 e o cid tiver acesso menor do que 4, retornará false e ele não poderá mover o item.
      Se não for o caso, a checagem feita será false e retornará true, então o cid poderá mover o item.




      Esse callback registra creature event?
      Sim:
      registerCreatureEvent(cid, "MoveItem")  
      Créditos: Summ.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo