Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5,294 changes: 5,294 additions & 0 deletions 2001/ze_diddle/manager.js

Large diffs are not rendered by default.

913 changes: 913 additions & 0 deletions 2001/ze_diddle/ze_diddle/blobarm.js

Large diffs are not rendered by default.

1,080 changes: 1,080 additions & 0 deletions 2001/ze_diddle/ze_diddle/bloblaser.js

Large diffs are not rendered by default.

1,038 changes: 1,038 additions & 0 deletions 2001/ze_diddle/ze_diddle/curseorb.js

Large diffs are not rendered by default.

1,296 changes: 1,296 additions & 0 deletions 2001/ze_diddle/ze_diddle/diddlebaby.js

Large diffs are not rendered by default.

1,022 changes: 1,022 additions & 0 deletions 2001/ze_diddle/ze_diddle/diddlecannonammo.js

Large diffs are not rendered by default.

901 changes: 901 additions & 0 deletions 2001/ze_diddle/ze_diddle/diddledbosshp.js

Large diffs are not rendered by default.

1,135 changes: 1,135 additions & 0 deletions 2001/ze_diddle/ze_diddle/diddledickhealth.js

Large diffs are not rendered by default.

1,074 changes: 1,074 additions & 0 deletions 2001/ze_diddle/ze_diddle/diddlejihad.js

Large diffs are not rendered by default.

1,681 changes: 1,681 additions & 0 deletions 2001/ze_diddle/ze_diddle/fetus.js

Large diffs are not rendered by default.

64 changes: 64 additions & 0 deletions 2001/ze_diddle/ze_diddle/filter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import { Instance } from 'cs_script/point_script';

//===================================\\
// Filter script by Luffaren (STEAM_0:1:22521282)
// CS2 Port - Simplified for SetFilterOwner(1) and FilterCheck(1,1)
// ===================================\\
function registerFixedScriptInput(name, callback) {
const trimmed = name.trim();
if (trimmed.length === 0)
throw new Error('script input name cannot be empty');
Instance.OnScriptInput(trimmed, (data) => callback({
...data,
activator: data?.activator,
caller: data?.caller,
}));
}
function input(name, _legacyExpression, handler, source = "vmf", notes = "") {
return { name, handler, source, notes };
}
// ---------- 脚本状态 ----------
let owner = null;
// ---------- 处理器函数 ----------
// 设置所有者:捡起神器时调用,activator 为玩家
function handleSetFilterOwner(context) {
const activator = context.activator;
if (activator && activator.IsValid()) {
owner = activator;
//Instance.Msg(`[Filter] Owner set to ${activator.GetEntityName()}\n`);
}
}
// 检查并触发:按下按钮时调用,activator 为玩家,caller 为按钮
function handleFilterCheck(context) {
const activator = context.activator;
const caller = context.caller;
if (!owner) {
//Instance.Msg("[Filter] FilterCheck: No owner set\n");
return;
}
if (!activator || !activator.IsValid()) {
//Instance.Msg("[Filter] FilterCheck: Invalid activator\n");
return;
}
if (!caller || !caller.IsValid()) {
//Instance.Msg("[Filter] FilterCheck: Invalid caller\n");
return;
}
if (owner === activator) {
// 匹配,对 caller(按钮)触发 FireUser1,按钮的 OnUser1 将执行地图逻辑
Instance.EntFireAtTarget({ target: caller, input: "FireUser1", activator: activator });
//Instance.Msg(`[Filter] FilterCheck passed, fired FireUser1 on ${caller.GetEntityName()}\n`);
}
}
// ---------- 注册输入别名 ----------
const EXTERNAL_INPUT_ALIASES = [
input("SetFilterOwner", "SetFilterOwner()", handleSetFilterOwner, "vmf", "Set owner to activator"),
input("FilterCheck", "FilterCheck()", handleFilterCheck, "vmf", "Check if activator is owner, then FireUser1 on caller"),
];
function registerInputAliases() {
for (const entry of EXTERNAL_INPUT_ALIASES) {
registerFixedScriptInput(entry.name, entry.handler);
}
//Instance.Msg(`[Filter] Registered ${EXTERNAL_INPUT_ALIASES.length} inputs\n`);
}
registerInputAliases();
Loading