Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...

murat147a

Üye
  • İçerik sayısı

    145
  • Katılım

  • Son ziyaret

  • Puan

    3,120 [ Bağış Yap ]

İletiler : murat147a


  1. On 24.11.2020 at 06:51, donz05 yazdı:

    arkadaşlar sourcemde şöyle bir sorunla karşılaştım monster stone girişi hakkında

    if (pUser->GetLevel() >= 1 && pUser->GetLevel() <= 50)
            ZoneID = ZONE_STONE1;
        else if (pUser->GetLevel() >= 51 && pUser->GetLevel() <= 70)
            ZoneID = ZONE_STONE2;
        else if (pUser->GetLevel() >= 71 && pUser->GetLevel() <= m_byMaxLevel)
            ZoneID = ZONE_STONE3;

    1 ile 50 lvl arasında ilk haritaya giriş yapıyorsun fakat haritanın sonunda lufersona ışınlamak istiyor

    ---------------------------------------------------------------------------------------

    if (m_bMonsterStoneTime + PLAYER_MONSTER_STONE_INTERVAL < UNIXTIME && isMonsterStoneActive() && isInTempleQuestEventZone())
        {
            MonsterStoneProcess(TEMPLE_EVENT_DISBAND);
            KickOutZoneUser();
        }

        if (m_MonsterSummonTime + PLAYER_MONSTER_STONE_KILL_INTERVAL < UNIXTIME && isMonsterStoneActive() && isMonsterStoneMonsterKill() && isInTempleQuestEventZone())
        {
            MonsterStoneProcess(TEMPLE_EVENT_DISBAND);
            KickOutZoneUser();
        }

    --------------------------------------------------------------------------------------

    KickOutZoneUser();  bu komut ile lufersona yönlendiriyor buda oyunun bugta kalmasına sebep oluyor malum luferson giriş lvl li 35 20 lvl de monster stone giren biri bu buga giriyor

    if (pUser->GetLevel() >= 1 && pUser->GetLevel() <= 50)               bu satırdaki 1 lvl li 35 yapıncada adamın monster stone taşını yiyoruz boş yere

    KickOutZoneUser();   bu satır yerine direk moradon a ışınlayabileceğimiz bir satrı yazabilirmiyiz

    yada

    if (pUser->GetLevel() >= 1 && pUser->GetLevel() <= 50)
            ZoneID = ZONE_STONE1;
        else if (pUser->GetLevel() >= 51 && pUser->GetLevel() <= 70)
            ZoneID = ZONE_STONE2;
        else if (pUser->GetLevel() >= 71 && pUser->GetLevel() <= m_byMaxLevel)
            ZoneID = ZONE_STONE3;

    buraya 35 lvl den dşük ise giremezsin tarzında bir engel satırı ekleyebilirmiyiz?

    Özkan hocam cengiz kardeşim sabaha kadar uğraştım bi yöntem bulamadım saygılarımı sunuyorum bi el atın lütfen 🙂

            g_pMain->KickOutZoneUsers(ZONE_STONE1, ZONE_MORADON);
            g_pMain->KickOutZoneUsers(ZONE_STONE2, ZONE_MORADON);
            g_pMain->KickOutZoneUsers(ZONE_STONE3, ZONE_MORADON);

     

    ZONE_STONE1-2-3'ü kendine göre düzenleyip denermisin?

     

    • Teşekkür 1

  2. void TempleEventSummon(); 'ın eksikliğinden dolayı event başladıgı zaman monsterlar spawn olmuyor. Monsterlar'ı event başladığı zaman hangi event'i başlatacaksan oraya bu satırı eklemen lazım void CGameServerDlg::TempleEventTimer()'ın içine pTempleEvent.ZoneID = ZONE_BORDER_DEFENSE_WAR;'ın altına biryere ekle. TempleEventSummon(); SRC'de ekli değilse başka bir src'den örnek alarak yapabilirsin.

×
×
  • Yeni Oluştur...