Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zmiana CH bez wylogowania.


Rekomendowane odpowiedzi

Opublikowano

cmd.cp

   pod
        ACMD(do_warp);
    dodaj
        ACMD(do_channel_switch);

    pod
        { "mall_close",    do_mall_close,        0,            POS_DEAD,    GM_PLAYER    },
    dodaj
        { "channel",        do_channel_switch,        0,            POS_DEAD,    GM_PLAYER    },

cmd_general.cpp:

   pod
        ACMD(do_set_run_mode)
        {
            ch->SetNowWalking(false);
            ch->SetWalking(false);
        }
 
dodaj:         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)   // TWOJA LICZBA KANALOW
                return;
            if (!ch->IsPC())
                return;
            ch->ChannelSwitch(new_ch);
            
        }

char.h

   pod
        void                StartWarpNPCEvent();
    dodaj
        void                            ChannelSwitch(int new_ch);
 
char.cpp

    pod
        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;
        }

    dodaj
        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("Nie można znaleźć mapy index %d x %d y %d nazwa %s", lMapIndex, x, y, GetName());
                    return;
            }
            if(lMapIndex >= 10000){
                return;
            }
            
            std::map<WORD, int>micha;
            
            for(int i = 0; i < 4; i++){ 
                for(int i2 = 2; i2 < 9; i2++){ 
                    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));
        }
 
Klient. 
Na końcu game.py dodaj
def __switch_channel(self):
import uiChannel
a = uiChannel.ChannelChanger()
a.Show()
pod
onPressKeyDict[app.DIK_F4] = lambda : self.__PressQuickSlot(7)
dodaj 
nPressKeyDict[app.DIK_F7] = lambda : self.__switch_channel()
 
Zawartość wklejki zapisz jako uiChannel.py
 
elo

11136348493818868344.png


 


Fanapge (Kliknij w sygnaturkę.)

Opublikowano

Nawet kopiować nie umiesz XDD

 

btw. Może powiesz cebulakom, o portach channeli?

 ch1

13002-13008

ch2

13102-13108

ch3

13202-13208

ch4

13302-13308 

 

 

Żywcem skopiowane z deva  xD

 

Przypomnieć Ci kto wstawił ostatnio poradnik, jak dodać nowy format plików graficznych .png do klienta? :v

Udostępniłem to tylko żeby punkty zbić, poradnik głównie jest dla Asfena bo mi ostatnio dupę zawracał.

11136348493818868344.png


 


Fanapge (Kliknij w sygnaturkę.)

Opublikowano

ch1

13002-13008

ch2

13102-13108

ch3

13202-13208

ch4

13302-13308

Czemu usunąłeś komentarze przy pętli for? xD

 

 

Udostępniłem to tylko żeby punkty zbić, poradnik głównie jest dla Asfena bo mi ostatnio dupę zawracał.

Emm :|

Napisałeś 12 postów i już zbijasz punkty?!

Może Ci się konta pojebały XDD

Opublikowano

Tak wyszło, przynajmniej wprowadziłem kilka zmian XDDDDD

 

tak btw. przeczytaj moją odpowiedź wyżej.

 

@ref

Czemu usunąłeś komentarze przy pętli for?  xD


Emm :|
Napisałeś 12 postów i już zbijasz punkty?!
Może Ci się konta pojebały XDD

 

 

Nope, za bardzo mnie nie lubio na tym forum. : v

11136348493818868344.png


 


Fanapge (Kliknij w sygnaturkę.)

Opublikowano

To ma buga i nie zapisuje czasu online postaci po zmianie ch.

W czym problem? na mpc tyle pro elo developerów że każdy sobie z tym poradzi  B)  B)  B)  B)

Opublikowano

W czym problem? na mpc tyle pro elo developerów że każdy sobie z tym poradzi  B)  B)  B)  B)

 

Włączając Ciebie drogi lajku.

PS: Limit yang już usunąłeś ?

 

@TOPIC: Skrypt super bo z deva.

Opublikowano

Włączając Ciebie drogi lajku.

PS: Limit yang już usunąłeś ?

 

@TOPIC: Skrypt super bo z deva.

Ja nie napisałem nigdzie "Developer Lajk" czy coś xD a z tego co wiem to bardzo ważne xD

Co do limitu... kolega mi pomaga troszkę. Binka jebała błędy z pakietami .. jeszcze nowy windows.. cała moja praca poszła się j**** i muszę od nowa. :D

 

Tak samo jak ty kopiujesz. Hipokryta.

Ale jebłem cytat.. chodziło mi w sumie o tamto :D

Opublikowano

Jest możliwość zmiany portów? Trochę to już mam i się tak zastanawiam  <_<

Opublikowano

Jest możliwość zmiany portów? Trochę to już mam i się tak zastanawiam  <_<

 

Ta, tam w pętli for musisz edytowac ale jak zmienisz to, to sypnie Ci reszta kodu :D Więc poprostu trzeba wykminic nowy algorytm.

Opublikowano

@1361622928-U485574.pngAndryw

 

dzięki  <_<

 

Działa to na tej zasadzie jak masz więc:

          for(int i = 0; i < 4; i++){   // TUTAJ MASZ CH OD 1 DO 4
                for(int i2 = 2; i2 < 9; i2++){  // TUTAJ MASZ SUBCHANNELE
                    micha[13*1000 + i*100 + i2] = i+1; // A TUTAJ JEST TEN ALGORYTM I DZIAŁA NA ZASADZIE 13000 + channel *100 + sbchannel
                    // I DLATEGO MASZ NP DLA CH1 (1) 13101 A DLA CH1 (2) 13102 
                }        
            }
Opublikowano

To ma buga i nie zapisuje czasu online postaci po zmianie ch.

U mnie tego problemu nie ma, ale może to dlatego że mam to troszkę innaczej napisane.

 

Opublikowano

Bez sensu jest to sprawdzanie aktualnego channelu... Przecież to jest trzymane w globalnej. I porty na "sztywno" są średnim rozwiązaniem.

Swoją drogą podawajcie źródła, a nie rżniecie na pałę - trochę kultury.

"Proste, że czuję różnice do reszty i pewnie dlatego ich drażni mój śmiech."

Opublikowano

Bez sensu jest to sprawdzanie aktualnego channelu... Przecież to jest trzymane w globalnej. I porty na "sztywno" są średnim rozwiązaniem.

Swoją drogą podawajcie źródła, a nie rżniecie na pałę - trochę kultury.

źródło metin2dev.

f5

11136348493818868344.png


 


Fanapge (Kliknij w sygnaturkę.)

Opublikowano

U mnie tego problemu nie ma, ale może to dlatego że mam to troszkę innaczej napisane.

Mówie o tym z deva a nie o all.

  • 7 miesięcy temu...
Opublikowano

Jest możliwość zmiany portów? Trochę to już mam i się tak zastanawiam  <_<

 

Walnij sobie porty do arraya i po kłopocie..

  • 2 tygodnie później...
  • 1 rok później...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...