Gossip to complete Quest menu

User Tag List

Results 1 to 6 of 6
  1. #1
    Corelith's Avatar Member
    Reputation
    5
    Join Date
    Dec 2019
    Posts
    20
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Gossip to complete Quest

    Hey,

    so the search didn't bring results, that's why i simply wanna ask now:

    Working on a custom questline and one part of them is, to hear (read) a story of an NPC.
    It's just like Q 12807 made by Blizz, i think... ( The Story Thus Far... - Quest - World of Warcraft )

    So up to now, i got my gossip (story by NPC), got my NPC to complete the pre-quest (which leads to him) an giv the nextone (ID: 50005), and got him to complete my Quest (ID: 50005), which is to read his gossip. The Quest that follows (ID 50006) is already build and my NPC gives it as he should after completing Q 50005.

    My Problem there is, the NPC completes my 'gossip-hearing-quest' (50005) just as he gives it to the player. It should be completed AFTER the player made all the gossips (5 sites, which he must go through) through!

    So i found some advice on smart_scripts that should set a kill_credit, but i don't know how this would work...
    I hope for anyone, who could (and would) explain for me?

    You see it's a Questline, so my SQL-Codes would be verry long, if i post them all... But of course if anyone wants a special codeline, i can show it

    On thing at last: I put > 16777216 < for Flags in the quest_template, becouse that means 'QUEST_FLAGS_LAUNCH_GOSSIP_COMPLETE' , but that didn't work yet (and i don't know if it will - it was just a try).


    edit://
    OK i tried thisone and it seems to do, what it should...
    Some more tests and i'll can tell, if it works corectly...

    Code:
    INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
    
     ('90001', '0', '0', '1', '62', '0', '100', '0', '65353', '0', '0', '0', '0', '15', '50005', '0', '0', '0', '0', '0', '7', '0', '0', '0', '0', '0', '0', '0', '0', 'Alexander Mc Seven - Storytelling - On Gossip Option 0 Selected - Quest Credit \'Magie und was sie bewirken kann… (6)\''),
     ('90001', '0', '1', '0', '61', '0', '100', '0', '0', '0', '0', '0', '0', '72', '0', '0', '0', '0', '0', '0', '7', '0', '0', '0', '0', '0', '0', '0', '0', 'Alexander Mc Seven - Storytelling - On Gossip Option 0 Selected - Close Gossip');
    For explanation:
    90001 - entryorguid - NPC-Entry
    62 - event_type - GossipEvent
    61 - event_type - LinkedSmartScript
    65354 - event_param1 - last GossipText of the Story to tell
    15 - action_type - AreaExploresOrEventCompletet
    72 - action_type - CloseGossip
    50005 - action_param1 - QuestID
    7 - target_type - Target of SmartScript: Invoker


    edit2://
    ok damn, it's the same as before, you can complete just after getting this Q, without reading his gossip :-\

    Next Try:
    Code:
    INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
    (90001, 1, 0, 1, 62, 0, 100, 0, 65354, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'TEST für Gossip-Complete1 - on gossip option 0 von 65354, wird gossip geschlossen'),
    (90001, 1, 1, 0, 62, 0, 100, 0, 65354, 0, 0, 0, 0, 33, 90003, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'object_with_gossip- On gossip option 0 select - cast spell 79181- killcredit for Gossip-Fertig-Trigger-NPC.Entry');
    ^^therefore i insert my KillKreditMob in the Quest:
    RequiredNpcOrGo1: 90003
    RequiredNpcOrGoCount1: 1

    ... we'll see...

    Edit 3://
    Ok, with the kllkredit it's working as it should, but i jad to chance npc-flag to 3 (is questgiver and has gossip)
    Last edited by Corelith; 03-07-2021 at 05:40 PM.

    Gossip to complete Quest
  2. #2
    Corelith's Avatar Member
    Reputation
    5
    Join Date
    Dec 2019
    Posts
    20
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ok now, after this thing with the gossip is working, i know i push, but it's just a problem which went with, so new issue in same case:

    On which way is it - and of course is it in fact - possible, to give different gossips to a npc?

    In case:
    if the player who talks to my npc has finished the prequest or has got the gossipquest from above, my npc needs to have a special gossip (of course this one which leads him to tell his story).
    But in case, that the player dosn't have any quest bound to this storyboard, my npc should have another gossip, you know?

    Hope you understand my issue^^

  3. #3
    stoneharry's Avatar Moderator Harry

    Authenticator enabled
    Reputation
    1613
    Join Date
    Sep 2007
    Posts
    4,554
    Thanks G/R
    150/146
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    I don't like SmartAI so I avoid it like the plague. However I did implement this sort of thing using Eluna:

    Code:
    local AllianceQuestId       = 60013
    local HordeQuestId          = 60015
    local NPC_CONSULT_ELF       = 60091
    local NPC_CONSULT_HUMAN     = 60092
    local NPC_CONSULT_DWARF     = 60093
    local NPC_CONSULT_ORC_1     = 60094
    local NPC_CONSULT_ORC_2     = 60095
    local NPC_CONSULT_B_ELF     = 60096
    
    -------------------------
    -- Consult Elf
    -------------------------
    
    local function ConsultElfGossip1(event, player, pUnit)
        if player:HasQuest(AllianceQuestId) and player:GetRequiredQuestObjectiveCount(AllianceQuestId, NPC_CONSULT_ELF) == 0 then
            player:GossipMenuAddItem(0, "The Skettis have made a proposition for the Alliance on this island. What do you think we should do?", 0, 1)
        end
        player:GossipSendMenu(90032, pUnit)
    end
    
    local function ConsultElfGossip2(event, player, pUnit, sender, initid, code)
        if initid == 1 then
            player:GossipMenuAddItem(0, "I do not know, they bore no discernible emblems.", 0, 2)
            player:GossipSendMenu(90033, pUnit)
            return
        elseif initid == 2 then
            player:GossipMenuAddItem(0, "That's an interesting history lesson but what do you think to this proposal?", 0, 3)
            player:GossipSendMenu(90034, pUnit)
            return
        elseif initid == 3 then
            if player:HasQuest(AllianceQuestId) and player:GetRequiredQuestObjectiveCount(AllianceQuestId, NPC_CONSULT_ELF) == 0 then
                player:AdvanceQuestObjective(AllianceQuestId, 0)
            end
            player:GossipSendMenu(90035, pUnit)
            return
        end
    	player:GossipComplete()
    end
    
    RegisterCreatureGossipEvent(NPC_CONSULT_ELF, GOSSIP_EVENT_ON_HELLO, ConsultElfGossip1)
    RegisterCreatureGossipEvent(NPC_CONSULT_ELF, GOSSIP_EVENT_ON_SELECT, ConsultElfGossip2)
    
    -------------------------
    -- Consult Dwarf
    -------------------------
    
    local function ConsultDwarfGossip1(event, player, pUnit)
        if player:HasQuest(AllianceQuestId) and player:GetRequiredQuestObjectiveCount(AllianceQuestId, NPC_CONSULT_DWARF) == 0 then
            player:GossipMenuAddItem(0, "The Skettis are trying to work with us, they will help the Alliance’s interests if we aid theirs. What do you make of this proposal?", 0, 1)
        end
        player:GossipSendMenu(90023, pUnit)
    end
    
    local function ConsultDwarfGossip2(event, player, pUnit, sender, initid, code)
        if initid == 1 then
            player:GossipMenuAddItem(0, "Have you ever actually seen them do anything that would validate these tales?", 0, 2)
            player:GossipSendMenu(90024, pUnit)
            return
        elseif initid == 2 then
            player:GossipMenuAddItem(0, "I respect your opinion Kelstrum, but I urge you to give them a chance.", 0, 3)
            player:GossipMenuAddItem(0, "I agree with you Kelstrum, but protecting the one true timeline is an unfathomably tough task and we could use all the help we can get.", 0, 3)
            player:GossipSendMenu(90025, pUnit)
            return
        elseif initid == 3 then
            if player:HasQuest(AllianceQuestId) and player:GetRequiredQuestObjectiveCount(AllianceQuestId, NPC_CONSULT_DWARF) == 0 then
                player:AdvanceQuestObjective(AllianceQuestId, 2)
            end
            player:GossipSendMenu(90026, pUnit)
            return
        end
    	player:GossipComplete()
    end
    
    RegisterCreatureGossipEvent(NPC_CONSULT_DWARF, GOSSIP_EVENT_ON_HELLO, ConsultDwarfGossip1)
    RegisterCreatureGossipEvent(NPC_CONSULT_DWARF, GOSSIP_EVENT_ON_SELECT, ConsultDwarfGossip2)
    
    -------------------------
    -- Consult Human
    -------------------------
    
    local function ConsultHumanGossip1(event, player, pUnit)
        if player:HasQuest(AllianceQuestId) and player:GetRequiredQuestObjectiveCount(AllianceQuestId, NPC_CONSULT_HUMAN) == 0 then
            player:GossipMenuAddItem(0, "The Skettis have a proposal for us, what do you make of this?", 0, 1)
        end
        player:GossipSendMenu(90028, pUnit)
    end
    
    local function ConsultHumanGossip2(event, player, pUnit, sender, initid, code)
        if initid == 1 then
            player:GossipMenuAddItem(0, "Yes that’s correct.", 0, 2)
            player:GossipSendMenu(90029, pUnit)
            return
        elseif initid == 2 then
            player:GossipMenuAddItem(0, "They have given me no reason to have quarrel with them.", 0, 3)
            player:GossipMenuAddItem(0, "I do not trust them but right now it seems that we could use all the help that we can muster.", 0, 3)
            player:GossipSendMenu(90030, pUnit)
            return
        elseif initid == 3 then
            if player:HasQuest(AllianceQuestId) and player:GetRequiredQuestObjectiveCount(AllianceQuestId, NPC_CONSULT_HUMAN) == 0 then
                player:AdvanceQuestObjective(AllianceQuestId, 1)
            end
            player:GossipSendMenu(90031, pUnit)
            return
        end
    	player:GossipComplete()
    end
    
    RegisterCreatureGossipEvent(NPC_CONSULT_HUMAN, GOSSIP_EVENT_ON_HELLO, ConsultHumanGossip1)
    RegisterCreatureGossipEvent(NPC_CONSULT_HUMAN, GOSSIP_EVENT_ON_SELECT, ConsultHumanGossip2)
    
    -------------------------
    -- Consult Orc 1
    -------------------------
    
    local function ConsultOrc1Gossip1(event, player, pUnit)
        if player:HasQuest(HordeQuestId) and player:GetRequiredQuestObjectiveCount(HordeQuestId, NPC_CONSULT_ORC_1) == 0 then
            player:GossipMenuAddItem(0, "Pimalist Elan Rainstream values your opinion highly and wants to know what you think of the Skettis proposing a pact?", 0, 1)
        end
        player:GossipSendMenu(90040, pUnit)
    end
    
    local function ConsultOrc1Gossip2(event, player, pUnit, sender, initid, code)
        if initid == 1 then
            player:GossipMenuAddItem(0, "What have they done to wrong you?", 0, 2)
            player:GossipSendMenu(90041, pUnit)
            return
        elseif initid == 2 then
            player:GossipMenuAddItem(0, "We need all the allies we can get if we are to protect the one true timeline. We are not strong enough to stop the entirety of the Infinite Dragonflight.", 0, 3)
            player:GossipMenuAddItem(0, "That was a long time ago - would the Bronze Dragonflight allow them to stay in the Hub if they were that terrible?", 0, 3)
            player:GossipSendMenu(90042, pUnit)
            return
        elseif initid == 3 then
            if player:HasQuest(HordeQuestId) and player:GetRequiredQuestObjectiveCount(HordeQuestId, NPC_CONSULT_ORC_1) == 0 then
                player:AdvanceQuestObjective(HordeQuestId, 0)
            end
            player:GossipSendMenu(90043, pUnit)
            return
        end
    	player:GossipComplete()
    end
    
    RegisterCreatureGossipEvent(NPC_CONSULT_ORC_1, GOSSIP_EVENT_ON_HELLO, ConsultOrc1Gossip1)
    RegisterCreatureGossipEvent(NPC_CONSULT_ORC_1, GOSSIP_EVENT_ON_SELECT, ConsultOrc1Gossip2)
    
    -------------------------
    -- Consult Orc 2
    -------------------------
    
    local function ConsultOrc2Gossip1(event, player, pUnit)
        if player:HasQuest(HordeQuestId) and player:GetRequiredQuestObjectiveCount(HordeQuestId, NPC_CONSULT_ORC_2) == 0 then
            player:GossipMenuAddItem(0, "This matter is urgent – the Skettis is looking to form a pact with the Horde. What do you think to this?", 0, 1)
        end
        player:GossipSendMenu(90036, pUnit)
    end
    
    local function ConsultOrc2Gossip2(event, player, pUnit, sender, initid, code)
        if initid == 1 then
            player:GossipMenuAddItem(0, "Are you saying the Skettis cannot be trusted?", 0, 2)
            player:GossipSendMenu(90037, pUnit)
            return
        elseif initid == 2 then
            player:GossipMenuAddItem(0, "What about protecting the one true timeline? Surely we need their help if they are offering it.", 0, 3)
            player:GossipSendMenu(90038, pUnit)
            return
        elseif initid == 3 then
            if player:HasQuest(HordeQuestId) and player:GetRequiredQuestObjectiveCount(HordeQuestId, NPC_CONSULT_ORC_2) == 0 then
                player:AdvanceQuestObjective(HordeQuestId, 1)
            end
            player:GossipSendMenu(90039, pUnit)
            return
        end
    	player:GossipComplete()
    end
    
    RegisterCreatureGossipEvent(NPC_CONSULT_ORC_2, GOSSIP_EVENT_ON_HELLO, ConsultOrc2Gossip1)
    RegisterCreatureGossipEvent(NPC_CONSULT_ORC_2, GOSSIP_EVENT_ON_SELECT, ConsultOrc2Gossip2)
    
    -------------------------
    -- Consult Blood Elf
    -------------------------
    
    local function ConsultBloodElfGossip1(event, player, pUnit)
        if player:HasQuest(HordeQuestId) and player:GetRequiredQuestObjectiveCount(HordeQuestId, NPC_CONSULT_B_ELF) == 0 then
            player:GossipMenuAddItem(0, "The Skettis have made a proposition for the Horde on this island. What do you think we should do?", 0, 1)
        end
        player:GossipSendMenu(90044, pUnit)
    end
    
    local function ConsultBloodElfGossip2(event, player, pUnit, sender, initid, code)
        if initid == 1 then
            player:GossipMenuAddItem(0, "I do not know, they bore no discernible emblems.", 0, 2)
            player:GossipSendMenu(90045, pUnit)
            return
        elseif initid == 2 then
            player:GossipMenuAddItem(0, "That's an interesting history lesson but what do you think to this proposal?", 0, 3)
            player:GossipSendMenu(90046, pUnit)
            return
        elseif initid == 3 then
            if player:HasQuest(HordeQuestId) and player:GetRequiredQuestObjectiveCount(HordeQuestId, NPC_CONSULT_B_ELF) == 0 then
                player:AdvanceQuestObjective(HordeQuestId, 2)
            end
            player:GossipSendMenu(90047, pUnit)
            return
        end
    	player:GossipComplete()
    end
    
    RegisterCreatureGossipEvent(NPC_CONSULT_B_ELF, GOSSIP_EVENT_ON_HELLO, ConsultBloodElfGossip1)
    RegisterCreatureGossipEvent(NPC_CONSULT_B_ELF, GOSSIP_EVENT_ON_SELECT, ConsultBloodElfGossip2)
    
    -------------------------
    Sorry this doesn't help much.

  4. #4
    Corelith's Avatar Member
    Reputation
    5
    Join Date
    Dec 2019
    Posts
    20
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Oh ok, so i've to confess now, i don't know anything about luas and eluna...

    Whats up with this... I think it's a scriptsystem and i remember i read anywhere LUA is some kind of language?!?

    You see i'm still new in server-backend-editing...

  5. #5
    stoneharry's Avatar Moderator Harry

    Authenticator enabled
    Reputation
    1613
    Join Date
    Sep 2007
    Posts
    4,554
    Thanks G/R
    150/146
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Corelith View Post
    Oh ok, so i've to confess now, i don't know anything about luas and eluna...

    Whats up with this... I think it's a scriptsystem and i remember i read anywhere LUA is some kind of language?!?

    You see i'm still new in server-backend-editing...
    Eluna | RochetCode
    GitHub - ElunaLuaEngine/Eluna: Eluna Lua Engine (C) for WoW Emulators

    The above documents what Eluna is, how to use it, etc. But if you are completely new to programming then this is going to be more difficult than using SmartAI which doesn't require any programming knowledge. Unfortunately I cannot help with SmartAI, just giving an alternative for if you did know how to program.

  6. #6
    Corelith's Avatar Member
    Reputation
    5
    Join Date
    Dec 2019
    Posts
    20
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by stoneharry View Post
    The above documents what Eluna is, how to use it, etc. But if you are completely new to programming then this is going to be more difficult than using SmartAI which doesn't require any programming knowledge. Unfortunately I cannot help with SmartAI, just giving an alternative for if you did know how to program.

    Hey, thanks for those links! Not completely new, not at all... i've scriptet many HPs, got WotlabBurningBoard - experiance - so with this i got training in SQL... i often worked with php... and from job i got experiances with SPS-Scripting (AWL/SCL).. so scripting isn't new for me at all... i just never had touched on eluna or lua, that's why i told about to be new ..

    So of course i will look at thoses links, thank you for that - perhaps it helps me to solve some of my problems in the wow-case^^

Similar Threads

  1. any way to complete worgen quest at level 5? (suggestions)
    By ffffrf in forum World of Warcraft General
    Replies: 1
    Last Post: 02-22-2013, 12:38 PM
  2. [How-To] Complete the "Unleash Hell" quest on MoP Beta Alliance
    By WhySoSober in forum WoW Items & Quests
    Replies: 0
    Last Post: 08-09-2012, 02:12 AM
  3. [ArcEmu] Upon completing quest teleport to XYZ
    By Fumi in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 07-08-2011, 05:00 AM
  4. Easy way to complete the "Breakfast of Champions" daily quest
    By guitargod218 in forum World of Warcraft Exploits
    Replies: 7
    Last Post: 10-08-2009, 05:20 AM
  5. Replies: 20
    Last Post: 02-10-2008, 04:57 AM
All times are GMT -5. The time now is 03:45 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search