Untitled
unknown
plain_text
a month ago
3.4 kB
6
Indexable
// ============================================================
// WelcomeGreeter v5
// ============================================================
(() => {
const modApi = bcModSdk.registerMod({
name: "WelcomeGreeter",
fullName: "WelcomeGreeter",
version: "5.0.0",
});
const WELCOME_MSG = (name) =>
`hey welcome to my room if your a Dumb Bitch and want to become my slave then fucking add a note to my BCX Bitch *George Shit's all over ${name}*`;
const ITEMS_TO_APPLY = [
{ Group: "ItemPelvis", Name: "BulkyDiaper", Color: ["#688599","#808080","#8c7384","#BF3F97","#C7A623"], Property: {} },
{ Group: "ItemBoots", Name: "Slime", Color: ["#4F2200","#4F2200"], Property: { Opacity:[1,1] } },
{ Group: "ItemFeet", Name: "Slime", Color: ["#541A00","#541A00"], Property: { Opacity:[1,1] } },
{ Group: "ItemLegs", Name: "Slime", Color: ["#572100","#572100"], Property: { OverridePriority:60, Opacity:[1,1] } },
{ Group: "ItemArms", Name: "Slime", Color: ["#5A2800","#5A2800","#5A2800"], Property: { TypeRecord:{p:0,t:0}, Difficulty:0, Block:["ItemHands","ItemHandheld","ItemBreast","ItemNipples","ItemNipplesPiercings","ItemTorso","ItemTorso2"], Effect:["Block","BlockWardrobe"], Hide:[], HideItem:["ClothFuzzyDress","ClothAdultBabyDress1","ClothAdultBabyDress4","ClothGown3","ClothTeacherOutfit1"], AllowActivity:[], Attribute:[], Opacity:[1,1,1,1,1,1,1,1,1] } },
{ Group: "ItemHood", Name: "Slime", Color: ["#6B3000","#6B3000"], Property: { Opacity:[1,1] } },
];
let knownMembers = new Set();
function applyItems(C) {
if (!C || C.MemberNumber === Player.MemberNumber) return;
try {
ITEMS_TO_APPLY.forEach(def => {
InventoryAdd(C, def.Name, def.Group);
const item = InventoryGet(C, def.Group);
if (!item) return;
item.Color = JSON.parse(JSON.stringify(def.Color));
item.Property = Object.assign(item.Property || {}, JSON.parse(JSON.stringify(def.Property ?? {})));
});
CharacterRefresh(C, false, false);
ChatRoomCharacterUpdate(C);
} catch(e) {
console.warn("[WelcomeGreeter]", e);
}
}
function onJoin(C) {
if (!C || C.MemberNumber === Player.MemberNumber) return;
ServerSend("ChatRoomChat", {
Content: WELCOME_MSG(C.Name || `Player ${C.MemberNumber}`),
Type: "Chat",
});
applyItems(C);
setTimeout(() => applyItems(C), 1500);
}
function scanNewArrivals() {
if (!Array.isArray(ChatRoomCharacter)) return;
const current = new Set(ChatRoomCharacter.map(c => c?.MemberNumber).filter(Boolean));
for (const id of current) {
if (!knownMembers.has(id)) {
const C = ChatRoomCharacter.find(c => c.MemberNumber === id);
if (C) onJoin(C);
}
}
knownMembers = current;
}
modApi.hookFunction("ChatRoomSync", 1, (args, next) => {
const result = next(args);
knownMembers.clear();
if (Array.isArray(ChatRoomCharacter))
ChatRoomCharacter.forEach(c => { if (c?.MemberNumber) knownMembers.add(c.MemberNumber); });
return result;
});
modApi.hookFunction("ChatRoomSyncMemberJoin", 1, (args, next) => {
const result = next(args);
scanNewArrivals();
return result;
});
if (Array.isArray(ChatRoomCharacter))
ChatRoomCharacter.forEach(c => { if (c?.MemberNumber) knownMembers.add(c.MemberNumber); });
console.log("[WelcomeGreeter] Loaded.");
})();Editor is loading...
Leave a Comment