コード例 #1
0
        //Process GuildIndo (Envia as Guildas Para TMSRV)
        public static DBResult Exec_MSG_GuildInfo(DBController gs, pServer GameServer)
        {
            MSG_GuildInfo sm = W2Marshal.GetStructure <MSG_GuildInfo>(GameServer.RecvPacket.RawBuffer);

            int myguild = sm.Guild;

            if (myguild <= 0 || myguild >= 5000)
            {
                W2Log.Write($"guild index out or range { sm.Guild}");
                return(DBResult.NO_ERROR);
            }

            gs.g_pGuildInfo[myguild] = sm.GuildInfo;

            if (myguild != gs.g_pGuildInfo[myguild].GuildID)
            {
                W2Log.Write($"guild index fixed {gs.g_pGuildInfo[myguild].GuildID } to {myguild}");
                gs.g_pGuildInfo[myguild].GuildID = myguild;
            }


            gs.SendGuildInfo(myguild);

            W2Log.Write($"guild update {gs.g_pGuildInfo[myguild].GuildID } - {gs.g_pGuildInfo[myguild].GuildName}");

            if (!Functions.WriteGuildInfo(gs.g_pGuildInfo))
            {
                W2Log.Write("fail to write guild info");
            }



            return(DBResult.NO_ERROR);
        }
コード例 #2
0
        public void SendGuildInfo(int Guild)
        {
            MSG_GuildInfo sm = W2Marshal.CreatePacket <MSG_GuildInfo>(BaseDef._MSG_GuildInfo);

            if (Guild < 1 || Guild >= 5000)
            {
                return;
            }

            sm.Guild     = Guild;
            sm.GuildInfo = this.g_pGuildInfo[Guild];
            this.Server.SendPacket(sm);
        }