Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
KO Developers Platformuna Hoşgeldin!
spark78

GM Görünmezliği

Önerilen Mesajlar

21xx serverda /invisible ve /visible çalışıyor fakat gm efekti bir türlü invisible olmuyor. particle ve fx sürekli visible kalıyor. Yardımcı olursanız sevinirim. Teşekkürler

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin

/visible yaptığı zaman StateChange atmak yerine UserInOut olarak Out atmayı dene böylelikle tamamen kaybolur.
StateChange olarak attığın zaman Client taraflı KO.exe hafızada senin karakterini tutuyor.
Yani arka planda aslında varsın ama sadece Render etmiyor.
UserInOut atarsan tamamen hafızadan siler böylelikle karakterin üstündeki effectleri de hafızdan temizleyecektir.

Ayrıca sistemi bu şekilde yazman gerekiyor ki illegal programlar ile GM karakterinin oyunda olduğunu ve orada olduğunu anlayamasınlar.
Sen hile yapan kişiyi kontrol etmek için yanına gittiğinde direk illegal programlar ile hile yapan kişi senin aslında orada olduğunu bilir. Dediğim gibi yaparsan bunu da engellemiş olursun.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
/visible yaptığı zaman StateChange atmak yerine UserInOut olarak Out atmayı dene böylelikle tamamen kaybolur.
StateChange olarak attığın zaman Client taraflı KO.exe hafızada senin karakterini tutuyor.
Yani arka planda aslında varsın ama sadece Render etmiyor.
UserInOut atarsan tamamen hafızadan siler böylelikle karakterin üstündeki effectleri de hafızdan temizleyecektir.

Ayrıca sistemi bu şekilde yazman gerekiyor ki illegal programlar ile GM karakterinin oyunda olduğunu ve orada olduğunu anlayamasınlar.
Sen hile yapan kişiyi kontrol etmek için yanına gittiğinde direk illegal programlar ile hile yapan kişi senin aslında orada olduğunu bilir. Dediğim gibi yaparsan bunu da engellemiş olursun.


Bilgi için teşekkür ederim. /visible kodunu editlemek yerine kendim eklemek istedim. bu kodu kullandığım anda görünmezlik çalışıyor ama o an regionda bulunan karakterler donup kalıyor. cpp de profesyönel değilim sanırım eksik birşeyler kaldı.


COMMAND_HANDLER(CUser::HandleVisibleGM)
{
if (!isGM())
return false;

if (vargs.empty())
{
// send description
g_pMain->SendHelpDescription(this, "Using Sample : +g 0 or 1");
return true;
}

int ID = atoi(vargs.front().c_str());

if (ID==1)
UserInOut(INOUT_OUT);
else
UserInOut(INOUT_IN);

return true;
}

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
/visible yaptığı zaman StateChange atmak yerine UserInOut olarak Out atmayı dene böylelikle tamamen kaybolur.
StateChange olarak attığın zaman Client taraflı KO.exe hafızada senin karakterini tutuyor.
Yani arka planda aslında varsın ama sadece Render etmiyor.
UserInOut atarsan tamamen hafızadan siler böylelikle karakterin üstündeki effectleri de hafızdan temizleyecektir.

Ayrıca sistemi bu şekilde yazman gerekiyor ki illegal programlar ile GM karakterinin oyunda olduğunu ve orada olduğunu anlayamasınlar.
Sen hile yapan kişiyi kontrol etmek için yanına gittiğinde direk illegal programlar ile hile yapan kişi senin aslında orada olduğunu bilir. Dediğim gibi yaparsan bunu da engellemiş olursun.


Teşekkürler, mantıklı bir yaklaşım.Aslında bu tür ufak tefek sunucu taraflı kontroller ile hileleri önlemek mümkün :) Fakat uzun zamandır düşündüğüm R ile el düşürmeye sunucu taraflı bir çözüm bulamadım:) Bunun hakkındada bir öneriniz var mıdır?:)(Yanlış anlaşılmasın, bu bilgileri kullanarak bir server geliştirmiyorum sadece bu tür fikirer zihnimi açıyor) teşekkürler

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
Alıntı
Bilgi için teşekkür ederim. /visible kodunu editlemek yerine kendim eklemek istedim. bu kodu kullandığım anda görünmezlik çalışıyor ama o an regionda bulunan karakterler donup kalıyor. cpp de profesyönel değilim sanırım eksik birşeyler kaldı.


COMMAND_HANDLER(CUser::HandleVisibleGM)
{
if (!isGM())
return false;

if (vargs.empty())
{
// send description
g_pMain->SendHelpDescription(this, "Using Sample : +g 0 or 1");
return true;
}

int ID = atoi(vargs.front().c_str());

if (ID==1)
UserInOut(INOUT_OUT);
else
UserInOut(INOUT_IN);

return true;
}


UserInOut fonksiyonunu kullandığın zaman senin karakterini region içerisinden siliniyor.
Region içerisinde olan işlemler sana gelmiyor.
Örneğin; biri hareket ettiğinde regiona bilgilerini gönderiyor ama sen aslında o region içerisinde yoksun.

Yapman gereken UserInOut fonksiyonu içerisinde gönderdiği WIZ_USER_INOUT paketini GM /visible komutunu kullandığın regiona göndermek olacak.
Böylelikle tüm regiondakilerden GM karakter silinecek.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
Alıntı
Teşekkürler, mantıklı bir yaklaşım.Aslında bu tür ufak tefek sunucu taraflı kontroller ile hileleri önlemek mümkün :) Fakat uzun zamandır düşündüğüm R ile el düşürmeye sunucu taraflı bir çözüm bulamadım:) Bunun hakkındada bir öneriniz var mıdır?:)(Yanlış anlaşılmasın, bu bilgileri kullanarak bir server geliştirmiyorum sadece bu tür fikirer zihnimi açıyor) teşekkürler


İlk öncelikle skill sistemini güzel bir şekilde yazman gerekiyor.
Casting süresini düzgün hesaplayıp ona göre hile türü şeyleri yapmamalarını sağlamayan gerekiyor bunun sebebi ise Client ile senkron çalışabilmektir.
Eğer ki Casting süresi ile oynarlar ise (süreyi kısaltırlarsa) saldırı aldığında karakterin elini düşürme oranın imkansız olacaktır.

Client tarafından Server tarafına gönderilen paketin bir sırası var.
Priestin 1920 Heal skillini ele alalım.
Sen 1920 bastığın an Servera Casting paketi yolluyorsun.
Daha sonrasında karakterin el hareketi bittiğinde Servera Effecting paketi yolluyorsun.
Sen ilk Casting yolladığın zaman Server tarafında kullanıcının şuan skillin hareketlerini yaptığını kayıt ediyorsun.
Kullanıcı Effecting paketini henüz göndermeden herhangi bir saldırı alırsa kullanıcı tarafına WIZ_ATTACK, WIZ_MAGIC_PROCESS paketi geliyor.
Tam burada işte kontrol sağlayacaksın eğer ki herhangi bir saldırı aldıysa ve şuan casting işlemindeyse karaktere failed paketi göndereceksin bu sayede eli düşecek.
Son bir şey kalıyor oda Client tarafından gerçek el düşme işlemini iptal etmen lazım yoksa illegal olmayan kullanıcılar her iki kontrole de yakalanır ve el düşme oranı artar skill atamaz hale gelir.

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...