🛠️ PopControl

TR — Popmundo scriptlerini tek panelden yönetmenizi sağlayan merkezi modül

اعتبارا من 10-03-2026. شاهد أحدث إصدار.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

ستحتاج إلى تثبيت إضافة مثل Stylus لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتتمكن من تثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

(لدي بالفعل مثبت أنماط للمستخدم، دعني أقم بتثبيته!)

المؤلف
Luke James gibson
التقييمات
0 0 0
الإصدار
1.4
تم إنشاؤه
10-03-2026
تم تحديثه
10-03-2026
الحجم
37.2 KB
الترخيص
MIT
ينطبق على

🛠️ PopControl — Entegrasyon Rehberi

PopControl, Popmundo Tampermonkey scriptlerini tek bir barda birleştiren merkezi hub'dır. Herhangi bir script, PopControl yoksa bağımsız çalışmaya devam eder.


📦 Dosya Listesi

Dosya Versiyon Açıklama
popcontrol.js v1.1 Hub scripti — ilk kurulacak
helper_v4.7.js v4.7 🎨 Helper — modal ile entegre
social_v2.0.js v2.0 🌐 Social (masaüstü)
social_mobile_v1.6.js v1.6 🌐 Social (mobil)
MissionAid_v1.7.js v1.7 📜 MissionAid
Depot_v1.8.js v1.8 📦 Depot (Envanter)

⚙️ Kurulum Sırası

Tampermonkey'de script sırası önemlidir. PopControl her zaman en üstte (ilk sırada) olmalıdır.

  1. popcontrol.jsİLK
  2. helper_v4.7.js
  3. social_v2.0.js (masaüstü) veya social_mobile_v1.6.js (mobil)
  4. MissionAid_v1.7.js
  5. Depot_v1.8.js

Not: Tüm scriptler @run-at document-end kullanır. PopControl yüklendikten sonra diğer scriptler 300ms aralıklarla (max ~6sn) onu arar. Bulamazlarsa bağımsız çalışmaya devam ederler.


🔌 Entegrasyon Nasıl Çalışır?

Otomatik Bağlantı

Her script sayfa yüklendiğinde PopControl'ü arar. Bulursa otomatik olarak kaydolur ve kendi UI'ını gizler.

Sayfa açılır
  → Script init olur (bağımsız UI hazır)
  → _waitPC() başlar (PopControl'ü arar, ~6sn timeout)
  → PopControl bulunursa: register() + kendi UI'ını gizle
  → Bulunamazsa: bağımsız çalışmaya devam et

Bağlantı Kesilince (Toggle OFF veya unregister)

onUndo callback'i tetiklenir. Script kendi bağımsız UI'ını geri getirir.


🧩 Yeni Bir Scripti Entegre Etmek

1. Gerekli @grant satırı

// @grant    unsafeWindow

2. _waitPC yardımcı fonksiyonu

Script IIFE'nizin içine, tüm fonksiyon tanımlarından sonra, init çağrısından önce ekleyin:

function _waitPC(cb, n) {
    n = n || 0;
    if (unsafeWindow.PopControl) { cb(); return; }
    if (n < 20) setTimeout(function() { _waitPC(cb, n + 1); }, 300);
}

3. Auto-connect çağrısı

Script init'inin en sonuna ekleyin:

// Auto-connect to PopControl if available
_waitPC(function() {
    unsafeWindow.PopControl.register({
        id: 'my-script',          // Benzersiz ID, küçük harf, tire
        icon: '🔧',               // Bar'da gösterilecek emoji
        label: 'My Script',       // Bar'da gösterilecek etiket
        buttons: [
            {
                icon: '🔧',
                label: 'Open',
                onClick: function() { openMyMainPanel(); }
            }
            // İstersen birden fazla buton ekleyebilirsin
        ],
        onUndo: function() {
            // PopControl bağlantısı kesilince çalışır
            // Kendi bağımsız UI'ını geri getir
            restoreMyStandaloneUI();
        }
    });
    // Kendi bağımsız UI'ını gizle
    hideMyStandaloneUI();
});

4. ppc_enabled kontrolü (isteğe bağlı)

Kullanıcı PopControl ayarlarından scripti tamamen devre dışı bırakırsa scriptin hiç çalışmamasını istiyorsan, IIFE başına ekle:

try {
    var _ppc = JSON.parse(localStorage.getItem('ppc_enabled') || '{}');
    if (_ppc['my-script'] === false) return;
} catch(e) {}

📐 PopControl API

// Script kaydettir
unsafeWindow.PopControl.register({
    id, icon, label, buttons, onUndo
});

// Script kaydını sil (onUndo tetiklenir)
unsafeWindow.PopControl.unregister(id);

// Script etkin mi?
unsafeWindow.PopControl.isEnabled(id); // → boolean

// Aktif dil
unsafeWindow.PopControl.getLang(); // → 'TR' | 'EN' | 'PT'

🎨 PopControl Konumları

Konum Davranış
bottom Sayfanın altında, #ppm-main genişliğinde
top Sayfanın üstünde, #ppm-main genişliğinde, içeriği aşağı iter
left Sol kenar, #ppm-main'e yaslanır, hover'da genişler
right Sağ kenar, #ppm-main'e yaslanır, hover'da genişler

Konum seçimi ⚙️ PopControl butonuyla açılan panelden yapılır. Seçim cookie olarak saklanır (ppc_pos).


🔄 Sürükle-Bırak Sıralama

Barda butonları sürükleyip bırakarak sıralama yapılabilir. Sıra localStorage['ppc_order'] içinde saklanır.


🌐 Dil Desteği

PopControl ppm_lang cookie'sini okur (TR / EN / PT). Tüm entegre scriptler de aynı cookie'yi kullanır.


🔒 Güvenlik Notları

  • Tüm scriptler unsafeWindow.PopControl üzerinden iletişim kurar — Tampermonkey sandbox'larını aşmanın standart yöntemidir
  • ppc_enabled localStorage'da saklanır (script tamamen kapatma/açma)
  • Hiçbir script ban riski oluşturmaz — sadece sayfa DOM'unu değiştirir

🤖 Yapay Zeka Entegrasyon Promptu

Mevcut bir Popmundo Tampermonkey scriptini PopControl hub'a entegre etmek için aşağıdaki promptu kullanabilirsin:


Sen deneyimli bir Tampermonkey/userscript geliştiricisisin.
Aşağıdaki Popmundo userscript'ini PopControl hub'a entegre etmeni istiyorum.

## PopControl API

PopControl, Popmundo scriptlerini birleştiren bir hub'dır.
Scriptler `unsafeWindow.PopControl.register()` ile kaydolur.
PopControl yoksa script bağımsız çalışmaya devam eder.

### Entegrasyon Kuralları

1. `@grant unsafeWindow` ekle (zaten varsa atlat)

2. Script IIFE'nin içine, tüm fonksiyon tanımlarından SONRA, init çağrısından ÖNCE şu yardımcı fonksiyonu ekle:
   ```js
   function _waitPC(cb, n) {
       n = n || 0;
       if (unsafeWindow.PopControl) { cb(); return; }
       if (n < 20) setTimeout(function() { _waitPC(cb, n + 1); }, 300);
   }
  1. Script init'inin EN SONUNA auto-connect ekle:

    // Auto-connect to PopControl if available
    _waitPC(function() {
       unsafeWindow.PopControl.register({
           id: '<SCRIPT_ID>',
           icon: '<EMOJI>',
           label: '<KISA_AD>',
           buttons: [
               { icon: '<EMOJI>', label: '<ETIKET>', onClick: function() { <ANA_FONKSIYON>(); } }
           ],
           onUndo: function() {
               // Kendi bağımsız UI'ını geri getir
               <STANDALONE_UI_GERI_GETIR>();
           }
       });
       // Kendi bağımsız UI'ını gizle
       <STANDALONE_UI_GIZLE>();
    });
    
  2. IIFE başına ppc_enabled kontrolü ekle:

    try {
       var _ppc = JSON.parse(localStorage.getItem('ppc_enabled') || '{}');
       if (_ppc['<SCRIPT_ID>'] === false) return;
    } catch(e) {}
    
  3. window.SocialHub referansları varsa sil (eski hub, artık kullanılmıyor)

  4. Scriptin bağımsız çalışma mantığını BOZMA. Tek değişiklik:

    • Auto-connect eklenmesi
    • ppc_enabled kontrolü eklenmesi
    • SocialHub referanslarının silinmesi

Entegre Edilecek Script


---

*Bu doküman PopControl v1.1 için hazırlanmıştır.*