The r8580 for src/Actor/You.pm

Wrote new code? Fixed a bug? Want to discuss technical stuff? Feel free to post it here.

Moderator: Moderators

Message
Author
sofax222
Developers
Developers
Posts: 214
Joined: 24 Nov 2010, 03:08
Noob?: Yes

The r8580 for src/Actor/You.pm

#1 Post by sofax222 »

After upgrade to r8580, I got the error as following:

Code: Select all

OpenKore version what-will-become-2.1
@ai_seq = attack route
Network state = 5
Network handler = Network::DirectConnection
SVN revision: 8680
Loaded plugins:
  plugins/avoidTrap.pl (avoidTrap; description: React to traps.)
  plugins/planLockMapWalk.pl (planLockMapWalk; description: Auto Plan to walk.)
  plugins/avoidSkill.pl (avoidSkill; description: React to skills.)
  plugins/partylockmap.pl (partylockmap; description: Follow Party LockMap)
  plugins/chkPostDelay.pl (chkpostdelay; description: Checking the EFST_POSTDELAY status)
  plugins/breakTime.pl (breakTime; description: config.autoBreakTime)
  plugins/AutoEventLog.pl (AutoEventLog; description: Record console messages after some specifed event)
  plugins/macro.pl (macro; description: allows usage of macros)

Error message:
Attempt to STORE non Actor reference to the hash of actors
Key:
6172726f77
Value:
$VAR1 = {};

Stack trace:
Attempt to STORE non Actor reference to the hash of actors
Key:
6172726f77
Value:
$VAR1 = {};
 at src/Utils/ActorHashTie.pm line 18
	Tie::ActorHash::STORE('Tie::ActorHash=ARRAY(0x80ab32b88)', 'arrow', 'HASH(0x80adaded0)') called at src/Actor/You.pm line 345
	Actor::You::attack('Actor::You=HASH(0x8068148a0)', 'X\x{d4}\x{0}\x{0}') called at src/AI/CoreLogic.pm line 2883
	AI::CoreLogic::processAutoAttack() called at src/AI/CoreLogic.pm line 171
	AI::CoreLogic::iterate() called at src/functions.pl line 758
	main::mainLoop_initialized() called at src/functions.pl line 70
	main::mainLoop() called at src/Interface.pm line 75
	Interface::mainLoop('Interface::Console::Unix=HASH(0x807825390)') called at /u/ro/ok4/openkore.pl line 97
	main::__start() called at /u/ro/ok4/openkore.pl line 187
What for these two lines:

Code: Select all

	require Utils::ActorHashTie;
	tie %{$self->{equipment}}, 'Tie::ActorHash';

Maple
Noob
Noob
Posts: 14
Joined: 21 Mar 2013, 05:55
Noob?: No

Re: The r8580 for src/Actor/You.pm

#2 Post by Maple »

:ugeek:
I guess it's a hashkey bug fix.
But I get the same error too :X

iMikeLance
Moderators
Moderators
Posts: 208
Joined: 01 Feb 2010, 17:37
Noob?: No
Location: Brazil - MG
Contact:

Re: The r8580 for src/Actor/You.pm

#3 Post by iMikeLance »

Code: Select all

OpenKore version what-will-become-2.1
@ai_seq = attack route
Network state = 5
Network handler = Network::DirectConnection
SVN revision: unknown
Loaded plugins:
  removed

Error message:
Attempt to STORE non Actor reference to the hash of actors
Key:
726967687448616e64
Value:
$VAR1 = {};

Stack trace:
Attempt to STORE non Actor reference to the hash of actors
Key:
726967687448616e64
Value:
$VAR1 = {};
 at src/Utils/ActorHashTie.pm line 18
	Tie::ActorHash::STORE('Tie::ActorHash=ARRAY(0x5e49194)', 'rightHand', 'HASH(0x5e5bb44)') called at src/Actor/Item.pm line 234
	Actor::Item::scanConfigAndCheck('attackEquip') called at src/AI/Attack.pm line 563
	AI::Attack::main() called at src/AI/Attack.pm line 97
	AI::Attack::process() called at src/AI/CoreLogic.pm line 79
	AI::CoreLogic::iterate() called at src/functions.pl line 758
	main::mainLoop_initialized() called at src/functions.pl line 70
	main::mainLoop() called at src/Interface.pm line 75
	Interface::mainLoop('Interface::Console::Win32=HASH(0x3b8ca4c)') called at korepath\openkore.pl line 97
	main::__start() called at korepath\openkore.pl line 187

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

Re: The r8580 for src/Actor/You.pm

#4 Post by EternalHarvest »

This was added to catch autovivification bugs in $char->{equipment}.
sofax222 wrote: Tie::ActorHash::STORE('Tie::ActorHash=ARRAY(0x80ab32b88)', 'arrow', 'HASH(0x80adaded0)') called at src/Actor/You.pm line 345
Actor::You::attack('Actor::You=HASH(0x8068148a0)', 'X\x{d4}\x{0}\x{0}') called at src/AI/CoreLogic.pm line 2883
Dubious. What do you have at this line in Actor::You?
iMikeLance wrote: Tie::ActorHash::STORE('Tie::ActorHash=ARRAY(0x5e49194)', 'rightHand', 'HASH(0x5e5bb44)') called at src/Actor/Item.pm line 234
Actor::Item::scanConfigAndCheck('attackEquip') called at src/AI/Attack.pm line 563

Code: Select all

$count++ if ($item && $char->{equipment} && ($char->{equipment}{$slot}{name} ne $item->{name}));
$char->{equipment}{$slot} may not exist, looks like something was lost while making this change: http://openkore.svn.sourceforge.net/vie ... threv=6549

Post Reply