Şimdi Ara

Oyun Modlama ve Modlanabilir Hale Getirme hk.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
576
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Herkese iyi forumlar dilerim. Konu hakkında Türkçe içerik fazla bulamdığım için buraya konu açmak istedim. Örnekler üzerinden ilerleyerek merak ettiklerimi daha anlaşılabilir şekilde paylaşabileceğimi düşündüm.

    Oyun > Oyun Modu

    GTA 5 > FiveM veya RageMP
    GTA SA > SAMP veya MTA
    Minecraft > Bukkit veya Spigot

    Örneğini verdiğim oyunları modlayabilmek veya modlanabilir hale getirmek (sanırım API deniyor) için bahsi geçen oyunu decompile etmemiz mi gerekiyor? Yoksa oyun yapımcıları mı bu konuda destek veriyor? Ayrıca oyunu modlanabilir hale getirmek için nasıl bir yol izleyerek kendi fonksiyonlarımızı yazarak oyunla uyumlu birlikte çalışmasını sağlayabiliyoruz? Bilgisi olan aydınlatabilirse sevinirim, tekrardan iyi forumlar dilerim.



    < Bu mesaj bu kişi tarafından değiştirildi gaenger58 -- 22 Şubat 2020; 22:25:27 >



  • Oyunu modlayabilmek için, oyunu decompile etmeye gerek yok. Oyun yapımcılarının hazırladığı SDK ve rehber niteliğinde bir dökümantasyon vardır.

    Oyunu modlanabilir hale getirmek için, Scripting API/Scripting Language terimini araştırman gerekir. Oyununa bir scripting dili eklemek gerekiyor. Aşağıya bazı linkler atıyorum.

    https://www.codeproject.com/Articles/11508/Integrating-Lua-into-Chttps://www.flipcode.com/archives/Implementing_A_Scripting_Engine-Part_1_Overview.shtmlhttps://codeplea.com/game-scripting-languageshttps://gamedev.stackexchange.com/questions/421/how-do-you-add-a-scripting-language-to-a-gamehttps://debian-administration.org/article/264/Embedding_a_scripting_language_inside_your_C/C_code



    < Bu mesaj bu kişi tarafından değiştirildi requizm -- 23 Şubat 2020; 2:19:46 >




  • Requizm kullanıcısına yanıt
    Cevabın için teşekkür ederim linkleri inceleyeceğim fakat aklıma şöyle bir şey takıldı. GTA 5 bildiğim kadarıyla kendi sunucumuza sahip olmamıza izin vermiyor. Fakat FiveM kullanarak kendi sunucumuza sahip olabiliyoruz, script yazabiliyoruz. Veya Mount & Blade Warband'de PK / PW modu geliştirilerek modlu şekilde sunucu kurulabiliyor. Bu tarzda bir mod geliştirebilmek için nasıl bir yol izlenmesi gerekiyor?



    < Bu mesaj bu kişi tarafından değiştirildi gaenger58 -- 23 Şubat 2020; 3:10:21 >
  • GTA için konuşayım. Mod için firma destek vermediğinden tersine mühendislikle oyundaki dosyaları çözüyorlar. Çözdükleri yol ile kendi kodlarını import edecek bir script yazıyorlar. Böylece birileri script hazırlayınca o scripti oyuna entegre (inject denebilir) edebiliyorlar. Bu arada scriptte kullanılan fonksiyonlar yapımcının oyunda kullandığı fonksiyonlar oluyor. Yani yeni bir şey yapmıyorlar. Bu bahsettiğim modlamaydı.

    Multiplayeri ise şöyle bakkal hesabı anlatayım:
    SAMP girdiğinde yapay zeka olmayan single player açılıyor. Senin konumun, karakterin, araban oyundan okunup, servera gönderiliyor. Serverda senden başka oyuncu varsa sana devamlı konumu, karakteri, arabası geliyor. Gelen bilgilerle senin oyununda diğer oyuncu yaratılıyor, hareket ediyor. Yani aslında bildiğin kontrol edilen NPC'ler ile oynuyorsun




  • quote:

    Orijinalden alıntı: zQrba

    GTA için konuşayım. Mod için firma destek vermediğinden tersine mühendislikle oyundaki dosyaları çözüyorlar. Çözdükleri yol ile kendi kodlarını import edecek bir script yazıyorlar. Böylece birileri script hazırlayınca o scripti oyuna entegre (inject denebilir) edebiliyorlar. Bu arada scriptte kullanılan fonksiyonlar yapımcının oyunda kullandığı fonksiyonlar oluyor. Yani yeni bir şey yapmıyorlar. Bu bahsettiğim modlamaydı.

    Multiplayeri ise şöyle bakkal hesabı anlatayım:
    SAMP girdiğinde yapay zeka olmayan single player açılıyor. Senin konumun, karakterin, araban oyundan okunup, servera gönderiliyor. Serverda senden başka oyuncu varsa sana devamlı konumu, karakteri, arabası geliyor. Gelen bilgilerle senin oyununda diğer oyuncu yaratılıyor, hareket ediyor. Yani aslında bildiğin kontrol edilen NPC'ler ile oynuyorsun
    Hocam anlattığın şey doğru ama dediğin 'script inject' sistemi, aynı zamanda tüm online/offline oyunlarda hile/bot yapımında kullanılıyor. GTA, şuan da fivem'i bir şekilde tespit edip banlamıyor olabilir. Ama normal şartlarda tüm bunlara hile denir.

    Alttaki paragrafta ekleme yapayım. Senin konumun, araba konumu vs tüm değişkenlerin ram adresi tersine mühendislik ile bulunuyor.
    Mesela şöyle bir harita çıktığını düşünelim.
    gta_sa.exe + 0x132321 (pointer) = local_player
    0x8 (float) = sağlık
    0xC (float * 3) = pozisyon(x, y, z)

    Yani client, senin sağlık değerini server'a göndereceği zaman önce ram'deki carl_jonshon karakterinin bilgilerini gösteren adrese gidiyor. Local player yani. Daha sonra buna 8 ekleyip bu değeri float olarak okuyor ve gönderiyor. Ayni işlemler tüm client'lar için geçerli. Diğer karakterleri render etmek için ise render fonksiyonunu kullanıyorlardır.

    Ama buna mod diyemeyiz maalesef.

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Requizm kullanıcısına yanıt
    Aynen öyle firma mod desteği vermediği için hile ile aynı şeye denk geliyor.

    İllegal mp sistemi: Lazım olan entitileri ramden bul ve servera yolla.
    Hile: Lazım olan entitileri ramden bul ve ekrana bas.

    Mod diyemeyiz kısmında; amaç hile gibi üstünlük sağlamak olmadığı için mod diye adlandırılıyor diye düşünüyorum.



    < Bu mesaj bu kişi tarafından değiştirildi zQrba -- 24 Şubat 2020; 20:53:58 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Yardımlarınız ve ilginiz için teşekkür ediyorum, aradığım cevabı sayenizde buldum iyi forumlar dilerim.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.