Küçük bi tiyo

mt2go2

Üye
Üye
Mesaj
203
Çözümler
2
Beğeni
92
Puan
464
Filesda birçok işlev var ama ne işe yaradığını bilmiyoruz.
örneğin ticaretten sonra ışınlanma engeli, karakter atma 10 saniye engeli ,bu tür işlevleri locale string sayesinde sourcedeki konumunu bulup konumdaki kodu yorum satırı yaparak etkisiz hala getirebiliriz.

kod bloğunu yorum satırı yapmakriskli bir işlemdir gerekmedikçe yapmayın çünkü sildiğiniz bu blok başka bi sistemde kullanılıyor olabilir.
o başka sistemini çalıştırdığınız vakit bu kod bloğunu bulamaz ise game.core verebilir.

ama sayısal anlamda game.core konusunda çok riskli olduğunu düşünmüyorum

örneğin karakter atma 10 saniye bekleme süresi büyük ihtimal kod bloğunda 10 sayısı vardır bu 10 sayısını 0 yaparsanız 10 saniye beklemeden karater atar.

mesela locale_string.txt açın

Screenshot_13.png


"¾ÆÀÌÅÛ °³·®ÈÄ %dÃÊ À̳»¿¡´Â ±ÍȯºÎ,±Íȯ±â¾ïºÎ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù."; bu kısım sourceki yazan yani kodun eklenen konumun bir kısmının olduğu yer.
"Ticaretten sonra %d bir yere gidemezsin. "; burasıda oyundaki türkçe karşılığı.

burada dikkat etmeniz gereken yer
locale stringde yazan karakter takımı aynı olmalı
mesela siz türkçe karakter takımı seçtiniz
kelime arama programıda korece karakter takımı arama yapabilir
aynısını tutturmanız gerek zaten bulamassanız locale stringdeki karakter takımını değiştirip tekrar aratmanız gerek.

2. hususda birebir aynı yazı çıkmayabilir en yakın tutan yazıyı seçebilirsiniz.
3.husus ¾ÆÀÌÅÛ °³·®ÈÄ %dÃÊ À̳»¿¡´Â ±ÍȯºÎ,±Íȯ±â¾ïºÎ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. bu kodun tamamı bulamıyorsanız bir kısmını aratıp en yakın olan kod bloğunu bulun

Screenshot_1.jpg


Screenshot_14.jpg


sonuç olarak char_item 5522. sırada kod bloğumuzu bulduk bu bloğu yorum satırı yaparak bu işlevi kaldırabiliriz.

daha önce bu engellemeyi bu yöntem kaldırmışım

aynı blok chardada var.

Screenshot_2.jpg
 
Son düzenleme:
aslında bu kadar uğraşmadan direk kodu okumak daha mantıklı hem kodun nasıl yazıldığının mantığınıda çözüp kendin farklı yerlere engel koyabilirsin. bu yöntem güzel tabiki fakat kodları okumadan kapatmak çok mantıklı değil o önlem boşuna alınmadı. eline sağlık.
 
aslında bu kadar uğraşmadan direk kodu okumak daha mantıklı hem kodun nasıl yazıldığının mantığınıda çözüp kendin farklı yerlere engel koyabilirsin. bu yöntem güzel tabiki fakat kodları okumadan kapatmak çok mantıklı değil o önlem boşuna alınmadı. eline sağlık.
Evet okumak daha önemli yorum satırı yapmak sourceyi bozabilir fakat çoğu kişi okumayı öğrenmek istemiyor zor geliyor
 
Son düzenleme:
Oyundan çıkış veya karakter ekranına dönüşte, normal süre 3 Saniyedir, eğer refine, exchange vs. gibi işlemler yaptıysanız veyahut bir savaşa girdiyseniz bu süre 10 Saniyeye çıkar. Bunun yapılmasının asıl sebebi hızlı çıkışlarla yapılabilecek dupe (item çoğaltma, kopyalama) buglarının önüne geçmektir, mümkünse oyundaki her önemli hadiseden sonra bu sürenin arttırılması veya bu işlemler esnasında halihazırda oyundan çıkmak için bir geri sayım var ise (m_pkTimedEvent) bunun mutlaka iptal ettirilmesi gerekir, yıllar içinde defalarca kullanılan dupe buglarından sonra Ymir'in bulduğu çözüm yöntemi budur, bana göre oldukça mantıklıdır. Kontrolün nasıl ekleneceğini sorarsanız kendi altyapımdan bir örnek vereyim;

game src/input_main.cpp:
        case HEADER_CG_ITEM_DROP:
            if (ch->m_pkTimedEvent)   // DevFix 74
            {
                ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT ("취소 되었습니다."));
                event_cancel (&ch->m_pkTimedEvent);
            }
            if (!ch->IsObserverMode())
            {
                ItemDrop (ch, c_pData);
            }
            break;

Nasıl kullanmak isteyeceğiniz size kalmış lakin yerinizde olsam bu kontrolü asla kaldırmazdım, saygılar.
 
Karakter takımını kore diline çevirirsen, translate yardımı ile uyarının çevirisini yapabilirsin
 
Geri
Üst