|
You last visited: Today at 03:07
Advertisement
Scatter DC
Discussion on Scatter DC within the CO2 Private Server forum part of the Conquer Online 2 category.
10/27/2014, 07:57
|
#1
|
elite*gold: 0
Join Date: Mar 2006
Posts: 563
Received Thanks: 59
|
Scatter DC
Hello Mates,
Good Day!.
I am having a problem of my scatter which is when there's lot of monster surrounded me and when I use scatter it will Disconnected(DC). when the monster is over 14+ then using the scatter it will Disconnected.
this happen when archer will be leveling and hunting because all monster will be gather infront of the character.
So anyone have a solution for this? please share it to me
Or any advice?
thank You Mates.
|
|
|
10/27/2014, 11:25
|
#2
|
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 946
|
Get a new source.
|
|
|
10/27/2014, 13:15
|
#3
|
elite*gold: 0
Join Date: Mar 2008
Posts: 309
Received Thanks: 208
|
the client is having and issue because it will not handle individual messages over 1016 bytes, plus the seal (8 bytes)
you're sending too many targets in your skill effect message (1105) which causes the length of the message to exceed 1024 bytes.
split the targets among multiple 1105 transfers, limit scatter's max target count to 29 (edit: i came up with 29 by 8 + 20 + 32 + Targets.Count * 32 for latest revision of the 1105 message type because adding one more target would exceed 1016) to reduce bottlenecking the graphics render with tons of skill effects and damage amounts, or reduce the amount of monsters in each screen area then raise the rates to compensate for thinned mobs.
even COSV3 could have this condition if you didn't compensate for it.
some projects had no implementation of scatter.
|
|
|
10/27/2014, 13:38
|
#4
|
elite*gold: 67
Join Date: Aug 2014
Posts: 1,321
Received Thanks: 927
|
Quote:
Originally Posted by .Ocularis
the client is having and issue because it will not handle individual messages over 1016 bytes...
|
Do you have an idea when they increased the max. packet size? On 5021 it will close the client if it exceeds 821.
|
|
|
10/27/2014, 14:38
|
#5
|
elite*gold: 0
Join Date: Mar 2008
Posts: 309
Received Thanks: 208
|
No I don't, however.. 821 is an odd overflow length.. are you certain the structuring was valid? You'd do better asking JP that question.
|
|
|
10/28/2014, 07:27
|
#6
|
elite*gold: 0
Join Date: Mar 2006
Posts: 563
Received Thanks: 59
|
Thanks for the Information, But It's kinda I am noob in C# I only know basic. hehe
Code:
const int TargetLimit = 30;
public byte[] ToArray()
{
if (Targets.Count <= TargetLimit)
{
byte[] buffer = new byte[61 + Targets.Count * 32];
Writer.WriteUInt16((ushort)(buffer.Length - 8), 0, buffer);
Writer.WriteUInt16(1105, 2, buffer);
Writer.WriteUInt32(Attacker, 4, buffer);
Writer.WriteUInt16(X, 8, buffer);
Writer.WriteUInt16(Y, 10, buffer);
Writer.WriteUInt16(SpellID, 12, buffer);
Writer.WriteUInt16(SpellLevel, 14, buffer);
Writer.WriteUInt32((uint)Targets.Count, 17, buffer);
ushort offset = 20;
foreach (KeyValuePair<uint, DamageClass> target in Targets.Base)
{
Writer.WriteUInt32(target.Key, offset, buffer); offset += 4;
Writer.WriteUInt32(target.Value.Damage, offset, buffer); offset += 4;
Writer.WriteBoolean(target.Value.Hit, offset, buffer); offset += 4;
offset += 6;
Writer.WriteUInt32(target.Value.newX, offset, buffer); offset += 4;
Writer.WriteUInt32(target.Value.newY, offset, buffer); offset += 8;
}
return buffer;
}
else
{
using (MemoryStream stream = new MemoryStream())
using (BinaryWriter writer = new BinaryWriter(stream))
{
var array = [COLOR="Red"]Targets.ToArray();[/COLOR]
for (int i = 0; i < array.Length; i += TargetLimit)
{
int targets = array.Length - i;
if (targets > TargetLimit) targets = TargetLimit;
byte[] buffer = new byte[61 + targets * 32];
Writer.WriteUInt16((ushort)(buffer.Length - 8), 0, buffer);
Writer.WriteUInt16(1105, 2, buffer);
Writer.WriteUInt32(Attacker, 4, buffer);
Writer.WriteUInt16(X, 8, buffer);
Writer.WriteUInt16(Y, 10, buffer);
Writer.WriteUInt16(SpellID, 12, buffer);
Writer.WriteUInt16(SpellLevel, 14, buffer);
if (Kernel.GamePool.ContainsKey(Attacker))
if (Kernel.GamePool[Attacker].Spells != null)
if (Kernel.GamePool[Attacker].Spells[SpellID] != null)
Writer.WriteUInt32((uint)(targets/* << 8*/), 17, buffer);
ushort offset = 20;
for (int j = 0; j < targets; j++)
{
KeyValuePair<uint, DamageClass> target = [COLOR="Red"]array[i + j][/COLOR];
Writer.WriteUInt32(target.Key, offset, buffer); offset += 4;
Writer.WriteUInt32(target.Value.Damage, offset, buffer); offset += 4;
Writer.WriteBoolean(target.Value.Hit, offset, buffer); offset += 4;
offset += 6;
offset += 6;
Writer.WriteUInt32(target.Value.newX, offset, buffer); offset += 4;
Writer.WriteUInt32(target.Value.newY, offset, buffer); offset += 8;
}
Writer.WriteString("TQServer", buffer.Length - 8, buffer);
writer.Write(buffer, 0, buffer.Length);
}
return stream.ToArray();
}
}
}
I am workin now, and I've got this error . Please help me please Im stuck with this part
Error in this part:
1. = var array = Targets.ToArray();
2. = KeyValuePair<uint, DamageClass> target = array[i + j];
Here is the ScreenShot error
|
|
|
10/28/2014, 11:38
|
#7
|
elite*gold: 67
Join Date: Aug 2014
Posts: 1,321
Received Thanks: 927
|
Quote:
Originally Posted by .Ocularis
the client is having and issue because it will not handle individual messages over 1016 bytes, plus the seal (8 bytes)
you're sending too many targets in your skill effect message (1105) which causes the length of the message to exceed 1024 bytes.
limit scatter's max target count to 29
|
PHP Code:
const int TargetLimit = 30;
Can you see it? Can you? xD
Replace SafeDictionary with ConcurrentDictionary. I'm pretty sure the implementation of SafeDict is worse than Microsofts implementation ;D
|
|
|
10/28/2014, 11:57
|
#8
|
elite*gold: 0
Join Date: Mar 2006
Posts: 563
Received Thanks: 59
|
as I sad I am still noob in C#
wanna help me? can I have your skype?
if you are willing
|
|
|
10/28/2014, 12:30
|
#9
|
elite*gold: 67
Join Date: Aug 2014
Posts: 1,321
Received Thanks: 927
|
EDIT:
Sittin here on TeamViewer, watching him undo his "fix" because scatter doesnt work at all anymore haha
--
There is more wrong with it than just the amount of targets. We've limited to 2 Targets and it still disconnects.
Anyone else cares to help him? I don't know that source well enough nor do I have the time to dig through everything at this moment.
|
|
|
10/28/2014, 13:55
|
#10
|
elite*gold: 0
Join Date: Mar 2006
Posts: 563
Received Thanks: 59
|
and Thanks for Xio for helping me but still not working and still thinking of it to limit the target count in scatter skill id
and Problem Solve I think It's solved now coz when I scatter it won't DC. but sometimes it give me lag.
|
|
|
|
Similar Threads
|
Scatter
03/10/2013 - CO2 Private Server - 1 Replies
Hello pvpers
Can someone englighten me here about the scatter issue. When i scatter on huge spawn i get dced..
Heres the code:
case 8001:
{
if (CanUseSpell(spell, attacker.Owner))
{
|
scatter bug
01/09/2011 - CO2 Private Server - 9 Replies
im using 5165 NewestCoServer source.
i fixed the damage bug with regualar archer attacks, but ive been trying to fix the damage bug when they use scatter. at the moment i hit 210kk from people when i scatter. ive tried differrent things to fix this bug now idk what to do. any ideas?
|
Archer scatter bot
12/13/2009 - CO2 Exploits, Hacks & Tools - 25 Replies
So you guys must be thinking an archer scatter bot. Well its not a bot really the thing is that you use CID and Conquer Clicky both together to make a Archer scatter bot.
To Do that
1) Get CID
2) Get Conquer Clicky
3) Start CID and Conquer Clicky
4) Then chose a place which is appropriate for you. (I will go in detail for this)
5) Then turn on auto loot (make sure that !aloot picks up gold)
6) Then turn on right click in Conquer Clicky
7) There we go you have Archer scatter
|
TG Scatter & Bow LVL
06/02/2008 - CO2 Bots & Macros - 24 Replies
Hello Every1. I think this is my 1 post on this acc ;) and my 1 home made macro :)
I dunno if any1 already made a macro for TG scatter+bow lvler, but here is mine hope it will be usefull.
U will need:
1. MacroScheduler (google it :D)
2. To have CO 1024- 768 FULL Screen
3. Use PEACE mode in tg
4. Download the Macro (its rar. u will also have the EXE for the macro in it)
5. Have Fun
|
Scatter With Bot
08/08/2007 - CO2 Guides & Templates - 5 Replies
Um ok I know most people might know this who arent noobs....but i am a noob and i had a few problems with this my self.....after playing around with bot and going through the ReadMe and stuff....i found out how to scatter in bot, which i had a problem with. Just simply set the scatter on an F key (mines is on f2 since u have a choice of how many times you want to click per seconds) and then leave ur acc to bot...and it should scatter if im correct...it did for me and i hope it will help for...
|
All times are GMT +1. The time now is 03:07.
|
|