romegames 1
romegames
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Best Studio 1
Best Studio
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
InfernoShade 1
InfernoShade
BlackFullMoon 1
BlackFullMoon
Agora Metin2 1
Agora Metin2
PrimeAC 1
PrimeAC
ShadowFon 1
ShadowFon
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Ch Değiştirme.

  • Konuyu başlatan Konuyu başlatan raSii
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 28
  • Görüntüleme Görüntüleme 6K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Arkadaşlar C++ olayı çıktığından beri artık herşeyin bir kolayı var.
C++ ile CH Değiştirme olayına geçiyorum,

Konuyu gece saatlerinde paylaştığım için tab ayarlarında veya kodlarda sıkıntı var ise
kalktığımda ilk işim konuyu düzenlemek olacak. (:

For: @MattiuS;
Love: @MattiuS;

Portlar ile bağlantı kuruyor

tamamen game üzerinden çalışıyor (:

ch1:
13002 - 13008
ch2:
13102 - 13108
ch3:
13202 - 13208
ch4:
13302 - 13308

Bunun Gibi düşünelim.


Anlatıma geçiyorum.

cmd.cpp açıyoruz

aratıyoruz.

Kod:
[COLOR=#666666][FONT=monospace] ACMD(do_warp);[/FONT][/COLOR]


Altına ekliyoruz

Kod:
[COLOR=#666666][FONT=monospace] ACMD(do_channel_switch);[/FONT][/COLOR]


Aratıyoruz

Kod:
[COLOR=#666666][FONT=monospace] { "mall_close",    do_mall_close,        0,            POS_DEAD,    GM_PLAYER    },[/FONT][/COLOR]


Altına ekliyoruz

Kod:
[COLOR=#666666][FONT=monospace] { "channel",        do_channel_switch,        0,            POS_DEAD,    GM_PLAYER    },[/FONT][/COLOR]


cmd_general.cpp açıyoruz

Aratıyoruz


Kod:
ACMD(do_set_run_mode)
        {
            ch->SetNowWalking(false);
            ch->SetWalking(false);


Altına ekliyoruz

Kod:
ACMD(do_channel_switch)
        {
    
            char arg1[256];
            one_argument(argument, arg1, sizeof(arg1));
            if (!*arg1)
                    return;
            
            int new_ch;
            str_to_number(new_ch, arg1);
            if( new_ch <1 || new_ch >4)   // REPLACE 2 WITH YOUR MAX_CHANNEL 
                return;
            if (!ch->IsPC())
                return;
            ch->ChannelSwitch(new_ch);
            
        }


char.h açıyoruz

arat
Kod:
void                StartWarpNPCEvent();

altına ekle

Kod:
 void                            ChannelSwitch(int new_ch);


char.cpp açıyoruz

aratıyoruz

Kod:
EVENTFUNC(warp_npc_event)
        {
            char_event_info* info = dynamic_cast<char_event_info*>( event->info );
            if ( info == NULL )
            {
                sys_err( "warp_npc_event> <Factor> Null pointer" );
                return 0;
            }
            LPCHARACTER    ch = info->ch;
            if (ch == NULL) { // <Factor>
                return 0;
            }    
            if (!ch->GetSectree())
            {
                ch->m_pkWarpNPCEvent = NULL;
                return 0;
            }
            FuncCheckWarp f(ch);
            if (f.Valid())
                ch->GetSectree()->ForEachAround(f);
            return passes_per_sec / 2;
        }


ekliyoruz

Kod:
void CHARACTER::ChannelSwitch(int new_ch){
            long lAddr;
            long lMapIndex;
            WORD wPort;
            long x = this->GetX();
            long y = this->GetY();
            if (!CMapLocation::instance().Get(x, y, lMapIndex, lAddr, wPort))
            {
                    sys_err("cannot find map location index %d x %d y %d name %s", lMapIndex, x, y, GetName());
                    return;
            }
            if(lMapIndex >= 10000){
                return;
            }
            
            std::map<WORD, int>micha;
            
            for(int i = 0; i < 4; i++){ //replace with maximum channels -1   actual 1300x - 1330x
                for(int i2 = 2; i2 < 9; i2++){ //replace with your core values actual  13x02 - 13x08
                    micha[13*1000 + i*100 + i2] = i+1;
                }        
            }
            //micha[13002] = 1;
            int chan;
            if(micha.find(wPort) != micha.end()){
                chan = micha[wPort];
            }else{return;}
            Stop();
            Save();
            
            if(GetSectree()){
                GetSectree()->RemoveEntity(this);
                ViewCleanup();
                EncodeRemovePacket(this);
            }
            TPacketGCWarp p;
            p.bHeader    = HEADER_GC_WARP;
            p.lX    = x;
            p.lY    = y;
            p.lAddr    = lAddr;
            p.wPort    = (wPort - 100*(chan-1) + 100*(new_ch-1));
            
            GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
        }



Arkadaşlar Python için eklenmesi gereken ufak tefek şeyler var (:
Sıkıcı uzun olna pyhton'dan kurtarıyor en azından bizi.

Dosyaları indirin içerisinde anlatımı mevcut.

Hayırlı olsun (:





@MattiuS; Kardeşime geceli gündüzlü yardımlaşmamızdan dolayı teşekkür ediyorum (:
---------------------------------------------------------------------------------------------------------------------------

Beyler En kısa süre içerisinde

Yakında gelecek olan yenilikten bahsedeyim

X Kişi Oyun içerisinde itemini satışa çıkartacak pazar kurmadan.
İtemi 2 şekilde satışa çıkarabilecek. İster Yang ile İster EP İle.

X Kişinin eklediğini oyun içerisindeki herkes görebilecek.
Y Oyuncu bu itemi almak istediğinde
İster Satıcının belirlemiş olduğu Yang Fiyatına İsterse EP karşılığı ALabilecek (:

Yukarıdaki özellik videosuyla beraber ücretsiz olarak paylaşılacaktır.
Tabi ki bu sistem v2 olarak paylaşıyorum.
Açık & Bug Fixlenmiş haliyle. (:

Paylaşım için teşekkür ederim , bölüm kuralları gereği

*C++/C#/Python paylaşımlarında mutlaka çalıştığına dair görüntüler eklemelisiniz.
 
teşekkürler :)
 
warezi paylaşmışsın geceli gündüzlü yardımlaşma felan senmi kodladın bunu :D paylaşımlarının çogu kendi yapımın degil.
hatta hepside diye bilirm. toparladıgın srclerden cekmeler.

warezdekini ve seninkilere baktım bi fark yok pyde sadece chatları degiştirmişsin.

kanıtlar istenirse atabilirim :m08:

iyi forumlar.

Forum'da var mıydı? Hayır.
Çalışıyor mu? Evet.
Kullanan kişilerin işine yaradı mı? Evet.
Konuyu mu baltalamak istiyorsun? Evet
Bu yüzde bu forumda iş yapan herkes kaçtı.

En azından birşey satışa çıktığında sağa sola mesaj atmıyorum
Abiğğğ bu files sende varmıı
abiğğ bu source sende varmıı?

Konuyu daha fazla kirtletmeden gidebilirsin.
Daha fazla kirletmeden rezil olmadan Sağ yukarıda X Tuşuna bas.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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

Geri
Üst