[patch] r7466 | eA | endless teleport loop

This place is for Closed bug reports only. NOT for asking help!

Moderators: Moderators, Developers

Message
Author
Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

[patch] r7466 | eA | endless teleport loop

#1 Post by Technology »

Ok, so I'm not 100% sure that I did everything right but here it goes...

Imagine you want to respawn on a character that has:
- configuration:

Code: Select all

teleportAuto_useSkill 1
teleportAuto_useItemForRespawn 1
teleportAuto_equip_rightAccessory Clip [Creamy] [1]
- skill: teleport lv 1
- item: no butterfly wing

It will:
1) try to use butterfly wing and fail.
2) fall-back attempting teleport lv 1 to to respawn and fail.

It seems like an aegis hack only, like the no sp tele hack.
So should we make it configurable?

In this case what the bot should do is walk , use teleport lv1 and walk, wait for a warp portal or try to commit suicide to reach the respawn point. ;)
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: r7466 | eA | endless teleport loop

#2 Post by kLabMouse »

Misc::useTeleport should be Rewritten as Task.

Mortimal
Developers
Developers
Posts: 389
Joined: 01 Nov 2008, 15:31
Noob?: No

Re: r7466 | eA | endless teleport loop

#3 Post by Mortimal »

Have the same problem in my bot. Here the log console in debug 2(i used teleport than bot began to teleport endlessly).

Code: Select all

[Jan 23 22:10:50 2011.16] Input: tele
[Jan 23 22:10:50 2011.17] Skill Use: 26
[Jan 23 22:10:50 2011.26] Received packet: 01F3 Handler: misc_effect
[Jan 23 22:10:50 2011.27] Unknown #2003498 применяет эффект: Unknown #414.
[Jan 23 22:10:50 2011.40] Received packet: 00B0 Handler: stat_info
[Jan 23 22:10:50 2011.41] Stat: 7 => 41888
[Jan 23 22:10:50 2011.41] Received packet: 043F Handler: actor_status_active
[Jan 23 22:10:50 2011.42] Вы снова получили статус: Action Delay (длительность: 0.477 с)
[Jan 23 22:10:50 2011.44] Received packet: 0091 Handler: map_change
[Jan 23 22:10:50 2011.45] Локация сменилась на: lhz_dun03.gat (174, 199).
[Jan 23 22:10:50 2011.45] Вы AI suspended by clientSuspend for 10 seconds
[Jan 23 22:10:50 2011.48] Локация загружена
[Jan 23 22:10:50 2011.88] Received packet: 01F3 Handler: misc_effect
[Jan 23 22:10:50 2011.90] Unknown #2003498 применяет эффект: Unknown #414.
[Jan 23 22:10:50 2011.93] Received packet: 01D7 Handler: player_equipment
[Jan 23 22:10:50 2011.94] Received packet: 02E8 Handler: inventory_items_stackable
[Jan 23 22:10:50 2011.94] Inventory: Ягода Иггдрасиля (0) x 24 - Usable Heal
[Jan 23 22:10:50 2011.97] Received packet: 02D0 Handler: inventory_items_nonstackable
[Jan 23 22:10:50 2011.98] Inventory: Belt [Creamy] [1] (1) x 1 - Armor - Accessory!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Jan 23 22:10:50 2011.98] Inventory: Посох Жизни [1] (2) x 1 - Weapon - One-Handed Weapon
[Jan 23 22:10:50 2011.99] Inventory: Выбивалка Угов (3) x 1 - Armor - Helmet
[Jan 23 22:10:51 2011.33] Received packet: 00B0 Handler: stat_info
[Jan 23 22:10:51 2011.16] Stat: 24 => 9700
[Jan 23 22:10:51 2011.27] Received packet: 00B0 Handler: stat_info
[Jan 23 22:10:51 2011.34] Stat: 25 => 26300
[Jan 23 22:10:51 2011.69] Received packet: 0199 Handler: map_property
[Jan 23 22:10:51 2011.91] Вы снова получили статус: MAPPROPERTY_FREEPVPZONE
[Jan 23 22:10:51 2011.10] Received packet: 022C Handler: actor_display
[Jan 23 22:10:51 2011.10] Monster Moved: Kathryne Keyron (0) - (173, 189) -> (169, 189)
[Jan 23 22:10:51 2011.11] Received packet: 0078 Handler: actor_display
[Jan 23 22:10:51 2011.14] Monster Exists: Eremes Guile (1)
[Jan 23 22:10:51 2011.15] Received packet: 0078 Handler: actor_display
[Jan 23 22:10:51 2011.16] Monster Exists: Kathryne Keyron (2)
[Jan 23 22:10:51 2011.17] Received packet: 022C Handler: actor_display
[Jan 23 22:10:51 2011.19] Monster Moved: Kathryne Keyron (3) - (165, 206) -> (159, 206)
[Jan 23 22:10:51 2011.20] Received packet: 0141 Handler: stat_info2
[Jan 23 22:10:51 2011.22] Strength: 1 + 3
[Jan 23 22:10:51 2011.23] Received packet: 0141 Handler: stat_info2
[Jan 23 22:10:51 2011.24] Agility: 1 + 8
[Jan 23 22:10:51 2011.24] Received packet: 0141 Handler: stat_info2
[Jan 23 22:10:51 2011.26] Vitality: 457 + 5
[Jan 23 22:10:51 2011.28] Received packet: 0141 Handler: stat_info2
[Jan 23 22:10:51 2011.29] Intelligence: 500 + 20
[Jan 23 22:10:51 2011.31] Received packet: 0141 Handler: stat_info2
[Jan 23 22:10:51 2011.32] Dexterity: 192 + 9
[Jan 23 22:10:51 2011.35] Received packet: 0141 Handler: stat_info2
[Jan 23 22:10:51 2011.36] Luck: 1 + 3
[Jan 23 22:10:51 2011.37] Received packet: 007F Handler: received_sync
[Jan 23 22:10:51 2011.37] Received Sync
[Jan 23 22:10:51 2011.62] Received packet: 0080 Handler: actor_died_or_disappeared
[Jan 23 22:10:51 2011.62] Monster Disappeared: Kathryne Keyron (3)
[Jan 23 22:10:52 2011.23] Received packet: 0086 Handler: actor_display
[Jan 23 22:10:52 2011.24] Monster Moved: Eremes Guile (1) - (174, 192) -> (177, 192)
[Jan 23 22:10:52 2011.50] Sent get player info: ID - 28 02 AD 06
[Jan 23 22:10:52 2011.50] Checking for new portals...
[Jan 23 22:10:52 2011.51] No source portal found.
[Jan 23 22:10:52 2011.52] Skill Use: 26
[Jan 23 22:10:52 2011.53] AI: teleport items_take route | 3
Sory for Russian i have no another lang bot.

Config part:

Code: Select all

route_teleport 0
route_teleport_minDistance 0
route_teleport_maxTries 0
route_teleport_notInMaps lhz_dun03

teleportAuto_hp 0
teleportAuto_sp 0
teleportAuto_idle 0
teleportAuto_portal 0
teleportAuto_search 0
teleportAuto_minAggressives 0
teleportAuto_minAggressivesInLock 0
teleportAuto_onlyWhenSafe 0
teleportAuto_maxDmg 100000
teleportAuto_maxDmgInLock 0
teleportAuto_deadly 0
teleportAuto_useSkill 1
teleportAuto_useChatCommand
teleportAuto_allPlayers 0
teleportAuto_notPlayers
teleportAuto_atkCount 0
teleportAuto_atkMiss 10
teleportAuto_unstuck 0
teleportAuto_lostTarget 0
teleportAuto_dropTarget 0
teleportAuto_dropTargetKS 0
teleportAuto_attackedWhenSitting 0
teleportAuto_totalDmg 0
teleportAuto_totalDmgInLock 0
teleportAuto_equip_leftAccessory
teleportAuto_equip_rightAccessory
teleportAuto_lostHomunculus
teleportAuto_useItemForRespawn
Duno if this info is important or no :-/
Please use pin function for uploading your file contents!

Mortimal
Developers
Developers
Posts: 389
Joined: 01 Nov 2008, 15:31
Noob?: No

Re: r7466 | eA | endless teleport loop

#4 Post by Mortimal »

Maybe Misc.pm:

Code: Select all

if ($char->{sitting}) {
				Plugins::callHook('teleport_sent', \%args);
				main::ai_skillUse($skill->getHandle(), $use_lvl, 0, 0, $accountID);
				return 1;
			} else {
				$messageSender->sendSkillUse($skill->getIDN(), $sk_lvl, $accountID);
				undef $char->{permitSkill};
-> Add this?		return 1;
			}
Please use pin function for uploading your file contents!

Mortimal
Developers
Developers
Posts: 389
Joined: 01 Nov 2008, 15:31
Noob?: No

Re: r7466 | eA | endless teleport loop

#5 Post by Mortimal »

[:) my first solved bug i am so proud of myself)))
Please use pin function for uploading your file contents!

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: r7466 | eA | endless teleport loop

#6 Post by EternalHarvest »

That can eliminate this issue, but then block with "AI::queue('teleport')" becomes unreachable. So the real problem may be in CoreLogic::processDelayedTeleport and its timeouts.

Mortimal
Developers
Developers
Posts: 389
Joined: 01 Nov 2008, 15:31
Noob?: No

Re: [patch] r7466 | eA | endless teleport loop

#7 Post by Mortimal »

Nothing changed even when:

Code: Select all

ai_teleport_retry 10
ai_teleport_delay 10
Can that mean that Kore does not receive info that teleport is succeed?
Please use pin function for uploading your file contents!

Mortimal
Developers
Developers
Posts: 389
Joined: 01 Nov 2008, 15:31
Noob?: No

Re: [patch] r7466 | eA | endless teleport loop

#8 Post by Mortimal »

Maybe we need specify $timeout{ai_teleport_delay}{time} in block I wrote before?
Please use pin function for uploading your file contents!

Mortimal
Developers
Developers
Posts: 389
Joined: 01 Nov 2008, 15:31
Noob?: No

Re: [patch] r7466 | eA | endless teleport loop

#9 Post by Mortimal »

It 100% loops in

Code: Select all

} elsif (!$timeout{ai_teleport_delay}{time} && timeOut($timeout{ai_teleport_retry})) {
    # We are still trying to use the Teleport skill
    message T("Using Teleport Skill Level 1! Due too retry!\n");//my line to locate bug
    $messageSender->sendSkillUse(26, $char->{skills}{AL_TELEPORT}{lv}, $accountID);
    $timeout{ai_teleport_retry}{time} = time;
}
But why (((?...
Please use pin function for uploading your file contents!

Mortimal
Developers
Developers
Posts: 389
Joined: 01 Nov 2008, 15:31
Noob?: No

Re: [patch] r7466 | eA | endless teleport loop

#10 Post by Mortimal »

I have a question!

Code: Select all

			if (!$emergency && $use_lvl == 1) {
				#message T("Commiting Teleport Skill Level 1!\n");
				Plugins::callHook('teleport_sent', \%args);
				$timeout{ai_teleport_retry}{time} = time;
do we realy need this line?				AI::queue('teleport');
				return 1;
			}
If we realy need it than why:

Code: Select all

sub processDelayedTeleport {
	if (AI::action eq 'teleport') {
		if ($timeout{ai_teleport_delay}{time} && timeOut($timeout{ai_teleport_delay})) {
			# We have already successfully used the Teleport skill,
			# and the ai_teleport_delay timeout has elapsed
			message T("Using Teleport Skill Level 1! Due too delay!\n");
			$messageSender->sendWarpTele(26, AI::args->{lv} == 2 ? "$config{saveMap}.gat" : "Random");
			AI::dequeue;
		} elsif (!$timeout{ai_teleport_delay}{time} && timeOut($timeout{ai_teleport_retry})) {
			# We are still trying to use the Teleport skill
			message T("Using Teleport Skill Level 1! Due too retry!\n");
			$messageSender->sendSkillUse(26, $char->{skills}{AL_TELEPORT}{lv}, $accountID);
			$timeout{ai_teleport_retry}{time} = time;
this line does not have AI::dequeue;?????????
		}
	}
}
Maybe solution is:

Code: Select all

} elsif (!$timeout{ai_teleport_delay}{time} && timeOut($timeout{ai_teleport_retry})) {
			# We are still trying to use the Teleport skill
			message T("Using Teleport Skill Level 1! Due too retry!\n");
			$messageSender->sendSkillUse(26, $char->{skills}{AL_TELEPORT}{lv}, $accountID);
			$timeout{ai_teleport_retry}{time} = time;
		}elsif (!$timeout{ai_teleport_delay}{time} && !timeOut($timeout{ai_teleport_retry})) {
      We need to put somsing that clean ai from telleporting... Can It be AI::dequeue; ???
}
Please use pin function for uploading your file contents!

Post Reply