Jump to content
  • Quest 2882 broken...


    Xenithar
    • Status: Completed
      Main Category: Quests
      Sub-Category: Quest
      Version: 2.0.11 Milestone: 20 Priority: High
      Implemented Version: 0.20

    Quest 2882 broken...

    Quest 2882, "Cuergo's Gold" is broken. After finding pieces of a map, you create a map item which starts the quest. You go south of Tanaris and click on an old mast in the sand. Pirates are supposed to attack and one drops the key to the chest which also spawns. The mast is not clickable half the time and when you do click it, you get a gold progress bar which completes and nothing spawns. I am not sure if this is a DB issue or scripts issue.


    User Feedback

    Recommended Comments

    Oo, I've not been to Tanaris for a while!

    To Tanaris we go, and don't spare the horses!!!!!

    -------------------------------------------------------------------------------------

    [url]http://www.wowhead.com/quest=2882/cuergos-gold[/url]
    [QUOTE]How & Where:
    To get this chest or quest, you will have to kill pirates East of Tanaris. These pirates are the ones you kill for Steamweedle Port quests, and their location is on the East side of Caverns of Time.

    Items required:
    To get the items for the quest, you will have to keep killing the pirates until a Pirate's Footlocker. It has a 3.9% drop rate, these Footlockers will give you map fragments, depending on your luck, you may get Lower Map Fragment OR Middle Map Fragment OR Upper Map Fragmentwhich will combine by right clicking one of them into Cuergo's Treasure Map.

    Right clicking this Quest Item will begin this quest: Cuergo's Gold

    For this Quest, you will need to venture all the way south of Tanaris, you will need to swim along the coast and mountains for abit, before reaching the EXACT PLACE where you can get your Cuergo's Hidden Treasure.[/QUOTE]

    [URL="http://www.wowhead.com/item=9252"]Lower map fragment[/URL]

    [URL="http://www.wowhead.com/item=9253"]Middle map fragment[/URL]

    [URL="http://www.wowhead.com/item=9251"]Upper map fragment[/URL]

    Reward for this quest ([B]item_template[/B]: 9275):

    [url]http://www.wowwiki.com/Cuergo%27s_Hidden_Treasure[/url]

    -------------------------------------------------------------------------------

    [SIZE=3][B]Confirmed![/B][/SIZE] When you interact with the Inconspicuous Landmark, nothing happens.

    Inconspicuous Landmark
    [B]gameobject_template [/B]Entry 142189

    ------------------------------------------------------------------------------

    The Inconspicuous Landmark may have the wrong object type ([B]gameobject_template [/B][B][COLOR="#800080"]type[/COLOR][/B] field): [url]https://github.com/cmangos/issues/wiki/gameobject_template[/url]

    I'll look into this further later... neeeeeeeed caffeine hit!!!

    A quick look, and the Type is fine. All settings appear to be correct. It just needs to have a script assigned to it (coded up) to spawn the sailor boys ;)

    Link to comment
    Share on other sites

    So it is a scripting issue, thought so. Had to be sure the type was correct or that a script was assigned in the DB. I am currently looking over the city resting code (boy it seems like a lot) and have not looked into this or anything else.

    Link to comment
    Share on other sites

    Yeah, it looks like a script is needed here.

    The database [B] dbscripts_on_go_template_use[/B] could be used for this, but it looks like it can only spawn one creature: [url]https://github.com/cmangos/issues/wiki/DBScripts[/url].

    A script can be coded up and its name entered in the ScriptName field of the Inconspicuous Landmark's gameobject_template record.

    The reason why the Inconspicuous Landmark could not always be interacted with, is because it is set to auto close after use, so would require a reboot of the server (mangos) for it to be usable again.

    Link to comment
    Share on other sites

    Very strange!

    Oh well, I'll get it to spawn the pirates on use of the game object, then there will be no more waiting around :)

    I will no doubt also need to create a new creature entry for the sailor/pirate and assign the loot (key) to it. % chance of drop for the key ?????????

    If I am reading this right, the chest spawns along with the sailors. Also, it appears that the number of sailors is random.

    [QUOTE]How to do it:
    I did it with my 42 druid. What I did was stealth to the "Landmark", then wait til the turtles are far enough so I won't aggro them and begin opening, once it is opened, the chest and the 5 pirates spawned, I shapshifted and ran back towards the mountain to prevent aggroing ANYTHING.

    I pulled 3 of the 5 pirates and took them down slowly in bear form, then I loot the key from one of the mobs.

    HOWEVER, the chest and the 2 remaining pirates DESPAWNED. So, I reopened the "Landmark" again, 5 pirates and the chest then respawn, restealthed, then went straight for the chest without pulling any of them. Complete the quest, got my chest, and hearthed out.[/QUOTE]

    And, OH NO - Spawning and Despawning!!!!

    --------------------------------------------------------------
    Actually, there should be no issue here with the spawning/despawning, because spawning only occurs after the object is interacted with (on use) :D

    Link to comment
    Share on other sites

    I was going to code this up in SD2 first :D

    I need to sort out the changes to the database first, plus note down all items, objects, creatur

    I'll probably need to randomise the type of pirate, I'll see if there is more than one version.es I will need for the script.

    How about this for an idea: Cabin boy, yielding a cutlass ? lol ;)
    Pirate record + boy modelID

    Link to comment
    Share on other sites

    Alright, but SD2 needs an overhaul anyway. Antz has mentioned that it has been difficult to maintain, and I told him I would try to pick it up one day. If I can do that, I will maintain a version for MaNGOS. Shoudl I ever stop, I'll be able to transfer ownership to somebody else who wants to maintain it.

    Link to comment
    Share on other sites

    [B][SIZE=4]SCRIPT CONSTRUCTION[/SIZE][/B]

    On use of the Inconspicuous Landmark ([B]gameobject_template[/B] [B][COLOR="#800080"]entry [/COLOR][/B]142189)
    1) Spawn 4 or 5 sailors
    2) Spawn chest

    [B][SIZE=3]The Chest[/SIZE][/B]

    The chest appears to be:
    [B]gameobject_template[/B] [B][COLOR="#800080"]entry [/COLOR][/B]142194
    [url]http://www.wowwiki.com/Pirate%27s_Treasure[/url]!

    This has the quest 2391 linked to it. That quest does not exist, in the database or on the net.
    The chest does not have a [B]gameobject [/B]table entry, therefore it is obviously meant to be spawned, and seeing as it is named the same as the one for this quest, it is more than likely the one we need.

    [B][SIZE=3]The Pirates[/SIZE][/B]

    [url]http://www.wowwiki.com/Inconspicuous_Landmark[/url]

    There are 3 types:

    [URL="http://www.wowwiki.com/Treasure_Hunting_Pirate?veaction=edit&redlink=1"]Treasure Hunting Pirate[/URL]
    [B]creature_template[/B] [B][COLOR="#800080"]Entry [/COLOR][/B]7899

    [URL="http://www.wowwiki.com/Treasure_Hunting_Swashbuckler?veaction=edit&redlink=1"]Treasure Hunting Swashbuckler[/URL]
    [B]creature_template[/B] [B][COLOR="#800080"]Entry [/COLOR][/B]7901

    [URL="http://www.wowwiki.com/Treasure_Hunting_Buccaneer?veaction=edit&redlink=1"]Treasure Hunting Buccaneer[/URL]
    [B]creature_template[/B] [B][COLOR="#800080"]Entry [/COLOR][/B]7902

    [B][SIZE=3]The Key[/SIZE][/B]

    Cuergo's Key
    [B]item_template[/B] [B][COLOR="#800080"]entry [/COLOR][/B]9275

    This is currently set to -100 for the drop chance in the [B][COLOR="#800080"]creature_loot_template[/COLOR][/B]!!! It will never drop!!!
    [url]http://db.vanillagaming.org/?item=9275[/url]

    ---------------------------------------------------------------------------------------

    Okay, that's all the information gathered re the database. I reckon the chest record ([B]item_template[/B]) will need altering, seeing as the quest associated with it does not exist, but I'll leave that for now until I have the script running, then I'll know for sure what needs to be done.

    Coding/scripting time!!!!

    Link to comment
    Share on other sites

    [SIZE=3]***** [B][COLOR="#FF0000"]SQL scripts to go in this post[/COLOR][/B] *****[/SIZE]


    [B]-- Set the chance for the key to drop to 100%[/B]
    [COLOR="#0000FF"]UPDATE creature_loot_template SET ChanceOrQuestChance=100 WHERE entry=7899 and item=9275;
    UPDATE creature_loot_template SET ChanceOrQuestChance=100 WHERE entry=7901 and item=9275;
    UPDATE creature_loot_template SET ChanceOrQuestChance=100 WHERE entry=7902 and item=9275;[/COLOR]

    [B]-- add script to the Inconspicuous Landmark game object[/B]
    [COLOR="#0000FF"]UPDATE gameobject_template SET ScriptName= 'go_inconspicuous_landmark' WHERE entry=142189;[/COLOR]

    [B]-- add script to the Pirate's Treasure game object[/B]
    [COLOR="#0000FF"]UPDATE gameobject_template SET ScriptName='go_pirate_treasure' WHERE entry=142194;[/COLOR]

    Link to comment
    Share on other sites

    [SIZE=3][COLOR="#FF0000"]SD2 Script to go here[/COLOR][/SIZE]

    [B][SIZE=3]tanaris.cpp[/SIZE][/B]

    [PHP]
    /*######
    ## go_inconspicuous_landmark
    ## This is for Cuergo's Gold quest
    ######*/

    enum
    {
    NPC_TREASURE_HUNTING_PIRATE = 7899,
    NPC_TREASURE_HUNTING_SWASHBUCKLER = 7901,
    NPC_TREASURE_HUNTING_BUCCANEER = 7902,
    GO_PIRATE_TREASURE = 142194,
    SPAWN_DURATION = 600000 // pirates and chest will exist in world for 10 minutes
    };

    bool GOUse_go_pirate_treasure(Player* pPlayer, GameObject* pGo)
    {
    // despawn chest
    pGo->SetSpawnedByDefault(false);
    pGo->SetRespawnTime(10);

    return true;
    }

    void SpawnPirates(Player* pPlayer, uint iNumberOfPirates)
    {
    for (int i; i {
    // spawn 4 or 5 sailor boys
    switch (urand(0, 2))
    {
    case 0: // spawn treasure hunting pirate
    pPlayer->SummonCreature(NPC_TREASURE_HUNTING_PIRATE, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, SPAWN_DURATION);
    break;
    case 1: // spawn treasure hunting swashbuckler
    pPlayer->SummonCreature(NPC_TREASURE_HUNTING_SWASHBUCKLER, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, SPAWN_DURATION);
    break;
    default: // spawn treasure hunting buccaneer
    pPlayer->SummonCreature(NPC_TREASURE_HUNTING_BUCCANEER, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, SPAWN_DURATION);
    break;
    }
    }
    }

    bool GOUse_go_inconspicuous_landmark(Player* pPlayer, GameObject* pGo)
    {
    // spawn 4 or 5 sailor boys
    SpawnPirates(pPlayer, urand(4, 5));

    // spawn chest
    pPlayer->SummonGameObject(GO_PIRATE_TREASURE, -10117.715, -4051.644, 5.407, 0.0f, SPAWN_DURATION);
    return true;
    }

    void AddSC_tanaris()
    {
    Script* pNewScript;

    pNewScript = new Script;
    pNewScript->Name = "go_pirate_treasure";
    pNewScript->pGOUse = &GOUse_go_pirate_treasure;
    pNewScript->RegisterSelf();

    pNewScript = new Script;
    pNewScript->Name = "go_inconspicuous_landmark";
    pNewScript->pGOUse = &GOUse_go_inconspicuous_landmark;
    pNewScript->RegisterSelf();

    pNewScript = new Script;
    pNewScript->Name = "mob_aquementas";
    pNewScript->GetAI = &GetAI_mob_aquementas;
    pNewScript->RegisterSelf();

    pNewScript = new Script;
    pNewScript->Name = "npc_oox17tn";
    pNewScript->GetAI = &GetAI_npc_oox17tn;
    pNewScript->pQuestAcceptNPC = &QuestAccept_npc_oox17tn;
    pNewScript->RegisterSelf();

    pNewScript = new Script;
    pNewScript->Name = "npc_stone_watcher_of_norgannon";
    pNewScript->pGossipHello = &GossipHello_npc_stone_watcher_of_norgannon;
    pNewScript->pGossipSelect = &GossipSelect_npc_stone_watcher_of_norgannon;
    pNewScript->RegisterSelf();

    pNewScript = new Script;
    pNewScript->Name = "npc_tooga";
    pNewScript->GetAI = &GetAI_npc_tooga;
    pNewScript->pQuestAcceptNPC = &QuestAccept_npc_tooga;
    pNewScript->RegisterSelf();
    }

    [/PHP]

    This script along with the SQL scripts, resulted in the quest now being completable :D
    I'll now PR these, then I'll code the Eluna script.

    Note: for some reason I am unable to add anything else to the above post (SQL scripts). It just lags!

    Link to comment
    Share on other sites

    [SIZE=3][COLOR="#FF0000"]Eluna Script to go here[/COLOR][/SIZE]

    [PHP]--[[
    EmuDevs
    Eluna Lua Engine
    Eluna Scripts
    Eluna Wiki

    -= Script Information =-
    * Zone: Tanaris
    * Script Type: Quest (Cuergo's Gold 2882)
    * Creature: Sailor boys (Treasure Hunting Pirate: 7899, Treasure Hunting Swashbuckler: 7901, Treasure Hunting Buccaneer: 7902)
    * Game object: Pirate's treasure chest (142194)
    * Version: tested on Zero
    --]]

    -- This creates the table used to localize all variables and functions
    local CuergoGold = {
    GO_INCONSPICUOUS_LANDMARK = 142189,
    NPC_PIRATE = 7899,
    NPC_SWASHBUCKLER = 7901,
    NPC_BUCCANEER = 7902,
    GO_PIRATE_TREASURE = 142194,
    SPAWN_DURATION = 600000 -- pirates and chest will exist in world for 10 minutes
    }

    function CuergoGold.PirateTreasure_OnUse(event, player, go)
    -- despawn the chest
    go:Despawn(10)
    end

    function SpawnPirates(player, totalPirates)
    for i = 1, totalPirates, 1 do
    local X = player:GetX() + math.random(5);
    local Y = player:GetY() + math.random(5);
    local Z = player:GetZ();
    local pirate = math.random(1,3)
    if pirate == 1 then
    player:SummonCreature(CuergoGold.NPC_PIRATE, X, Y, Z, 0, 1, CuergoGold.SPAWN_DURATION)
    elseif pirate == 2 then
    player:SummonCreature(CuergoGold.NPC_SWASHBUCKLER, X, Y, Z, 0, 1, CuergoGold.SPAWN_DURATION)
    else
    player:SummonCreature(CuergoGold.NPC_BUCCANEER, X, Y, Z, 0, 1, CuergoGold.SPAWN_DURATION)
    end
    end
    end

    function CuergoGold.InconspicuousLandmark_OnUse(event, player, go)
    local totalPirates = math.random(4,5)
    SpawnPirates(player, totalPirates)
    -- spawn the chest
    player:SummonGameObject(CuergoGold.GO_PIRATE_TREASURE, -10117.715, -4051.644, 5.407, 0, CuergoGold.SPAWN_DURATION)
    end

    -- Register the events
    RegisterGameObjectGossipEvent(CuergoGold.GO_INCONSPICUOUS_LANDMARK, 1, CuergoGold.InconspicuousLandmark_OnUse)
    RegisterGameObjectGossipEvent(CuergoGold.GO_PIRATE_TREASURE, 1, CuergoGold.PirateTreasure_OnUse)[/PHP]

    Script tested in game and working :)
    Tidy up time!

    Link to comment
    Share on other sites

    [B][SIZE=3][COLOR="#008000"]Pull Request has now been made for the database side of this fix.[/COLOR][/SIZE][/B]
    [url]https://github.com/mangoszero/database/pull/185[/url]

    [B][SIZE=3][COLOR="#008000"]Pull Request has now been made with for the SD2 fix for this issue[/COLOR][/SIZE][/B]
    [url]https://github.com/mangoszero/server/pull/274[/url]

    I'll PR the Eluna script tomorrow, along with the ones I forgot to do!

    Link to comment
    Share on other sites

    Sorry have seen this to late found some useful info on this one

    Lot of usefull comments there
    [url]http://www.wowhead.com/quest=2882[/url]

    Seems the Pirates actually spawned by spell.
    [url]http://www.wowhead.com/search?q=treasure+hunting[/url]

    From my own memory you could run up to the mountains before the Pirates spawned completely

    Link to comment
    Share on other sites

    Thanks for the info, EvilDead :)

    I've closed the PR I made for the script, as I have reduced the code used, so I could look into using a spell instead. Right now I have no idea how to do so, but that's half the fun :)

    Link to comment
    Share on other sites

    Getting even more funny
    [url]http://www.wowhead.com/spell=11462[/url]
    There is another spell, this actually cast the chest and an invisible mob, use gm to see it
    Sometimes Blizz used some courious methods to create quests.
    I Guess using the map triggers 11462
    the invisible mob cast the mob spawns 11463 11485 11487

    Link to comment
    Share on other sites

    [quote=Evildead]Getting even more funny
    [url]http://www.wowhead.com/spell=11462[/url]
    There is another spell, this actually cast the chest and an invisible mob, use gm to see it
    Sometimes Blizz used some courious methods to create quests.
    I Guess using the map triggers 11462
    the invisible mob cast the mob spawns 11463 11485 11487[/quote]

    lol, interesting.

    Thanks for the info :D

    Link to comment
    Share on other sites

    I'll test it out tomorrow with the invisible mob.

    Antz said he is going to deal with all current PRs by the end of tonight, so I thought it would be good to have this working in one for at least.

    Using the invisible mob will presumably mean less code for the script, as long as he/she does spawn the pirates.

    Hmm, actually, if it just requires the spawning of this invisible mob, then that can be done via the database.

    I'll check it out tomorrow. That's enough for me today... chill time :D

    Link to comment
    Share on other sites

    Good point, if the mob is already there, all it has to do is trigger everything when the mast is used. I saw one of these "mob-triggers" today in LBRS. I was in the area wit the trolls testing some AI and I noticed a small infernal with the warlord. It had the name of a trigger, and turning off GM mode made it invisible.

    Link to comment
    Share on other sites

    [quote=Xenithar]Good point, if the mob is already there, all it has to do is trigger everything when the mast is used. I saw one of these "mob-triggers" today in LBRS. I was in the area wit the trolls testing some AI and I noticed a small infernal with the warlord. It had the name of a trigger, and turning off GM mode made it invisible.[/quote]

    Interesting, well I learned some here with your and Evildead's input/findings, thanks :D

    ------------------------------------------------------------------------------------

    [B][SIZE=3][COLOR="#800080"]IMPLEMENTED SO FAR ON[/COLOR][/SIZE][/B]

    [B]ZERO, ONE, SD3[/B]

    But I will be changing the script to spawn the invisible creature!
    -------------------------------------------------------------------------------------

    [B][COLOR="#008000"][SIZE=3]Final fix commited:[/SIZE][/COLOR][/B]

    [url]https://github.com/mangoszero/server/pull/276[/url]

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • 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