ออกแบบขวดทิปและเป้าหมายแบบกำหนดเอง

มอบเป้าหมายการบริจาค การนับ และการโฆษณาเกินจริงในสไตล์ของคุณเองโดยไม่ต้องเปลี่ยนจำนวนหรือกฎการสำเร็จ

แสดง GIF ต่างกันตามยอดระดมทุนที่เพิ่มขึ้น

ใช้โอเวอร์เลย์ที่ปรับแต่งหนึ่งชุดซึ่งมีทั้งแถบเป้าหมายและภาพของคุณ แถบคำนวณความคืบหน้าอยู่แล้ว ภาพควรติดตามความคืบหน้าเดียวกันแทนการนับบริจาคแยก วิธีนี้ต้องแก้ไขสำเนาโอเวอร์เลย์ ไม่ใช่เปิดการตั้งค่าเพิ่มเติมในตัว

  1. ใน SSN ให้ตั้งค่า โหลทิปและมาตรวัดเป้าหมาย พร้อม แถบเป้าหมายแบบลื่นไหล (Fluid Goal Bar)พร้อมชื่อ เป้าหมาย และตัวกรองการบริจาคของคุณ สำหรับเป้าหมายเงินคงที่ $500 นี้ ให้ปิด คะแนน Hype Cup (Hype Cup Scoring) และปิดเป้าหมายวนซ้ำหรือเลื่อนขึ้น ตรวจสอบให้ลิงก์เดิมทำงานได้ก่อนปรับแต่ง
  2. ติดตาม ดาวน์โหลดและเก็บโครงสร้างไฟล์ไว้ ด้านล่างเพื่อสร้าง my-goal.htmlบันทึก GIF ทั้งห้าไว้ข้างไฟล์นั้นตามชื่อในตาราง ใช้ขนาดภาพเท่ากันเพื่อให้ภาพไม่กระโดดหรือยืดเมื่อเปลี่ยน
  3. ส่งสำเนาซอร์สและไฟล์ GIF ให้เครื่องมือแก้ไขหรือ AI ของคุณ ใช้ คำแนะนำจุดหมายด้านล่าง ร่วมกับ พรอมต์ปรับแต่งฉบับเต็มขอให้เพิ่มภาพหนึ่งภาพข้างแถบเดิม
  4. ดูตัวอย่างสำเนาที่แก้ไขแล้วที่ทุกจุดหมาย จากนั้นทำตาม เซสชันและ OBS เพื่อเชื่อมต่อด้วยการตั้งค่าจากลิงก์เดิม เพิ่มโอเวอร์เลย์รวมเป็น Browser Source เดียวใน OBS
ความคืบหน้าเป้าหมายสำหรับเป้าหมาย $500ไฟล์ GIF ของคุณ
0% ถึงต่ำกว่า 25%$0 ถึงต่ำกว่า $125goal-0.gif
25% ถึงต่ำกว่า 50%$125 ถึงต่ำกว่า $250goal-25.gif
50% ถึงต่ำกว่า 75%$250 ถึงต่ำกว่า $375goal-50.gif
75% ถึงต่ำกว่า 100%$375 ถึงต่ำกว่า $500goal-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 ก่อนใช้เซสชันจริงและค่าดั้งเดิม ทดสอบการเรียกคืนยอดและการรีเซ็ตแยกในเซสชันทดสอบ เพราะโหมดตัวอย่างไม่บันทึกยอด

เพิ่ม GIF เป็นแหล่งแยกใน OBS ไปแล้วใช่ไหม ภาพเล่นข้างเป้าหมายได้ แต่จะไม่ทราบความคืบหน้าของเป้าหมายโดยอัตโนมัติ ให้ใช้โอเวอร์เลย์ที่ปรับแต่งรวมกันเพื่อเปลี่ยนภาพตามจุดหมายอัตโนมัติ

เลือกหน้าเริ่มต้นที่ถูกต้อง

Tip Jar / Goal Meter สามารถนำเสนอหน่วยวัดและสไตล์ที่แตกต่างจากที่เดียวกัน tipjar.html. ขั้นแรกกำหนดค่าเมตริกที่ต้องการใน SSN จากนั้นเก็บ URL ที่สร้างขึ้นไว้เมื่อเปลี่ยนการออกแบบ การให้คะแนนเกินจริงในเป้าหมายนี้แตกต่างจากผู้ชม/ผู้พูดคุยโต้ตอบ hype.html.

เครื่องวัดเป้าหมาย Tip Jar แสดงผลภายในเครื่องในโหมดแสดงตัวอย่าง
ตัวอย่าง tipjar.html จริง; จำนวนที่แสดงเป็นข้อมูลตัวอย่าง

ดาวน์โหลดและเก็บโครงสร้างไฟล์ไว้

  1. ดาวน์โหลด ZIP ต้นทาง แล้วดึงออกมา คำแนะนำเหล่านี้ใช้แหล่งเบต้า เก็บไฟล์จากการดาวน์โหลดครั้งเดียวไว้ด้วยกัน
  2. คัดลอก tipjar.html เป็น my-goal.html ข้างต้นฉบับ หากเลือกหน้าหรือธีมอื่น ให้เก็บสำเนาไว้ในโฟลเดอร์ต้นฉบับของไฟล์นั้น
  3. เปิด HTML ที่คัดลอกและ CSS/JS ที่อ้างอิงในตัวแก้ไขหรือเครื่องมือ AI ของคุณ เพิ่มอาร์ตเวิร์ก/แบบอักษรที่ให้มาในโปรเจ็กต์เดียวกัน และใช้พาธแบบสัมพันธ์ เริ่มต้นด้วยการแทนที่ CSS รวมตัวแสดงผลเมื่อเปลี่ยนมาร์กอัปที่สร้างขึ้น

ไฟล์ต่อไปนี้ช่วยคุณค้นหาการออกแบบและลักษณะการทำงาน นี่คือรายการที่จะอ่าน ไม่ใช่ชุดการพึ่งพาที่สมบูรณ์: เก็บโฟลเดอร์ที่แยกออกมาไว้ครบถ้วน รวมถึงรูปภาพ แบบอักษร สคริปต์ และไฟล์ข้อมูลใดๆ

ไฟล์เหตุใดจึงสำคัญ
tipjar.htmlการนำเสนอเป้าหมาย/ขวด การตั้งค่า และการจัดการจำนวนเงิน
currency.jsการประมาณการ USD และการแทนที่แหล่งที่มา
thirdparty/matter.min.jsฟิสิกส์ที่ใช้ในการนำเสนอด้วยขวด
shared/overlay-control-transport.jsการตั้งค่าโฮสต์และการควบคุมการอัปเดต
shared/utils/chatHtml.jsการฆ่าเชื้อจอแสดงผล; ต้องใช้ libs/objects.js

เชื่อมต่อสำเนาของคุณและเปิดใน OBS

เริ่ม SSN และทำให้ URL โอเวอร์เลย์ที่สร้างขึ้นดั้งเดิมใช้งานได้ก่อน ที่ session= ค่าเชื่อมต่อกับเซสชัน SSN นั้น ไม่ใช่ชื่อช่องของคุณหรือชื่อไฟล์นี้ ให้ SSN คุณลักษณะที่เกี่ยวข้อง และแหล่งข้อมูลทำงานต่อไป

วางที่อยู่ซ้อนทับภายในเครื่องลงในช่อง URL OBS
วางที่อยู่ซ้อนทับภายในเครื่องลงในช่อง URL OBS
  1. ลากไฟล์ HTML ที่แก้ไขของคุณไปที่ Chrome หรือ Edge คัดลอกที่อยู่จากแถบที่อยู่ มันเริ่มต้นด้วย file:///.
  2. คัดลอกทุกอย่างจาก ? เป็นต้นไปในลิงก์โอเวอร์เลย์ SSN ที่ทำงานของคุณ และเพิ่มไปที่ส่วนท้ายของที่อยู่ไฟล์นั้น เก็บการตั้งค่าทั้งหมดไว้ รวมถึงเซสชัน รหัสผ่าน และอื่นๆ # สิ้นสุด
  3. เปิดผลลัพธ์ในเบราว์เซอร์ จากนั้นตั้งค่า OBS Browser Source's URL ไปยังที่อยู่เดียวกันกับ ไฟล์ในเครื่อง (Local file) ไม่ได้เลือก จับคู่มิติข้อมูลแหล่งที่มากับการออกแบบที่คุณต้องการ

สำหรับไฟล์เริ่มต้นด้านบน ที่อยู่ภายในเครื่องจะเป็นดังนี้ ลิงก์จริงของคุณอาจมีตัวเลือกที่จำเป็นเพิ่มเติม:

file:///C:/SSN/social_stream-beta/my-goal.html?session=YOUR_SESSION

ใช้ที่อยู่ไฟล์จริงบนคอมพิวเตอร์ของคุณ OBS จะบันทึกพร้อมกับแหล่งที่มา เก็บโฟลเดอร์ที่ดาวน์โหลดมาไว้ที่เดิม หลังจากบันทึกการเปลี่ยนแปลงการออกแบบแล้ว ให้รีเฟรชแหล่งที่มาของเบราว์เซอร์ ที่ คู่มือการตั้งค่าที่ใช้ร่วมกัน รวมตัวอย่าง Mac และตัวเรียกใช้งานเสริมสำหรับช่องทำเครื่องหมายไฟล์ในเครื่อง

จะเปลี่ยนการออกแบบได้ที่ไหน

เปลี่ยนอาร์ตเวิร์กของขวด สีเติม แทร็กแท่ง ป้ายเป้าหมาย จำนวนการพิมพ์ และแอนิเมชั่นเมื่อเสร็จสิ้น เริ่มต้นด้วยการควบคุมสไตล์และสีที่มีอยู่ตามที่อธิบายไว้ใน คู่มือเป้าหมาย. สำหรับอาร์ตเวิร์กแบบกำหนดเอง ให้เก็บเนื้อหาไว้ข้างสำเนาของคุณและอัปเดตเฉพาะเส้นทางที่อ้างอิงเท่านั้น

ตัวชี้วัดของเป้าหมาย กฎการทำให้สำเร็จ/รีเซ็ต ความคงอยู่ และการนับผู้บริจาคเป็นไปตามพฤติกรรมของมัน เก็บสิ่งเหล่านี้ไว้ในขณะที่เปลี่ยนการนำเสนอ อย่าแปลงเหรียญดิบ การสมัครสมาชิกที่ให้เป็นของขวัญ และ USD ให้เป็นหมายเลขเดียวที่ไม่มีป้ายกำกับ เก็บตัวเลขไว้ donoValue ของศูนย์เมื่อแหล่งจ่ายมา

คัดลอกข้อความแจ้ง AI นี้

มอบไฟล์ต้นฉบับที่คัดลอกและอาร์ตเวิร์กอ้างอิงให้กับ 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 การทดสอบที่ส่งไปยังเซสชันการใช้งานจริงของคุณสามารถทริกเกอร์การทำงานอัตโนมัติที่มีอยู่ได้

  1. ลองใช้โหมดแสดงตัวอย่างของหน้า (?ดูตัวอย่างด้วยตัวเลือกสไตล์ของคุณ) ก่อน ลบการแสดงตัวอย่างเมื่อเชื่อมต่อเซสชันจริง
  2. ใช้เหตุการณ์สนับสนุนตัวอย่างที่ตรงกับตัวชี้วัดที่เลือก ตรวจสอบศูนย์ ความคืบหน้าบางส่วน บรรลุเป้าหมาย และความคืบหน้าเกินเป้าหมาย
  3. ตรวจสอบการตั้งค่าการรีเซ็ต/การยกยอด และการรีเฟรชแหล่งข้อมูลระหว่างการซ้อม ตรวจสอบป้ายสกุลเงิน ชื่อแบบยาว และเสียงหรือเอฟเฟกต์การเสร็จสิ้นใน OBS

เรียกใช้ การตรวจสอบการเรนเดอร์อินพุต กับเส้นทางการเรนเดอร์ที่คุณเปลี่ยน หลังจากบันทึกการแก้ไข ให้รีเฟรช OBS Browser Source ระหว่างการซ้อม และทำซ้ำการโต้ตอบที่มองเห็นได้ การแสดงตัวอย่างเบราว์เซอร์ไม่ได้สร้างการจับภาพสดหรือพฤติกรรมของ OBS

เอกสารอ้างอิงเพิ่มเติม: การวัดและการควบคุมเป้าหมาย · ช่องบริจาค · เอกสารอ้างอิงอีเวนต์ · การแก้ไขปัญหาการตั้งค่าในเครื่อง.