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

Terry

Uzaklaştırılmış
  • İçerik sayısı

    212
  • Katılım

  • Son ziyaret

  • Günün Kazananı

    2
  • Puan

    17,510 [ Bağış Yap ]

İletiler : Terry


  1. Alıntı
    npc thread içinde her npc için state durumuna göre işev gerçekleştiren bir sistem var NPC_LIVE,NPC_STANDING,NPC_MOVING vs.. bunlar içersinde isDead kontrolü var orada eğer npc öldüyse return edilen değer npcnin regtime süresi oluyor thread while içerisinde sürekli UNIXTIME olarak return edilen sürenin dolup dolmadığına bakıyor eğer isDead if inden return edilen rakam UNIXTIME - returnedilen değeri doldurduysa npc setLive oluyor. senin return edilen kisimda regtime için bir trace koyarak kontrol edip unixtime da gönderilen sürenin dolduğunda setlive olup olmadığını kontrol etmen lazım çok detaylı açıklayamadım kusura bakma


    Teşekkürler aynen öyle oluyordu, kontrolünü koyarak hatayı düzelttim, sağolasın yorumu yeni gördüm :)
    • Teşekkür 1

  2. Merhaba arkadaşlar, şöyle bir problemim var.
    Monsterler, genelde kesilenler ;
    mesela worm slotu ilk sw açıldığında 5 li slotlar oluşuyor sıkıntı yok.
    Yavaş yavaş kesildikçe 3 e düşüyor sonra kayboluyor çıkmıyor birdaha.
    Bayadır uğraşıyorum bulamadım, patlama oluşmuyor, patlama oluşabilecek bir sıkıntı varsa ben göremedim.

    Skype : TerryPvP , buradan da yardım edebilirsiniz. :)

    D.N : AiServer DLL sistemidir.
    D.N : Debug Mode'da açık server.
    @ OzkanOzdemir
    @ PENTAGRAM
    İyi Forumlar.

  3. Alıntı
    
    time_t CNpc::NpcSleeping()
    
    {
    
    	if (UNIXTIME < m_tFaintingTime) 
    
    		return m_sStandTime;
    
    
    
    	m_NpcState = NPC_SLEEPING;
    
    	m_tFaintingTime = 0;
    
    
    
    	Packet result(AG_MONSTER_SET_SLEEP);
    
    	result << uint16(GetID()) << uint8(1);
    
    	return false;
    
    }

     


    Bu fonksiyon var dı paket eklenmemişti şimdi ekledim. Tekli skilli kullandığımda mob duruyor ama geri çözülmüyor o şekilde kalıyor.

     

     


    Timer'e bağla type7check filan diye. süresi bitince eski standing yapsın.

     


  4. Alıntı
    
    uint64 m_lLastExperienceRewardTime = 0; // User.h içerisine tanımlanacak
    
    
    
    void CUser::Update(){
    
    /* ... */ // Mevcut kod bloğu
    
    if(UNIXTIME - m_lLastExperienceRewardTime >= 2){
    
    ExpChange(200000);
    
    m_lLastExperienceRewardTime = UNIXTIME;
    
    }
    
    }
    
    

     


    Her 2 saniyede bir 200k experience verir.

     

     


    Reward yazmayı unutmuşsun mustafa.

     

×
×
  • Yeni Oluştur...