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...

raSii

Level 4
TM Üye
Katılım
24 Eki 2014
Konular
54
Mesajlar
442
Reaksiyon Skoru
106
Altın Konu
0
TM Yaşı
11 Yıl 7 Ay 23 Gün
Başarım Puanı
67
MmoLira
10
DevLira
0
Ticaret - 0%
0   0   0

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. (:
 
Son düzenleme:
Mütüş paylaşımlar geliyorrrr
 
önemli değil kardeşim bu sistemi çoğu kişi yapıp ücret ile forumlarda satılmaya çalışıyor bizde paylaşalım bir katkımız olsun. teşekkürler. :D
 
önemli değil kardeşim bu sistemi çoğu kişi yapıp ücret ile forumlarda satılmaya çalışıyor bizde paylaşalım bir katkımız olsun. teşekkürler. :D
:m08: bunu mu ücretli satıyorlar
 
Arkadaşlar Lütfen ama (: (:

WZGDyN.jpg


Beyazla karaladığım yeri yanlış anlamayın sevmeye dedi arkadaş ama sizin içiniz fesat (:
 
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