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

doktorpro423

Üye
  • İçerik sayısı

    96
  • Katılım

  • Son ziyaret

  • Puan

    2,412 [ Bağış Yap ]

İletiler : doktorpro423


  1. void CUser::RecvReport(Packet & pkt)
    {
    uint8 opcode;
    std::string reportedilen;
    std:string mesaj;
    pkt.SByte();
    pkt >> opcode >> reportedilen >>mesaj;
    //std::string topla = string_format("Şikayet Edilen : %s Şikayet İçeriği : %s", reportedilen.c_str(), mesaj.c_str());

    SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap();
    foreach(itr, sessMap)
    {
    CUser * pUser = TO_USER(itr->second);
    if (pUser->isInGame() && pUser->isGM())
    pUser->SendChat(ChatType::PRIVATE_CHAT, string_format("Şikayet Edilen : %s Şikayet İçeriği : %s", reportedilen.c_str(), mesaj.c_str()), "[REPORT]");
    continue;
    }

    }

    Herşey çok güzel paketimi okuyorum ve online gmlere pm olarak atıyorum derken birden sağ tık yapınca report şeçeneğinin sadece gm charda oldugunu gördüm. Yani normal bir player başka bir playere sağ tıklayınca report şeçenegi gelmiyor onu nasıl ayarlayabilirim? Teşekkürler şimdiden herkese.
    -- mesaja ek olarak --
    //Paket

    case WIZ_REPORT:
    RecvReport(pkt);
    break;
    -- mesaja ek olarak --
    //Paket

    case WIZ_REPORT:
    RecvReport(pkt);
    break;


  2. Alıntı
    UserInOut paketi içerisinde ve onun gibi yerlerde kontrol sağla.
    Eğer ki Invisibility değeri 0 ise GM paketi gönderme gibisinden en sağlıklı yöntem bu öbür türlü gönderdiğin InOut paketi ile paket dinlediklerinde GM karakterin orada olduğunu anlayabiliyorlar.

    Eskiden koxp içerisinde vardı böyle bir kontrol hatırlarsın GM etrafındaysa town at yada oyundan çık gibisinden. Bunu engellemiş olursun böylelikle.


    teşekkür ederim birazdan tekrar ögrenmeye çalışmaya başlayacağım dediginiz gibi kontrolleri yapacagım


  3. //İnvis OL
    Packet result(WIZ_STATE_CHANGE);
    result SendToRegion(&result);
    //Görünür OL
    Packet result(WIZ_STATE_CHANGE);
    result SendToRegion(&result);



    Sourceyi incelerken bu paketi buldum, gm charı bunla gizleyebiliyorum fakat town atınca veya bölge değiştirince tekrar görünür oluyor gm, ayrıca üstündeki gm fx yok olmuyor sadece karakter yok oluyor nasıl düzenlemem gerekli gmyi invis yapabilmem için şimdiden teşekkürler herkese.

  4. Yazmaya çalıştığım kod:

    void CUser::HandlePPCARD(Packet & pkt){

    const uint8 bSub = pkt.read();
    pkt.DByte();

    const uint64 intkismioku = pkt.read();
    const std::string stringkismioku = pkt.read<:string>();
    printf("Serial:%s pass: %X bSub: %X", stringkismioku, intkismioku, bSub);
    }


    Paketi dinleğimde gelen paket ->

    WIZ_EDIT_BOX -> 5904570400001032323232333333333434343435353535

    PP Card olarak 1111-2222-3333-4444-5555 giriyorum.

    Pass : 457 olarak intkismioku değişkenini doğru olarak elde ediyorum. String kısmı(Magenta kısım sanırım string çeviriden baktığımda orası string) okurken gameserver patlıyor. Stringkismioku kısmını çıkarıp çalıştırdığımda sıkıntı yok. Problemi nasıl çözeceğim anlamadım birde pakette yeşil olan kısım neyi temsil ediyor sorun ondan kaynaklı sanırım orası string değil? Şimdiden teşekkür ederim.

×
×
  • Yeni Oluştur...