Jump to content

Chucksta

getMaNGOS Retired Staff
  • Posts

    552
  • Joined

  • Last visited

  • Days Won

    1
  • Donations

    0.00 GBP 

Everything posted by Chucksta

  1. Looking into this now... All ok up to and including locating Malakai's remains, except that if you interact a second time with the remains it greets you! "Greetings $N" I'll fix that, but first of all I'll locate Rolf's body...
  2. [B][SIZE=3][COLOR="#008000"]Fix has now been PR'd for this issue:[/COLOR][/SIZE][/B] [url]https://github.com/Chuck5ta/database/commit/7f7409ebd36edde3c51d7a2e0b25415422d293c6[/url]
  3. [B][SIZE=3][COLOR="#008000"]A Pull Request has now been made with the above fix for this issue:[/COLOR][/SIZE][/B] [url]https://github.com/Chuck5ta/database/commit/5456b16ba4382702514783ea41f3a02c953a8cdf[/url]
  4. [B][SIZE=3]A Pull Request has now been made with the temporary fix:[/SIZE][/B] [url]https://github.com/mangoszero/database/pull/183[/url]
  5. Due to the despawning issue, I will PR a DB fix that includes a % chance of there being loot. I'll set this to 10%. So there will be a 10% chance that the cleansed plant will have Whipper Root Tuber loot available, and 90% of the time there will be no loot. Is this to your liking or would you prefer a lower or higher value ? This is obviously a temporary fix!
  6. Rochet: [QUOTE]need to change nullptr probably to NULL [14:23:35] Rochet2: nullptr is a c++11 definition from what I recall [14:23:40] Rochet2: (keyword)[/QUOTE] This fixed the issue, but the correction needs to be made in two files: LFGHandler.cpp - 1 occurrence of nullptr LFGMgr.cpp - many occurrences of nullptr change nullptr to NULL, as Rochet says. -------------------------------------------- Someone else can test this further (running server), as I do not have Two set up on my machines, and I am too affected by the recent merry making to be able to face much more computer time :D
  7. I just tested this under both MS Windows and Ubuntu Linux. Built without errors under MS Windows. Errors, the same as above when built under Linux.
  8. I just got back from helping a friend move house. A few days of insanity, finishing with a good many drinks :) I'll test this again tomorrow with a nice fresh and non affected head :) The DB scripts (above) and Eluna and SD2 scripts are in place (ready for PR'ing) to make this work , but the last time I looked at this there were issues with the spawning and despawning opf the plants. I'm not certain, but Foereaper may have sorted it. My memory is too fried to remember.
  9. This issue is known of and has been discussed here: [url]https://www.getmangos.eu/issue.php?issueid=666[/url] Telendrys has posted fixes, which need testing. I'm a bit too busy to look at this myself at the moment :( If anyone else wants to have a go then please do :)
  10. It does not look like these mobs are supposed to say anything. Looking at the other Witherbark creatures in the database, none of them say anything, and looking on line I could find no mention of what the axe throwers say. The Witherbark Axe Throwers have been set to say these remarks when aggro'd. Table [B]creature_ai_scripts[/B], ID 255402 defines this event (aggro) and chooses to have the creature say either "More bones to gnaw on!" or "Grrr... Fresh meat!" These are located in the [B]creature_ai_text[/B] table: Entry: -5 "More bones to gnaw on!" Entry: -6 "Grrr... Fresh meat!" and are Gnoll comments. I recommend removing the aggro event for this creature. It does nothing other than say those comments, and I cannot locate what they should say if anything at all.
  11. Oh well, it looks like I will have to start this from scratch, as it appears that more are correct than I thought. The Brotherhood of Thieves quest in the official guide does have a Min Level of 2 and Quest Level of 4, so vanillagaming.org is correct for that one, but wrong for many others.
  12. It's not known what resource was used to put the quests together. I'd be willing to bet that it was a mix. Now though, they refer to the official guides, which MadMax bought. I'll see if I can take a look at them, and compare with my findings :)
  13. [quote=Goullio]Hey, i have been looking at the different quest levels as well in the lower level area's (example: Northshire abbey, Zone 9). It seems that more quests do not have the right level. For example i checked the "Brotherhood of Thieves" quest has in the SQLyog Req 2, Lvl 4. At Wowhead/Wowwiki - revivions before Oct 2009, it is lvl Req 1 and Lvl 4. So it means there are structural wrong entries. The however the Vanilla Db AoWoW does say req 2, lvl 4. Which source does Mangos rely on?[/quote] Good point, I'd better check. I've been going by vanillagaming.org There are a lot of quests with the wrong level entries, especially MinLevel. I'd better stop this until I find out what source was used to put the quests together :)
  14. [B][COLOR="#008000"][SIZE=4]ALL RESOLVED NOW[/SIZE][/COLOR][/B] The spawn in the sky only actually happens on my system!!! Damn gremlins :mad: Foereaper tested the egg spawning and it worked exactly as it should :rolleyes: :p [IMG]http://i.imgur.com/kJVXEk5.png[/IMG] As you can see, Foereeper himself, a typical Norwegian, long pointy ears and blue skin, with the egg spawned on the ground :eek: :confused: ;) Joking aside, Foereader spent quite a bit of time testing it, just to be sure, so I thankee :D Everything can stay as it currently is. No need to change or add scripts, Eluna or SD2.
  15. .gob command This uses the following to spawn a game object: [B]File:[/B] Level2.cpp [B]Function:[/B] HandleGameObjectAddCommand( ) line 1060 onwards // spawn go bool ChatHandler::HandleGameObjectAddCommand(char* args) { I need to compare that with the SummonGameObject( ) function. ----------------------------------------------------------------------------------------- [B][COLOR="#008000"][SIZE=3]SOLVED[/SIZE][/COLOR][/B] (ish) You need to acquire the player characters's coordinates and spawn the game object there. use pPlayer/player not pCreature/creature
  16. [quote=Xenithar]Well thanks! Now here comes something I did not think of. I do intend on using just SD2 in the long-run (when Zero is 100% perfect and we're on One or Two), but I use both so I can report any issues with either. Due to this, how will this quest be handled since it is handled in SD2 AND Eluna? Will SD2 or Eluna take lead? Will they both fire? What about the situation where say SD2 kicks off the quest but for some reason I turn it in and Eluna handles the turn-in?[/quote] When intending to use SD2, you'll need to move the contents of the [B]lua_scripts[/B] folder elsewhere. Then back again when testing the Eluna scripts. [B]lua_scripts[/B] folder location, e.g. My [B]lua_scripts[/B] folder is in the directory path: [COLOR="#800080"]MaNGOSZeroServer/run/lua_scripts[/COLOR] ----------------------------------------------------------------------------------- ELUNA script for the Cluck! quest I forgot that Eluna overrides SD2 completely!!! [B][COLOR="#800080"]I will have to script the entire quest in Eluna[/COLOR][/B], not just the OnQuestReward part, otherwise the emotes are not required (/chicken /cheer). Which gives me a little issue of no easy means to remove and set the QUEST GIVER status of the chicken, but Rochet has said how this needs to be done. Nothing simple, though. ------------------------------------------------------------------------------------ EGG SPAWNING I'm not happy with that. Further testing at different locations, and the egg appears at different heights - surface level, partially buried, 2 or 3 cm's above the ground! I'll take a look at how the GM command .gob achieves the spawning of game objects, as that is perfect every time! [B][COLOR="#008000"][SIZE=3]SOLVED[/SIZE][/COLOR][/B] (ish) You need to acquire the player characters's coordinates and spawn the game object there. use pPlayer/player not pCreature/creature
  17. [B][SIZE=4][COLOR="#008000"]SD2 SCRIPT FIX[/COLOR][/SIZE][/B] [B]File[/B]: npcs_special.cpp [B]Locatation[/B]: server/src/modules/SD2/scripts/world There is actually a QuestRewarded event/function written already; it just needed changing, plus a change required in the database. [B][SIZE=3][COLOR="#FF0000"]OLD FUNCTION[/COLOR][/SIZE][/B] bool QuestRewarded_npc_chicken_cluck(Player* /*pPlayer*/, Creature* pCreature, const Quest* pQuest) { if (pQuest->GetQuestId() == QUEST_CLUCK) { if (npc_chicken_cluckAI* pChickenAI = dynamic_cast(pCreature->AI())) { pChickenAI->Reset(); } } return true; } [B][COLOR="#008000"][SIZE=3]NEW/FIXED FUNCTION[/SIZE][/COLOR][/B] plus related code // EGG and TimeTillDespawn are new, QUEST_CLUCK already exists in the script (along with other definitions) enum { QUEST_CLUCK = 3861, // this is already in the script EGG = 161513, // Egg (Farm Chicken Egg, Entry 161513) FACTION_FRIENDLY = 35, FACTION_CHICKEN = 31, TimeTillDespawn = 60 // despawn after 60 seconds }; // This function is already in the code, but the contents of the function has been changed bool QuestRewarded_npc_chicken_cluck(Player* /*pPlayer*/, Creature* pCreature, const Quest* pQuest) { if (pQuest->GetQuestId() == QUEST_CLUCK) { float x = pPlayer->GetPositionX(); float y = pPlayer->GetPositionY(); float z = pPlayer->GetPositionZ(); z -= 1.9; // ensures spawning of egg at ground surface level // spawn the egg GameObject* goEgg = pCreature->SummonGameObject(EGG, x, y, z, 0, TimeTillDespawn); // note despawn time does not work at present, so... goEgg->SetSpawnedByDefault(false); goEgg->SetRespawnTime(TimeTillDespawn); pCreature->setFaction(FACTION_CHICKEN); } return true; } void AddSC_npcs_special() { // Registering the event - this is already in the code/script pNewScript = new Script; pNewScript->Name = "npc_chicken_cluck"; pNewScript->pQuestRewardedNPC = &QuestRewarded_npc_chicken_cluck; pNewScript->RegisterSelf(); } [B]REQUIRED DATABASE CHANGES[/B] –- remove the spawning of the egg (13563) from the database [COLOR="#0000FF"]UPDATE quest_template SET RewSpellCast=0 WHERE entry=3861;[/COLOR] -------------------------------------------------------------- The above has been tested and works on my current set up, but I now need to test this on a freshly cloned database, just to be sure it is working. Then I'll PR the SD2 script and the SQL script+DB core change.
  18. I have created an Eluna script for the OnQuestReward event, which spawns the egg at ground surface level. I will do the same in SD2 ( /wink @ Xenithar). [SIZE=3][COLOR="#0000FF"][B]ELUNA SCRIPT[/B][/COLOR][/SIZE] local Chicken = { QuestId_Cluck = 3861, FarmChickenEgg = 161513, NPC_ID = 620, TimeTillDespawn = 60 } function Chicken.OnQuestReward(event, player, creature, quest) if (quest:GetId() == Chicken.QuestId_Cluck) then local x, y, z = player:GetLocation(); z = z - 1.85; -- adjustment made in order to force the spawning at ground surface level creature:SummonGameObject(Chicken.FarmChickenEgg, x, y, z, 0, TimeTillDespawn); end end RegisterCreatureEvent(Chicken.NPC_ID, 34, Chicken.OnQuestReward) I have also PR'd an SQL fix for the size of the egg, as it is currently about 2/3 the height of a human! [url]https://github.com/Chuck5ta/database/commit/670dd3c5ded38a5d419da75bfadc3cfa098d212e[/url]
  19. "Mograine's corpse slides to my mom and owns her" ROFL, that gave me a visual straight out of Supernatural!!! Mograine exiting the computer screen to go after your mother, LOL Damn, this looks like an interesting one, but I am way too busy at the moment to look at it :( Good luck :D
  20. Moved these to here for now. I will start building the list a zone at a time. These ones were listed as MinLevel 1 quests in the database. [SIZE=1] -- Thunderbrew Lager -- [url]http://db.vanillagaming.org/?quest=117[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=13 WHERE entry=117;[/COLOR] -- The Stolen Journal -- [url]http://db.vanillagaming.org/?quest=218[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=2 WHERE entry=218;[/COLOR] -- Senir's Observations -- [url]http://db.vanillagaming.org/?quest=282[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=3 WHERE entry=282;[/COLOR] -- Distracting Jarven -- [url]http://db.vanillagaming.org/?quest=308[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=6 WHERE entry=308;[/COLOR] -- Senir's Observations -- [url]http://db.vanillagaming.org/?quest=420[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=4 WHERE entry=420;[/COLOR] -- Saving Yenniku -- [url]http://db.vanillagaming.org/?quest=592[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=41 WHERE entry=592;[/COLOR] -- Filling The Soul Gem -- [url]http://www.wowwiki.com/Quest:Filling_the_Soul_Gem[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=41 WHERE entry=593;[/COLOR] -- Vile Familiars -- [url]http://db.vanillagaming.org/?quest=1499[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=2 WHERE entry=1499;[/COLOR] -- Teldrassil: The Burden of the Kaldorei -- [url]http://www.wowhead.com/quest=7383[/url] [COLOR="#0000FF"]UPDATE quest_template SET QuestLevel=9 WHERE entry=7383;[/COLOR] -- Arena Master -- [url]http://db.vanillagaming.org/?quest=7810[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=39 WHERE entry=7810;[/COLOR] -- Arena Master -- [url]http://db.vanillagaming.org/?quest=7838[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=34, QuestLevel = 45 WHERE entry=7838;[/COLOR] -- Carnival Boots -- [url]http://db.vanillagaming.org/?quest=7881[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=55 WHERE entry=7881;[/COLOR] -- Coarse Weightstone -- [url]http://db.vanillagaming.org/?quest=7889[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=58 WHERE entry=7889;[/COLOR] -- Small Furry Paws -- [url]http://db.vanillagaming.org/?quest=7899[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=58 WHERE entry=7899;[/COLOR] -- Spawn of Jubjub -- [url]http://db.vanillagaming.org/?quest=7946[/url] [COLOR="#0000FF"]UPDATE quest_template SET QuestLevel=1 WHERE entry=7946;[/COLOR] [/SIZE]
  21. This is to compile a list of quests with incorrect MinLevel and/or QuestLevel in the quest_template table I was mistaken. The quest data is taken from the official guides, not the websites! All that I have checked so far are actually correct. So far there is just one quest that is incorrect, which is the one discovered by Goullio, and is listed below. [CENTER][SIZE=2][COLOR="#0000FF"]LIST OF AND CORRECTIONS TO INCORRECT QUEST MINLEVEL AND/OR QUESTLEVEL IN THE QUEST_TEMPLATE TABLE[/COLOR][/SIZE][/CENTER] Elwynn Forest (Northshire) - ZONE 12 [SIZE=1]-- Brotherhood of Thieves -- [url]http://db.vanillagaming.org/?quest=18[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=2 WHERE entry=18;[/COLOR] [/SIZE]
  22. Yeah, looks like you found a good little problem here, Goullio :) A proper issue. Initially it appeared to be quite trivial, but oh no! Plus, I spotted that other quests did have the wrong values for MinLevel and/or QuestLevel, so that will need to be sorted out. I'll open another thread for those, though. This issue is different.
  23. NOTE: Possible issue in the core re the decision made of whether or not to show the exclamation mark: Questhandler.cpp lines 585 to 587 else if (lowLevelDiff getLevel() GetQuestLevelForPlayer(pQuest) + uint32(lowLevelDiff)) { dialogStatusNew = DIALOG_STATUS_AVAILABLE; } This basis part of its decision on the value entered in the [B]mangosd.conf[/B] file: # Quests.LowLevelHideDiff # Quest level difference to hide for player low level quests: # if player_level > quest_level + LowLevelQuestsHideDiff then quest "!" mark not show for quest giver # Default: 4 # -1 (show all available quests marks) Quests.LowLevelHideDiff = 4 Thanks, Ants, for the mangosd.conf tip. It seems that it is using MinLevel instead of QuestLevel in its decision making, even though the function name suggests otherwise. MinLevel 1 QuestLevel 3 LowLevelHideDiff 4 quest_level + LowLevelQuestsHideDiff = 7 That means the exclamation mark should not be shown for a player character level 7 or higher, BUT the exclamation mark is vanishing for player characters level 5 or higher, which is the value acquired if the calculation used MinLevel instead of QuestLevel. min_level + LowLevelQuestsHideDiff = 5 --------------------------------------------------------------------------------------- I ran a test on the code, and it is using the QuestLevel, but it is [B][COLOR="#FF0000"]not using the value set in the mangosd.conf file for LowLevelHideDiff[/COLOR][/B]. It seems to think it is 1, when in the file it is set to 4 (by default). ---------------------------------------------------------------------------------------- I used a hard coded value of 4 in the code, thus: else if (lowLevelDiff getLevel() GetQuestLevelForPlayer(pQuest) + 4) { dialogStatusNew = DIALOG_STATUS_AVAILABLE; } And that worked just as it should do in-game, so that value is either not being read from the mangosd.conf file or the value is being lost along the way. ---------------------------------------------------------------------------------------- I'll need to trace the code back from: QuestHandler.cpp line 580 int32 lowLevelDiff = sWorld.getConfig(CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF); lowLevelDiff is getting set to 1, when it should be 4 (in my case and by default)! ---------------------------------------------------------------------------------------- Testing the contents of the data structure that takes in the value on server start up, this [B][COLOR="#008000"]does contain[/COLOR][/B] the value we want, in this case 4. This means it looks like at some point it loses the value. I'll have to leave this for today and get back to it tomorrow... [B]note to self: [/B] World.cpp line 2160 call to setConfig( ) function. also getConfig( ) returns the value 4 for CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF at this point, but returns 1 in the QuestHandler.cpp file. So between the call to setConfigMinMax( ) in World.cpp and the call to getConfig( ) in World.cpp from QuestHandler.cpp it gets changed from 4 to 1.
  24. [B][CENTER]LIST OF AND CORRECTIONS TO INCORRECT QUEST MINLEVEL AND/OR QUESTLEVEL[/CENTER][/B] -- Filled Soul Gem -- [url]http://www.wowhead.com/item=3913/filled-soul-gem[/url] [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=41 WHERE entry=593;[/COLOR] this issue has been given its own thread: [url]https://www.getmangos.eu/issue.php?issueid=714[/url]
  25. Thanks, Foereaper :) Silly me!!!! :o [B]quest_template [/B]table, [B][COLOR="#800080"]QuestLevel [/COLOR][/B]field - see what Foereaper said in his last sentence. I changed that to 5 for the quest and the exclamation mark did not vanish until I leveled him to 7. Okay, so that one needs fixing. I'll base it on the one in retail, unless anyone objects. I still need to level up my Monk to the point where that exclamation mark vanishes! ---------------------------------------------------------------------------------------------------------- Comparing the MinLevel and QuestLevel values of quests with the data online (vanillagaming and the like), there appears to be quite a few inconsistencies. e.g. Filled Soul Gem can be picked up at level 1, yet it is an STV quest!!! Looking online it should be MinLevel 41, QuestLevel 46 QuestLevel is correct in the database, but the MinLevel is oh-so very wrong, lol In this instance it looks like the '4' key was not pressed properly. I think I should probably go through the quests and build up a list of the ones that need to be corrected. Hmm, 4244 quests !!!! Maybe for another day, lol Just make a query and verify only those where the difference is higher than... 5-8 level ?
×
×
  • 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