Vision Guide (10525)

Issue #938 resolved
bewtihozzy
created an issue

Vision Guide (10525) Use the Fiery Soul Fragment to transform your spirit into a vision guide. Speak with Rokgah Bloodgrip at Thunderlord Stronghold after your vision

bug: After using the Fiery Soul Fragment it will take me to Draenethyst Mine. But when im done flying it just leaves me there and quest is not completed.

Comments (26)

  1. Selphius

    I've fixed this quest my own way. You can use my script for it if you wish. What you need to do though is just do create new "npc" or use existing one which doesn't do anything at the moment.

    Here you go:

    /*#########
    # npc_thunderstrike_trigger
    #########*/
    
    #define QUEST_VISION_GUIDE 10525
    
    struct npc_thunderstrike_triggerAI : public ScriptedAI
    {
        npc_thunderstrike_triggerAI(Creature *c) : ScriptedAI(c)
        {
            me->SetReactState(REACT_AGGRESSIVE);
        }
    
        void Reset() { }
    
        void MoveInLineOfSight(Unit *pWho)
        {
            if (Player* plWho = pWho->GetCharmerOrOwnerPlayerOrPlayerItself())
            {
                if (plWho->GetQuestStatus(QUEST_VISION_GUIDE) == QUEST_STATUS_INCOMPLETE && plWho->HasItemCount(30481, 1, false) && plWho->GetDistance(me) < 8.0f)
                {
                    switch (me->GetEntry())
                    {
                    case 61003:
                        plWho->CompleteQuest(QUEST_VISION_GUIDE);
                        break;
                    }
                }       
    
                if (plWho->GetQuestStatus(QUEST_VISION_GUIDE) == QUEST_STATUS_COMPLETE && plWho->HasItemCount(30481, 1, false) && plWho->GetDistance(me) < 8.0f)
                {
                    switch (me->GetEntry())
                    {
                    case 61003:
                        plWho->TeleportTo(530, 2280.67f, 5983.65f, 142.49f, 3.04f, 0);
                        break;
                    }
                }
            }
        }
    };
    
  2. Selphius

    Just for no experienced devs an adnotation:

    case 61003:
    

    If you plan to use another npc switch the number of it for its "Entry". I have created a new npc trigger and gave it this Entry, so until you create npc with that entry this script won't work. Adding it up to the repo would also require Database uptade: creating a record for this npc.

    In case if you used my script, but used another npc and are wondering why it does not work =)

    Thanks for support. I have many more fixes but they aren't of Oregon standard, I can share some if someone wishes.

    I do plan on creating my own server somewhere around new year. I have fixed 90% of Outland Quests, Events, and creatures like it was on Retail. I am also half done with dungeons and heroic. Also lots of fixes made for Karazhan, Gruul and Magtheridon. I am solo doing this project as of now, but I will welcome any Dev to be part of my project if someone wishes to take part in it.

  3. job bais

    Selphius, i tried the script, made a npc, but it seems not to work for me.. the npc has a script on it > npc_thunderstrike_trigger everything compiles, and seems to work since npc is being hostile ( i think due me->SetReactState(REACT_AGGRESSIVE); ) but it doesnt complete quest and or port me to the location.

  4. Selphius

    Dikke deur, you made the npc, but what ENTRY did you used? if it isn't 61003 then no wonder it doesn't complete it and teleport you (everything in script will work, except the MoveInLineOfSight part since it may not meet one of the requirements: you need to have quests incomplete, you need to have item 30481 (provided at quest accept) and be in 8yards from npc) if all of those are met it will do the rest.

    My guess is it doesn't work for you, since you made an npc with another ENTRY and didn't changed the "case 61003" part to your entry. I always wondered why triggers never worked to "complete, add, teleport etc." for me it was always that I forgot to change the Entry of my npc, but everything else worked fine like reactstate, timers etc.

  5. job bais

    Selphius, i do have the npc that has entry 61003, only thing i can think of that it has to do with me being a gm ( even with gm off and visible on ) it might be the big im nubcake mistake since i test crap with gm char kinda thing :P

  6. Selphius

    I tested it with GM On and Off and it worked for me perfectly. I will re-check it once more when I get back home and will report the outcome. I assume you didn't change anything in script, and did NPC 61003. Also make sure you meet the rest of the requirements (have quest, have item in bag, and is 0>8 yards from him. If all is met but still nothing happens, I will post Mysql uptade of this NPC like on my db (entry, model, faction etc.) + his position.

    Try switching off invisible, though it shouldn't matter if it's on or off, since the scripts is looking for a player in his distance with the quest and item.

    You can also try for example: 1. delete "plWho->HasItemCount(30481, 1, false)" so it won't look for item required, if still nothing. Then it wasn't the cause. 2. Another test would be to leave only "if (plWho->GetDistance(me) < 8.0f)" without checking quest status and item. It should complete and teleport you when you will be in 8y dist. from him. That way you will know if some of the lines removed is at fault.

    Ps. can I also get right to add to repo? and some "easy tutorial how to commit" or is it the same way like I do for my own repo "cd path to oregon" -> "git init" -> " git add . " -> "git commit" -> name it -> "git push -u "oregonlink" Since I would commit at least 10 fixes for Issues reported here.

  7. Selphius

    Tested it on my end. Everything works perfect like it should. Tried without GM on, completed and teleported. Tried with GM on, completed and teleported. Tried without GM on and Visible off, completed and teleported. Tried with GM on and Visible off, completed and teleported. So it really must be something on your end. Anyway here is mysql code like I promised.

    INSERT INTO creature VALUES (1262865,61003,530,1,0,0,1317.03,6689.24,-18.6929,3.04172,25,0,0,112,0,0)
    INSERT INTO `creature_template` (`entry`, `heroic_entry`, `KillCredit1`, `KillCredit2`, `modelid_A`, `modelid_A2`, `modelid_H`, `modelid_H2`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction_A`, `faction_H`, `npcflag`, `speed`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `baseattacktime`, `rangeattacktime`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `class`, `race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `PetSpellDataId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`) VALUES (61003, 0, 0, 0, 17519, 0, 17519, 0, 'Thunderstrike Trigger', NULL, NULL, 0, 10, 10, 112, 112, 0, 0, 20, 114, 114, 0, 0.91, 1, 0, 0, 0, 0, 0, 2000, 0, 33587968, 0, 0, 0, 0, 0, 0, 1.76, 2.42, 100, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 1, 0, 0, 128, 'npc_thunderstrike_trigger');
    
  8. job bais

    tried it again also with your sql, same result, will try it on my other server, i have 2, but its strange, even on normal account same result you dont get teleported or get credit.

  9. job bais

    tried it now on my main server, same results...

    Schermafbeelding 2015-11-23 om 16.13.34.png

    Schermafbeelding 2015-11-23 om 16.13.43.png

    i even tried it with this code taken out

    plWho->GetQuestStatus(QUEST_VISION_GUIDE) == QUEST_STATUS_INCOMPLETE && plWho->HasItemCount(30481, 1, false) &&

    so that code looks like

    #define QUEST_VISION_GUIDE 10525
    
    struct npc_thunderstrike_triggerAI : public ScriptedAI
    {
        npc_thunderstrike_triggerAI(Creature *c) : ScriptedAI(c)
        {
            me->SetReactState(REACT_AGGRESSIVE);
        }
    
        void Reset() { }
    
        void MoveInLineOfSight(Unit *pWho)
        {
            if (Player* plWho = pWho->GetCharmerOrOwnerPlayerOrPlayerItself())
            {
                if (plWho->GetDistance(me) < 8.0f)
                {
                    switch (me->GetEntry())
                    {
                    case 61003:
                        plWho->CompleteQuest(QUEST_VISION_GUIDE);
                        break;
                    }
                }       
    
                if (plWho->GetQuestStatus(QUEST_VISION_GUIDE) == QUEST_STATUS_COMPLETE && plWho->HasItemCount(30481, 1, false) && plWho->GetDistance(me) < 8.0f)
                {
                    switch (me->GetEntry())
                    {
                    case 61003:
                        plWho->TeleportTo(530, 2280.67f, 5983.65f, 142.49f, 3.04f, 0);
                        break;
                    }
                }
            }
        }
    };
    

    still nothing, do i miss something??

  10. job bais

    desteny it was added to the file blades_edge_mountains, do i still need to add it then??? i didnt got any compile errors.. but i think we miss indeed

    newscript = new Script;
    
    newscript->Name = "npc_thunderstrike_trigger";
    
    newscript->GetAI = &GetAI_npc_thunderstrike_trigger;
    
    newscript->RegisterSelf();
    

    at the end right??

  11. Selphius

    Yea.it's needed.

    newscript = new Script;
    newscript->Name = "npc_thunderstrike_trigger";
    newscript->GetAI = &GetAI_npc_thunderstrike_trigger;
    newscript->RegisterSelf();
    

    It is needed for the script to work, I didn't add it since I thought people would know that they need to register the scripts themselves :D seems like not. My bad then, next time I will be adding those "registers" too.

    Though Desteny method can be used too, but it takes more work :P just register it under BladeEdgeMountains.cpp like every other quests is done that way.

    Anyway I didn't consider why it doesn't work for you, because of not registered script since you said your NPC does react aggresive like it should xD. If my scripts don't work for some reason I always check in OregonCore emulator "toggle output" if I correctly inserted the name of script to NPC, or if any is unused but is registered. If all is ok, then I go back to script, check it's name then if it's registered. You can believe I once spend 1hr looking for reason and it was I didn't register script, so I always check it firsthand now xD

    By the way if someone is interested, you can check how my realm does look atm. What's fixed, what not if you wish. Just type in browser: "149.202.41.101" I am using SPORA for acc reg. atm, will change it in the future. Realmlist is the same.

  12. AlphaFox

    what i do wrong ? 1 IntelliSense: identifier "GetAI_npc_thunderstrike_trigger" is undefined d:\Oregon\src\scripts\Outland\blades_edge_mountains.cpp 732 21 scripts

    i have put tjis to the blades edge mountains

  13. Selphius

    @AlphafoxBHN

    After my entire script add this:

    CreatureAI* GetAI_npc_thunderstrike_trigger(Creature* pCreature)
    {
        return new npc_thunderstrike_triggerAI(pCreature);
    }
    

    Should solve the problem. It's propably also the reason why it didn't work for Dikke deur :P

  14. job bais

    thanks, it all works now, the fun part is that in the beginning i added the register self by myself assuming that you indeed forgot it. but then i got the compile error like alpha did, so meh i was thinking wut?? then not, but then it does indeed nothing. all is fine now :P

  15. Selphius

    Glad to hear it. I simply forgot to copy it too, though the register part was intently not copied, now I will copy it too since I see many people have problems without it.

  16. Selphius
    INSERT INTO creature VALUES (1262865,61003,530,1,0,0,1317.03,6689.24,-18.6929,3.04172,25,0,0,112,0,0)
    INSERT INTO `creature_template` (`entry`, `heroic_entry`, `KillCredit1`, `KillCredit2`, `modelid_A`, `modelid_A2`, `modelid_H`, `modelid_H2`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction_A`, `faction_H`, `npcflag`, `speed`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `baseattacktime`, `rangeattacktime`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `class`, `race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `PetSpellDataId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`) VALUES (61003, 0, 0, 0, 17519, 0, 17519, 0, 'Thunderstrike Trigger', NULL, NULL, 0, 10, 10, 112, 112, 0, 0, 20, 114, 114, 0, 0.91, 1, 0, 0, 0, 0, 0, 2000, 0, 33587968, 0, 0, 0, 0, 0, 0, 1.76, 2.42, 100, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 1, 0, 0, 128, 'npc_thunderstrike_trigger');
    
    /*#########
    # npc_thunderstrike_trigger
    #########*/
    
    #define QUEST_VISION_GUIDE 10525
    
    struct npc_thunderstrike_triggerAI : public ScriptedAI
    {
        npc_thunderstrike_triggerAI(Creature *c) : ScriptedAI(c)
        {
            me->SetReactState(REACT_AGGRESSIVE);
        }
    
        void Reset() { }
    
        void MoveInLineOfSight(Unit *pWho)
        {
            if (Player* plWho = pWho->GetCharmerOrOwnerPlayerOrPlayerItself())
            {
                if (plWho->GetQuestStatus(QUEST_VISION_GUIDE) == QUEST_STATUS_INCOMPLETE && plWho->HasItemCount(30481, 1, false) && plWho->GetDistance(me) < 8.0f)
                {
                    switch (me->GetEntry())
                    {
                    case 61003:
                        plWho->CompleteQuest(QUEST_VISION_GUIDE);
                        break;
                    }
                }       
    
                if (plWho->GetQuestStatus(QUEST_VISION_GUIDE) == QUEST_STATUS_COMPLETE && plWho->HasItemCount(30481, 1, false) && plWho->GetDistance(me) < 8.0f)
                {
                    switch (me->GetEntry())
                    {
                    case 61003:
                        plWho->TeleportTo(530, 2280.67f, 5983.65f, 142.49f, 3.04f, 0);
                        break;
                    }
                }
            }
        }
    };
    
    CreatureAI* GetAI_npc_thunderstrike_trigger(Creature* pCreature)
    {
        return new npc_thunderstrike_triggerAI(pCreature);
    }
    
    void AddSC_blades_edge_mountains()
    {
        Script* newscript;
    
        newscript = new Script;
        newscript->Name = "npc_thunderstrike_trigger";
        newscript->GetAI = &GetAI_npc_thunderstrike_trigger;
        newscript->RegisterSelf();
    }
    

    Can be pushed to repo, added entire code. Right now shouldn't be any problems with it. Issue can be labeled as resolved.

  17. desteny

    Thanks for your contribution @Selphius it helps the project a lot in this difficult phase.

    I know its a lot of work, but you can speedup the process of putting fixes to the core a lot if you can make pull requests for your fixes. I know its not realy necessary but i know LordUsagi and Zaffy are realy bussy ATM and merging pull requests is easy but picking fixes from different bugtracker issuses is more time consuming. ;)

    but maybe: @LordUsagi or @Zaffy maybe you could get write access to the repo then you can push fixes as well, but thats not my decission.

    else i try to find some time to push your fixes,...

    but none then less a big thanks for sharing and keep updating issues and feedbacks

  18. Selphius

    I would if I knew how :d

    I know only how to push commits to the repo from GitBash. Oregon as of now I think is still on Hg? Also I never worked with Pull requests, so I would need some tutorial how to do that, if I knew how to make pulls, I would be doing so.

    I am as of now already fixing some other issues which are listed here, a couple more should be done as of today.

  19. desteny

    Here on Bitbucket is a good How to do for pull requests, but generaly it works like this: 1: fork Oregoncore (via bitbucket fork button) 2: create a branch for each pull request (bugfix) you want to make 3: commit your fixes to this branch and push it to your repo 4: then you can make a pull request from your bitbucket repo via button here on the website

  20. Log in to comment