Welcome to JadaDev

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • JadaDev

      Themes   10/08/2018

      You're able to change theme in the bottom of the site.
    • JadaDev

      Live Chat   10/30/2019

      Live Chat

All Activity

This stream auto-updates   

  1. Last week
  2. Earlier
  3. /* <---------------------------------------------------------------------------> - Developer: Kolin 'Valtorei' - Updated By: JadaDev Special Thanks for Loud21! - Complete: ?% - ScriptName: 'Beastmaster_Trainer' - Developed: 07/15/2014 - Update: 12/28/2019 <---------------------------------------------------------------------------> */ #include "Pet.h" #include "ObjectMgr.h" #include "Log.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" #include "ScriptedGossip.h" #include "Player.h" #include "WorldSession.h" #include "CreatureAI.h" class CS_beastmaster_trainer : public CreatureScript { public: CS_beastmaster_trainer() : CreatureScript("CS_beastmaster_trainer") {} struct BeastMasterAI : public ScriptedAI { BeastMasterAI(Creature* creature) : ScriptedAI(creature) {} void CreatePet(Player* player, Creature* creature, uint32 entry) { Creature* creatureTarget = creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY() + 2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500); if (!creatureTarget) return; Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0); if (!pet) return; creatureTarget->setDeathState(JUST_DIED); creatureTarget->RemoveCorpse(); creatureTarget->SetHealth(0); pet->SetPower(POWER_HAPPINESS, 10480000); pet->SetUInt64Value(UNIT_FIELD_CREATEDBY, player->GetGUID()); pet->SetUInt64Value(UNIT_FIELD_FACTIONTEMPLATE, player->GetFaction()); pet->SetUInt64Value(UNIT_FIELD_LEVEL, player->GetLevel()); pet->GetMap()->AddToMap(pet->ToCreature()); pet->GetCharmInfo()->SetPetNumber(sObjectMgr->GeneratePetNumber(), true); if (!pet->InitStatsForLevel(player->GetLevel())) TC_LOG_INFO("misc", "Falha %u", entry); pet->UpdateAllStats(); player->SetMinion(pet, true); pet->SavePetToDB(PET_SAVE_AS_CURRENT); pet->InitTalentForLevel(); player->PetSpellInitialize(); ClearGossipMenuFor(player); creature->Whisper("Você adquiriu um novo pet, parabéns", LANG_UNIVERSAL, player); } bool OnGossipHello(Player* player, Creature* creature) { if (player->GetClass() != CLASS_HUNTER) { creature->Whisper("Apenas posso treinar hunters.", LANG_UNIVERSAL, player); ClearGossipMenuFor(player); return false; } if (player->GetPet()) { creature->Whisper("Você tem que remover seu pet atual para receber um novo.", LANG_UNIVERSAL, player); ClearGossipMenuFor(player); return false; } AddGossipItemFor(player, 1, "Obter novo pet", GOSSIP_SENDER_MAIN, 30); if (player->CanTameExoticPets()) AddGossipItemFor(player, 2, "Obter um pet exotico", GOSSIP_SENDER_MAIN, 50); AddGossipItemFor(player, 5, "Sair!", GOSSIP_SENDER_MAIN, 150); SendGossipMenuFor(player, 1, creature->GetGUID()); return true; } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) { player->PlayerTalkClass->ClearMenus(); switch (action) { case 100: OnGossipHello(player, creature); break; case 150: ClearGossipMenuFor(player); break; case 30: AddGossipItemFor(player, 6, "Bat", GOSSIP_SENDER_MAIN, 18); AddGossipItemFor(player, 6, "Bear", GOSSIP_SENDER_MAIN, 1); AddGossipItemFor(player, 6, "Boar", GOSSIP_SENDER_MAIN, 2); AddGossipItemFor(player, 6, "Cat", GOSSIP_SENDER_MAIN, 4); AddGossipItemFor(player, 6, "Carrion Bird", GOSSIP_SENDER_MAIN, 5); AddGossipItemFor(player, 6, "Crab", GOSSIP_SENDER_MAIN, 6); AddGossipItemFor(player, 6, "Crocolisk", GOSSIP_SENDER_MAIN, 7); AddGossipItemFor(player, 6, "Dragonhawk", GOSSIP_SENDER_MAIN, 17); AddGossipItemFor(player, 6, "Gorilla", GOSSIP_SENDER_MAIN, 8); AddGossipItemFor(player, 6, "Hound", GOSSIP_SENDER_MAIN, 9); AddGossipItemFor(player, 6, "Hyena", GOSSIP_SENDER_MAIN, 10); AddGossipItemFor(player, 6, "Moth", GOSSIP_SENDER_MAIN, 11); AddGossipItemFor(player, 6, "Owl", GOSSIP_SENDER_MAIN, 12); AddGossipItemFor(player, 4, "Next Page ->", GOSSIP_SENDER_MAIN, 31); AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 100); AddGossipItemFor(player, 5, "Nevermind!", GOSSIP_SENDER_MAIN, 150); SendGossipMenuFor(player, 1, creature->GetGUID()); break; case 31: AddGossipItemFor(player, 6, "Raptor", GOSSIP_SENDER_MAIN, 20); AddGossipItemFor(player, 6, "Ravager", GOSSIP_SENDER_MAIN, 19); AddGossipItemFor(player, 6, "Strider", GOSSIP_SENDER_MAIN, 13); AddGossipItemFor(player, 6, "Scorpid", GOSSIP_SENDER_MAIN, 414); AddGossipItemFor(player, 6, "Spider", GOSSIP_SENDER_MAIN, 16); AddGossipItemFor(player, 6, "Serpent", GOSSIP_SENDER_MAIN, 21); AddGossipItemFor(player, 6, "Turtle", GOSSIP_SENDER_MAIN, 15); AddGossipItemFor(player, 6, "Wasp", GOSSIP_SENDER_MAIN, 93); AddGossipItemFor(player, 4, "<- Previous Page", GOSSIP_SENDER_MAIN, 30); AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 100); AddGossipItemFor(player, 5, "Nevermind!", GOSSIP_SENDER_MAIN, 150); SendGossipMenuFor(player, 1, creature->GetGUID()); break; case 50: AddGossipItemFor(player, 6, "Chimaera", GOSSIP_SENDER_MAIN, 51); AddGossipItemFor(player, 6, "Core Hound", GOSSIP_SENDER_MAIN, 52); AddGossipItemFor(player, 6, "Devilsaur", GOSSIP_SENDER_MAIN, 53); AddGossipItemFor(player, 6, "Rhino", GOSSIP_SENDER_MAIN, 54); AddGossipItemFor(player, 6, "Silithid", GOSSIP_SENDER_MAIN, 55); AddGossipItemFor(player, 6, "Worm", GOSSIP_SENDER_MAIN, 56); AddGossipItemFor(player, 6, "Loque'nahak", GOSSIP_SENDER_MAIN, 57); AddGossipItemFor(player, 6, "Skoll", GOSSIP_SENDER_MAIN, 58); AddGossipItemFor(player, 6, "Gondri.", GOSSIP_SENDER_MAIN, 59); AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 100); AddGossipItemFor(player, 5, "Nevermind!", GOSSIP_SENDER_MAIN, 150); SendGossipMenuFor(player, 1, creature->GetGUID()); break; // Credits to Serifaz who helped me with these ID's. case 51: // Chimera CreatePet(player, creature, 21879); break; case 52: // Core hound CreatePet(player, creature, 21108); break; case 53: // Devilsaur CreatePet(player, creature, 20931); break; case 54: // Rhino CreatePet(player, creature, 30445); break; case 55: // Silithid CreatePet(player, creature, 5460); break; case 56: // Worm CreatePet(player, creature, 30148); break; case 57: // Loque'nahak CreatePet(player, creature, 32517); break; case 58: // Skoll CreatePet(player, creature, 35189); break; case 59: // Gondria CreatePet(player, creature, 33776); break; case 16: // Spider CreatePet(player, creature, 2349); break; case 17: // Dragonhawk CreatePet(player, creature, 27946); break; case 18: // Bat CreatePet(player, creature, 28233); break; case 19: // Ravager CreatePet(player, creature, 17199); break; case 20: // Raptor CreatePet(player, creature, 14821); break; case 21: // Serpent CreatePet(player, creature, 28358); break; case 1: // Bear CreatePet(player, creature, 29319); break; case 2: // Boar CreatePet(player, creature, 29996); break; case 93: // Bug CreatePet(player, creature, 28085); break; case 4: // Cat CreatePet(player, creature, 28097); break; case 5: // Carrion CreatePet(player, creature, 26838); break; case 6: // Crab CreatePet(player, creature, 24478); break; case 7: // Crocolisk CreatePet(player, creature, 1417); break; case 8: // Gorila CreatePet(player, creature, 28213); break; case 9: // Hound CreatePet(player, creature, 29452); break; case 10: // Hyena CreatePet(player, creature, 13036); break; case 11: // Moth CreatePet(player, creature, 27421); break; case 12: // Owl CreatePet(player, creature, 23136); break; case 13: // Strider CreatePet(player, creature, 22807); break; case 414: // Scorpid CreatePet(player, creature, 9698); break; case 15: // Turtle CreatePet(player, creature, 25482); break; } return true; } }; CreatureAI* GetAI(Creature* creature) const override { return new BeastMasterAI(creature); } }; void AddSC_Beastmaster_Trainer() { new CS_beastmaster_trainer(); }
  4. The End of PrivateWoW-TopServers Journey Dear Members, we are unfortunately to announce of shutting down PrivateWoW-TopServers toplist site. Over 4 years we had our ups and downs. Unfortunately we were unable to find a developer to fix and improve our toplist site. All Presonal Data (Email, Server Name, Payment information...) will be delete by the GDPR Law. PrivateWoW-TopServers Website/Files are on Sale. If you want to know more information, feel free contact us on our Official PrivateWoW-TopServers discord server (https://discord.gg/amZC94x) PrivateWoW-TopServers will shutdown 1.1.2020. All Members who have "In" Votes will get Free Premium Rank until 1.1.2020. PrivateWoW-TopServers Administrator.
  5. Hello, I'd would like to have my account removed from your website in accordance with GDPR. Please and thank you.
  6. trinitycore

    can u please fix this to work with newest trinitycore and db thanks!
  7. Good luck!
  8. REGISTER | FACEBOOK PrivateWoW-TopServers is a new Private World Of Warcraft TopList site. Subscribe your server today. FEATURES: Easy registration form. Added Module News, allowing others to see writed news. Added Search engine. Members can use Banner option. Add details of your site, with full BBCode support. Add screenshots of your site, allowing others to see it under "Details". An easy to use link so that users can vote for your site. Added module to view all the latest added sites in order. Subscribe your server now INFORMATIONS: [*] You can subscribe only Private World Of Warcraft Server (Only World Of Warcraft Servers, we do not support Aion and other Games!). [*] We Support 7 Expansions (Classic, The Burning Crusade, Wrath of the Lich King, Mists of Pandaria, Warlords of Draenor, Legion and Battle for Azeroth)
  9. Hi, i have problem, installed armory 2.1, and i dont know why dont show me Talent & Glyph tables or im doing something wrong? i made some screenshot. any tips or advice how to get those 2 tables in my armory page?
  10. Good luck!
  12. Great share, thank you!
  13. This is custom code from my server and i decided to share it. What it does ? When a pet is created it will learn all the talents the pet has. Good for fun servers with all talents. Core is TrinityCore 3.3.5. in Pet.cpp find: void Pet::InitTalentForLevel() Replace with: void Pet::InitTalentForLevel() { if (sWorld->getBoolConfig(CONFIG_PET_ALL_TALENTS) == true) { LearnTalents(); } else { uint8 level = getLevel(); uint32 talentPointsForLevel = GetMaxTalentPointsForLevel(level); // Reset talents in case low level (on level down) or wrong points for level (hunter can unlearn TP increase talent) if (talentPointsForLevel == 0 || m_usedTalentCount > talentPointsForLevel) resetTalents(); // Remove all talent points SetFreeTalentPoints(talentPointsForLevel - m_usedTalentCount); if (!m_loading) GetOwner()->SendTalentsInfoData(true); } } In Pet.h find: void InitTalentForLevel(); Above it add: void LearnTalents(); In Pet.cpp above void InitTalentForLevel() declare void LearnTalents(); void Pet::LearnTalents() { Player* player = GetOwner(); CreatureTemplate const* ci = GetCreatureTemplate(); if (!ci) return; // Check pet talent type CreatureFamilyEntry const* pet_family = sCreatureFamilyStore.LookupEntry(ci->family); if (!pet_family || pet_family->petTalentType < 0) return; for (uint32 i = 0; i < sTalentStore.GetNumRows(); ++i) { TalentEntry const* talentInfo = sTalentStore.LookupEntry(i); if (!talentInfo) continue; TalentTabEntry const* talentTabInfo = sTalentTabStore.LookupEntry(talentInfo->TalentTab); if (!talentTabInfo) continue; // unlearn only talents for pets family talent type if (!((1 << pet_family->petTalentType) & talentTabInfo->petTalentMask)) continue; // search highest talent rank uint32 spellId = 0; for (int8 rank = MAX_TALENT_RANK - 1; rank >= 0; --rank) { if (talentInfo->RankID[rank] != 0) { spellId = talentInfo->RankID[rank]; break; } } if (!spellId) // ??? none spells in talent continue; SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId); if (!spellInfo) continue; // learn highest rank of talent and learn all non-talent spell ranks (recursive by tree) learnSpellHighRank(spellId); addSpell(spellId); } SetFreeTalentPoints(0); if (!m_loading) player->PetSpellInitialize(); if (!m_loading) player->SendTalentsInfoData(true); // update at client } In World.h add in the Bool enum CONFIG_PET_ALL_TALENTS In World.cpp add below CONFIG_START_ALL_SPELLS m_bool_configs[CONFIG_PET_ALL_TALENTS] = sConfigMgr->GetBoolDefault("PlayerPet.AllTalents", false); In your worldserver.conf file add # # PlayerPet.AllTalents # Description: If enabled, player pets will start with all talents. # Default: 0 - (Disabled) # 1 - (Enabled) PlayerPet.AllTalents = 0
  14. Thanks for Sharing!
  15. This is a Continuation of FusionCMS but now under the brand name FusionGEN. This CMS are an Open-Source Project and anyone may use & contribute this. Latest FusionGEN Version: 1.0.1 Based on FusionCMS Version: 6.2.1 https://gitlab.com/omghixd/fusiongen Faster and more stable so far compared to FusionCMS 6.2.1.
  16. Overall since the files aren't on Jadadev.com than everything is good!
  17. I hope Eternal-WoW will not see the link of repack and DMCA me. However i'm planing maybe make a exe program with link which will not able see to download repack. I never add repack to Github, maybe some other user did and then was removed.
  18. Well it was released everywhere long time ago even on Github and more than this the files aren't on jadadev.com they are on external place which makes us safe.
  19. Yeah Thank you, i haven't updated anything because i'm still doing a rework
  20. cMangos is the best core atm for 1.12.1 and 2.4.3. Why ? Cause all other cores dropped support or are ran by a server online that doesn't want to share its source. For 3.3.5 i find TrinityCore the best because of the amount of information online, free scripts, active support and updates.
  21. Nice share, hopefully eternal doesn't DMCA your link tho. Like it did with all of the links from 2013-2015, since ur sharing only a repack i think it should be okay, its not like its the same server atm and it a pretty dead one.
  22. trinitycore

    Was searching for this few weeks ago XDD had to find it myself cause i didn't bother to google. Nice share, can confirm it works on latests trinitycore.
  23. Bump Update post desc since its a 255 server now and it has a blizzlike realm.
  24. Great share, thanks Troya.
  25. Load more activity