The Sims 4 için hazırladığım trainerin güncelleme, uyumluluk ve sorun bildirimlerini bundan sonra bu konu altında toplayacağım.
Trainer şu anda 18 farklı özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor. 🏠
The Sims 4 traineri teknik tarafta ORGA Hub’daki en farklı içeriklerden biri.
Çünkü burada klasik anlamda:
Pointer
AOB
Memory Freeze
Code Cave
ağırlıklı bir trainer kullanmıyorum.
The Sims 4’ün kendi Python runtime yapısından faydalanıyorum.
Yani 18 özelliğin tamamı ORGA Hub tarafında pyExec tabanlı işlemler üzerinden çalışıyor.
🐍 The Sims 4 ve Python
The Sims 4 oyun mantığının önemli bir bölümünde Python tabanlı script sistemlerinden faydalanıyor.
Bu bizim için oldukça ilginç bir imkan sağlıyor.
Normal bir trainerde örneğin:
Bellekte Sim’in değerini bul.
Pointer oluştur.
Değeri sürekli yaz.
gibi bir yöntem kullanabilirdik.
The Sims 4 tarafında ise bazı işlemleri oyunun zaten kullandığı Python ortamından gerçekleştirmek çok daha mantıklı.
Bu nedenle genel çalışma mantığı kabaca:
ORGA Hub → Python Bridge → The Sims 4 Python Runtime → Oyun
şeklinde.
🔗 ORGA Hub’daki Python Bridge
The Sims 4 için ORGA Hub içerisinde ayrı bir Python bridge katmanı geliştirdim.
Bu katmanın görevi Hub ile oyunun Python tarafı arasında bağlantı kurmak.
Trainer özelliği etkinleştirildiğinde ORGA Hub gerekli işlemi Python runtime üzerinden çalıştırabiliyor.
Bu sayede bazı şeyleri bellekteki geçici değerleri zorla değiştirmek yerine oyunun kendi script yapısına daha yakın bir noktadan gerçekleştirebiliyorum.
Bence The Sims 4 trainerini diğer trainerlerden ayıran en önemli nokta bu.
⚙️ pyExec Ne Demek?
Trainer tanımında kullandığım pyExec işlemini basitçe:
Oyunun Python tarafında belirli bir işlemi çalıştır
şeklinde düşünebilirsiniz.
Kullanıcı ORGA Hub’da bir özelliği kullandığında arka tarafta ilgili Python işlemi hazırlanıyor ve bridge üzerinden oyuna gönderiliyor.
Dolayısıyla kullanıcı açısından yine standart ORGA Hub arayüzü var.
Ama arka tarafta:
Memory Engine yerine Python Runtime
işin büyük bölümünü gerçekleştiriyor.
🤔 Neden Memory Trainer Yapmadım?
Çünkü trainer geliştirirken kendime sürekli aynı soruyu soruyorum:
Oyunun bize sunduğu daha düzgün bir yol var mı?
The Sims 4 zaten oldukça geniş bir Python sistemi kullanıyorsa aynı işlemleri sırf trainer geleneğine uymak için bellekte yeniden keşfetmeye çalışmak her zaman mantıklı değil.
Örneğin bir Sim’in belirli bir oyun sistemine ait verisini değiştirmek istiyorsak oyunun kendi nesnelerine ve fonksiyonlarına Python üzerinden ulaşmak mümkünse bunu tercih etmek daha temiz olabilir.
Böylece:
Ekranda gördüğüm sayıyı değiştireyim.
yerine:
Oyunun bu işlemi yönettiği gerçek sisteme ulaşayım.
mantığıyla ilerleyebiliyorum.
🧠 Bu Bir Mod mu, Trainer mi?
Teknik taraftan bakınca sınırlar biraz karışabiliyor. 😄
Kullanıcı açısından bu bir ORGA Hub traineri.
Hub içerisinden özellikleri açıyor veya işlemleri gerçekleştiriyorsunuz.
Ancak arka tarafta klasik trainer yöntemleri yerine oyunun script runtime’ını kullandığım için teknik olarak bazı bölümleri mod mantığına daha yakın çalışıyor.
Ben bu ayrımı çok takılmadan şu şekilde düşünüyorum:
Kullanıcı ORGA Hub üzerinden oyunun davranışını kontrol edebiliyorsa bizim için trainer sisteminin bir parçası.
Arka tarafta hangi yöntemin kullanıldığı tamamen oyuna bağlı.
🎮 18 Özellik Nasıl Yönetiliyor?
The Sims 4 trainerindeki 18 özelliğin tamamı Python tarafındaki işlemler üzerinden ORGA Hub’a bağlanıyor.
Bu da trainerin teknik yapısını diğer içeriklerden oldukça farklı hale getiriyor.
Örneğin Rain World tarafında Mono Freeze kullanırken,
Kingdom Come tarafında CryEngine komutlarından,
Hogwarts Legacy’de memory + SQLite sistemlerinden,
The Sims 4’te ise Python runtime’dan faydalanıyorum.
Kullanıcı bunların hiçbirini öğrenmek zorunda değil.
ORGA Hub’ın amacı zaten bu farklı sistemleri tek arayüz altında toplamak.
🔄 The Sims 4 Güncellenince Trainer Bozulabilir mi?
Evet.
Python kullanıyor olmamız trainerin oyun güncellemelerinden etkilenmeyeceği anlamına gelmiyor.
The Sims 4 geliştiricileri bir güncellemede:
Python class’larını
Method isimlerini
Object yapılarını
Module yollarını
Function parametrelerini
Oyun içi servisleri
Script API davranışlarını
değiştirebilir.
Bizim kullandığımız bir method artık kaldırılmışsa ilgili trainer özelliği de çalışmayı bırakabilir.
Yani burada AOB bozulmuyor olabilir ama bu kez Python API tarafı değişiyor.
🧩 Neden Bazen Sadece Birkaç Özellik Bozulabilir?
Çünkü 18 özelliğin hepsi aynı Python fonksiyonuna bağlı olmak zorunda değil.
Örneğin oyun güncellemesi sadece belirli bir sistemi değiştirmiş olabilir.
Bu durumda o sisteme bağlı birkaç özellik çalışmazken diğerleri normal şekilde devam edebilir.
Bu nedenle yeni The Sims 4 güncellemesinden sonra:
Trainer açılıyor.
demek benim için yeterli değil.
18 özelliğin ayrı ayrı denenmesi gerekiyor.
🧪 Güncelleme Sonrası Nelere Bakıyorum?
Yeni oyun sürümünde genel olarak:
Python bridge hâlâ bağlantı kurabiliyor mu?
Kullandığımız module’ler bulunabiliyor mu?
Class isimleri aynı mı?
Methodlar hâlâ mevcut mu?
Parametre yapıları değişmiş mi?
Farklı Sim’lerde işlem çalışıyor mu?
Save değiştirilince sistem devam ediyor mu?
Dünya değiştirildiğinde yeni nesneler bulunabiliyor mu?
gibi şeyleri kontrol etmek gerekiyor.
The Sims 4 gibi oldukça büyük ve sürekli genişleyen bir oyunda özellikle object lifecycle tarafı önemli.
👤 Farklı Sim’lerde Test Etmek Önemli
The Sims 4’te tek bir karakter üzerinde çalışan özellik yeterli değil.
Bazı sistemlerin:
aktif Sim,
hane,
farklı dünyadaki Sim,
yeni oluşturulmuş Sim
gibi durumlarda farklı davranması mümkün.
Bu nedenle bir özellik benim mevcut save’imde çalışıyor diye bütün kullanıcılar için sorunsuz olduğunu varsaymak istemiyorum.
Özellikle hedef Sim veya mevcut household ile çalışan işlemlerde farklı kayıt senaryoları önemli.
🌍 Dünya Değiştirince Ne Oluyor?
The Sims 4’te lot veya dünya değiştirdiğinizde oyun bazı object’leri yeniden oluşturabiliyor.
Trainer eski bir Python object referansını kullanmaya devam ederse işlem artık doğru Sim üzerinde çalışmayabilir.
Bu yüzden entegrasyonda mümkün olduğunca işlemin yapıldığı anda güncel oyun state’ine ulaşmak daha mantıklı.
Bu da Python runtime kullanmanın avantajlarından biri.
Sabit bir pointer’ı sonsuza kadar saklamak yerine oyunun kendi sisteminden güncel nesneyi yeniden bulabiliyoruz.
💾 Save Yedeği Almak Yine Mantıklı
Python üzerinden çalışıyor olması yaptığımız bütün işlemlerin geçici olduğu anlamına gelmez.
Bazı trainer seçenekleri oyun tarafından save içerisine kaydedilen değerlere etki edebilir.
Bu nedenle özellikle büyük değişiklikler yapmadan önce manuel save almak yine tavsiye ettiğim bir şey.
Özellikle:
Sim değerleri
Hane verileri
Kalıcı ilerleme
Envanter veya oyun state’iyle ilişkili işlemler
gibi alanlarda yedek save her zaman iyi fikir.
🧩 Diğer Sims Modlarıyla Çakışma Olabilir mi?
The Sims 4 zaten oldukça büyük bir mod topluluğuna sahip.
Birçok kullanıcı aynı anda farklı script modları kullanıyor.
Başka bir mod bizim kullandığımız:
aynı Python class’ını
aynı event’i
aynı oyun sistemini
değiştiriyorsa beklenmedik davranışlar çıkabilir.
Bu nedenle ORGA Hub traineri normal oyunda çalışıyor ama sizin modlu kurulumunuzda sorun çıkarıyorsa kullandığınız diğer modları belirtmeniz önemli.
Bazen problem doğrudan trainer değil, iki sistemin aynı oyuna farklı şeyler söylemesi olabilir. 😄
🐛 Hata Mesajı Varsa Özellikle Gönderin
Python tarafındaki sorunların güzel taraflarından biri bazen doğrudan neyin bulunamadığı konusunda bize daha anlamlı hata verebilmesi.
Örneğin:
Module bulunamadı
Method bulunamadı
Object yok
Parametre uyuşmuyor
gibi bir hata görüyorsanız bunu olduğu gibi paylaşmanız çok işe yarıyor.
Çünkü bu bilgi doğrudan:
Yeni oyun sürümünde şu API değişmiş olabilir.
diyebilmemizi sağlıyor.
🔧 Sorun Bildirirken Neleri Yazmalısınız?
The Sims 4 trainerinde bir problem yaşarsanız bu konu altında bildirebilirsiniz.
Mümkünse:
The Sims 4 oyun sürümü
EA App / Steam vb. kullandığınız platform
Çalışmayan özelliğin adı
Özellik daha önce çalışıyor muydu?
Oyun güncellemesinden sonra mı bozuldu?
Hangi save’de deniyorsunuz?
Farklı Sim’de de aynı problem oluyor mu?
Başka script/mod paketleri kullanıyor musunuz?
Hata mesajı varsa tam metni
Varsa ekran görüntüsü
bilgilerini ekleyin.
Özellikle diğer modları belirtmek The Sims 4 tarafında diğer oyunlara göre daha önemli olabilir.
🖥️ Ayrı Trainer Programı Yok
The Sims 4 için de ayrı bir trainer .exe dağıtmıyorum.
Her şey ORGA Hub üzerinden yönetiliyor.
Hub:
oyunu algılıyor,
ilgili trainer paketini yüklüyor,
18 özelliği arayüzde gösteriyor,
Python bridge’i yönetiyor,
gerekli işlemleri oyunun runtime’ına gönderiyor.
Kullanıcı açısından diğer ORGA trainerlerinden bir fark yok.
Teknik tarafta ise tamamen farklı bir sistem çalışıyor.
🔐 Trainer Paketi
Diğer ORGA Hub trainerlerinde olduğu gibi The Sims 4 trainer tanımını da doğrudan açık JSON dosyası halinde kullanıcıya bırakmıyorum.
Yayınlama sırasında trainer tanımları:
paketleniyor → şifreleniyor → imzalanıyor
ve .bin formatında dağıtılıyor.
ORGA Hub paketi doğruladıktan sonra gerekli trainer tanımını çalışma sırasında kullanıyor.
Böylece farklı teknik altyapıya sahip trainerleri aynı dağıtım ve güncelleme sistemi altında tutabiliyorum.
🔄 Güncelleme Notlarını Burada Tutacağım
The Sims 4 trainerinde önemli bir değişiklik olduğunda bu başlığı güncelleyeceğim.
Örneğin:
🐛 Düzeltildi
Yeni The Sims 4 sürümünde değişen Python API’sine göre ilgili özellik güncellendi.
🔧 Değiştirildi
Bir özellik daha stabil bir Python yöntemiyle yeniden hazırlandı.
➕ Eklendi
Yeni trainer özelliği eklendi.
⚠️ Bilinen Sorun
Yeni oyun sürümünde belirli özellik geçici olarak uyumsuz.
gibi.
❤️ Kısaca
The Sims 4 traineri şu anda 18 özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor.
Bu traineri diğerlerinden ayıran en önemli şey ise teknik altyapısı.
Burada temel yöntem:
ORGA Hub → Python Bridge → The Sims 4 Python Runtime → Oyun
şeklinde.
18 özelliğin tamamı pyExec tabanlı işlemler üzerinden çalışıyor.
Yani klasik bir:
Pointer bul → değeri freeze et
trainerinden oldukça farklı.
Bence ORGA Hub’ı geliştirirken ulaşmak istediğim yapının güzel örneklerinden biri de bu.
Kullanıcı her oyunda aynı Hub’ı görüyor.
Ama arka tarafta oyun neye uygunsa onu kullanabiliyoruz.
The Sims 4 için Python, Rain World için Mono, Kingdom Come için CryEngine, başka bir oyun için AOB veya Unreal Reflection.
Yeni The Sims 4 güncellemeleri geldikçe 18 özelliği kontrol edip uyumluluk durumunu bu başlık altında paylaşmaya devam edeceğim. 🏠
Gringos