• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • DoActionLocation and Multiple Conditional Location/Ids

    Discussion in 'Community Developer Forum' started by Sodimm, Jan 13, 2015.

    1. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      So I'm trying to make Sylph Daily profiles, and I've got code in place to use the keyitems at location A to NPC b, which is working as intended. The problem is that the quests can have up to 8 Locations, and 8 NPCs; of which only 3 are picked when accepting the quest.

      As of now, I've got a CodeChunk for all locations and NPCs, and have the profile cycle all of them. But I'd like not to have the Bot have to goto all locations, just the 3 that are visible. I have yet to ascertain any way of knowing which Quest parameter = which NPC spawns.

      Is there any way at all I can put all locations and NpcIds into 1 CodeChunk as an array and ask the bot to search area (HotSpot) X for any NPC in the array that is visible? It would go a long way to making these round of dailies become a lot less of a pain in the arse to complete.

      For Reference, this is what I'm using atm:
      Code:
      	<CodeChunk Name="name">
      		<![CDATA[
      				var npc = ff14bot.Managers.GameObjectManager.GetObjectByNPCId(xxxxxxx);
      				if(npc.IsVisible)
      				{	
      					npc.Target();
      					npc.Face();
      					Actionmanager.DoActionLocation(ActionType.KeyItem,xxxxxxx, Core.Target.Location);
      				}
      		]]>
      
      Which is used multiple times, for every location. Any help would be appreciated.
       
    2. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      One of the QuestI#XX variables will change and that variable determines what three locations you get. You can abandon and reaccept the quest a bunch of times to figure out what variable it is, and what values correspond to what locations.
       
    3. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      Yeah, that's what I usually do, use the Quest.IXX. But with these quests it seem utterly random, as the same 3 locations yield different variables each time. I've even eliminated all but one of the objects, for all 8 and have screencaps of the QuestDevTools to try and fathom what variable is consistant, but have yet to find it. I'll have a play around some more.
       
    4. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      Can you post the screenshots of the QuestDevTools and the locations each corresponds to?
       
    5. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      I've got it, and boy does it have an awful lot of variables... Here is how i've got it to work.

      Code:
      <!-- DoActionLocation for (66799) Imperial Intruders -->
      <If Condition="HasQuest(66799) and GetQuestStep(66799) == 1">
      	<If Condition="GetQuestById(66799).QuestI8E == 69 and GetQuestById(66799).QuestI8EH == 4">
      		<MoveTo XYZ="242.1818, 0.2911803, 118.151"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005821"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 69 and GetQuestById(66799).QuestI8EH == 4"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 68 and GetQuestById(66799).QuestI8EH == 4">
      		<MoveTo XYZ="294.3465, -1.068027, 150.6807"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005818"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 68 and GetQuestById(66799).QuestI8EH == 4"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 67 and GetQuestById(66799).QuestI8EH == 4">
      		<MoveTo XYZ="189.5238, -0.9289501, 97.01148"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005805"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 67 and GetQuestById(66799).QuestI8EH == 4"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 66 and GetQuestById(66799).QuestI8EH == 4">
      		<MoveTo XYZ="294.3465, -1.068027, 150.6807"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005818"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 66 and GetQuestById(66799).QuestI8EH == 4"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 65 and GetQuestById(66799).QuestI8EH == 4">
      		<MoveTo XYZ="189.5238, -0.9289501, 97.01148"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005805"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 65 and GetQuestById(66799).QuestI8EH == 4"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 53 and GetQuestById(66799).QuestI8EH == 3">
      		<MoveTo XYZ="290.9198, -5.055745, 48.91106"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005819"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 53 and GetQuestById(66799).QuestI8EH == 3"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 52 and GetQuestById(66799).QuestI8EH == 3">
      		<MoveTo XYZ="290.9198, -5.055745, 48.91106"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005819"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 52 and GetQuestById(66799).QuestI8EH == 3"/>
      	</If>	
      	<If Condition="GetQuestById(66799).QuestI8E == 51 and GetQuestById(66799).QuestI8EH == 3">
      		<MoveTo XYZ="290.9198, -5.055745, 48.91106"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005819"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 51 and GetQuestById(66799).QuestI8EH == 3"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 50 and GetQuestById(66799).QuestI8EH == 3">
      		<MoveTo XYZ="242.1818, 0.2911803, 118.151"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005821"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 50 and GetQuestById(66799).QuestI8EH == 3"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 49 and GetQuestById(66799).QuestI8EH == 3">
      		<MoveTo XYZ="208.9383, -2.718619, -17.61419"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005820"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 49 and GetQuestById(66799).QuestI8EH == 3"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 37 and GetQuestById(66799).QuestI8EH == 2">
      		<MoveTo XYZ="208.9383, -2.718619, -17.61419"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005820"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 37 and GetQuestById(66799).QuestI8EH == 2"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 36 and GetQuestById(66799).QuestI8EH == 2">
      		<MoveTo XYZ="208.9383, -2.718619, -17.61419"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005820"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 36 and GetQuestById(66799).QuestI8EH == 2"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 35 and GetQuestById(66799).QuestI8EH == 2">
      		<MoveTo XYZ="105.8441, 6.354829, -8.547185"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005822"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 35 and GetQuestById(66799).QuestI8EH == 2"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 34 and GetQuestById(66799).QuestI8EH == 2">
      		<MoveTo XYZ="290.9198, -5.055745, 48.91106"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005819"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 34 and GetQuestById(66799).QuestI8EH == 2"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 33 and GetQuestById(66799).QuestI8EH == 2">
      		<MoveTo XYZ="105.8441, 6.354829, -8.547185"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005822"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 33 and GetQuestById(66799).QuestI8EH == 2"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 21 and GetQuestById(66799).QuestI8EH == 1">
      		<MoveTo XYZ="1.045496, 20.0913, 12.34394"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005823"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 21 and GetQuestById(66799).QuestI8EH == 1"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 20 and GetQuestById(66799).QuestI8EH == 1">
      		<MoveTo XYZ="1.045496, 20.0913, 12.34394"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005823"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 20 and GetQuestById(66799).QuestI8EH == 1"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 19 and GetQuestById(66799).QuestI8EH == 1">
      		<MoveTo XYZ="1.045496, 20.0913, 12.34394"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005823"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 19 and GetQuestById(66799).QuestI8EH == 1"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 18 and GetQuestById(66799).QuestI8EH == 1">
      		<MoveTo XYZ="208.9383, -2.718619, -17.61419"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005820"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 18 and GetQuestById(66799).QuestI8EH == 1"/>
      	</If>
      	<If Condition="GetQuestById(66799).QuestI8E == 17 and GetQuestById(66799).QuestI8EH == 1">
      		<MoveTo XYZ="1.045496, 20.0913, 12.34394"/>
      		<RunCode Name="DisMount"/>
      		<WaitTimer WaitTime="3"/>
      		<RunCode Name="1005823"/>
      		<WaitWhile Condition="GetQuestById(66799).QuestI8E == 17 and GetQuestById(66799).QuestI8EH == 1"/>
      	</If>
      </If>
      
      The above is working perfectly, although, it does throw the following error, yet continues regardless. Any suggestions?

      Code:
      [09:21:53.014 D] Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.NullReferenceException: Object reference not set to an instance of an object.
         at RebornBuddy.RunCode_Generated._1053919121.<_1053919121Func6>d__c.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at ff14bot.NeoProfiles.Tags.RunCode..()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at TreeSharp.ActionRunCoroutine....()
         --- End of inner exception stack trace ---
         at Buddy.Coroutines.Coroutine.CheckPostConditions(Boolean shouldBeCanceled)
         at Buddy.Coroutines.Coroutine.Resume(Boolean forStop)
         at Buddy.Coroutines.Coroutine.Resume()
         at TreeSharp.ActionRunCoroutine.Run(Object context)
         at TreeSharp.Action.RunAction(Object context)
         at TreeSharp.Action.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ff14bot.Behavior.HookExecutor.Run(Object context)
         at TreeSharp.Action.RunAction(Object context)
         at TreeSharp.Action.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ff14bot.Behavior.HookExecutor.Run(Object context)
         at TreeSharp.Action.RunAction(Object context)
         at TreeSharp.Action.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ff14bot.TreeRoot.() --> System.NullReferenceException: Object reference not set to an instance of an object.
         at RebornBuddy.RunCode_Generated._1053919121.<_1053919121Func6>d__c.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at ff14bot.NeoProfiles.Tags.RunCode..()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at TreeSharp.ActionRunCoroutine....()
      
      Of course, the above conditions only work in a certain order, so if the last is done first, the variables change so the first becomes the 2nd et al. It's very funky how it works. 5 variables for 7 NPC. I hate you Final Fantasy 14. That gave me a headache.
       
      Last edited: Jan 14, 2015
    6. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      You would have to share your code chunks, something in them is throwing that error:

       
    7. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      same codechunk as in my first post, just replace the x's for npc ID and the keyitem id:

      Code:
      	<CodeChunk Name="1005805">
      		<![CDATA[
      				var npc = ff14bot.Managers.GameObjectManager.GetObjectByNPCId(1005805);
      				if(npc.IsVisible)
      				{	
      					npc.Target();
      					npc.Face();
      					Actionmanager.DoActionLocation(ActionType.KeyItem,2001179, Core.Target.Location);
      				}
      		]]>
      	</CodeChunk>
      
       
    8. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      I'm still only a dabbler with code, so there's obviously something I've missed :p.
       
    9. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      Try this instead:

      Code:
      <CodeChunk Name="1005805">
      		<![CDATA[
      				var npc = ff14bot.Managers.GameObjectManager.GetObjectByNPCId(1005805);
      				if(npc != null && npc.IsVisible)
      				{	
      					npc.Target();
      					npc.Face();
      					Actionmanager.DoActionLocation(ActionType.KeyItem,2001179, Core.Target.Location);
      				}
      		]]>
      	</CodeChunk>
      
       
    10. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      Still brings up the same error. It's strange, usually it just stops the bot if errors occur, but it just continues merrily along. It Seems to occur whilst it's casting the Bilebomb. Maybe add an await task? Will it not return done after its finished casting?
      Code:
      <CodeChunk Name="1005805">
      		<![CDATA[
      				var npc = ff14bot.Managers.GameObjectManager.GetObjectByNPCId(1005805);
      				if(npc != null && npc.IsVisible)
      				{	
      					npc.Target();
      					npc.Face();
      					Actionmanager.DoActionLocation(ActionType.KeyItem,2001179, Core.Target.Location);
                                              await Buddy.Coroutines.Coroutine.Sleep(3000);
      				}
      		]]>
      	</CodeChunk>
      
      Scratch that, that still brings up the error too.
      Code:
      [11:13:17.323 V] [Poi.Clear] Reason: Current behavior changed to RunCode: Name: 1005823, IsDone: False, HighPriority: False, InCombat: False, QuestId: 0, StepId: 0, PostCombatDelay: 0, QuestName: null, IsDoneCache: False, Behavior: TreeSharp.ActionRunCoroutine, .
      [11:13:17.323 D] Replaced hook [ProfileOrderBehavior_Hook] 2724d7c0-4712-4f46-9d0f-66a162f94560
      [11:13:17.325 D] Targeting Imperial Soldier 0x45737C 0x120C0CE0
      [11:13:17.325 D] Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.NullReferenceException: Object reference not set to an instance of an object.
         at RebornBuddy.RunCode_Generated._1053919121.<_1053919121Func6>d__18.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at ff14bot.NeoProfiles.Tags.RunCode..()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at TreeSharp.ActionRunCoroutine....()
         --- End of inner exception stack trace ---
         at Buddy.Coroutines.Coroutine.CheckPostConditions(Boolean shouldBeCanceled)
         at Buddy.Coroutines.Coroutine.Resume(Boolean forStop)
         at Buddy.Coroutines.Coroutine.Resume()
         at TreeSharp.ActionRunCoroutine.Run(Object context)
         at TreeSharp.Action.RunAction(Object context)
         at TreeSharp.Action.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ff14bot.Behavior.HookExecutor.Run(Object context)
         at TreeSharp.Action.RunAction(Object context)
         at TreeSharp.Action.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ff14bot.Behavior.HookExecutor.Run(Object context)
         at TreeSharp.Action.RunAction(Object context)
         at TreeSharp.Action.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ff14bot.TreeRoot.() --> System.NullReferenceException: Object reference not set to an instance of an object.
         at RebornBuddy.RunCode_Generated._1053919121.<_1053919121Func6>d__18.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at ff14bot.NeoProfiles.Tags.RunCode..()
      --- End of stack trace from previous location where exception was thrown ---
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at TreeSharp.ActionRunCoroutine....()
      [11:13:17.341 D] Targeting Imperial Soldier 0x45737C 0x120C0CE0
      [11:13:17.342 D] DoActionLocation KeyItem 2001179 at <0.6560669, 20.0666, 12.31396>
      [11:13:20.373 D] Removed hook [RoutineCombat] b275b7d2-e98b-47b3-9cfb-a5d3c2ff22f4
      [11:13:20.373 V] [Poi.Clear] Reason: Current behavior changed to : Condition: GetQuestById(66799).QuestI8E == 21 and GetQuestById(66799).QuestI8EH == 1, Conditional: System.Func`1[System.Boolean], IsDone: False, HighPriority: False, InCombat: False, QuestId: 0, StepId: 0, PostCombatDelay: 0, QuestName: null, IsDoneCache: False, Behavior: TreeSharp.PrioritySelector, .
      
       
      Last edited: Jan 14, 2015
    11. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      The error is being thrown by CodeChunk 1005823, but you posted a modified 1005805. Are you modifying all of them, or did you modify the wrong one?
       
    12. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      No, that's just the bit of the Log I copied from the last one it run, the CodeChunk is the same for each NPC (minus the NpcId ofc). The error occurs on all of them, it's like it Targets>Error>Targets>Uses Item. It doesn't reference the Face(). Yet you can see it do it in-game.

      View attachment 163463 Full Log.

      It's closer to the end, Because I'm testing Giddy for Goobue too (Which ofc, can't be done, because there's no way to completely ignore Aggro). These quests are just so frustrating :p
       
      Last edited: Jan 14, 2015
    13. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      You could also be calling the functions too quickly, you could add a brief pause between them. I don't know enough about the functions to fix your error, but at least it works even with the error.
       
    14. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      I'll have a fiddle and report back, thanks for looking tho Kagamihiiragi. It's appreciated
       
    15. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,343
      Likes Received:
      383
      Trophy Points:
      83
      Core.Target is probably null. You working with an npc that can't be targeted perhaps?

      Code:
      	<CodeChunk Name="1005805">
      		<![CDATA[
      				var npc = ff14bot.Managers.GameObjectManager.GetObjectByNPCId(1005805);
      				if(npc != null && npc.IsVisible)
      				{	
      					npc.Target();
      					npc.Face();
      					Actionmanager.DoActionLocation(ActionType.KeyItem,2001179, npc.Location);
      				}
      		]]>
      	</CodeChunk>
      
       
    16. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      That did it Mastahg tyvm. :)
       

    Share This Page