Oyuncu “Acemi At” (Lvl 1 Horse) üzerindeyken normalde vuramaması gerekir.
Ama senin serverde görev almadan / at görevlerini yapmadan vurabiliyor ve
25 level olunca görevlerin açılmasını istiyorsun.
Bu tamamen server side horse_config + quest kontrolü ile çözülen bir şeydir.
1) acemi at üzerinde saldırmayı engelleme (en önemli kısım)
Metin2’de saldırı engeli item_proto veya source tarafından kontrol edilir.
Kontrol etmen gereken dosya:
source/game/src/char.cpp
Aşağıdaki satırları ara:
if (IsRiding())
return false;
Bu satır yoksa, acemi at bile olsa saldırıya izin verir.
Doğrusunda şöyle olmalı:
if (GetMountLevel() == 1) // Acemi at için
{
ChatPacket(CHAT_TYPE_INFO, "Acemi at üzerindeyken saldıramazsın.");
return false;
}
Yani AttackCheck içinde acemi at kontrolü eklemen gerekiyor.
2) At görevlerinin 25 levelde açılmasını sağlama
Metin2 at görevleri “horse_quest” içinde level kontrolü ile çalışır.
Quest klasöründe bu dosyayı bul:
quest/horse_quest.quest
İçinde ilk görev için genelde şöyle bir koşul vardır:
when login or levelup with pc.get_level() >= 25 begin
set_state(start)
end
Eğer sende level şartı yoksa, oyuncu daha düşük seviyede görevi almadan da ata biniyor olabilir.
Çözüm: 25 level şartını ekle.
3) ITEM_PROTO – Mount type kontrolü
Bazı P-Server kaynaklarında "acemi at" item’ının type = 28 (mount) yerine yanlış ayarlı olması saldırı yapmasına izin verir.
Kontrol et:
item_proto.txt
Acemi atın satırı şu şekilde olmalı:
- wear flag → MOUNT
- antiflag → NONE
- flag → NONE
Yanlışsa düzelt.
4) Player mob_proto veya GM flag etkisi
Bazı corrupt source’larda:
- GM olmayan oyuncular bile
- At üzerindeyken
- "Wolfman skill" veya "assassin dagger attack" tetikleyip vurabiliyor.
Bunu önlemek için source içinde:
if (IsRiding())
return false;
Bölümlerini mutlaka kontrol et.
Sonuç (Kısa Özet)
| Sorun | Çözüm |
|---|
| Acemi atla vuruyor | char.cpp içinde acemi at saldırı kontrolü ekle |
| Görevler 25 lvl’de başlamıyor | horse_quest.quest içine level kontrolü ekle |
| Item proto hatası | acemi at item_proto ayarlarını düzelt |
| GM/mount bug | riding → attack engeli kontrolünü doğrula |
Umarım Yardımcı ola bilmişimdir iyi forumlar dilerim.