Results 1 to 3 of 3
http://idgs.in/420996
  1. #1
    Tymeconue's Avatar
    Join Date
    Mar 2011
    Location
    Banyakan di Dalaran
    Posts
    277
    Points
    165.30
    Thanks: 12 / 17 / 11

    Default Rescue from Town Square

    Nama Quest: Rescue from Town Square

    NPC: High Commander Halford Wyrmbane

    Faction: Alliance & Horde

    Referensi: http://www.wowhead.com/quest=12253/r...om-town-square

    Error: Nothing happened when we had kill the mob (Vengeful Geist) nor talked to the villagers. Please fix it. Thx.

  2. Hot Ad
  3. #2
    Cress's Avatar
    Join Date
    Nov 2006
    Location
    Velvet Room
    Posts
    399
    Points
    332.00
    Thanks: 36 / 16 / 11

    Default

    confirmed

    padahal ini quest chain battle of undercity T_T

  4. #3
    oblivi0n's Avatar
    Join Date
    Nov 2011
    Location
    Solitary Ground
    Posts
    157
    Points
    120.10
    Thanks: 4 / 5 / 4

    Default

    Permisi Tim GM saya nemu code C++ buat quest ini.
    Mohon di periksa apakah bisa di apply untuk quest ini dan aman untuk server AMPM ?

    Spoiler untuk Rescue From Town Square :

    Quest : Rescue from Town Square (Quest ini merupakan kunci membuka chain quest yang panjang alliance di Dragon Blight)
    NPC : High Commander Halford Wyrmbane <7th Legion>
    Faction : Alliance
    Error : Quest Objective tidak terhitung saat membunuh Vengeful Geist untuk menyelamatkan Trapped Wintergarde Villager

    Code:
    #include "ScriptPCH.h"
    #include "ScriptedEscortAI.h"
    
    enum eEnums
    {
        QUEST_RETURN_TO_AG_A    = 12499,
        QUEST_RETURN_TO_AG_H    = 12500,
        MOVIE_ID_GATES          = 14
    };
    
    #define GOSSIP_ITEM_WHAT_HAPPENED   "Alexstrasza, can you show me what happened here?"
    
    class npc_alexstrasza_wr_gate : public CreatureScript
    {
    public:
        npc_alexstrasza_wr_gate() : CreatureScript("npc_alexstrasza_wr_gate") { }
    
        bool OnGossipHello(Player* player, Creature* creature)
        {
            if (creature->isQuestGiver())
                player->PrepareQuestMenu(creature->GetGUID());
    
            if (player->GetQuestRewardStatus(QUEST_RETURN_TO_AG_A) || player->GetQuestRewardStatus(QUEST_RETURN_TO_AG_H))
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_WHAT_HAPPENED, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
    
            player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
            return true;
        }
    
        bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*uiSender*/, uint32 uiAction)
        {
            player->PlayerTalkClass->ClearMenus();
            if (uiAction == GOSSIP_ACTION_INFO_DEF+1)
            {
                player->CLOSE_GOSSIP_MENU();
                player->SendMovieStart(MOVIE_ID_GATES);
            }
    
            return true;
        }
    };
    
    /*#######
    # Quest Rescue from Town Square
    ########*/
    enum eEnumVillager
    {
        QUEST_RESCUE_FROM_TOWN_SQUARE    = 12253,
        NPC_VILLAGER                     = 27359
    };
    
    #define GOSSIP_ITEM_HELP  "Rettet mich bitte!"
    
    class npc_trapped_wintergarde_villager : public CreatureScript
    {
    public:
        npc_trapped_wintergarde_villager() : CreatureScript("npc_trapped_wintergarde_villager") {}
    
        bool OnGossipHello(Player* player, Creature* creature)
        {
            if (creature->isQuestGiver())
                player->PrepareQuestMenu(creature->GetGUID());
    
            if (player->GetQuestStatus(QUEST_RESCUE_FROM_TOWN_SQUARE) == QUEST_STATUS_INCOMPLETE)
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_HELP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
    
            player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
            return true;
        }
    
        bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
        {
            player->PlayerTalkClass->ClearMenus();
            if (uiAction == GOSSIP_ACTION_INFO_DEF+1)
            {
                player->CLOSE_GOSSIP_MENU();
    			player->ToPlayer()->KilledMonsterCredit(NPC_VILLAGER, 0);
    			creature->DespawnOrUnsummon();
            }
            return true;
        }
    };
    
    
    
    /*######
    ## npc_rokhan
    ######*/
    
    #define ROKHAN_GOSSIP_ITEM1 "Bitte ruft den Drachen, damit ich ihm das Herz entreissen kann!"
    
    enum eRokhan
    {
        QUEST_SARATHSTRA_COURGE_OF_THE_NORTH   = 12097,
        QUEST_TO_DRAGONS_FALL                  = 12095,
        NPC_ROKHAN                             = 26859,
        CREATURE_SARATHSTRA                    = 26858
    };
    
    class npc_rokhan : public CreatureScript
    {
    public:
        npc_rokhan() : CreatureScript("npc_rokhan") { }
    
        bool OnGossipHello(Player* player, Creature* creature)
        {
            if (creature->isQuestGiver())
                player->PrepareQuestMenu(creature->GetGUID());
    
            if (player->GetQuestStatus(QUEST_SARATHSTRA_COURGE_OF_THE_NORTH) == QUEST_STATUS_INCOMPLETE && !player->FindNearestCreature(CREATURE_SARATHSTRA,200,true))
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, ROKHAN_GOSSIP_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
            
            player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
            
            return true;
        }
    
        bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
        {
            player->CLOSE_GOSSIP_MENU();
           
            if(Creature* tmp = player->FindNearestCreature(CREATURE_SARATHSTRA,200,false))
                tmp->DespawnOrUnsummon();
    
            Creature *tmpsarath = player->SummonCreature(CREATURE_SARATHSTRA,4412.329f,857.795f,170.0f,2.28f);
    		tmpsarath->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
            tmpsarath->SetFlying(true);
            tmpsarath->GetMotionMaster()->MovePoint(0,4362.881f,946.37f,87.94f);
            player->GetMotionMaster()->MovePoint(0,4362.881f,946.37f,82.94f);
    		tmpsarath->DespawnOrUnsummon(17000);
    		
    		Creature *tmpsarath = player->SummonCreature(CREATURE_SARATHSTRA,0,4362.881f,946.37f,82.94f,TEMPSUMMON_CORPSE_TIMED_DESPAWN,60000);
    		tmpsarath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
    		tmpsarath->SetFlying(false);
    		
    		
            
    
    
            return true;
            
        }
    };
    
    void AddSC_dragonblight()
    {
        new npc_alexstrasza_wr_gate;
        new npc_trapped_wintergarde_villager();
        new npc_rokhan();
    }
    SUMBER


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •