スクリプトの利用は、自己責任でお願いします。
同卓者のプレイヤー名を伏せるスクリプトです。開発者ツールで実行できます。
// 同卓者のプレイヤー名をそれぞれ上家、対面、下家に書き換えます。
// ただし、友人戦の同卓者と、認証マークの付いたプレイヤーは除きます。
// 対局前や牌譜閲覧前に実行する必要があります。
view.DesktopMgr.prototype._initRoom ??= view.DesktopMgr.prototype.initRoom;
view.DesktopMgr.prototype.initRoom = function(config, players, target_id, mode) {
const names = ["自家", "下家", "対面", "上家"];
const jicha = players.find(player => player.account_id === target_id) || players[0];
for (const player of players) {
if (
mode === view.EMJMode.live_broadcast
|| config.meta.room_id
|| player.verified
|| player.account_id === GameMgr.Inst.account_id
|| !player.account_id
) continue;
player.nickname = names[(player.seat - jicha.seat + 4) % 4];
player.verified = 0;
}
this._initRoom(...arguments);
};
// プロフィールと牌譜一覧のプレイヤー名を即時非表示にします。
uiscript.UI_OtherPlayerInfo.Inst.name.visible = false;
for (const item of uiscript.UI_PaiPu.Inst.scrollview._items) {
for (let i = 0; i < 4; i++) {
item.container.getChildByName("p" + i).getChildByName("name").visible = false;
}
}
ゲームを再起動するか、次のコードを実行すると、元の状態に戻ります。
// プレイヤー名を書き換えないようにします。
// 対局前や牌譜閲覧前に実行する必要があります。
view.DesktopMgr.prototype.initRoom = view.DesktopMgr.prototype._initRoom;
// プロフィールと牌譜一覧のプレイヤー名を即時再表示します。
uiscript.UI_OtherPlayerInfo.Inst.name.visible = true;
for (const item of uiscript.UI_PaiPu.Inst.scrollview._items) {
for (let i = 0; i < 4; i++) {
item.container.getChildByName("p" + i).getChildByName("name").visible = true;
}
}