搜尋


返回清單
切換到指定樓層
通知這文章過時或找檔案 發表主題

【轉貼】「修正」之卡住Bug(2013/11/30 更新)

[複製連結]
1
KY2000 ( Lv.30 大天使 ) 發表於 2014-11-30 18:55:39 | 只看該作者 |只看大圖 回覆獎勵 |降序瀏覽 |閱讀模式

2013/11/30 增加修改(1-1)、更新修改(2)修改(3)~說明在4樓

修正當人物坐標~
RO伺服器 跟 OP 不一樣時
造成卡住不動的Bug~

請注意: 以下修改涉及主程式修改,
稍有不慎恐會造成 Openkore 無法執行,若無把握請勿嘗試,
建議修改前先備份該相關檔案,以備不時之需(Sofax222 大大的語錄)

開啟檔案 src\Task\Route.pm
=====修改(1) =====
原程式碼
  1. } elsif (!$wasZero) {
複製代碼
修改成
  1. } elsif ($self->{index} == 0) {
複製代碼
修改 01 行~避免卡住



4.jpg



開啟檔案 src\Network\Receive\ServerType0.pm
=====修改(2) =====
原程式碼
  1. # Perform trigger actions
  2. if ($sourceID eq $accountID) {
  3.         $char->{time_cast} = time;
  4.         $char->{time_cast_wait} = $wait / 1000;
  5.         delete $char->{cast_cancelled};
  6. }
複製代碼
修改成
  1. # Perform trigger actions
  2. if ($sourceID eq $accountID) {
  3.         $char->{time_cast} = time;
  4.         $char->{time_cast_wait} = $wait / 1000;
  5.         delete $char->{cast_cancelled};
  6. }
  7. if (my $player = ($accountID eq $sourceID && $char) || $playersList->getByID($sourceID) || $slavesList->getByID($sourceID)) {
  8.         if ($player->{pos}{x} != $player->{pos_to}{x} || $player->{pos}{y} != $player->{pos_to}{y}) {
  9.                 %{$player->{pos}} = %{calcPosition($player)};
  10.                 %{$player->{pos_to}} = %{$player->{pos}};
  11.                 $player->{time_move_calc} = 0;
  12.                 if ($char->{party} && $char->{party}{users} && $char->{party}{users}{$sourceID}) {
  13.                         %{$char->{party}{users}{$sourceID}{pos}} = %{$player->{pos}};
  14.                         $char->{party}{users}{$sourceID}{online} = 1;
  15.                 }
  16.         }
  17. }
複製代碼
增加 07 - 18 行~

4.jpg


開啟檔案 src\Misc.pm
=====修改(3) =====
原程式碼
  1. if ($damage == 0) {
  2.         ($accountID eq $targetID ? $monster->{missedYou} : $monster->{missedToPlayer}{$targetID}) += 1;
  3.         $player->{missedFromMonster}{$sourceID}++;
  4. }
複製代碼
修改成
  1. if ($damage == 0) {
  2.         ($accountID eq $targetID ? $monster->{missedYou} : $monster->{missedToPlayer}{$targetID}) += 1;
  3.         $player->{missedFromMonster}{$sourceID}++;
  4. } elsif ($damage > 0
  5.                 && ($player->{pos}{x} != $player->{pos_to}{x} || $player->{pos}{y} != $player->{pos_to}{y})
  6.                 && !$player->statusActive('EFST_ENDURE')) {
  7.         %{$player->{pos}} = %{calcPosition($player)};
  8.         %{$player->{pos_to}} = %{$player->{pos}};
  9.         $player->{time_move_calc} = 0;
  10.         if ($char->{party} && $char->{party}{users} && $char->{party}{users}{$targetID}) {
  11.                 %{$char->{party}{users}{$targetID}{pos}} = %{$player->{pos}};
  12.                     $char->{party}{users}{$targetID}{online} = 1;
  13.         }
  14. }
複製代碼
增加 04 - 15 行~
被攻擊時~又不在"霸體狀態"時~
計算出實際座標~
視地形 & LAG 情況~誤差約0 ~ 2 格

4.jpg


開啟檔案 src\Network\Receive.pm
=====修改(4) =====
原程式碼
  1. use strict;
  2. use Network::PacketParser; # import
  3. use base qw(Network::PacketParser);
  4. use encoding 'utf8';
複製代碼


所有站內附件皆會附上安全掃描報告
請會員查看純淨度百分比後判斷使用



相關檔案須知:
取得檔案前,請先詳細閱讀文章內容
避免不必要錯誤與誤會發生。
也可多參考文章討論樓層內容
了解附件檔案相關討論資訊。










大家正在看啥


收藏收藏 分享文章到FB上分享
回覆 使用道具 檢舉
複製專屬你的推廣連結:發至FB與各論壇宣傳:累積點數換GP商品 & 藍鑽
每五點閱率就可以兌換藍鑽積分或遊戲點卡 夢遊推廣文章換GP商品

你需要登入後才可以回覆 登入 | 加入會員

本版積分規則

Copyright (C) 2010-2020 夢遊電玩論壇

廣告合作:請直接聯繫我們,並附上您預刊登位置的預算。  

快速回覆 返回頂端 返回清單