Game içindeki dosyalar ve Açıklamaları Metin2 Source

admin

Administrator
Yönetici
Admin
Katılım
29 Haz 2020
Mesajlar
1,341
Tepkime puanı
31
Puanları
48
Metin2 oyun pack yani source içinde bulunan game dosyaları ve ne işe yaradıklarını açıklamalarını yapalım. Bu dosyaları düzenlerken yada işlem yaparken kesinlikle yedek alın yada hata yapmamaya çalışın.
  • affect.cpp/h : Oyunuda sol üst kısımda bulunan etkiler. (oto yang toplama, exp artış miktarı vs)
  • affect_flag.h : Efektlerin kontrolü için fonksiyonlar sunar.
  • ani.cpp/h : Karakter animasyonlarının kontrolü yapıldığı yer.
  • any_function.h : Buradan bakabilirsiniz: Chapter 4. Boost.Any - 1.72.0
  • arena.cpp/h : Oyuncuların birbirleri ile ws attığı bir harita vardı. Sistemin çalışması için gerekli kontroller burada.
  • auction_manager.cpp/h : Bilinmiyor.
  • auction_packet.h : Bilinmiyor.
  • auth_brazil.cpp/h : Bilinmiyor.
  • banword.cpp/h : Küfür filtresi. (player.banword tablosunda yazan kelimeleri sansürler.)
  • battle.cpp/h : Savaş dinamiklerinin bulunduğu dosya.
  • BattleArena.cpp/h : Savaş arenası.
  • belt_inventory_helper.h : Kemer taktığınız zaman envanterin yanında ki küçük bölgeye potlar koyuluyor. Bu dosya ise hangi itemlerin koyulabileceğini, ne kadar slotun açılacağını denetler.
  • blend_item.cpp/h : Bilinmiyor.
  • block_country.cpp/h : Ülkelere yönelik engelleme kontrolleri. Mesela oyuna ABD'den giriş yapılmasını istemiyorsunuz diyelim. Bu dosya işlemleri yapıyor.
  • BlueDragon.cpp/h : Sürgün mağarasında ki mavi ejderha.
  • BlueDragon_Binder.cpp/h : Bilinmiyor.
  • BlueDragon_Skill.h : Mavi ejderhanın becerileri. Mesela size karşı mavi bi ateş atıyor.
  • buff_on_attributes.cpp/h : Giydiğiniz itemlerin efsunlarına göre karakterinize bufflar verir.
  • buffer_manager.cpp/h : Karakter bufflarını yönetir.
  • building.cpp/h : Lonca binalar.
  • castle.cpp/h : Oyunda kaleler vardı. Bunlarla alakalı.
  • char.h: Karakterlerle ve moblarla alakalı fonksiyon ve structlar burada bulunur. Bu header dosyası birden fazla cpp dosyası tarafından kullanılmaktadır. Sırasıyla;
    • char.cpp : Karakter bilgilerinin saklandığı yer. Karakterin adını, leveli ve bir çok şey burada saklanır.
    • char_affect.cpp : Karakter etkileri. Can yenileme vs.
    • char_battle.cpp : Karakter savaş dinamikleri. Bir moba veya oyuncuya saldırdığınız da ne kadar hasar vereceğiniz hesaplanır. Ya da siz saldırı aldığınız da canınızın ne kadar gideceği filan belirlenir. Efsunlara, yeteneklerinize, statülerinize, ekipman seviyenize kadar her şeyi hesaplar.
    • char_change_empire.cpp : Kralların İzi itemi ile bayrak değiştirdiğiniz zaman bu dosyada ki fonksiyonlar çalışır.
    • char_dragonsoul.cpp : Simya sistemi.
    • char_hackshield.cpp : Hackshield programının çalışması için.
    • char_horse.cpp : At, binekler vs
    • char_item.cpp : İtemler kullanıldığında yapılacak işlemlerden tutun, envanter yönetimine kadar bir çok şey bu dosyada. Game çekirdeğinde en fazla kod bulunan dosyalardan birisi de budur.
    • char_quickslot.cpp : Yetenekleri ve bazı itemleri aşağı kısımda ki taskbara ekliyoruz. Bu özelliğin çalışması için gerekli.
    • char_resist.cpp : Zehir, bleding gibi etkilerin karakterinize uygulayacağı etkiler.
    • char_skill.cpp : Karakter yetenekleri.
    • char_state.cpp : Mob durumları agrasiflik, npc vs.
  • char_manager.cpp/h : Tüm karakterlerin bilgilerinin saklandığı yer burası.
  • check_server.h : Server key kontrolü ile alakalı.
  • cipher.cpp/h : Şifreleme ile alakalı şeyler.
  • ClientPackageCryptInfo.cpp/h : Şifrelenmiş packlarla alakalı.
  • cmd.h: Komut yazdığımız zaman çalışması için gereken fonksiyonlar. Bu header dosyası birden fazla cpp dosyasında kullanılır. Sırayla;
    • cmd.cpp : Komutlar ve komutların kullanabilmek için gerekli yetkilerin ayarlandığı dosya.
    • cmd_emotion.cpp : Duygular.
    • cmd_general.cpp : GM kodu dışında genel olarak kullanılan komutlar. Burada ki komutlar oyuncular tarafından da kullanılabilir.
    • cmd_gm.cpp : GM'lerin kullanabildiği kodlar burada bulunur.
    • cmd_oxevent.cpp : OX eventle ilgili komutlar.
  • config.cpp/h : Filesinizin kanal dosyaları içinde CONFIG dosyası bulunur. Bu dosyaların okunması için.
  • constants.cpp/h : Bazı sabitlerin bulunduğu yer. Örn: Efsun listesi, lonca ve karakter level atlaması için gerekli exp oranlarının bulunduğu bölge.
  • crc32.cpp/h : Bilinmiyor.
  • cube.cpp/h : Craft sistemi. İksir yapımı, item dönüşümleri vs.
  • db.cpp/h : Veritabanı ile alakalı şeyler. Query çalıştırma vs.
  • debug_allocator.h : Bilinmiyor.
  • debug_allocator_adapter.h : Bilinmiyor.
  • debug_ptr.h : Bilinmiyor.
  • desc.cpp/h : Packet gönderip almak için gerekli fonksiyonlar.
  • desc_client.cpp/h : Yeni bir client açıldığında socket bağlantısı kurması için.
  • desc_manager.cpp/h : Bağlı clientler, hesaplar ve karakter bilgilerinin bulunduğu dosya.
  • desc_p2p.cpp/h : Yeni bir p2p bağlantısı açıp sonlandırma.
  • dev_log.cpp/h : Geliştirme aşamasında daha detaylı log kayıtlarını tutar. Bunun için test serveri aktif ediniz.
  • dragon_soul_table.cpp/h : Simya taş kademeleri.
  • DragonLair.cpp/h: Sürgün içinde ki mavi ejderha ile alakalı.
  • DragonSoul.cpp/h : Simya sistemi.
  • dungeon.cpp/h : Dungeon kontrolleri. game99 içinde bulunan haritalar için. Yeni bir giriş yapıldığında sanal core oluşturma, grup halinde oyuncuları aynı bölgeye atma vs.
  • empire_text_convert.cpp/h : Aynı krallıkta olmayan oyuncular ile iletişim kurulmuyor. Lisanı geliştirdikçe ufak ufak anlaşılır oluyordu. Bu dosya da yazdığınız yazının karşıda ki oyuncu da nasıl gözükeceği düzenler.
  • entitiy.cpp/h entitiy_view.cpp : Varlıklar (karakter mob vs.) gözükmesi için
  • event.cpp/h : Zaman ayarlı eventlerin düzenlenmesi için.
  • event_queue.cpp/h : Bilinmiyor.
  • exchange.cpp/h : Oyuncular arası ticaret. (ticaret penceresi)
  • fifo_allocator.h : Bilinmiyor.
  • file_loader.cpp/h : Filesinizde ki metin dosyalarının okunması için.
  • FileMonitor_Freebsd.cpp/h : Bilinmiyor.
  • fishing.cpp/h : Balıkçılık.
  • FSM.cpp/h : Bilinmiyor.
  • gm.cpp/h : GM :D
  • group_text_parse_tree.cpp/h : Bilinmiyor.
  • guild.cpp/h : Lonca bilgilerine ulaşmak için.
  • guild_manager.cpp/h : Tüm loncaların hafıza tutulduğu bölge.
  • guild_war.cpp : Lonca savaşı.
  • HackShield.cpp/h : HackShield programı için.
  • HackShield_Impl.cpp/h : HackShield programı için.
  • horse_rider.cpp/h : At sürme ile alakalı.
  • horsename_manager.cpp/h : Atına özel olarak isim ekleyen oyuncuların at isimleri burada bulunur.
  • IFileMonitor.h : Bilinmiyor.
  • input.h: Packetlerin işlenmesi için gerekli. Bu header dosyası birden fazla dosyada kullanılır. Sırasıyla;
    • input_auth.cpp : Login işlemleri.
    • input_db.cpp : DB ile Game arasında iletişim sonucu yapılacak işlemler. Mesela lonca eklediniz ve db gönderdiniz. db çekirdeği eklemeleri yaptıktan sonra tekrardan bu dosyaya packet gönderir ve bu dosya da loncanın objesinin yaratılması için guild_manager'a verileri gönderir.
    • input_login.cpp : Karakter seçtikten sonra oyuna girerken yapılacak işlemler.
    • input_main.cpp : Bu dosya da ise Client (istemci) ~ Server arasında ki ilişki içindir. Clientten gelen packetler burada analiz edilir ve yapılacak işlemler belirlenir. Mesela Casro2'de arkadaş ekleyeceksiniz diyelim. Siz clientte kişinin adını yazıp gönderiyorsunuz. Packet buraya geliyor ve arkadaş eklemek için tanımlanan fonksiyona CInputMain::Messenger gönderdiğiniz veri iletiliyor. Casro2 serveri bazı kontrolleri yaptıktan sonra MessengerManager'a arkadaşın eklenmesi için veriyi gönderiyor. Daha detaylı öğrenmek için kodları okumalısınız.
    • input_p2p.cpp : Coreler arası iletişimde kullanılır. Mesela siz genel sohbet kanalın da bir şey yazdınız. Yazdığınız tüm kanallar da gözükür.
    • input_teen.cpp : Bilinmiyor.
    • input_udp.cpp : TCP ve UDP terimlerini araştırın.
  • ip_ban.cpp/h : Banlı olan ip adreslerinden oyuna bağlanmasını engellemek için.
  • item.h: İtemlerle alakalı fonksiyonların ve structların bulunduğu header dosyası. Bu dosya birden fazla cpp dosyasında kullanılıyor. Sırasıyla;
    • item.cpp : Oyunda bulunan itemlerin bilgileri burada tutulur. Siz oyuna giriş yaptınız diyelim. Her bir eşyanız için tek tek item.cpp'de ki sınıf yaratılacak ve managerda ki vectörlere eklenecek. Protolarda tanımlı eşyalarda tanımlıdır.
    • item_addon.cpp : Eşyanın verdiği hasar vs.
    • item_attribute.cpp : Eşyalar efsun eklemek, efsun bilgilerini almak vs gibi işlemlerin bulunduğu dosya.
  • item_manager.h: Tüm itemlerin kontrolünün yapıldığı yer. İtem oluşturma, bulmak ve silme gibi fonksiyonlar bulunur. Bu header dosyası birden fazla cpp dosyası tarafından kullanılır. Sırasıyla;
    • item_manager.cpp : Tüm itemlerin kontrolerinin yapıldığı yer. İtem oluşturma, bulma, silme.
    • item_manager_idrange.cpp : Yeni item oluşturulduğunda id oluşturmak için.
    • item_manager_private_types.h : Droplarla alakalı.
    • item_manager_read_tables.cpp : Filesiniz de mob_drop_item.txt, special_item_group.txt, common_drop_item.txt bulunan txt dosyalarını okur.
  • limit_time.h : Zaman ayarlarıyla ilgili sabitler var.
  • locale.cpp : Ülkeden ülkeye serverde değişiklikler mevcut. Server türkiye için ayarlanmışsa locale/turkey dizininde ki verilerin alınması için yardımcı fonksiyonlar bulunur.
  • locale_service.cpp/h : Sabit olarak tanımlanan ülkeler bulunur. Bu ülkelerin karşılığında hangi dosyaların yükleneceği belirtilir. Almanya için ayarlanmışsa locale/germany dizini yüklenir.
  • log.cpp/h : Oyunda yapılan aktivitelerin kaydını veritabanına ekler.
  • login_data.cpp/h : Giriş yapmış kullanıcıların bilgilerini tutar.
  • login_sim.h : Login için veritabanına packetler gönderir.
  • lua_incl.h : Lua için eklenmiş.
  • lzo_manager.cpp/h : Lzo şifrelemesi ile ilgili.
  • lzoconf.h : Buraya bakın: oberhumer.com: LZO real-time data compression library
  • lzodefs.h : Buraya bakın: oberhumer.com: LZO real-time data compression library
  • main.cpp : c++ projelerinde main dosyası bulunur. Bu da onun için. Diğer tüm dosyaların kullanımını burada tanımlanır. game açıldığında sırasıyla yapılacak işlemler burada belirtilir.
  • malloc_allocator.h : Bilinmiyor.
  • map_location.cpp/h : Haritaların lokasyon bilgileri için. Mevcut konumu verdiğinizde haritanın indexini alır vs.
  • MarkManagar.h: Bu birden fazla cpp dosyasında kullanılıyor. Lonca ikonları için eklenen bir dosya. Kullanan diğer dosyalar sırayla şu şekilde;
    • MarkConvert.cpp : Resimlerin dönüştürülmesi.
    • MarkManager.cpp : Lonca resmi eklemiş tüm loncaların bilgilerini tutar.
  • MarkImage.cpp/h : Lonca ikonu resimlerini oluşturma, silme vs.
  • marriage.cpp/h : Evlilik.
  • matrix_card.cpp/h : Bilinmiyor.
  • messenger_manager.cpp/h : Arkadaş listesi.
  • minilzo.h : Lzo için ayrı bir eklenti. Buraya bakın: oberhumer.com: LZO real-time data compression library
  • mining.cpp/h : Madencilik.
  • mob_manager.cpp/h : Oyunda ki slotlar.
  • monarch.cpp/h : Bu özellik kullanılmadığı için pas.
  • motion.cpp/h : Slotların, oyuncuların hareketleriyle ilgili. share/data içinde ki dosyaları okur.
  • object_allocator.h : Classlarla ilgili. Obje ekleme, silme vs.
  • over9refine.cpp/h : Dönüşüm.
  • OXEvent.cpp/h : OX eventi.
  • p2p.cpp/h : P2P bağlantısı. Yeni bağlantı oluşturma, sonlandırma, packet gönderme vs gibi işlemleri yapar.
  • packet.h : Client ~ Server, Server ~ db arasında gönderilecek verilerin şemaları bulunur.
  • packet_info.cpp/h : Client ve db'den packet geldiği zaman hangi fonksiyonların çalıştırılacağı belirlenir.
  • panama.cpp/h : Bilinmiyor.
  • party.cpp/h : Oyuncu grupları.
  • passpod.cpp/h : Bilinmiyor.
  • pcbang.cpp/h : Bilinmiyor.
  • PetSystem.cpp/h : Evcil olmayan petler.
  • polymorph.cpp/h : Dönüşüm.
  • pool.h : Bilinmiyor.
  • priv_manager.cpp/h : Bayraklara göre drop oranları.
  • profiler.h : Bilinmiyor.
  • protocol.h : Packet ile gönderilen verileri şifreler.
  • pvp.cpp/h : İki oyuncu arasında düello.
  • quest.h : Questler için bazı sabitleri ve structları bulundurur..
  • questevent.cpp/h : Questlerimizde kullandığımız timerlar.
  • questlua.cpp/h : Derlenmiş questleri okur.
  • questmanager.h : Genellikle quest fonksiyonlarının eklendiği dosyalarda kullanılıyor.
    • questlua_affect.cpp : Quest fonksiyonları ile efsunlama işlemleri.
    • questlua_arena.cpp : Oyuncuların ws attığı attığı bölge için.
    • questlua_ba.cpp : Battlearena için.
    • questlua_building.cpp : Lonca binaları için. Arazi satın alma vs.
    • questlua_danceevent.cpp : Karakter dansları.
    • questlua_dragonlair.cpp : Sürgün mağarasında ki kristal ejderha için.
    • questlua_dragonsoul.cpp : Simya sistemi ile gelen quest fonksiyonları.
    • questlua_dungeon.cpp : Dungeonlar için quest fonksiyonları. (O haritaya özel duyuru, mob sayısı, toplu ışınlama vs.)
    • questlua_forked.cpp : Bilinmiyor.
    • questlua_game.cpp : Oyun için gerekli quest fonksiyonları. (Depo açma vs)
    • questlua_global.cpp : Global olarak kullanılan quest fonksiyonları. (syserr yazdırma, item adını almak, ox soruları eklemek vs.)
    • questlua_guild.cpp : Loncalar için eklenen quest fonksiyonları.
    • questlua_horse.cpp : At için eklenen quest fonksiyonları.
    • questlua_item.cpp : İtemler için eklenen quest fonksiyonları.
    • questlua_marriage.cpp : Evlilik.
    • questlua_mgmt.cpp : Bu özellik kullanılmadığı için pas.
    • questlua_monarch.cpp : Bu özellik kullanılmadığı için pas.
    • questlua_npc.cpp : NPC, Mob için eklenen quest fonksiyonları.
    • questlua_party.cpp : Oyuncu grupları için eklenen quest fonksiyonları.
    • questlua_pc.cpp : Oyuncu için eklenen quest fonksiyonları. (level, yang bilgilerini alma vs.)
    • questlua_pet.cpp : Evcil olmayan petler için.
    • questlua_quest.cpp : Questler için. (state atlatma vs)
    • questlua_speedserver.cpp : Bilinmiyor.
    • questlua_target.cpp : Görevlerde NPC'lerin başında ok oluyor. Bu özelliğin çalışması için eklenen quest fonksiyonları.
    • questmanager.cpp : Tüm questleri hafızada tutar. Oyuncu oyuna girdiğinde quest bilgilerini gönderir.
  • questnpc.cpp/h : Quest npcleri için.
  • questpc.cpp/h : Oyuncunun görevleri için.
  • refine.cpp/h : Eşya geliştirme.
  • regen.cpp/h : Spawn.
  • safebox.cpp/h : Depo.
  • sectree.cpp/h : Entitiy ve haritalar..
  • sectree_manager.cpp/h : Tüm haritaları ve entitiyleri hafızada tutar.
  • sequence.cpp/h : Packetlerde doğrulama için gönderilen şifreli kod. Bazı fileslerde bu özellik devredışı.
  • shop.cpp/h : Satış yapan NPC ve oyuncu pazarları.
  • shop_manager.cpp : Satış yapan npcleri ve tüm oyuncu pazarların bilgilerinin tutar.
  • shopEx.cpp/h : Satış yapan NPC.
  • shutdown_manager.cpp/h : /shutdown komutu için.
  • skill.cpp/h : Yetenekler.
  • skill_power.cpp/h : Yeteneklerin leveli.
  • spam.h : ....
  • SpeedServer.cpp/h : Bilinmiyor.
  • stable_priority_queue.h : Bilinmiyor.
  • start_position.cpp/h : Bulunduğunuz krallığa göre varsayılan spawn noktaları.
  • state.h : Bilinmiyor.
  • stdafx.h : Bu da c++ projelerinde bulunan header dosyası.
  • target.cpp/h : NPC başlarında bulunan ok için.
  • test.cpp : Bilinmiyor.
  • test_allocator.cpp : Bilinmiyor.
  • test_stacktrace.cpp : Bilinmiyor.
  • test_window.cpp : Harita dosyalarında bulunan server_attr dosyaları için.
  • text_file_loader.cpp/h : Files içinde oyun ayarlarının bulunduğu bir sürü txt dosyaları mevcut. Bunları yüklenmesi için.
  • threeway_war.cpp/h : Üç yol savaşı
  • TrafficProfiler.cpp : Bilinmiyor.
  • trigger.cpp : Bilinmiyor.
  • typedef.h : Vectorler bulunuyor.
  • unique_item.h : Unique eşya türünün alt türleri.
  • utils.cpp/h : Komutla gönderilen değelerin alınması için fonksiyonlar var.
  • vector.cpp : Bilinmiyor.
  • version.cpp : Versiyonla alakalı şey. Filesinizde VERSION.txt diye bir dosya vardır. Bu dosyayı oluşturup versiyonu yazdıran kodlar burada.
  • vid.h : Bilinmiyor.
  • war_map.cpp/h : Savaş bölgeleri.
  • wedding.cpp/h : Evlilik haritası.
  • xmas_event.cpp/h : Yılbaşı eventi.
  • XTrapManager.cpp : Bilinmiyor.
 
Üst