楼主: 大风起兮

[未归类主题(有空慢慢分)] 【冬冬原创】源码问答小福利(50题)

  [复制链接]

2791

时沙

0

精华

10

主题

声望: 1302   虚弱: 0

Lv.5(无冕者)

灵蛇献瑞(尚美制作)祥龙贺岁(尚美制作)金兔迎春(尚美制作)福虎贺岁(尚美制作)犇向牛年(尚美制作)炉石金鸡报晓积少成多时沙之瓶Dogeuiwow(lulus制)银色北伐军祖国万岁!!假死猎人今天也只能打恢复的增强萨潜行者金鼠(ytfirefox制作)

发表于 2018-9-4 16:45:10 | 显示全部楼层
大神开课,已备小凳子
回复

使用道具 举报

134

时沙

1

精华

3

主题

声望: 1833   虚弱: 7

Lv.0(沈默者)

炉石积少成多瓦格里的标记金鼠(ytfirefox制作)

发表于 2018-9-4 17:17:27 | 显示全部楼层
让你们知道你们都是渣渣!!
回复

使用道具 举报

2483

时沙

3

精华

40

主题

声望: 5770   虚弱: 0

Lv.7(复仇者)

祥龙贺岁(尚美制作)金兔迎春(尚美制作)圣光永恒炉石金鸡报晓积少成多时沙之瓶银色北伐军祖国万岁!!信仰战假死猎人今天也只能打恢复的增强萨吟游牧师潜行者金鼠(ytfirefox制作) 犇向牛年(尚美制作)

发表于 2018-9-4 17:46:01 | 显示全部楼层
感谢楼主分享..
回复

使用道具 举报

2656

时沙

0

精华

10

主题

声望: 1275   虚弱: 0

Lv.6(觉醒者)

灵蛇献瑞(尚美制作)祥龙贺岁(尚美制作)金兔迎春(尚美制作)炉石伊利丹·怒风金鸡报晓时沙之瓶银色北伐军祖国万岁!!信仰战假死猎人今天也只能打恢复的增强萨潜行者划水武僧金鼠(ytfirefox制作) 犇向牛年(尚美制作)福虎贺岁(尚美制作)吟游牧师搓水法爷积少成多脚男

发表于 2018-9-4 19:24:09 | 显示全部楼层
学习学习!
[发帖际遇]: Vincent丶不小心把昂贵物品放入公会仓库,得到了8 声望. 幸运榜 / 衰神榜
回复

使用道具 举报

58

时沙

0

精华

0

主题

声望: 27   虚弱: 1

Lv.1(追随者)

炉石假死猎人

发表于 2018-9-4 21:19:02 | 显示全部楼层
看看影藏了撒内容
回复

使用道具 举报

1725

时沙

0

精华

4

主题

声望: 873   虚弱: 0

Lv.5(无冕者)

灵蛇献瑞(尚美制作)金兔迎春(尚美制作)炉石金鸡报晓积少成多时沙之瓶Doge假死猎人今天也只能打恢复的增强萨潜行者金鼠(ytfirefox制作) 犇向牛年(尚美制作)福虎贺岁(尚美制作)

发表于 2018-9-4 21:40:30 | 显示全部楼层
这些是什么 黑科技?
回复

使用道具 举报

1365

时沙

0

精华

11

主题

声望: 2695   虚弱: 0

Lv.5(无冕者)

灵蛇献瑞(尚美制作)祥龙贺岁(尚美制作)金兔迎春(尚美制作)炉石假死猎人今天也只能打恢复的增强萨潜行者

发表于 2018-9-4 21:42:26 | 显示全部楼层

感谢楼主分享..
回复

使用道具 举报

42

时沙

0

精华

0

主题

声望: -1   虚弱: 0

Lv.1(追随者)

瓦格里的标记

发表于 2018-9-4 22:28:18 | 显示全部楼层
让你们知道你们都是渣渣
回复

使用道具 举报

1385

时沙

4

精华

36

主题

声望: 9819   虚弱: 1

Lv.7(复仇者)

炉石积少成多时沙之瓶雷施银色北伐军小咕信仰战假死猎人今天也只能打恢复的增强萨潜行者金鼠(ytfirefox制作) 犇向牛年(尚美制作)

发表于 2018-9-4 23:31:47 | 显示全部楼层
我看看大神都回答了啥问题
回复

使用道具 举报

1385

时沙

4

精华

36

主题

声望: 9819   虚弱: 1

Lv.7(复仇者)

炉石积少成多时沙之瓶雷施银色北伐军小咕信仰战假死猎人今天也只能打恢复的增强萨潜行者金鼠(ytfirefox制作) 犇向牛年(尚美制作)

发表于 2018-9-4 23:50:49 | 显示全部楼层
大神能不能详细解说下这段代码怎么加入自己的源码内
//PVP杀人越货
class PlayerKillItem : public PlayerScript
{
public:
        PlayerKillItem() : PlayerScript("PlayerKillItem") { }

        void OnPVPKill(Player* killer, Player* killed)
        {
                if (!killer->IsInWorld() || !killed->IsInWorld())
                        return;

                //自杀无效
                if (killer->GetGUID() == killed->GetGUID())
                        return;

                //不在指定的地图区域无效--积雪平原
                if (killer->GetAreaId() != 268 || killed->GetAreaId() != 268)
                        return;

                //炸尸无效
                if (killed->IsAlive())
                        return;

                //定义一个容器用来装物品数据
                std::vector<Item*> m_itemlist;

                //将数据存入容器 身上的装备
                for (uint8 i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i)
                        if (Item* pItem = killed->GetItemByPos(INVENTORY_SLOT_BAG_0, i))
                                m_itemlist.push_back(pItem);

                //空
                if (m_itemlist.empty())
                {
                        ChatHandler(killer->GetSession()).PSendSysMessage("So easy...你击杀的玩家毫无战斗力.对方没有穿装备");
                        killer->GetSession()->SendAreaTriggerMessage("So easy...你击杀的玩家毫无战斗力.对方没有穿装备");
                        return;
                }

                //取一个随机值 第一个位置0起 否则找不到指针很严重...
                uint8 n = urand(0, m_itemlist.size() - 1);
               
                //获取到随机的装备并保证其存在
                if (Item* kItem = m_itemlist[n])
                {
                        //直接将装备转移 可以继承附魔及其他 只有击杀者获得
                        kItem->SetUInt64Value(ITEM_FIELD_OWNER, killer->GetGUID());
                        killed->MoveItemFromInventory(INVENTORY_SLOT_BAG_0, kItem->GetSlot(), true);
                        SQLTransaction trans = CharacterDatabase.BeginTransaction();
                        kItem->DeleteFromInventoryDB(trans);
                        kItem->SaveToDB(trans);
                        killed->SaveInventoryAndGoldToDB(trans);

                        ItemPosCountVec dest;
                        uint8 Msg = killer->CanStoreItem(NULL_BAG, NULL_SLOT, dest, kItem, false);
                        if (Msg == EQUIP_ERR_OK)
                                killer->StoreItem(dest, kItem, true);
                        else
                                MailDraft("击杀爆装备奖励补发", "击杀爆装备奖励补发").AddItem(kItem).SendMailTo(trans, killer, MailSender(killed, MAIL_STATIONERY_GM), MAIL_CHECK_MASK_COPIED);

                        CharacterDatabase.CommitTransaction(trans);

                        //插入掉落的新物品ID到箱子里 不能继承附魔及其他 击杀者或其他玩家可以开箱子获得
                        /*
                        //箱子ID
                        uint32 Go = 500001;
                        //持续时间 秒
                        uint32 DespawnTime = 20;
                        if (GameObject* go = killer->SummonGameObject(Go, killed->GetPositionX(), killed->GetPositionY(), killed->GetPositionZ(), killed->GetOrientation(), 0, 0, 0, 0, DespawnTime, false))
                        {
                                go->SetOwnerGUID(NULL);
                                go->loot.clear();
                                LootStoreItem storeItem = LootStoreItem(kItem->GetEntry(), 100, LOOT_MODE_DEFAULT, 0, 1, 1);
                                go->loot.AddItem(storeItem);

                                killed->DestroyItem(INVENTORY_SLOT_BAG_0, kItem->GetSlot(), true);
                        
                        }
                    */
                        ItemTemplate const* pProto = kItem->GetTemplate();
                        ChatHandler(killer->GetSession()).PSendSysMessage("恭喜你英勇杀敌.爆了 |Hplayer:%s|h[%s]|h 的装备 [%s] 请查看背包或邮箱", killed->GetName().c_str(), killed->GetName().c_str(), pProto->Name1.c_str());
                }

                m_itemlist.clear();
        }
};
[发帖际遇]: 18977844434杀死上千万小软,得到小软的内裤,获得3 声望. 幸运榜 / 衰神榜
回复

使用道具 举报

快速回复 返回顶部 返回列表