How does Player/Guild Housing Work? menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 24
  1. #1
    mafiaboy's Avatar Contributor
    Reputation
    235
    Join Date
    May 2007
    Posts
    698
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    How does Player/Guild Housing Work?

    This is how I think it works....

    It acts like an instance. Put a building, then a instance portal, player goes through and he's in the house. People from his group can join.

    Although i also saw Ballwinkle was going to use c++, this can be done also purely with mysql.

    Am i completely off?

    How does Player/Guild Housing Work?
  2. #2
    Hellgawd's Avatar Account not activated by Email
    Reputation
    710
    Join Date
    Jun 2007
    Posts
    2,480
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    COMPLETELY off.

  3. #3
    Pragma's Avatar Contributor
    Reputation
    261
    Join Date
    Feb 2007
    Posts
    630
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i like mafiaboy's idea, cause my thought would be that they would pick their area for their house and we would make a door that requires a key and then would spawn a gameobject house

    P.S. mafiaboy go on MSN


  4. #4
    freezer1012's Avatar Member
    Reputation
    34
    Join Date
    Apr 2007
    Posts
    98
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    U cant do this totally in MySQL, you would very much need C++, and what map would it be using?


  5. #5
    Pragma's Avatar Contributor
    Reputation
    261
    Join Date
    Feb 2007
    Posts
    630
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    we've got something we are working on


  6. #6
    Cursed's Avatar Contributor
    Reputation
    270
    Join Date
    Jun 2007
    Posts
    1,380
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hellgawd View Post
    COMPLETELY off.
    Hellgawd said

  7. #7
    Ebon's Avatar Contributor
    Reputation
    218
    Join Date
    Sep 2007
    Posts
    604
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think it would look nice in that empty Aqh'Quiari room, or whatever it's called >.>. But anywho, are you sure it's not possible? There could be some sort of way to make the go object's only appear for certain people...
    Last edited by Ebon; 02-02-2008 at 04:56 PM. Reason: Mispelling.


  8. #8
    Hellgawd's Avatar Account not activated by Email
    Reputation
    710
    Join Date
    Jun 2007
    Posts
    2,480
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Player Housing was already working on a few select servers before ascent disabled all Game Monkey scripts. LUA cannot handle the selected code needed, so all coding must now be done in C++, which is also more bulky and takes longer to do so.
    Ballwinkle is the farthest ahead in the player/guild housing project for newest ascent, the one on ascentemu is not as far as Ballwinkle.

  9. #9
    Ballwinkle's Avatar Contributor Authenticator enabled
    Reputation
    124
    Join Date
    Mar 2007
    Posts
    662
    Thanks G/R
    0/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    well my first version works with mysql,
    it checks the database for the guilds hall location (table: guild_halls)
    then it teleports the player there.

    i am working on a key with the option to 'manage guild hall'
    which will allow the player to add guards, chairs, tables ect...

  10. #10
    mafiaboy's Avatar Contributor
    Reputation
    235
    Join Date
    May 2007
    Posts
    698
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hellgawd View Post
    Player Housing was already working on a few select servers before ascent disabled all Game Monkey scripts. LUA cannot handle the selected code needed, so all coding must now be done in C++, which is also more bulky and takes longer to do so.
    Ballwinkle is the farthest ahead in the player/guild housing project for newest ascent, the one on ascentemu is not as far as Ballwinkle.
    You sure? Cuz i just logged on the mmowned server and added the house teleporter item yo my inventory and it works.

    I guess were the farthest :P

  11. #11
    Gastricpenguin's Avatar Legendary
    Reputation
    980
    Join Date
    Feb 2007
    Posts
    2,236
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Lol, you may "like his idea". But that is completely void on how to do it.
    You CANNOT create instances for houses. You may be able to create an instance for an entire map, but not for one specific area. And even at that, you will need to edit the source code in order to allow custom instance creation.
    So far what you have there is an extremely hard process.
    Then there is the bit about assigning said instance to a guild/player GUID. Then storing that information to the DB.
    Don't forget to account for groups, raids, spawns, and all that fun stuff.

    Unless you know exactly what to do, don't even try.
    Life Puzzler WoW - Website | Forums

  12. #12
    Ballwinkle's Avatar Contributor Authenticator enabled
    Reputation
    124
    Join Date
    Mar 2007
    Posts
    662
    Thanks G/R
    0/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ive done that basic 'teleport som1 somwere depending on there guild guid'

  13. #13
    mafiaboy's Avatar Contributor
    Reputation
    235
    Join Date
    May 2007
    Posts
    698
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Gastricpenguin View Post
    Lol, you may "like his idea". But that is completely void on how to do it.
    You CANNOT create instances for houses. You may be able to create an instance for an entire map, but not for one specific area. And even at that, you will need to edit the source code in order to allow custom instance creation.
    So far what you have there is an extremely hard process.
    Then there is the bit about assigning said instance to a guild/player GUID. Then storing that information to the DB.
    Don't forget to account for groups, raids, spawns, and all that fun stuff.

    Unless you know exactly what to do, don't even try.
    we dont use my instance method.

  14. #14
    Ballwinkle's Avatar Contributor Authenticator enabled
    Reputation
    124
    Join Date
    Mar 2007
    Posts
    662
    Thanks G/R
    0/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by mafiaboy View Post
    You sure? Cuz i just logged on the mmowned server and added the house teleporter item yo my inventory and it works.

    I guess were the farthest :P
    mine works tho

  15. #15
    Pragma's Avatar Contributor
    Reputation
    261
    Join Date
    Feb 2007
    Posts
    630
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    all right everyone, I found it, I have found a C++ script for guild houses and i made it work with player houses instead. It querys the world database for a table name playerhouse and in the table are three columns: map, x, y, z, guid it gets the players guid and check the table for any row with guid as the same and there is a row it teleports them to their house.

    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    class SCRIPT_DECL HousePortItem : public GossipScript{
    public:
    void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
    void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
    void GossipEnd(Object * pObject, Player* Plr);
    void Destroy()
    {
    delete this;
    }
    };
    void HousePortItem::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
    {
    GossipMenu * Menu;
    uint32 TextID = 820;
    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), TextID, Plr);
    
    Menu->AddItem(5, "Go to your House", 1);
    
    if(AutoSend)
    Menu->SendTo(Plr);
    }
    void HousePortItem::GossipSelectOption(Object * pObject, Player * Plr, uint32 Id, uint32 IntId, const char * Code)
    {
    Item * pItem = (pObject->GetTypeId()==TYPEID_ITEM)?((Item*)pObject):NULL;
    if(pItem==NULL)
    return;
    switch(IntId)
    {
    case 0:
    {
    GossipHello(pItem, Plr, true);
    }
    break;
    case 1:
    {
    QueryResult * result = WorldDatabase.Query( "SELECT * FROM playerhouse WHERE `guid`=%u",Plr->GetGUID() );
    if(result)
    {
    do
    {
            if(Plr->CombatStatus.IsInCombat())
            {
                Plr->BroadcastMessage("You are in combat!");
            }
            if(!Plr->CombatStatus.IsInCombat())
            {
                Field * fields = result->Fetch();
                uint32 locmap = fields[1].GetUInt32();
                float x = fields[2].GetFloat();
                float y = fields[3].GetFloat();
                float z = fields[4].GetFloat();
                Plr->SafeTeleport(locmap, 0, LocationVector(x, y, z), 0);
                //Plr->SafeTeleport(locmap, 0, LocationVector(x, y, z));
            }
    }
    while (result->NextRow());
    delete result;
    }
    else
    {
    sChatHandler.SystemMessage(Plr->GetSession(),"You have no house found in the database");
    }
    Plr->Gossip_Complete();
    }
    break;
    case 2:
    {
    Plr->Gossip_Complete();
    }
    break;
    }
    }
    void HousePortItem::GossipEnd(Object * pObject, Player* Plr)
    {
    GossipScript::GossipEnd(pObject, Plr);
    }
    void SetupHousePortItem(ScriptMgr * mgr)
    {
    GossipScript * gpItem = (GossipScript*) new HousePortItem();
    mgr->register_item_gossip_script(60003, gpItem); 
    }
    Last edited by Pragma; 02-02-2008 at 08:54 PM.


Page 1 of 2 12 LastLast

Similar Threads

  1. How does the AFK timer work?
    By Greenfire833 in forum Diablo 3 General
    Replies: 2
    Last Post: 04-24-2014, 04:52 PM
  2. How does morphing programs actually work ?
    By arteqt in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 10-20-2012, 07:47 AM
  3. Epic Core Mod - Trinity Core 2 Player / Guild - Housing System
    By tekkeryole in forum WoW EMU General Releases
    Replies: 1
    Last Post: 09-05-2009, 09:30 PM
  4. [Lua]How does the kill command work ? or how can i make an npc do suicide.
    By Wheeze201 in forum WoW EMU Questions & Requests
    Replies: 6
    Last Post: 08-18-2009, 06:50 PM
All times are GMT -5. The time now is 04:23 PM. 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