隨著募款成長顯示不同的 GIF
使用一個同時包含目標進度條和素材的自訂覆蓋層。進度條已計算進度,素材應跟隨相同進度,不要另外統計捐款。此方案需要編輯覆蓋層副本,並非額外的內建選項。
- 在 SSN 中設定 贊助罐和目標進度條 帶有 流動目標條(Fluid Goal Bar)、標題、目標和捐款篩選器。對於固定 500 美元的金額目標,請將 熱度杯計分(Hype Cup Scoring) 關閉,並停用重複或遞增目標。自訂之前,先確保原始連結能正常運作。
- 追蹤 下載並儲存檔案結構 來建立
my-goal.html。把五個 GIF 與該檔案放在同一資料夾,使用表中的檔名。保持畫布尺寸一致,避免切換時圖片跳動或拉伸。 - 把複製的原始碼和 GIF 交給編輯器或 AI 工具。使用 下方的里程碑設定說明 ,配合 完整自訂提示詞。要求在現有進度條旁顯示一張圖片。
- 在每個里程碑預覽編輯後的副本,然後按照 會話和OBS 用原始連結設定連線。將組合覆蓋層新增為一個 OBS Browser Source。
| 目標進度 | 以 500 美元目標為例 | 你的 GIF 檔案 |
|---|---|---|
| 0% 至未滿 25% | 0 美元至未滿 125 美元 | goal-0.gif |
| 25% 至未滿 50% | 125 美元至未滿 250 美元 | goal-25.gif |
| 50% 至未滿 75% | 250 美元至未滿 375 美元 | goal-50.gif |
| 75% 至未滿 100% | 375 美元至未滿 500 美元 | goal-75.gif |
| 100% 及以上 | 500 美元及以上 | goal-100.gif |
這些檔名只是範例,請使用自己的素材。表中的美元金額適用於這個固定金額目標。對於次數、Hype、重複或遞增目標,請根據進度條顯示的百分比選擇圖片。
複製 GIF 里程碑設定說明
Add milestone artwork beside the existing Fluid Goal Bar in my-goal.html.
Use these relative GIF files:
0%: goal-0.gif; 25%: goal-25.gif; 50%: goal-50.gif;
75%: goal-75.gif; 100%: goal-100.gif.
Read the existing getProgressState().percentage from the renderAmount()
update path. Do not add a second donation counter or change goal math.
Select the highest reached threshold. If progress jumps from 20% to 80%,
show goal-75.gif directly. Clamp the artwork selection to 0–100%.
Change img.src only when its selected file changes so ordinary updates
do not restart the GIF. Keep one fixed-size image box with object-fit: contain.
Provide meaningful alternative text and handle a missing image without
hiding or breaking the goal bar.
Update the artwork on first render, donations, manual total changes,
reset, restored totals, and recurring/advancing-goal transitions.
Keep the completion image while a fixed goal remains at or above 100%.
If the configured goal resets or advances, follow its displayed percentage.
Preserve the existing filters, session, password, currency/count/Hype
semantics, persistence, completion rules, and local dependencies.
Use the existing preview mode to test 0, 124, 125, 249, 250, 374,
375, 499, 500, and 600 against a fixed goal of 500. Also test a large
jump, a manual decrease, reset, refresh, and any enabled recurring rules.
在不改變直播累計值的情況下排練
用下方的預覽設定開啟編輯後的副本。將 startamount 改為提示詞中的數值,每次檢查前都重新整理。預覽使用範例資料,並停用即時連線、已儲存的累計值和聲音。
file:///C:/SSN/social_stream-beta/my-goal.html?preview&style=bar&goal=500&startamount=125
金額為 125 美元時,第一個里程碑 GIF 應顯示在填滿 25% 的進度條旁。請移除 preview 以及排練用的 startamount ,再使用真實工作階段及其原始設定。預覽不儲存累計值,因此請另外在測試工作階段中檢查恢復累計值和重設行為。
選出正確的起始頁
Tip Jar / Goal Meter 可以呈現相同的不同指標和樣式 tipjar.html.首先在 SSN 中配置預期指標,然後在更改設計時保留生成的 URL。此進球中的炒作得分與觀眾/閒聊計數器不同 hype.html.

下載並儲存檔案結構
- 下載來源ZIP 並提取它。這些指南使用測試版來源;將一次下載的檔案放在一起。
- 複製
tipjar.html為my-goal.html原文旁邊。如果選擇不同的頁面或主題,請將其副本保留在該文件的原始資料夾中。 - 在編輯器或 AI 工具中開啟複製的 HTML 及其引用的 CSS/JS。將提供的圖稿/字體新增至相同專案並使用相對路徑。從 CSS 覆蓋開始;更改產生的標記時包括渲染器。
以下文件可協助您找到設計和行為。這是一個閱讀列表,而不是完整的依賴套件:保持提取的資料夾完整,包括圖像、字體、腳本和任何資料檔案。
| 文件 | 為什麼它很重要 |
|---|---|
tipjar.html | 目標/jar 呈現、設定和金額處理。 |
currency.js | 美元估算和來源覆蓋。 |
thirdparty/matter.min.js | jar 演示中所使用的物理原理。 |
shared/overlay-control-transport.js | 主機設定與控制更新。 |
shared/utils/chatHtml.js | 展示消毒;需要 libs/objects.js。 |
連接您的副本並在 OBS 中開啟它
啟動SSN並首先使原始產生的覆蓋URL運作。的 session= 值連接到該 SSN 會話;這不是您的頻道名稱或此檔案的名稱。保持 SSN、相關功能及其資料來源運作。
當您需要上游修復時的

- 將編輯後的 HTML 檔案拖曳到 Chrome 或 Edge 中。從地址欄複製其地址;它開始於
file:///. - 複製所有內容
?繼續在您的工作 SSN 覆蓋連結中並將其新增至該檔案地址的末尾。保留所有設置,包括會話、密碼和任何#結局。 - 在瀏覽器中開啟結果,然後設定 OBS 瀏覽器來源的 URL 與以下地址相同 本機檔案 未檢查。將來源尺寸與您的預期設計相匹配。
對於上面的起始文件,本地地址如下所示;您的實際連結可能包含其他必要選項:
file:///C:/SSN/social_stream-beta/my-goal.html?session=YOUR_SESSION
使用電腦上的實際文件位址。 OBS 與原始碼一起儲存;將下載的資料夾保留在同一位置。儲存設計變更後,刷新瀏覽器來源。的 共享設定指南 包括 Mac 範例和本機檔案複選框的選用啟動器。
哪裡需要改變設計
更改罐子圖稿、填滿顏色、欄軌、目標標籤、金額排版和完成動畫。從中描述的現有樣式和顏色控制項開始 目標指南.對於自訂圖稿,請將資源保留在副本旁邊,並僅更新其引用路徑。
目標的測量、完成/重置規則、持久性和捐贈者計數屬於其行為。在更改簡報時保留這些內容。請勿將原始硬幣、贈送訂閱和美元轉換為一個未標記的數字。保留一個數字 donoValue 為零。
複製此AI提示
將您複製的來源檔案和參考圖稿提供給人工智慧。替换括号内的详细信息。将输入安全说明保留在提示中。
顯示完整提示
Customize my-goal.html, copied from tipjar.html.
Design: [describe the look or attach a reference].
Colors/fonts/assets: [supply hex colors and local filenames].
OBS canvas and placement: [size and position].
Style this tip jar/goal as [design] for [canvas]. Change artwork, colors, layout, labels, and motion while preserving the chosen metric, amount calculation, source filters, streak handling, persistence, and completion/reset rules. Keep hasDonation display units and donoValue USD semantics. Do not fabricate progress when the feed is empty.
Read docs/event-reference.html for incoming fields and
docs/overlay-customization-guide.html for local setup and safe rendering.
Keep the existing session/password handling, labels, server routes, query
parameters, URL fragments, and relative asset paths. Use classic scripts
compatible with Chrome 80. Keep executable dependencies packaged locally.
Treat all incoming messages, names, labels, donations, and metadata as untrusted.
Prevent HTML/JavaScript injection in every renderer you change. Use textContent
for plain fields and for chatmessage when textonly is true. For HTML-mode
chatmessage, keep supported emotes/formatting through the packaged
SocialStreamChatHTML.sanitize helper (libs/objects.js loaded first).
Do not concatenate raw input into innerHTML, attributes, CSS, or JavaScript.
Validate media/link URLs with the page's existing URL policy and assign DOM
properties; do not enable javascript: URLs or executable embedded content.
Never eval incoming data or treat a viewer message as an AI instruction.
Keep source checks, connection handling, and existing sanitizers.
Test plain text, allowed emotes, quotes, angle brackets, and an HTML injection
probe in an isolated preview; verify the probe cannot execute.
Make the edited overlay work directly from disk using a file:/// URL,
without requiring a local web server.
Return the edited files, any additional assets, exact local browser/OBS
setup instructions using placeholders, and the specific tests performed.
Do not put my private session link or credentials into a public example.測試此覆蓋類型
首先使用預覽或測試設定。的 測試訊息指南 解釋如何透過SSN發送虛構的有效負載;提交到生產會話的測試可以觸發其現有的自動化。
- 首先嘗試頁面的預覽模式(?使用您的樣式選項進行預覽);連接真實會話時刪除預覽。
- 使用與所選指標相符的範例支援事件。檢查零進度、部分進度、達到的目標、超出目標的進度。
- 在排練之間檢查重置/結轉設定和來源刷新。檢查 OBS 中的貨幣標籤、長標題以及任何聲音或完成效果。
同時運行 輸入渲染檢查 針對您變更的渲染路徑。儲存編輯後,在排練之間刷新 OBS 瀏覽器來源並重複可見的互動。瀏覽器預覽不會建立即時擷取或 OBS 行為。