Dauw Posted July 10, 2015 Share Posted July 10, 2015 Elloha, For a K9 mod i'm trying to figure out how get the native TASK_GOTO_ENTITY working. What I need is for the dog to run within range of the target ped due to the fact that AI.TASK_COMBAT_PED only works within a ~5meter range. I figured out how to get: natives.AI.TASK_GOTO_ENTITY_AIMING(Dog.ID, aiming_entity.ID,0,1) working but the dog will only walk towards its target. Any tips? (Perhaps another way to get the dog to run & follow a target) Link to comment Share on other sites More sharing options...
Colata Posted July 11, 2015 Share Posted July 11, 2015 Ped enemy = World.CreatePed(PedHash.MilitaryBum, player.Position); Ped husk1 = World.CreatePed(PedHash.Husky, player.Position); float huskytoenemydistance = World.GetDistance(husk1.Position, enemy.Position); husk1.Task.RunTo(enemy.Position); if(huskytoenemydistance < 3) { husk1.Task.ShootAt(enemy); } else { husk1.Task.RunTo(enemy.Position); } ============================================ of course, if you have a group of dogs you would replace "husk1" with your group name (e.g) "companions" or whatever the name may be. and of course you need to replace "enemy" with the name of the ped you want the K9 to attack A little complex, maybe someone else would have an easier to understand way of doing it, worth waiting if you struggle with this Dauw 1 Link to comment Share on other sites More sharing options...
Dauw Posted July 12, 2015 Author Share Posted July 12, 2015 That looks perfect! thanks a lot Link to comment Share on other sites More sharing options...
Dauw Posted July 13, 2015 Author Share Posted July 13, 2015 Ped enemy = World.CreatePed(PedHash.MilitaryBum, player.Position); Ped husk1 = World.CreatePed(PedHash.Husky, player.Position); float huskytoenemydistance = World.GetDistance(husk1.Position, enemy.Position); husk1.Task.RunTo(enemy.Position); if(huskytoenemydistance < 3) { husk1.Task.ShootAt(enemy); } else { husk1.Task.RunTo(enemy.Position); } ============================================ of course, if you have a group of dogs you would replace "husk1" with your group name (e.g) "companions" or whatever the name may be. and of course you need to replace "enemy" with the name of the ped you want the K9 to attack A little complex, maybe someone else would have an easier to understand way of doing it, worth waiting if you struggle with this Hmm, seems I can't find any native task that uses RunTo. Could you perhaps give the full native? (Programming in LUA which requires me to use full natives, for examp: natives.AI.TASK_GOTO_ENTITY_AIMING(Hondped.ID, aiming_entity.ID,0,1) ) Link to comment Share on other sites More sharing options...
Colata Posted July 13, 2015 Share Posted July 13, 2015 (edited) Ped enemy = World.CreatePed(PedHash.MilitaryBum, player.Position); Ped husk1 = World.CreatePed(PedHash.Husky, player.Position); float huskytoenemydistance = World.GetDistance(husk1.Position, enemy.Position); husk1.Task.RunTo(enemy.Position); if(huskytoenemydistance < 3) { husk1.Task.ShootAt(enemy); } else { husk1.Task.RunTo(enemy.Position); } ============================================ of course, if you have a group of dogs you would replace "husk1" with your group name (e.g) "companions" or whatever the name may be. and of course you need to replace "enemy" with the name of the ped you want the K9 to attack A little complex, maybe someone else would have an easier to understand way of doing it, worth waiting if you struggle with this Hmm, seems I can't find any native task that uses RunTo. Could you perhaps give the full native? (Programming in LUA which requires me to use full natives, for examp: natives.AI.TASK_GOTO_ENTITY_AIMING(Hondped.ID, aiming_entity.ID,0,1) ) Sorry, I forgot to mention this was for C#. i'm not too sure about Lua, if it work the same way. On a brief search of the NativeDB, i found AI::TASK_GO_TO_ENTITY Which seems similar (as the enemy could be an entity, i think?) Although, im not sure about the parameters, i think they're called. TASK_GO_TO_ENTITY(Any p0, Any p1, Any p2, float p3, float p4, float p5, Any p6) EDIT: I think you already found that native, didn't you? Edited July 13, 2015 by Colata Link to comment Share on other sites More sharing options...
GRANDHEIST Posted July 13, 2015 Share Posted July 13, 2015 What a about TASK_COMBAT_PED? Link to comment Share on other sites More sharing options...
Dauw Posted July 13, 2015 Author Share Posted July 13, 2015 Ped enemy = World.CreatePed(PedHash.MilitaryBum, player.Position); Ped husk1 = World.CreatePed(PedHash.Husky, player.Position); float huskytoenemydistance = World.GetDistance(husk1.Position, enemy.Position); husk1.Task.RunTo(enemy.Position); if(huskytoenemydistance < 3) { husk1.Task.ShootAt(enemy); } else { husk1.Task.RunTo(enemy.Position); } ============================================ of course, if you have a group of dogs you would replace "husk1" with your group name (e.g) "companions" or whatever the name may be. and of course you need to replace "enemy" with the name of the ped you want the K9 to attack A little complex, maybe someone else would have an easier to understand way of doing it, worth waiting if you struggle with this Hmm, seems I can't find any native task that uses RunTo. Could you perhaps give the full native? (Programming in LUA which requires me to use full natives, for examp: natives.AI.TASK_GOTO_ENTITY_AIMING(Hondped.ID, aiming_entity.ID,0,1) ) Sorry, I forgot to mention this was for C#. i'm not too sure about Lua, if it work the same way. On a brief search of the NativeDB, i found AI::TASK_GO_TO_ENTITY Which seems similar (as the enemy could be an entity, i think?) Although, im not sure about the parameters, i think they're called. TASK_GO_TO_ENTITY(Any p0, Any p1, Any p2, float p3, float p4, float p5, Any p6) EDIT: I think you already found that native, didn't you? Aye, but I can't seem to get it working. What a about TASK_COMBAT_PED? In LUA I am using TASK_COMBAT_PED, shoot at does not work for animals. (Atleast in lua it does not) Link to comment Share on other sites More sharing options...
Dauw Posted July 13, 2015 Author Share Posted July 13, 2015 (edited) Found the solution! Dog.ID = K9 entity Aiming_Entity.ID = Target 4.0 = runspeed. (1 seems to be walking speed 4 & 5 runspeed.) natives.AI.TASK_GO_TO_ENTITY(Dog.ID,aiming_entity.ID, 20000, 1.0, 4.0, 0x40000000, 0) Edited July 13, 2015 by Dauw Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now