Jump to content

blueboy

Members
  • Posts

    723
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by blueboy

  1. Hi kaxias, O.K so your trying to build a bot/player group to enter an instance. Is there any warnings on your server, as you're logged out? Let me know.
  2. Hi kaxias, So let me get this straight, when you invite another player (not a bot) to join the player group, your logged out. Is the exit graceful, or are you booted? Although the patches may well appear to work well, they can often conflict, causing weird side effects. I will check playerbot with MaNGOS[10149] and see whether I get a problem. Then I suggest you add each of the patches one by one until the error occurs again. That way we can track the root cause. I'll also look at the changelogs, to see if there are any logout issues. Cheers
  3. Hi kyle1 That sounds good, I'll update the repos shortly to include your 'soul link' patch and my 'cast' patch. So the extractSpellId function will be available in the code for you to use. I have a few more patches, but I won't push them yet. Cheers
  4. Hi, Thanks for the info, but can you give me some details. What version of MaNGOS are you running with playerbot and which mods/patches are you using? Please get back to me
  5. Hi kyle1, I hope you don't mind I've been trying a few ideas out that may help with your 'petcast' command. It might be nice to utilize string links (e.g [Growl]) from the 'pet spell' command. In post #1175 I issued a patch to enhance the bot 'cast' command, although I didn't get much feedback. This included a function 'extractSpellId' to extract spellIds, encoded in the string links obtained from the 'spells' command. I have adapted this, and included a patch for you to try out. (This was created for use with the portal repo, you will have to edit the file paths to work with blueboy) diff --git a/src/game/playerbot/PlayerbotAI.h b/src/game/playerbot/PlayerbotAI.h index ef4383f..4d4a2a1 100644 --- a/src/game/playerbot/PlayerbotAI.h +++ b/src/game/playerbot/PlayerbotAI.h @@ -127,6 +127,9 @@ class MANGOS_DLL_SPEC PlayerbotAI // extracts item ids from links void extractItemIds(const std::string& text, std::list<uint32>& itemIds) const; + // extract spellid from links + bool extractSpellId(const std::string& text, uint32 &spellId) const; + // extracts currency from a string as #g#s#c and returns the total in copper uint32 extractMoney(const std::string& text) const; diff --git a/src/game/playerbot/PlayerbotAI.cpp b/src/game/playerbot/PlayerbotAI.cpp index 9e42771..54e5d04 100644 --- a/src/game/playerbot/PlayerbotAI.cpp +++ b/src/game/playerbot/PlayerbotAI.cpp @@ -2377,6 +2377,34 @@ void PlayerbotAI::extractItemIds(const std::string& text, std::list<uint32>& ite } } +bool PlayerbotAI::extractSpellId(const std::string& text, uint32 &spellId) const +{ + + // Link format + // |cffffffff|Hspell:" << spellId << ":" << "|h[" << pSpellInfo->SpellName[loc] << "]|h|r"; + // cast |cff71d5ff|Hspell:686|h[shadow Bolt]|h|r"; + // 012345678901234567890123456 + // base = 16 >| +7 >| + + uint8 pos = 0; + + int i = text.find("Hspell:", pos); + if (i == -1) + return false; + + // DEBUG_LOG("extractSpellId first pos %u i %u",pos,i); + pos = i + 7; // start of window in text 16 + 7 = 23 + int endPos = text.find('|', pos); + if (endPos == -1) + return false; + + // DEBUG_LOG("extractSpellId second endpos : %u pos : %u",endPos,pos); + std::string idC = text.substr(pos, endPos - pos); // 26 - 23 + spellId = atol(idC.c_str()); + pos = endPos; // end + return true; +} + bool PlayerbotAI::extractGOinfo(const std::string& text, uint32 &guid, uint32 &entry, int &mapid, float &x, float &y, float &z) const { @@ -2872,6 +2900,41 @@ void PlayerbotAI::HandleCommand(const std::string& text, Player& fromPlayer) } } + //handle pet cast command + else if (text.size() > 3 && text.substr(0, 3) == "pc " || text.size() > 8 && text.substr(0, 8) == "petcast ") + { + Pet *pet = m_bot->GetPet(); + if (!pet) { + SendWhisper("I have no pet.", fromPlayer); + return; + } + else { + std::string spellStr = text.substr(text.find(" ") + 1); + uint32 spellId = (uint32) atol(spellStr.c_str()); + + // try and get spell ID by name + if (spellId == 0) + spellId = getPetSpellId(spellStr.c_str()); + + // try link if text NOT (spellid OR spellname) + if (spellId == 0) + extractSpellId(text, spellId); + + if (spellId != 0 && pet->HasSpell(spellId)) + { + + PetSpellMap::iterator itr = pet->m_spells.find(spellId); + if (itr != pet->m_spells.end()) + { + if(itr->second.active == ACT_ENABLED) + pet->ToggleAutocast(spellId, false); + else + pet->ToggleAutocast(spellId, true); + } + } + } + } + // use items else if (text.size() > 2 && text.substr(0, 2) == "u " || text.size() > 4 && text.substr(0, 4) == "use ") { @@ -3170,6 +3233,70 @@ void PlayerbotAI::HandleCommand(const std::string& text, Player& fromPlayer) ch.SendSysMessage(negOut.str().c_str()); } + + else if (text == "pet spells") + { + + Pet *pet = m_bot->GetPet(); + if (!pet) { + SendWhisper("I have no pet.", fromPlayer); + return; + } + + int loc = GetMaster()->GetSession()->GetSessionDbcLocale(); + + std::ostringstream posOut; + std::ostringstream negOut; + + const std::string ignoreList = ","; + std::string alreadySeenList = ","; + + for (PetSpellMap::iterator itr = pet->m_spells.begin(); itr != pet->m_spells.end(); ++itr) { + const uint32 spellId = itr->first; + + if (itr->second.state == PETSPELL_REMOVED || IsPassiveSpell(spellId)) + continue; + + const SpellEntry* const pSpellInfo = sSpellStore.LookupEntry(spellId); + if (!pSpellInfo) + continue; + + std::string comp = ","; + comp.append(pSpellInfo->SpellName[loc]); + comp.append(","); + + if (!(ignoreList.find(comp) == std::string::npos && alreadySeenList.find(comp) == std::string::npos)) + continue; + + alreadySeenList += pSpellInfo->SpellName[loc]; + alreadySeenList += ","; + + if (IsPositiveSpell(spellId)) + { + if(itr->second.active == ACT_ENABLED) // link green + posOut << " |CFF086142|Hspell:" << spellId << "|h[" + << pSpellInfo->SpellName[loc] << "]|h|r"; + else // link red + posOut << " |CFFFF0000|Hspell:" << spellId << "|h[" + << pSpellInfo->SpellName[loc] << "]|h|r"; + }else{ + if(itr->second.active == ACT_ENABLED) // link green + negOut << " |CFF086142|Hspell:" << spellId << "|h[" + << pSpellInfo->SpellName[loc] << "]|h|r"; + else // link red + negOut << " |CFFFF0000|Hspell:" << spellId << "|h[" + << pSpellInfo->SpellName[loc] << "]|h|r"; + } + } + + ChatHandler ch(&fromPlayer); + SendWhisper("Here's my pet's non-attack spells:", fromPlayer); + ch.SendSysMessage(posOut.str().c_str()); + SendWhisper("and here's my pet's attack spells:", fromPlayer); + ch.SendSysMessage(negOut.str().c_str()); + } + + // survey project: 18:30 29/04/10 rev.3 filter out event triggered objects & now updates list else if (text == "survey") { Essentially, you first use the 'pet spells' command You will get a list of string links, activated ones in green and deactivated ones in red. By default each pet will have some spells that are always loaded active (e.g Demon imp - [Firebolt][blood Pact]). Although you can then deactivate them if you wish. Autocast spells To toggle (activate or deactivate) spell(s) /p petcast <Shift Click> [Firebolt] /w botname petcast <Shift Click> [Firebolt] Hope this helps
  6. Hi kyle1, I've now been using the 'petcast' only for a short time, but It is difficult see it's effects. As I understand it, spells are used by pets automatically. The player is able to selectively activate or deactivate these spells. If 'petcast' was to allow the botmaster to activate/deacitvate these spell, that would be good. I assume this is what 'petcast' does, but there is no way of telling whether a spell has been activated or deactivated. A suggestion would be to display the links to (activated/deactivated) spells in different colours. Something like this; Speak with you soon
  7. Hi kyle1, I am presently testing your patch with MaNGOS[10136] SD2[1736]. I'm having an issue with 'pet spells' /w botname pet spells & /p pet spells Bot Test Group Warlock Pet Imp Companion Red Dragon Hatchling Mount Felsteed Hunter Pet Raptor Mount Timber Wolf Rogue Mount Black Skeletal Horse Shaman None Paladin None The command 'pet spells' works fine for the Warlock and the Hunter, but when used with the Rogue causes the server to crash everytime. Both the Warlock and the Hunter have multiple creatures listed under the pet tab, whereas the Rogue only has the mount. As far as I know, none of the mounts should have spells, so it's even more of a puzzle why the crash occurs. The crash is sudden with no server warnings. I'll try to gather more info if I can. EDIT: I have found the problem. Although you include an event trap to cater for bots without pets, the program flow still continues. As soon as the pointer 'pet' is first used, the server will crash. Include a 'return' in the trap condition, as below. I notice that you use a similar trap for the command 'pet cast'. A 'return' should be included in this too Hope this helps.
  8. Hi, Thanks very much for your contribution, I'll start testing it now. I have been testing the 'soul_link' patch and it works fine. If it's O.K with you I'll included it in the next repo update. It will be done shortly, with code compatible with client 3.3.5a - MaNGOS[10136]+ Game play is certainly quieter now. I didn't realise that the warlock was continuely casting 'soul link', :rolleyes: Have you got a GitHub account? If not they are easy to setup and free. I can then add you as a contributor to both repos and you can push your own work, when your ready. Let me know, and thanks again
  9. Hi, If you are referring to the 'instance fix' I've just posted, it is not necessary. I have already made the changes to the code on both repos (http://github.com/blueboy/portal and http://github.com/blueboy/mangos) If you want to create a playerbot patch from the repos, use the following bash scripts (thanks to skinlayers for his improvements) I have recently updated these to work with MaNGOS[10000]+. playerbot.sh #!/bin/bash -x # create empty .git repository mkdir playerbot cd playerbot git init # get hash for latest mangos release [XXXX], associated with playerbot release git pull git://github.com/blueboy/mangos.git master ../gethash.sh # read hash into 'line' variable { while read line do echo $line done } < hash.txt # cleanup & remove unwanted .git repositiory cd .. rm -R playerbot # create empty .git repository mkdir playerbot cd playerbot git init # pull mangos master branch git pull git://github.com/mangos/mangos.git master # change to mangos branch associated with hash git checkout -b mangos $line # add remote playerbot branch to compare with local mangos branch git remote add playerbot git://github.com/blueboy/mangos.git #merge remote branch with local branch git pull playerbot master # difference between merged local branch & mangos hash branch git diff $line > playerbot.patch and gethash.sh (must be in same directory) to work with playerbot.sh #!/bin/bash [ -f "hash.txt" ] && rm hash.txt git log --pretty=oneline > commit.txt { while read line do echo $line > line.txt index=0 while read -r -n1 char; do MYARRAY[$index]=$char let "index++" done < line.txt ELEMENTS=${#MYARRAY[@]} i=0;t=1;n=2 while [ $n -lt $ELEMENTS ] do [ "${MYARRAY[$t]}" == "[" ] && [ "${MYARRAY[$n]}" == "1" ] && exit echo -n "${MYARRAY[$i]}" >> hash.txt let "i++";let "t++";let "n++" done rm hash.txt done } < commit.txt These scripts will produce a patch from the code on blueboy. You will have to edit them to produce a patch for the code on portal The patch produced can then be applied as follows, 1. Download ManGOS to your harddrive.. git clone [email][email protected]/mangos/mangos.git[/email] copy the playerbot.patch to the cloned mangos directory. 2. Select the required version of MaNGOS, with this script branch.sh <version label > < version HASH> // version HASH can be obtained with the 'git log' command example; ./branch.sh 10123 b39a1d97ce1b41876a3c6f46a4ce57f7af77f8fd branch.sh #!/bin/bash unset COMMIT unset BRANCH COMMIT=$2 BRANCH=$1 [ ! -z "${BRANCH}" ] || { echo No branch name specified ; exit 1 ; } [ ! -z "${COMMIT}" ] || { echo No commit SHA specified. use git log; exit 1 ; } git checkout -b ${BRANCH} ${COMMIT} 3. git apply --check --whitespace=fix playerbot.patch Hope this helps
  10. Hi Guys, I have got an update, that I hope will improve server stability, when bot(s) interact with instances. In order for bots to enter an instance they must be invited to a group, with the player as the leader. I noticed that dispite this restriction, all bot(s) still try to play an active roll in combat. Snippet of Crash Log Player Bean is being teleported to map 1 Player Bean is being teleported to map 1 MAP: Removing player 'Bean' from instance '1' of map 'Wailing Caverns' before relocating to other map Remove player Bean from grid[31,32] [1 ms] SQL: START TRANSACTION [0 ms] SQL: DELETE FROM corpse WHERE player = '132' AND corpse_type <> '0' [1 ms] SQL: INSERT INTO corpse (guid,player,position_x,position_y,position_z,orientation,map,time,corpse_type,instance,phaseMask) VALUES (13, 132, -70.8849, 322.705, -106.345, 5.38232, 43, 1277670706, 1, 1, 1) [35 ms] SQL: COMMIT Player Pascal (Guid: 31) chase to Creature (Entry: 3640 Guid: 142417) Sending SMSG_SPELL_START id=75 Player Lutz (Guid: 93) chase to Creature (Entry: 5048 Guid: 142418) Player Jock (Guid: 131) chase to Creature (Entry: 3640 Guid: 142417) Warning: Program '/home/mangos/wow/bin/mangos-worldd' crashed. First, I loaded the player (Bean). I then summoned two bots (Pascal & Cheryl) and invited them to join the player group. Two other bots were then summoned (Lutz & Jock), without an invitation. On passing through the portal to the instance, only the invited bot(s) were allowed to follow and client then repeatedly echoes for those excluded bot(s) as expected. Interestingly though, when the group does attack an example hostile (Entry: 3640 Guid: 142417, Evolving Ectoplasm) inside the instance, notice from the crash log that the excluded bot (Jock) also appears to attack, dispite being outside the instance. I traced the problem to the function DoNextCombatManeuver() in PlayerbotAI.cpp Each bot will first obtain the combat target. If the target exists in the world and is not dead, then combat will continue. In the case of Jock, teleporation will be necessary to reach the target and I believe this is what causes the server to crash. All I have done is to include an additional condition that will check that target also exist in the same map as the bot, else the target will be reset. This appears to resolve this aspect of the instance crash. I would appreciate it if you could draw my attention to any instance issues you experience. I have updated both repos to MaNGOS[10124] and also applied the fix.. Hope this helps
  11. Your assessment of GetBaseManaPercent seems reasonable. Obviously, any changes to the AI need testing first. Can you post a patch for others to test out. Usually if there is no response (i.e no news is good news :rolleyes:) to the patch, the changes can be pushed to the repos. Message to all The class AIs are screaming out for a massive overhaul. They were first created by various individuals, each with their own style of programming. Information in this thread can be difficult to find, as the thread grows. The playerbot sister site, http://mangos.osh.nu/forums/index.php?app=uportal has been setup to better address this matter. Each class AI has it's own thread, for development purposes. I need a team of interested users to help improve the code. Later, if you like, I can add you to the contributors list for the repos, so you can push your own changes. Cheers
  12. Hi kyle1, Thanks for the info. I understand now cheers I will update the patch Revised portal_soul_link patch diff --git a/src/game/playerbot/PlayerbotWarlockAI.cpp b/src/game/playerbot/PlayerbotWarlockAI.cpp index 31d53e7..3c89e38 100644 --- a/src/game/playerbot/PlayerbotWarlockAI.cpp +++ b/src/game/playerbot/PlayerbotWarlockAI.cpp @@ -44,6 +44,7 @@ PlayerbotWarlockAI::PlayerbotWarlockAI(Player* const master, Player* const bot, SHADOW_WARD = ai->getSpellId("shadow ward"); SOULSHATTER = ai->getSpellId("soulshatter"); SOUL_LINK = ai->getSpellId("soul link"); + SOUL_LINK_AURA = 25228; // dummy aura applied, after spell SOUL_LINK HEALTH_FUNNEL = ai->getSpellId("health funnel"); DETECT_INVISIBILITY = ai->getSpellId("detect invisibility"); // demon summon @@ -444,7 +445,7 @@ void PlayerbotWarlockAI::DoNonCombatActions() // check for buffs with demon if(( pet ) - && ( SOUL_LINK>0 && !m_bot->HasAura(SOUL_LINK, EFFECT_INDEX_0) && ai->GetManaPercent() >= 16 && ai->CastSpell(SOUL_LINK,*m_bot) )) + && ( SOUL_LINK>0 && !m_bot->HasAura(SOUL_LINK_AURA, EFFECT_INDEX_0) && ai->GetManaPercent() >= 16 && ai->CastSpell(SOUL_LINK,*m_bot) )) { //ai->TellMaster( "casting soul link." ); return; diff --git a/src/game/playerbot/PlayerbotWarlockAI.h b/src/game/playerbot/PlayerbotWarlockAI.h index 8058c4b..999224c 100644 --- a/src/game/playerbot/PlayerbotWarlockAI.h +++ b/src/game/playerbot/PlayerbotWarlockAI.h @@ -41,7 +41,7 @@ class MANGOS_DLL_SPEC PlayerbotWarlockAI : PlayerbotClassAI uint32 SHADOW_BOLT, IMMOLATE, INCINERATE, SEARING_PAIN, CONFLAGRATE, SOUL_FIRE, SHADOWFURY, CHAOS_BOLT, SHADOWFLAME, HELLFIRE, RAIN_OF_FIRE, SHADOWBURN; // DEMONOLOGY - uint32 DEMON_SKIN, DEMON_ARMOR, SHADOW_WARD, FEL_ARMOR, SOULSHATTER, SOUL_LINK, HEALTH_FUNNEL, DETECT_INVISIBILITY; + uint32 DEMON_SKIN, DEMON_ARMOR, SHADOW_WARD, FEL_ARMOR, SOULSHATTER, SOUL_LINK, SOUL_LINK_AURA, HEALTH_FUNNEL, DETECT_INVISIBILITY; // DEMON SUMMON uint32 SUMMON_IMP, SUMMON_VOIDWALKER, SUMMON_SUCCUBUS, SUMMON_FELHUNTER, SUMMON_FELGUARD; Hope this helps
  13. Hi, Thanks very much for your interest in the WarlockAI. I have taken a look at the spell 'soul link' and indeed there are two available, one with a mana cost of 16 (19028) and the other none (25228). Your fix will need tweaking. If you want to utilize the later spell it would be better to assign the id at the head of the PlayerbotWarlockAI.cpp file. SOUL_LINK = ai->getSpellId("soul link"); SOUL_LINK = 25228; // soul link no cost Then all references to SOUL_LINK will use your id. not addressed by your fix. Also if you wish to use the spell with no cost, then it is not necessary to test whether the caster has (mana >= 16) or not. I will create a small patch for you to test out, before I make the change to the repos. portal_soul_link patch diff --git a/src/game/playerbot/PlayerbotWarlockAI.cpp b/src/game/playerbot/PlayerbotWarlockAI.cpp index 31d53e7..3ebcd50 100644 --- a/src/game/playerbot/PlayerbotWarlockAI.cpp +++ b/src/game/playerbot/PlayerbotWarlockAI.cpp @@ -43,7 +43,7 @@ PlayerbotWarlockAI::PlayerbotWarlockAI(Player* const master, Player* const bot, FEL_ARMOR = ai->getSpellId("fel armor"); SHADOW_WARD = ai->getSpellId("shadow ward"); SOULSHATTER = ai->getSpellId("soulshatter"); - SOUL_LINK = ai->getSpellId("soul link"); + SOUL_LINK = 25228; // soul link no cost HEALTH_FUNNEL = ai->getSpellId("health funnel"); DETECT_INVISIBILITY = ai->getSpellId("detect invisibility"); // demon summon @@ -444,7 +444,7 @@ void PlayerbotWarlockAI::DoNonCombatActions() // check for buffs with demon if(( pet ) - && ( SOUL_LINK>0 && !m_bot->HasAura(SOUL_LINK, EFFECT_INDEX_0) && ai->GetManaPercent() >= 16 && ai->CastSpell(SOUL_LINK,*m_bot) )) + && ( SOUL_LINK>0 && !m_bot->HasAura(SOUL_LINK, EFFECT_INDEX_0) && ai->CastSpell(SOUL_LINK,*m_bot) )) { //ai->TellMaster( "casting soul link." ); return; If you use the code on blueboy rather than portal, edit the patch to remove playerbot from the file path. Note that the bot must have this version of 'soul link' (25228) in its spellbook ( i.e learnt the spell) , otherwise it won't work. Can you provide some feedback. Hope this helps
  14. I updated both repos yesterday :confused: They are both compatible with MaNGOS[10105]. Hope this helps
  15. Hi, I know what you mean, the changes can be annoying at times, but where would we be without core development. Doing something else I guess :eek: Cheers
  16. Hi Guys, The code on both repos has been adjusted to compensate for recent core changes. I have now updated both repos and tested the code with MaNGOS[10094] SD2[1725]. The code compiles and runs without issue under linux and windows. Remember for SD2 change the following in config.h.in #define SD2_CONF_VERSION 2009040501 to #define SD2_CONF_VERSION 2010062001 otherwise the scriptdev2.conf will not load properly Hope this helps
  17. Hi Guys, Before you report this.. Relevant to MaNGOS[10050]+ They have made more changes with the core. 'GetItemByTradeSlot' has been dropped altogether now. A new method has been introduced to check what item is contained in the trade slot. Utilizes the new TradeData class and associated functions to return the item contained in the trade slot. This again tests for equality to a null pointer (PlayerbotAI.cpp, in TradeItem function). I have also found a more elegant solution to the issue that was causing bot/player trade to hang. The previous fix did not address the issue of 'unprocessed tail data spam' that in (TradeHandler.cpp, in WorldSession::HandleAcceptTradeOpcode(WorldPacket& recvPacket)), was introduced to stop. I have now resized the WorldPacket passed, to facilitate the 'read_skip', without throwing a ByteBuffer exception. I have already checked this out on the development repo portal and will shortly push the changes to blueboy Hope this helps
  18. Hi Guys, I have now updated both repos and they should compile and run correctly Hope this helps
  19. Hi Guys, They have renamed another function in the core and messed with the parameter returned. - uint16 GetItemPosByTradeSlot(uint32 slot) const { return tradeItems[slot]; } + Item* GetItemByTradeSlot(uint32 slot) const { return !m_tradeItems[slot].IsEmpty() ? GetItemByGuid(m_tradeItems[slot]) : NULL; } The function GetItemPosByTradeSlot has been renamed and the parameter returned has been changed from an unsigned integer to a pointer to Item. I have renamed the function in PlayerbotAI.cpp if( (slot>=0 && slot<TRADE_SLOT_COUNT) && m_bot->GetItemByTradeSlot(slot)==[b]NULL_SLOT[/b] ) tradeSlot = slot; else { for( uint8 i=0; i<TRADE_SLOT_TRADED_COUNT && tradeSlot==-1; i++ ) { if( m_bot->GetItemByTradeSlot(i) == [b]NULL_SLOT[/b] ) tradeSlot = i; } } but the equate to NULL_SLOT has to be changed to NULL. I am presently checking the code before I push the final change. Do not use the code on either repo until then. I should not be long. Hope this helps
  20. Hi, The blueboy repo will provide the main tried and tested code. portal will be used for development, that you can use to try out code that is being tested. Both repos will be merged with the latest MaNGOS from time to time. I will shortly be doing this, so things will be up-to-date again. If server stability is important, then I advise you to use the code on blueboy, otherwise feel free to use either. Changes to portal will eventually be pushed to blueboy. Hope this helps
  21. Hi, I'll download both repos tomorrow, compile them and see if I get the same error. Its most strange Cheers
  22. Hi, I have looked @ Player.h where the Player class is declared and I can confirm that is a member. Are you using the code from blueboy http://github.com/blueboy/mangos, unmodified? Please get back to me
  23. Hi Guys, I have decided to start the new forum to promote more interest in development. Since joining this forum, late last year I have received a great deal of loyal support from you guys for the work I've done, but playerbot deserves more, if it is going to improve further. I understand that c++ is a challenging language to learn, but new blood is needed urgently, otherwise playerbot will die. I frequently get requests to add new features to playerbot, as if the suggestion is 80% of the work. I do my best to develop and support what I can, but I can not do everything. I would like to build up a playerbot team to share the development and support of this community project. I do not intend on abandoning this thread, I just need to get more people involved and maybe playerbot will have a future. @HSC_Dev3 This is a perfect opportunity to help out. On the link brunogcar gives, I outlined the changes I made to the new portal repo. I pointed out that I don't know whether it is possible to embed additional INCLUDE paths in the 'vcproj' files (Otherwise you will have to do this manually). If you know how this can be done, please post the answer. Cheers
  24. If I understand you correctly, your asking whether playerbot works with none open source servers. No, it doesn't Cheers
  25. Hi, I you're interested, I have started a new subforum on http://mangos.osh.nu/forums/index.php?app=uportal I will continue to support this thread for the time being. Cheers
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use