R 1
Roksam
[DEV]AB 1
[DEV]AB
Sevdamsın 1
Sevdamsın
farkmt2official 1
farkmt2official
emirhanHCL 1
emirhanHCL
Scarlet 1
Scarlet
Best Studio 1
Best Studio
mannaxxx 1
mannaxxx
Agora Metin2 1
Agora Metin2
Hikaye Ekle

Sonraki Hareketi Bildirim Zamanı

Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!

örneğin
x oyuncu 1 adım atar sunucuya kordinat gönderir.
sunucu diğer oyunculara derki x oyuncu şu kordinatta
diğer oyuncular x oyuncunun nerede olduğunu client taraflı görür.

sunucuyu çok yormaması açısından bu kordinat gönderme süresini, 0.30 saniyede bir kordinat gönderme, olarak ayarlı.
buna benzer kod blokları için
client srcden "dwCurTime + 300" bunu aratın kod bloklarını google transleden çevirin süreyi ne için koymuş yazıyor.




örnek vereyim bakarak yapabilirsiniz.


userinterface/PythonPlayerEventHandler.cpp

[CODE lang="cpp" title="asd" highlight="asd"]void CPythonPlayerEventHandler::OnMoving(const SState& c_rkState)
{
DWORD dwCurTime = ELTimer_GetMSec();
if (m_dwNextMovingNotifyTime > dwCurTime)
return;

m_dwNextMovingNotifyTime = dwCurTime + 300; //300 yazan 300 ms yani 0.30 saniye

CPythonNetworkStream& rkNetStream = CPythonNetworkStream::Instance();
rkNetStream.SendCharacterStatePacket(c_rkState.kPPosSelf, c_rkState.fAdvRotSelf, CInstanceBase::FUNC_MOVE, 0);

// Trace("moving\n"); //burdada belirtmiş translateden çevirin :)
}
[/CODE]

not : test etmedim fakat süreleri 0'larsak belki karakter kaymaları düzelebilir

konu hakkında bilgi verdiği için lalakere teşekkür ederim
 
Son düzenleme:
örneğin
x oyuncu 1 adım atar sunucuya kordinat gönderir.
sunucu diğer oyunculara derki x oyuncu şu kordinatta
diğer oyuncular x oyuncunun nerede olduğunu client taraflı görür.

sunucuyu çok yormaması açısından bu kordinat gönderme süresini, 0.30 saniyede bir kordinat gönderme, olarak ayarlı.
buna benzer kod blokları için
client srcden "dwCurTime + 300" bunu aratın kod bloklarını google transleden çevirin süreyi ne için koymuş yazıyor.




örnek vereyim bakarak yapabilirsiniz.


userinterface/PythonPlayerEventHandler.cpp

[CODE lang="cpp" title="asd" highlight="asd"]void CPythonPlayerEventHandler::OnMoving(const SState& c_rkState)
{
DWORD dwCurTime = ELTimer_GetMSec();
if (m_dwNextMovingNotifyTime > dwCurTime)
return;

m_dwNextMovingNotifyTime = dwCurTime + 300; //300 yazan 300 ms yani 0.30 saniye

CPythonNetworkStream& rkNetStream = CPythonNetworkStream::Instance();
rkNetStream.SendCharacterStatePacket(c_rkState.kPPosSelf, c_rkState.fAdvRotSelf, CInstanceBase::FUNC_MOVE, 0);

// Trace("moving\n"); //burdada belirtmiş translateden çevirin :)
}
[/CODE]

not : test etmedim fakat süreleri 0'larsak belki karakter kaymaları düzelebilir

konu hakkında bilgi verdiği için lalakere teşekkür ederim
bunu bi forumda daha görmüş idim fakat arşivimde bulamıyorum yabancı idi orada ayrıntılı anlatıp yöntemlerini yazıyordu gyazo ile de farkını göstermişti ama bulamıyorum hatırlattığın için saolasın
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst