Openkore.com

OpenKore Forums
It is currently 20 Oct 2018, 21:42

All times are UTC - 5 hours [ DST ]





Post new topic Reply to topic  [ 119 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 12  Next
Author Message
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 18 Apr 2008, 13:41 
Offline
Testers Team
Testers Team

Joined: 04 Apr 2008, 21:53
Posts: 106
Location: Asia
aih after using this plugins my exp drop from 98k to 30k only.
mayb it because it always return to slave to avoid been separated.

_________________
Image
Image


Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 18 Apr 2008, 14:12 
Offline
Cybernatic Entity
Cybernatic Entity
User avatar

Joined: 04 Apr 2008, 13:15
Posts: 249
Location: Brazil
May be...
but this will happen only if the slave walk way while master is killing a monster. They normally get separated just when the master start to walk or are walking!
You can configure the slave to take items too.

_________________
Old Openkore Manual | Macro Plugin Manual | Old Forum | My Perl Bible | Guide to figuring out server information


Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 22 Apr 2008, 02:48 
Offline
Been there done that!
Been there done that!
User avatar

Joined: 04 Apr 2008, 16:23
Posts: 106
Location: The Bay
this plugin has been frustrating me lately... ive been trying to play with it to get it to work with my hunter/priest combo, but, the problem is, whenever my team dies/has to refuel in town the master will always run back to the slave through portals... then the slave wont go through the portal because the master came back through it.... then when the master finds the slave, it will go back on its normal route (through the portal) get through the portal, realize the slave isnt there, then run back to where the slave was (on the other side of the portal).... it gets in the vicious circle and is VERY obvious that i am botting.... (thank goodness for xkore pointing this out to me)... how can i fix this so the master will only wait for the slave on the lockmap?

_________________
Don't Get Owned! Do Your Research First.
The Manual | Packet Extractor | Use Macros | Server Info Guide | Old Forum
You got banned? Krai me a fuckin river..


Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 22 Apr 2008, 06:59 
Offline
Cybernatic Entity
Cybernatic Entity
User avatar

Joined: 04 Apr 2008, 13:15
Posts: 249
Location: Brazil
That is wierd, this kind of thing never happen to me...
Well, I changed the plugin including the follow_wait_inLockOnly option, you just need to use this option at the config.txt, since I didn't test it yet, I won't post it at the first post for now... when I get home and test it or if you test it and give me your OK, I change the first post.


Attachments:
File comment: Included the follow_wait_inLockOnly option
waitParty.pl [3.15 KiB]
Downloaded 1070 times

_________________
Old Openkore Manual | Macro Plugin Manual | Old Forum | My Perl Bible | Guide to figuring out server information
Top
 Profile  
 
 Post subject: CHANGED: wait4party -- Stick together team!
PostPosted: 24 Apr 2008, 12:18 
Offline
Human
Human
User avatar

Joined: 23 Apr 2008, 10:11
Posts: 30
Location: Indonesia TANAH AIRKU
Here's the Update for the Wait4Party plugins :lol:

Btw, u need to replace your 'Src\Network\Receive.pm' files with my modified one.
Don't worry, it isn't harmful. I even already added 'death exp reduction' features to count your reduced exp on death.

FIXED! TRANSLATED!
Code:
########################################
# Wait4Party v1.0.1 -- Stick Together Team!
# ©2008 by Contrad
#
# 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.
#
# How to install :
# I uses self defined hooks instead of 'AI_pre' to reduce PC usage
# So u must copy my modified <Src\Network\Receive.pm> files.
# Else, just change the hooks to a single 'AI_pre' hook.
#
# How to use :
# <config.txt>
# wait4party (0|1)         Wait4Party On or Off
# wait4party_sameMapOnly (0|1)      Only activate if the party member are in the same map
# wait4party_waitBySitting (0|1)   Don't search, just sit and wait
# wait4party_followSit (0|1)      Sitting when party is sitting
#   ATTENTION! Turn off 'followSitAuto' or they'll sit forever!
#
# Anyway I use 'Bahasa' instead of 'English' to promote INDONESIA. :D
# U'r free to translate it.

package wait4party;

use Plugins;
use Globals;
use Log qw(message error warning debug);

our $findParty;
our $temp;

Plugins::register('waitParty', 'Tungguin anggota grup', \&unload, \&unload);
my $hooks = Plugins::addHooks(   ['actor_player_add', \&waitForOthers, undef],
            ['actor_player_remove', \&waitForOthers, undef],
            ['party_share', \&waitForOthers, undef],
            ['party_move', \&waitForOthers, undef],
            ['actor_action_sit', \&waitForOthers, undef],
            ['actor_action_stand', \&waitForOthers, undef]);

sub unload {
   Plugins::delHooks($hooks);
}

sub waitForOthers {
   return if (AI::action eq "attack");
        return unless $config{'wait4party'};
   return unless defined @partyUsersID;
   my $actor;
   foreach (@partyUsersID) {
    next if $_ eq $accountID;
    next if $_ eq "";
      $actor = $playersList->getByID($_);

      if(!$actor && $char->{'party'}{'users'}{$_}{'online'}) {
         if ($config{'wait4party_waitBySitting'}) {
            Commands::cmdSit() if !$char->{sitting};
            if (!$findParty) {
               #TRANSLATION : Party Lost - Sit while waiting for party.
               warning "Party hilang - Duduk untuk tunggu anggota yang hilang.\n", "waitParty";
               $findParty = 1;
            }
            return;
         }
         my %party;

         $party{x} = $char->{party}{users}{$_}{pos}{x};
         $party{y} = $char->{party}{users}{$_}{pos}{y};
         ($party{map}) = $char->{party}{users}{$_}{map} =~ /([\s\S]*)\.gat/;

         if ($party{map} ne $field{name} || $party{x} == 0 || $party{y} == 0) {
            return if $config{'wait4party_sameMapOnly'};
            delete $party{x};
            delete $party{y};
         }

         return unless ($party{map} ne $field{name} || exists $party{x});

         if ((exists $ai_v{party} && AI::distance(\%party, $ai_v{party}) > 15)
            || $party{map} != $ai_v{party}{map}
            || (AI::timeOut($ai_v{party}{time}, 15) && AI::distance(\%party, $char->{pos_to}) > $config{followDistanceMax})) {

            $ai_v{party}{x} = $party{x};
            $ai_v{party}{y} = $party{y};
            $ai_v{party}{map} = $party{map};
            $ai_v{party}{time} = time;

            #TRANSLATION : Party Lost - Searching Lost Member.
            warning "Party hilang - Cari anggota yang hilang.\n", "waitParty";

            if ($ai_v{party}{map} ne $field{name}) {
               #TRANSLATION : Search party member:....
               message "Mencari anggota grup: $ai_v{party}{map}\n", , "follow";
            } elsif (AI::distance(\%party, $char->{pos_to}) > $config{followDistanceMax} ) {
               message "Mencari anggota grup: $ai_v{party}{map} ($ai_v{party}{x},$ai_v{party}{y})\n", "follow";
            } else {
               return;
            }
            AI::clear("move", "route", "mapRoute");
            AI::ai_route($ai_v{party}{map}, $ai_v{party}{x}, $ai_v{party}{y}, distFromGoal => $config{followDistanceMin}, attackOnRoute => 1);
            my $followIndex = AI::findAction("follow");
            if (defined $followIndex) {
               $ai_seq_args[$followIndex]{ai_follow_lost_end}{timeout} = $timeout{ai_follow_lost_end}{timeout};
            }
         }
         $findParty = 1;
         return;
      } elsif ($findParty && ($actor = $playersList->getByID($_))) {
         Commands::cmdStand() if $char->{sitting};
         #TRANSLATION : Party found.
         warning "Party ditemukan.\n", "waitParty";
         $findParty = 0;
      } elsif ($findParty) {
         #TRANSLATION : Party is offline or missing.
         warning "Party sudah offline atau hilang.\n", "waitParty";
         $findParty = 0;
         return;
      }
      
      if ($config{'wait4party_followSit'} && AI::action ne "sitAuto" && $actor && $actor->{sitting}) {
         if (!$char->{sitting}) {
            Commands::cmdSit();
            #TRANSLATION : Party member is Sitting.
            warning "Party duduk.\n", "waitParty";
         }
         return;
      }
   }
   if ($config{'wait4party_followSit'} && AI::action ne "sitAuto" && $char->{sitting}) {
      Commands::cmdStand();
      #TRANSLATION : Party member is Standing.
      warning "Party berdiri.\n", "waitParty";
   }
}
1;


Thank you very much for all u'r support. But I won't be logged in frequently, sorry.
Best wishes!


Attachments:
File comment: Replace 'Src\Network\Receive.pm' with this file!
Receive.pm [207.48 KiB]
Downloaded 823 times


Last edited by Chontrad on 27 Apr 2008, 10:48, edited 1 time in total.
Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 24 Apr 2008, 23:43 
Offline
Testers Team
Testers Team

Joined: 04 Apr 2008, 21:53
Posts: 106
Location: Asia
Code:
*** OpenKore 2.0.5.1 - Custom Ragnarok Online client ***
***   http://www.openkore.com/   ***

Loading #plugins/waitForParty.pl...
Scalar found where operator expected at C:/Documents and Settings/****/My Docu
ments/My Received Files/OpenKore -2.0.5.1/#plugins/wait
ForParty.pl line 64, near "$findParty"
        (Missing semicolon on previous line?)
This plugin cannot be loaded because of a problem in the plugin. Please notify
the plugin's author about this problem, or remove the plugin so OpenKore can
start.

The error message is:
Plugin contains syntax errors:
syntax error at C:/Documents and Settings/****/My Documents/My Received
Files/OpenKore -2.0.5.1/#plugins/waitForParty.pl line
64, near "$findParty "

Press ENTER to exit this program.

_________________
Image
Image


Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 25 Apr 2008, 10:36 
Offline
Cybernatic Entity
Cybernatic Entity
User avatar

Joined: 04 Apr 2008, 13:15
Posts: 249
Location: Brazil
It is missing a semicolon, use this code:
Code:
########################################
# Wait4Party v1.0.1 -- Stick Together Team!
# ©2008 by Contrad
#
# 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.
#
# How to install :
# I uses self defined hooks instead of 'AI_pre' to reduce PC usage
# So u must copy my modified <Src\Network\Receive.pm> files.
# Else, just change the hooks to a single 'AI_pre' hook.
#
# How to use :
# <config.txt>
# wait4party (0|1)         Wait4Party On or Off
# wait4party_sameMapOnly (0|1)      Only activate if the party member are in the same map
# wait4party_waitBySitting (0|1)   Don't search, just sit and wait
# wait4party_followSit (0|1)      Sitting when party is sitting
#   ATTENTION! Turn off 'followSitAuto' or they'll sit forever!
#
# Anyway I use 'Bahasa' instead of 'English' to promote INDONESIA. :D
# U'r free to translate it.

package wait4party;

use Plugins;
use Globals;
use Log qw(message error warning debug);

our $findParty;
our $temp;

Plugins::register('waitParty', 'Tungguin anggota grup', \&unload, \&unload);
my $hooks = Plugins::addHooks(   ['actor_player_add', \&waitForOthers, undef],
            ['actor_player_remove', \&waitForOthers, undef],
            ['party_share', \&waitForOthers, undef],
            ['party_move', \&waitForOthers, undef],
            ['actor_action_sit', \&waitForOthers, undef],
            ['actor_action_stand', \&waitForOthers, undef]);

sub unload {
   Plugins::delHooks($hooks);
}

sub waitForOthers {
   return if (AI::action eq "attack");
        return unless $config{'wait4party'};
   return unless defined @partyUsersID;
   my $actor;
   foreach (@partyUsersID) {
    next if $_ eq $accountID;
    next if $_ eq "";
      $actor = $playersList->getByID($_);

      if(!$actor && $char->{'party'}{'users'}{$_}{'online'}) {
         if ($config{'wait4party_waitBySitting'}) {
            Commands::cmdSit() if !$char->{sitting};
            if (!$findParty) {
               warning "Party hilang - Duduk untuk tunggu anggota yang hilang\n", "waitParty";
               $findParty = 1;
            }
            return;
         }
         my %party;

         $party{x} = $char->{party}{users}{$_}{pos}{x};
         $party{y} = $char->{party}{users}{$_}{pos}{y};
         ($party{map}) = $char->{party}{users}{$_}{map} =~ /([\s\S]*)\.gat/;

         if ($party{map} ne $field{name} || $party{x} == 0 || $party{y} == 0) {
            return if $config{'wait4party_sameMapOnly'};
            delete $party{x};
            delete $party{y};
         }

         return unless ($party{map} ne $field{name} || exists $party{x});

         if ((exists $ai_v{party} && AI::distance(\%party, $ai_v{party}) > 15)
            || $party{map} != $ai_v{party}{map}
            || (AI::timeOut($ai_v{party}{time}, 15) && AI::distance(\%party, $char->{pos_to}) > $config{followDistanceMax})) {

            $ai_v{party}{x} = $party{x};
            $ai_v{party}{y} = $party{y};
            $ai_v{party}{map} = $party{map};
            $ai_v{party}{time} = time;

            warning "Party hilang - Cari anggota yang hilang\n", "waitParty";

            if ($ai_v{party}{map} ne $field{name}) {
               message "Mencari anggota grup: $ai_v{party}{map}\n", , "follow";
            } elsif (AI::distance(\%party, $char->{pos_to}) > $config{followDistanceMax} ) {
               message "Mencari anggota grup: $ai_v{party}{map} ($ai_v{party}{x},$ai_v{party}{y})\n", "follow";
            } else {
               return;
            }
            AI::clear("move", "route", "mapRoute");
            AI::ai_route($ai_v{party}{map}, $ai_v{party}{x}, $ai_v{party}{y}, distFromGoal => $config{followDistanceMin}, attackOnRoute => 1);
            my $followIndex = AI::findAction("follow");
            if (defined $followIndex) {
               $ai_seq_args[$followIndex]{ai_follow_lost_end}{timeout} = $timeout{ai_follow_lost_end}{timeout};
            }
         }
         $findParty = 1;
         return;
      } elsif ($findParty && ($actor = $playersList->getByID($_))) {
         Commands::cmdStand() if $char->{sitting};
         warning "Party ditemukan.\n", "waitParty";
         $findParty = 0;
      } elsif ($findParty) {
         warning "Party sudah offline atau hilang.\n", "waitParty";
         $findParty = 0;
         return;
      }
     
      if ($config{'wait4party_followSit'} && AI::action ne "sitAuto" && $actor && $actor->{sitting}) {
         if (!$char->{sitting}) {
            Commands::cmdSit();
            warning "Party duduk.\n", "waitParty";
         }
         return;
      }
   }
   if ($config{'wait4party_followSit'} && AI::action ne "sitAuto" && $char->{sitting}) {
      Commands::cmdStand();
      warning "Party berdiri.\n", "waitParty";
   }
}
1;

_________________
Old Openkore Manual | Macro Plugin Manual | Old Forum | My Perl Bible | Guide to figuring out server information


Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 27 Apr 2008, 10:33 
Offline
Human
Human
User avatar

Joined: 23 Apr 2008, 10:11
Posts: 30
Location: Indonesia TANAH AIRKU
Sorry! My mistake! Thanks Mucilon.


Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 28 Apr 2008, 06:14 
Offline
Noob
Noob

Joined: 28 Apr 2008, 06:00
Posts: 2
waw .. its so cool ...
i will try it

thx before :D


Top
 Profile  
 
 Post subject: Re: waitForParty -- Don't get separeted!
PostPosted: 03 May 2008, 14:29 
Offline
Human
Human
User avatar

Joined: 27 Apr 2008, 12:52
Posts: 46
Location: Russia
Thank you, it's what I looking for! Really helpful.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 119 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 12  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group