黃易群俠傳M脫機外掛應用程式黃易神行
9577
20

[發問] 主人都不等並回頭找祭師隊員問題?

搞笑中中豬 發表於 2010-10-13 08:25:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |
不知道有沒有大大有類似問題 我祭師有設定 跟隨主人 並且有設定好 距離 跟幫打怪
但主人 有時候跑太快 超過距離 都不等 隊員  然後小黑窗就會跑出  隊員 傳密語 給 主人 (move 座標)... 但是 主人的小黑窗 只會出現 隊員 密語  但是沒有 (move 座標)這些訊息  !! 然後 還是 打自己的 都不會回頭找 隊員   請問是 哪裡 設錯...  我研究一天 快暈了0.0  希望 有大大 能貼 自己成功的範本  感謝
收藏收藏 分享分享 讚讚 幹幹 分享分享 FB分享
回覆

使用道具 舉報


gemini61 當前離線
UID
1345557
熱心
1232 值
嘉獎
0 次
違規
0 次
在線時間
389 小時
經驗
1231 點
積分
17192
精華
0
最後登錄
2015-5-30
閱讀權限
60
註冊時間
2009-11-6
論壇幣
14271 幣
聯合幣
4 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 7Rank: 7Rank: 7
gemini61 2010-10-13 08:34:18
本帖最後由 gemini61 於 2010-10-13 08:35 編輯

1# 搞笑中中豬

你去看這篇吧

http://bbs.wgun.net/thread-339718-1-1.html

看5樓的應該就ok了

現在的半殘op應該還是一樣吧

我現在沒用這樣的功能

所以不清楚現在是不是還一樣

你試試看吧
RO愛好者
有時候回文系統怪怪的
尤其是回新手發的文
不知道是為什麼還要審核
就會讓人有點懶得回文.......
回覆

使用道具 舉報

搞笑中中豬 當前離線
UID
1564286
熱心
95 值
嘉獎
0 次
違規
0 次
在線時間
49 小時
經驗
65 點
積分
65
精華
0
最後登錄
2011-4-24
閱讀權限
20
註冊時間
2010-10-12
論壇幣
3830 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
搞笑中中豬 2010-10-13 08:44:57
大大 我2.07的 在receive pm 裡面 找不到009A .... 他有說 他那是2.06板的

主人不回頭 尋找 隊員   是因為   看不到 隊員 密頻嗎= =?..
回覆

使用道具 舉報

gemini61 當前離線
UID
1345557
熱心
1232 值
嘉獎
0 次
違規
0 次
在線時間
389 小時
經驗
1231 點
積分
17192
精華
0
最後登錄
2015-5-30
閱讀權限
60
註冊時間
2009-11-6
論壇幣
14271 幣
聯合幣
4 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 7Rank: 7Rank: 7
gemini61 2010-10-13 08:52:39
本帖最後由 gemini61 於 2010-10-13 08:54 編輯

3# 搞笑中中豬

我之前也是用07版的

我也是照他上面那樣設定就ok了

所以07版的也有...........

你有用搜尋去找嗎

還是你找錯檔了............

我剛剛又去找了

我確定是有的..........

確定一下吧

他那個應該就是看不到密頻的內容

所以他才會不知道你要他做什麼動作

那當然就不會回去找補師...........
RO愛好者
有時候回文系統怪怪的
尤其是回新手發的文
不知道是為什麼還要審核
就會讓人有點懶得回文.......
回覆

使用道具 舉報

gemini61 當前離線
UID
1345557
熱心
1232 值
嘉獎
0 次
違規
0 次
在線時間
389 小時
經驗
1231 點
積分
17192
精華
0
最後登錄
2015-5-30
閱讀權限
60
註冊時間
2009-11-6
論壇幣
14271 幣
聯合幣
4 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 7Rank: 7Rank: 7
5層
gemini61 2010-10-13 08:56:01
本帖最後由 gemini61 於 2010-10-13 08:58 編輯

3# 搞笑中中豬

噁..............

我發現你找錯東西了

我不是要你看5樓的回文嗎???

不是009A.............

他有說是0097.........

傻眼

你的名子取得真好

真的是在搞笑.........

請看清楚

不然白忙一場............
RO愛好者
有時候回文系統怪怪的
尤其是回新手發的文
不知道是為什麼還要審核
就會讓人有點懶得回文.......
回覆

使用道具 舉報

搞笑中中豬 當前離線
UID
1564286
熱心
95 值
嘉獎
0 次
違規
0 次
在線時間
49 小時
經驗
65 點
積分
65
精華
0
最後登錄
2011-4-24
閱讀權限
20
註冊時間
2010-10-12
論壇幣
3830 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
6層
搞笑中中豬 2010-10-13 09:11:17
ㄆㄆ 拍謝@@   樓上的大大  真是好心人 感謝您
回覆

使用道具 舉報

搞笑中中豬 當前離線
UID
1564286
熱心
95 值
嘉獎
0 次
違規
0 次
在線時間
49 小時
經驗
65 點
積分
65
精華
0
最後登錄
2011-4-24
閱讀權限
20
註冊時間
2010-10-12
論壇幣
3830 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
7層
搞笑中中豬 2010-10-13 09:18:28
#########################################################################
#  OpenKore - Server message parsing
#
#  This software is open source, licensed under the GNU General Public
#  License, version 2.
#  Basically, this means that you're allowed to modify and distribute
#  this software. However, if you distribute modified versions, you MUST
#  also distribute the source code.
#  See http://www.gnu.org/licenses/gpl.html for the full license.
#########################################################################
##
# MODULE DESCRIPTION: Server message parsing
#
# This class is responsible for parsing messages that are sent by the RO
# server to Kore. Information in the messages are stored in global variables
# (in the module Globals).
#
# Please also read <a href="http://www.openkore.com/wiki/index.php/Network_subsystem">the
# network subsystem overview.</a>
package Network::Receive;

use strict;
use encoding 'utf8';
use Carp::Assert;
use Scalar::Util;

use Exception::Class ('Network::Receive::InvalidServerType', 'Network::Receive::CreationError');

use Globals;
#use Settings;
use Log qw(message warning error debug);
#use FileParsers;
use Interface;
use Network;
use Network::MessageTokenizer;
use Misc;
use Plugins;
use Utils;
use Utils::Exceptions;
use Utils::Crypton;
use Translation;

######################################
### Public methods
######################################

# Do not call this directly. Use create() instead.
sub new {
        my ($class) = @_;
        my $self;

        # If you are wondering about those funny strings like 'x2 v1' read http://perldoc.perl.org/functions/pack.html
        # and http://perldoc.perl.org/perlpacktut.html

        # Defines a list of Packet Handlers and decoding information
        # 'packetSwitch' => ['handler function','unpack string',[qw(argument names)]]

        $self->{packet_list} = {};

        return bless $self, $class;
}

##
# Network::Receive->create(String serverType)
#
# Create a new server message parsing object for the specified server type.
#
# Throws Network::Receive::InvalidServerType if the specified server type does
# not exist.
# Throws Network::Receive::CreationError if some other error occured.
sub create {
        my ($self, $serverType) = @_;
       
        my ($mode, $type, $param) = Settings::parseServerType ($serverType);
        my $class = "Network::Receive::$type" . ($param ? "::$param" : ""); #param like Thor in bRO_Thor
       
        debug "[ST recv] $class ". " (mode: " . ($mode ? "new" : "old") .")\n";

        undef $@;
        eval("use $class;");
        if ($@ =~ /^Can't locate /s) {
                Network::Receive::InvalidServerType->throw(
                        TF("Cannot load server message parser for server type '%s'.", $type)
                );
        } elsif ($@) {
                Network::Receive::CreationError->throw(
                        TF("An error occured while loading the server message parser for server type '%s':\n%s",
                                $type, $@)
                );
        }
       
        my $self = $class->new;
       
        if ($Settings::sys{devel_networkReceiveHooks}) {
                # hook all handlers from Network::Receive::* for compatibility
                # (if/when all handlers will be moved out of Network, this could be removed)
               
                # TODO: some way of handling only packets that are not handled by any plugins?
                my @handlers = grep { $self->can ($_) } keys %{{map { $_->[0] => 1 } values %{$self->{packet_list}}}};
               
                if (@handlers) {
                        debug TF("Adding hooks for packet handlers in %s: %s\n", $class, join ', ', @handlers), 'network_compatibility';
                       
                        Scalar::Util::weaken (my $weakSelf = $self);
                       
                        my $handler = sub {
                                my (undef, $args, $callback) = @_;
                               
                                $weakSelf->$callback ($args);
                                $args->{return} = 1;
                        };
                       
                        $self->{recvpacketHandleHooks} = Plugins::addHooks (map { ["packet_handle/$_", $handler, $_] } @handlers);
                }
        }
       
        return $self;
}

sub DESTROY {
        my ($self) = @_;
       
        if ($Settings::sys{devel_networkReceiveHooks} && $self->{recvpacketHandleHooks}) {
                debug T("Removing hooks for packet handlers in Network::Receive\n"), 'network_compatibility';
               
                Plugins::delHooks ($self->{recvpacketHandleHooks});
        }
}

# $packetParser->reconstruct($args)
#
# Reconstructs a raw packet from $args using $self->{packet_list}.
sub reconstruct {
        my ($self, $args) = @_;

        my $switch = $args->{switch};
        my $packet = $self->{packet_list}{$switch};
        my ($name, $packString, $varNames) = @{$packet};

        my @vars = ();
        for my $varName (@{$varNames}) {
                push(@vars, $args->{$varName});
        }
        my $packet = pack("H2 H2 $packString", substr($switch, 2, 2), substr($switch, 0, 2), @vars);
        return $packet;
}

sub parse {
        my ($self, $msg) = @_;

        $bytesReceived += length($msg);
        my $switch = Network::MessageTokenizer::getMessageID($msg);
        my $handler = $self->{packet_list}{$switch};

        unless ($handler) {
                warning "Packet Parser: Unk●嚴禁張貼廣告●n switch: $switch\n";
                return undef;
        }

        debug "Received packet: $switch Handler: $handler->[0]\n", "packetParser", 2;

        # RAW_MSG is the entire message, including packet switch
        my %args = (
                switch => $switch,
                RAW_MSG => $msg,
                RAW_MSG_SIZE => length($msg),
                KEYS => $handler->[2],
        );
        if ($handler->[1]) {
                my @unpacked_data = unpack("x2 $handler->[1]", $msg);
                foreach my $key (@{$handler->[2]}) {
                        $args{$key} = shift @unpacked_data;
                }
        }

        if ($Settings::sys{devel_networkReceiveHooks}) {
                Plugins::callHook("packet_pre/$handler->[0]", \%args);
                Misc::checkValidity("Packet: " . $handler->[0] . " (pre)");
                unless ($args{return}) {
                        if (Plugins::hasHook("packet_handle/$handler->[0]", \%args)) {
                                Plugins::callHook("packet_handle/$handler->[0]", \%args);
                                Misc::checkValidity("Packet: " . $handler->[0]);
                        } else {
                                warning "Packet Parser: Unhandled Packet: $switch Handler: $handler->[0]\n";
                                debug ("Unpacked: " . join(', ', @{\%args}{@{$handler->[2]}}) . "\n"), "packetParser", 2 if $handler->[2];
                        }
                }
        } else {
                my $callback = $self->can($handler->[0]);
                if ($callback) {
                        Plugins::callHook("packet_pre/$handler->[0]", \%args);
                        Misc::checkValidity("Packet: " . $handler->[0] . " (pre)");
                        $self->$callback(\%args);
                        Misc::checkValidity("Packet: " . $handler->[0]);
                } else {
                        warning "Packet Parser: Unhandled Packet: $switch Handler: $handler->[0]\n";
                        debug ("Unpacked: " . join(', ', @{\%args}{@{$handler->[2]}}) . "\n"), "packetParser", 2 if $handler->[2];
                }
        }

        Plugins::callHook("packet/$handler->[0]", \%args);
        return \%args;
}

##
# boolean $packetParser->willMangle(Bytes messageID)
# messageID: a message ID, such as "008A".
#
# Check whether the message with the specified message ID will be mangled.
# If the bot is running in X-Kore mode, then messages that will be mangled will not
# be sent to the RO client.
#
# By default, a message will never be mangled. Plugins can register mangling procedures
# though. This is done by using the following hooks:
# `l
# - "Network::Receive/willMangle" - This hook has arguments 'messageID' (Bytes) and 'name' (String).
#          'name' is a human-readable description of the message, and may be undef. Plugins
#          should set the 'return' argument to 1 if they want willMangle() to return 1.
# - "Network::Receive/mangle" - This hook has arguments 'messageArgs' and 'messageName' (the latter may be undef).
# `l`
# The following example demonstrates how this is done:
# <pre class="example">
# Plugins::addHook("Network::Receive/willMangle", \&willMangle);
# Plugins::addHook("Network::Receive/mangle", \&mangle);
#
# sub willMangle {
#     my (undef, $args) = @_;
#     if ($args->{messageID} eq '008A') {
#         $args->{willMangle} = 1;
#     }
# }
#
# sub mangle {
#     my (undef, $args) = @_;
#     my $message_args = $args->{messageArgs};
#     if ($message_args->{switch} eq '008A') {
#         ...Modify $message_args as necessary....
#     }
# }
# </pre>
sub willMangle {
        if (Plugins::hasHook("Network::Receive/willMangle")) {
                my ($self, $messageID) = @_;
                my $packet = $self->{packet_list}{$messageID};
                my $name;
                $name = $packet->[0] if ($packet);

                my %args = (
                        messageID => $messageID,
                        name => $name
                );
                Plugins::callHook("Network::Receive/willMangle", \%args);
                return $args{return};
        } else {
                return undef;
        }
}

# boolean $packetParser->mangle(Array* args)
#
# Calls the appropriate plugin function to mangle the packet, which
# destructively modifies $args.
# Returns false if the packet should be suppressed.
sub mangle {
        my ($self, $args) = @_;

        my %hook_args = (messageArgs => $args);
        my $entry = $self->{packet_list}{$args->{switch}};
        if ($entry) {
                $hook_args{messageName} = $entry->[0];
        }

        Plugins::callHook("Network::Receive/mangle", \%hook_args);
        return $hook_args{return};
}

##
# Network::Receive->decrypt(r_msg, themsg)
# r_msg: a reference to a scalar.
# themsg: the message to decrypt.
#
# Decrypts the packets in $themsg and put the result in the scalar
# referenced by $r_msg.
#
# This is an old method used back in the iRO beta 2 days when iRO had encrypted packets.
# At the moment (December 20 2006) there are no servers that still use encrypted packets.
#
# Example:
# } elsif ($switch eq "ABCD") {
#         my $level;
#         Network::Receive->decrypt(\$level, substr($msg, 0, 2));
sub decrypt {
        use bytes;
        my ($self, $r_msg, $themsg) = @_;
        my @mask;
        my $i;
        my ($temp, $msg_temp, $len_add, $len_total, $loopin, $len, $val);
        if ($config{encrypt} == 1) {
                undef $$r_msg;
                undef $len_add;
                undef $msg_temp;
                for ($i = 0; $i < 13;$i++) {
                        $mask[$i] = 0;
                }
                $len = unpack("v1",substr($themsg,0,2));
                $val = unpack("v1",substr($themsg,2,2));
                {
                        use integer;
                        $temp = ($val * $val * 1391);
                }
                $temp = ~(~($temp));
                $temp = $temp % 13;
                $mask[$temp] = 1;
                {
                        use integer;
                        $temp = $val * 1397;
                }
                $temp = ~(~($temp));
                $temp = $temp % 13;
                $mask[$temp] = 1;
                for($loopin = 0; ($loopin + 4) < $len; $loopin++) {
                        if (!($mask[$loopin % 13])) {
                                  $msg_temp .= substr($themsg,$loopin + 4,1);
                        }
                }
                if (($len - 4) % 8 != 0) {
                        $len_add = 8 - (($len - 4) % 8);
                }
                $len_total = $len + $len_add;
                $$r_msg = $msg_temp.substr($themsg, $len_total, length($themsg) - $len_total);
        } elsif ($config{encrypt} >= 2) {
                undef $$r_msg;
                undef $len_add;
                undef $msg_temp;
                for ($i = 0; $i < 17;$i++) {
                        $mask[$i] = 0;
                }
                $len = unpack("v1",substr($themsg,0,2));
                $val = unpack("v1",substr($themsg,2,2));
                {
                        use integer;
                        $temp = ($val * $val * 34953);
                }
                $temp = ~(~($temp));
                $temp = $temp % 17;
                $mask[$temp] = 1;
                {
                        use integer;
                        $temp = $val * 2341;
                }
                $temp = ~(~($temp));
                $temp = $temp % 17;
                $mask[$temp] = 1;
                for($loopin = 0; ($loopin + 4) < $len; $loopin++) {
                        if (!($mask[$loopin % 17])) {
                                  $msg_temp .= substr($themsg,$loopin + 4,1);
                        }
                }
                if (($len - 4) % 8 != 0) {
                        $len_add = 8 - (($len - 4) % 8);
                }
                $len_total = $len + $len_add;
                $$r_msg = $msg_temp.substr($themsg, $len_total, length($themsg) - $len_total);
        } else {
                $$r_msg = $themsg;
        }
}


#######################################
###### Private methods
#######################################

sub queryLoginPinCode {
        my $message = $_[0] || T("You've never set a login PIN code before.\nPlease enter a new login PIN code:");
        do {
                my $input = $interface->query($message, isPassword => 1,);
                if (!defined($input)) {
                        quit();
                        return;
                } else {
                        if ($input !~ /^\d+$/) {
                                $interface->errorDialog(T("The PIN code may only contain digits."));
                        } elsif ((length($input) <= 3) || (length($input) >= 9)) {
                                $interface->errorDialog(T("The PIN code must be between 4 and 9 characters."));
                        } else {
                                return $input;
                        }
                }
        } while (1);
}

sub queryAndSaveLoginPinCode {
        my ($self, $message) = @_;
        my $pin = queryLoginPinCode($message);
        if (defined $pin) {
                configModify('loginPinCode', $pin, silent => 1);
                return 1;
        } else {
                return 0;
        }
}

1;
回覆

使用道具 舉報

sxd123 當前離線
UID
103146
熱心
288 值
嘉獎
0 次
違規
0 次
在線時間
132 小時
經驗
271 點
積分
1169
精華
0
最後登錄
2016-12-25
閱讀權限
30
註冊時間
2006-11-30
論壇幣
441 幣
聯合幣
7 枚
幸運鑽
2 顆
招待卷
0 點
查看詳細資料
Rank: 4Rank: 4
8層
sxd123 2010-10-13 09:20:01
我記的  半殘版本   好像可以收到密語

但是會不會回去找補師,好像不會呢
回覆

使用道具 舉報

搞笑中中豬 當前離線
UID
1564286
熱心
95 值
嘉獎
0 次
違規
0 次
在線時間
49 小時
經驗
65 點
積分
65
精華
0
最後登錄
2011-4-24
閱讀權限
20
註冊時間
2010-10-12
論壇幣
3830 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
9層
搞笑中中豬 2010-10-13 09:20:02
我把他全部複製下來 = =  一樣 搜尋不到 0097 .... 好怪
回覆

使用道具 舉報

sxd123 當前離線
UID
103146
熱心
288 值
嘉獎
0 次
違規
0 次
在線時間
132 小時
經驗
271 點
積分
1169
精華
0
最後登錄
2016-12-25
閱讀權限
30
註冊時間
2006-11-30
論壇幣
441 幣
聯合幣
7 枚
幸運鑽
2 顆
招待卷
0 點
查看詳細資料
Rank: 4Rank: 4
10層
sxd123 2010-10-13 09:30:50
這一版確實找不到
但是我現在用起來還是可以收到密語
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

123下一頁

手機版 | Archiver | 外掛聯合國

GMT+8, 2026-10-5 03:18 , Processed in 0.061724 second(s), 16 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?