魔兽私服 经验交流 发布家族 高手进阶心得 软件下载 魔兽私服技术文章 家族联盟 广告合作

监狱系统源码

void Jailsystem (Player* plr){
    static QueryResult * check=NULL;
    check=WorldDatabase.Query("SELECT `jailed` FROM `Jail` WHERE `GUID`='%i'", plr->GetGUIDLow());  // 读取数据
    if(!check)
    {return;}
   
    float x = plr->GetPositionX();
    float y = plr->GetPositionY();
    float z = plr->GetPositionZ();
    float o = plr->GetOrientation();
    GameObject *go = m_session->GetPlayer()->GetMapMgr()->CreateGameObject();
    GameObjectInfo* goi = GameObjectNameStorage.LookupEntry(502077);
    go->CreateFromProto(502077,mapid,x,y,z,o);
    GOSpawn * gs = new GOSpawn;
    gs->entry = go->GetEntry();
    gs->facing = go->GetOrientation();
    gs->faction = go->GetUInt32Value(GAMEO*JECT_FACTION);
    gs->flags = go->GetUInt32Value(GAMEO*JECT_FLAGS);
    gs->id = objmgr.GenerateGameObjectSpawnID();
    gs->o = go->GetFloatValue(GAMEO*JECT_ROTATION);
    gs->o1 = go->GetFloatValue(GAMEO*JECT_ROTATION_01);
    gs->o2 = go->GetFloatValue(GAMEO*JECT_ROTATION_02);
    gs->o3 = go->GetFloatValue(GAMEO*JECT_ROTATION_03);
    gs->scale = go->GetFloatValue(O*JECT_FIELD_SCALE_X);
    gs->x = go->GetPositionX();
    gs->y = go->GetPositionY();
    gs->z = go->GetPositionZ();
    gs->state = go->GetUInt32Value(GAMEO*JECT_STATE);
    gs->stateNpcLink = 0;
    delete GOspawn;
    }
    void Setup*JailSystem(ScriptMgr* mgr){
    mgr->register_hook(SERVER_HOOK_EVENT_ON_ENTER_WORLD, Jailsystem);
}
SQL插入
CREATE TA*LE `Jail` (
  `id` int(11) NOT NULL auto_increment,
  `jailed` int(11) NOT NULL,
  `GUID` int(11) NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

上一篇魔兽私服文章:上一篇: 到达一定等级领取奖品的代码
下一篇魔兽私服文章:下一篇: 休息经验补丁( 在城区休息后的经验会
魔兽世界私服 魔兽世界下载 wow魔兽私服
五二我的wow魔兽私服网 www.52mysf.com 提供最新开魔兽世界私服发布 版权所有