- # mod SirensLove use for OPK with SLClient
- # Later 16/7/2013 OPK SVN r8636 is now work on tRO
- package Sirens;
- use strict;
- use Globals;
- use Plugins;
- use Log qw(error);
- use Misc qw(relog);
- use Utils qw(dataWaiting);
- use IO::Socket::INET;
- use Network::Send;
- Plugins::register('Sirens', 'Sirens Server Plugin', \&onUnload);
- my $hooks = Plugins::addHooks(
- ['initialized', \&onInitialized],
- ['mainLoop_pre', \&onMainLoopPre],
- ['parseMsg/pre', \&onParseMsg]
- );
- use Utils qw(timeOut timeConvert);
- ##HH 29-Nov-2008
- our $waittime;
- our $timesend;
- sub onUnload {
- Plugins::delHooks($hooks);
- };
- my $sirens_host = '127.0.0.1';
- my $sirens_port = 21115;
- my ($sirens_socket, $failecount);
- sub onInitialized {
- $sirens_socket = IO::Socket::INET->new();
- connect2sirens(\$sirens_socket);
- }
- sub onMainLoopPre {
- if (dataWaiting(\$sirens_socket)) {
- my $buf;
- $sirens_socket->recv($buf, 512);
- # $net->serverSend($buf) if (length($buf) > 1);
- $messageSender->sendToServer($buf) if (length($buf) > 1);
- ##HH 29-Nov-2008
- $timesend =0;
- # error("Plugin read 02A7 >> KORE.\n");
- }
- if ($failecount >= 3) {
- quit();
- }
- ###HH 29-Nov-2008
- if ( timeOut($timesend,185) && $timesend ) {
- # $interface->writeoutput("!!! Reconnect to MukaServer !!! \n");
- error("Reconnect to SirensLove at 21115.\n");
- my $connected = connect2sirens(\$sirens_socket);
- if ($connected ) {
- $timesend=0;
- }
- }
- ###End HH
- }
- sub onParseMsg {
- my $args = $_[1];
- my $switch = $args->{switch};
- my $msg = $args->{msg};
- my $msg_size = $args->{msg_size};
- if ($switch eq '02A6') {
- unless ($sirens_socket->connected()) {
- return unless (connect2sirens(\$sirens_socket));
- }
- $msg_size = unpack("S1", substr($msg, 2, 2));
- $sirens_socket->send(substr($msg, 0, $msg_size));
- ##HH 29-Nov-2008
- $timesend=time;
- }
- }
- sub connect2sirens {;
- my ($r_socket) = @_;
- ${$r_socket} = IO::Socket::INET->new(
- PeerAddr => $sirens_host,
- PeerPort => $sirens_port,
- Proto => 'tcp'
- );
- if (${$r_socket} && inet_aton(${$r_socket}->peerhost()) eq inet_aton($sirens_host)) {
- $failecount = 0;
- return 1;
- error("Sirens Server connected.\n");
- } else {
- error("Can't connect to Sirens Server.\n");
- relog() if ($conState == 5);
- $failecount++;
- return 0;
- }
- }
- return 1;
Tuesday, August 6, 2013
SirensLove use for OPK with SLClient
Thursday, August 1, 2013
SirensLove Client
- ========================================================================================
- วิธีใช้งานบอท OpenKore SVN เชื่อมต่อเข้ากับ SirensLove Client
- ========================================================================================
- 1. สร้างไฟล์ Sirens for SLClient.pl เพื่อเอาไว้ใช้คู่กับ SL Client ขึ้นมา โดย ...
- - เข้าไป Copy Code จากข้างในลิ้งนี้ http://pastebin.com/rSQ1U4TJ หรือ http://paste2.org/XPxd297A ทั้ง 2 ไฟล์นี้แก้ข้อความสีแดงๆ Plugin read 02A7 >> KORE. แล้ว (Credit: พี่เต๋า@SL)
- - เปิดโปรแกรม notepad ขึ้นมา
- - ทำการวางข้อมูลลงใน notepad (กด Ctrl+V)
- - Save File ชื่ออะไรก็ได้ แต่ให้เป็นนามสกุล *.pl (แนะนำให้ตั้งชื่อ Sirens for SLClient.pl)
- - นำไฟล์ Sirens for SLClient.pl ที่ทำขึ้นมานี้ไปใส่ไว้ในโฟลเดอร์ plugins\
- 2. โหลดโปรแกรม SirensLove Client (SL) ได้ที่ http://sirenslove.freeforums.org/ สมัคร User เว็บนี้ก่อนจึงจะสามารถโหลดไฟล์ได้
- จากนั้นทำการขอ User เพื่อใช้งาน SL มาให้พร้อม (คนละ User กับที่สมัครในเว็บ)
- วิธีการขอ User SL ให้ดูขวามือของหน้าต่าง SL มันจะมีเมนูให้เลือก 6 ข้อ ให้กดที่เมนู Registration and Support
- จะมีรายชื่อซัพพอร์ท ให้กดชื่อ Support คนที่อยากคุยด้วย จะมีลิ้งไปที่เฟสบุคของเขา
- แล้วทำการ add เพื่อน เพื่อคุยขอ User สำหรับใช้งาน SL
- - เปิดโปรแกรม SL ขึ้นมา
- - ทำเครื่องหมายถูกบนช่องที่อยู่ข้างบนสุด
- - ใส่ User / Pass
- - กด Login (ถ้าไม่ Login SL เอาไว้ บอทก็จะโดน HS ตัด)
- 3. ปิดการแสดงข้อความของ Poseidon โดยให้เปิดไฟล์ ServerType0.pm ขึ้นมา
- จะอยู่ที่โฟลเดอร์ OpenKore SVN (tRO)\src\Network\Receive\ServerType0.pm
- ทำการแก้ไขโดยใส่เครื่องหมาย # ข้างหน้าบรรทัด เพื่อปิดการทำงานของ Poseidon (ทำตามข้างล่างเลย)
- sub gameguard_request {
- # my ($self, $args) = @_;
- #
- # return if ($net->version == 1 && $config{gameGuard} ne '2');
- # Poseidon::Client::getInstance()->query(
- # substr($args->{RAW_MSG}, 0, $args->{RAW_MSG_SIZE})
- # );
- # debug "Querying Poseidon\n", "poseidon";
- }
- *** ดูดีๆนะครับ จะใส่เครื่องหมาย # เฉพาะในส่วนข้างในของฟังก์ชั่น ... คือ บรรทัด บนสุด-ล่างสุด จะไม่ใส่ # ไว้เลย ***
- 4. ถ้ามั่นใจว่าเซ็ตบอทเนียนๆแล้ว ก็เริ่มเปิดบอทได้เลยครับ
Subscribe to:
Posts (Atom)