|
You last visited: Today at 19:11
Advertisement
AI Help
Discussion on AI Help within the CO2 Private Server forum part of the Conquer Online 2 category.
12/04/2013, 03:16
|
#1
|
elite*gold: 0
Join Date: Mar 2010
Posts: 183
Received Thanks: 74
|
AI Help
To start off, I don't consider this too special. Its not AI either.
This is based off of a guard.
--------------------------------------------------------------
Alright, so here's the video of what it does:
Two questions I have that hopefully someone here can help me with:
1. How can I make the fastblade level 4 instead of level 1?
2. How can I make him jump like a guard would?
#EDIT Got it xD Thanks guys.
|
|
|
12/04/2013, 03:33
|
#2
|
elite*gold: 0
Join Date: May 2011
Posts: 648
Received Thanks: 413
|
1. Send the Skill Packet with level 4 instead of 0
2. Send the Jump Packet instead of the walk packet
|
|
|
12/04/2013, 04:01
|
#3
|
elite*gold: 0
Join Date: Mar 2010
Posts: 183
Received Thanks: 74
|
"I don't know anything about newer sources"
Thanks Yuki, you did just fine xD
|
|
|
12/04/2013, 06:37
|
#4
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
how did u made it automatically fb any players?
|
|
|
12/04/2013, 07:28
|
#5
|
elite*gold: 130
Join Date: Oct 2007
Posts: 1,655
Received Thanks: 705
|
Quote:
Originally Posted by .Light
"I don't know anything about newer sources"
|
That had nothing to do with "newer" sources but common sense.
|
|
|
12/04/2013, 07:34
|
#6
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
yeah common since in database called "navicat" by others. thx
|
|
|
12/04/2013, 09:05
|
#7
|
elite*gold: 0
Join Date: Mar 2010
Posts: 183
Received Thanks: 74
|
Quote:
Originally Posted by marcbacor6666
how did u made it automatically fb any players?
|
Its based off of a guard. In the database you can set what skill your guard uses, I just edited that.
Quote:
Originally Posted by turk55
That had nothing to do with "newer" sources but common sense.
|
It was a joke... xD
|
|
|
12/04/2013, 09:11
|
#8
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
nice thanks
i think u can make it jump by changing something in the database located inside ur navicat or any sql client ur using.
|
|
|
12/04/2013, 09:40
|
#9
|
elite*gold: 0
Join Date: Mar 2010
Posts: 183
Received Thanks: 74
|
Yeah, I figured. I just have to look into it and see what each of the values mean.
|
|
|
12/04/2013, 16:01
|
#10
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
i think the jump is located in the database,, im not sure though.
did u made it jump ?
This might help you.
add this to ur screen.cs or to anywhere u place ur alivemonstercallback "timercallback"
Quote:
|
change the name cloudstrife to ur monster name that u want to jump
|
Quote:
|
this one will follow the character who he wants to attack but he will jump if this what u wanna do.
|
Code:
if (monster.Name == "cloudstrife")
{
if (distance >= monster.MonsterInfo.ViewRange)
{
TwoMovements jump = new TwoMovements();
jump.X = client.Entity.X;
jump.Y = client.Entity.Y;
monster.X = client.Entity.X;
monster.Y = client.Entity.Y;
jump.EntityCount = 1;
jump.FirstEntity = monster.UID;
jump.MovementType = TwoMovements.Jump;
client.SendScreen(jump, true);
}
}
add this code to ur map.cs this one is a nice combination or dress and weapons  ur guard or the one u want to.
Quote:
<--- i use 3 for costume thing. guard normal type is 2
Code:
#region Squal{God}
if (mt.Type == 3)
{
entity.UID += 0xc3500 + 0xc3500;
Network.Writer.WriteUInt32(139223, 52 + 4, entity.SpawnPacket); // Armor.
Network.Writer.WriteUInt32(421299, 60 + 4, entity.SpawnPacket); // right hand weapon
Network.Writer.WriteUInt32(900259, 56 + 4, entity.SpawnPacket); // left hand weapon
Network.Writer.WriteUInt32(1364459570, 227 + 4, entity.SpawnPacket); //flags
Network.Writer.WriteUInt32(12, 133 + 4, entity.SpawnPacket); //rank
Network.Writer.WriteUInt32(16384, 26, entity.SpawnPacket); //PKPoints
Network.Writer.WriteUInt32(430, 98 + 4, entity.SpawnPacket); //hair
Network.Writer.WriteUInt32(3000, 100 + 4, entity.SpawnPacket); //action
}
#endregion
im still working on how to make him missed an fb/ss skill
i used that to add spell in the monster.
Code:
if (attacker.Name == "Squal{God}")
{
attacker.MonsterInfo.SpellID = 1046;
}
#endregion
|
|
|
12/04/2013, 18:36
|
#11
|
elite*gold: 0
Join Date: May 2011
Posts: 648
Received Thanks: 413
|
Quote:
Originally Posted by marcbacor6666
i think the jump is located in the database,, im not sure though.
did u made it jump ?
This might help you.
add this to ur screen.cs or to anywhere u place ur alivemonstercallback "timercallback"
Code:
if (monster.Name == "cloudstrife")
{
if (monster.MonsterInfo.InSight == 0)
{
if (monster.X != monster.MonsterInfo.BoundX || monster.Y != monster.MonsterInfo.BoundY)
{
monster.X = monster.MonsterInfo.BoundX;
monster.Y = monster.MonsterInfo.BoundY;
Network.GamePackets.TwoMovements jump = new Network.GamePackets.TwoMovements();
jump.X = monster.MonsterInfo.BoundX;
jump.Y = monster.MonsterInfo.BoundY;
jump.EntityCount = 1;
jump.FirstEntity = monster.UID;
jump.MovementType = Network.GamePackets.TwoMovements.Jump;
monster.MonsterInfo.SendScreen(jump);
}
}
}
add this code to ur map.cs this one is a nice combination or dress and weapons  ur guard or the one u want to.
<--- i use 3 for costume thing. guard normal type is 2
Code:
#region Squal{God}
if (mt.Type == 3)
{
entity.UID += 0xc3500 + 0xc3500;
Network.Writer.WriteUInt32(139223, 52 + 4, entity.SpawnPacket); // Armor.
Network.Writer.WriteUInt32(421299, 60 + 4, entity.SpawnPacket); // right hand weapon
Network.Writer.WriteUInt32(900259, 56 + 4, entity.SpawnPacket); // left hand weapon
Network.Writer.WriteUInt32(1364459570, 227 + 4, entity.SpawnPacket); //flags
Network.Writer.WriteUInt32(12, 133 + 4, entity.SpawnPacket); //rank
Network.Writer.WriteUInt32(16384, 26, entity.SpawnPacket); //PKPoints
Network.Writer.WriteUInt32(430, 98 + 4, entity.SpawnPacket); //hair
Network.Writer.WriteUInt32(3000, 100 + 4, entity.SpawnPacket); //action
}
#endregion
im still working on how to make him missed an fb/ss skill
i used that to add spell in the monster.
Code:
if (attacker.Name == "Squal{God}")
{
attacker.MonsterInfo.SpellID = 1046;
}
#endregion
|
every single time you attempt to help someone, you render yourselfe completely useless. How would that help him?
|
|
|
12/04/2013, 18:36
|
#12
|
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
|
Quote:
Originally Posted by marcbacor6666
Code:
if (monster.Name == "cloudstrife")
{
if (monster.MonsterInfo.InSight == 0)
{
if (monster.X != monster.MonsterInfo.BoundX || monster.Y != monster.MonsterInfo.BoundY)
{
monster.X = monster.MonsterInfo.BoundX;
monster.Y = monster.MonsterInfo.BoundY;
Network.GamePackets.TwoMovements jump = new Network.GamePackets.TwoMovements();
jump.X = monster.MonsterInfo.BoundX;
jump.Y = monster.MonsterInfo.BoundY;
jump.EntityCount = 1;
jump.FirstEntity = monster.UID;
jump.MovementType = Network.GamePackets.TwoMovements.Jump;
monster.MonsterInfo.SendScreen(jump);
}
}
}
|
using monster.MonsterInfo.BoundX make it/him jump only to one point BoundX
u should use ur curent point+ rnd no.
(ushort)monster.MonsterInfo.X + Kernal.RND.Next(7); ... etc
this make it keep moving/jumping
@Topic Owner
take a look at P4N Source (albertos)
or SuperAids Source (ProjectX)
u will find what u want.
|
|
|
12/04/2013, 19:11
|
#13
|
elite*gold: 0
Join Date: Oct 2006
Posts: 557
Received Thanks: 76
|
Quote:
using monster.MonsterInfo.BoundX make it/him jump only to one point BoundX
u should use ur curent point+ rnd no.
(ushort)monster.MonsterInfo.X + Kernal.RND.Next(7); ... etc
this make it keep moving/jumping
|
yes it will keep him moving just like someone is using them. and attack if someone is near
Quote:
Originally Posted by Y u k i
every single time you attempt to help someone, you render yourselfe completely useless. How would that help him?
|
oke help him pinpoint what to do where to go things like that
Quote:
|
this one will follow the character who he wants to attack but he will jump if this what u wanna do.
|
Code:
if (monster.Name == "cloudstrife")
{
if (distance >= monster.MonsterInfo.ViewRange)
{
TwoMovements jump = new TwoMovements();
jump.X = client.Entity.X;
jump.Y = client.Entity.Y;
monster.X = client.Entity.X;
monster.Y = client.Entity.Y;
jump.EntityCount = 1;
jump.FirstEntity = monster.UID;
jump.MovementType = TwoMovements.Jump;
client.SendScreen(jump, true);
}
}
|
|
|
12/04/2013, 21:32
|
#14
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by marcbacor6666
oke help him pinpoint what to do where to go things like that
|
He did, he linked to two public sources that contain properly working AI duelist bots to use as reference material.
Sorry but pretty much everything you posted was inaccurate so while we appreciate the effort... accuracy would be more preferred lol
|
|
|
12/04/2013, 22:08
|
#15
|
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 950
|
Quote:
Originally Posted by abdoumatrix
@Topic Owner
take a look at P4N Source (albertos)
or SuperAids Source (ProjectX)
u will find what u want.
|
This^
I think I even included some of the tournament bot ai I was working on for implementing bots into tournaments. It was unfinished, but should give an idea of it. Duelbot works flawless.
|
|
|
All times are GMT +1. The time now is 19:11.
|
|