打印

請求96 封包的詳細解決方法

請求96 封包的詳細解決方法

在這位置

// shan 2002/01/10
void lssproto_PETST_recv( int fd,  int nPet, int sPet )
{
      int charaindex;
          int i, nums=0;
      CHECKFDANDTIME;
      
      charaindex = CONNECT_getCharaindex( fd );
          if (!CHAR_CHECKINDEX( charaindex ) )        return;

          if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE)
                != BATTLE_CHARMODE_NONE) return ;
          
          for( i=0; i<5; i++)        {
                if( CHAR_getWorkInt( charaindex, CHAR_WORK_PET0_STAT+i) == TRUE )
                        nums++;
          }
          if( nums <= 3 )
                CHAR_setWorkInt( charaindex, CHAR_WORK_PET0_STAT+nPet, sPet);
             
}


應該怎樣修改的???

我爬文看到的是

約是這樣:


if(nPet < 0 || nPet > 4 || sPet <0 || sPet >4 )
    return ;


但應該從哪個位置修改呢?
有大大可以詳細說一下如果修改嗎?

我自己改了幾次,都編譯不到gmsv,直接//了後,在遊戲里的寵物切換"戰鬥,等待,郵件"等會出現錯誤
之後就掉線了

求解

[ 本帖最後由 hongbbn 於 2013-5-8 00:20 編輯 ]

TOP

if( nums <= 3 )
                CHAR_setWorkInt( charaindex, CHAR_WORK_PET0_STAT+nPet, sPet);

轉到

   if(nPet < 0 || nPet > 4 || sPet <0 || sPet >4 )
    return ;

後,會出現什麼樣的bugs?

我編譯源碼時,直接加上
  if(nPet < 0 || nPet > 4 || sPet <0 || sPet >4 )
    return ;

請問會有作用嗎?


謝謝指教

TOP

謝謝指教                  

TOP