Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server
You last visited: Today at 03:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement
Bitcoin Dice Game


Help - How to increase view range

Discussion on Help - How to increase view range within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2006
Posts: 133
Received Thanks: 16
[Help] Increasing view range

Hello everyone,

I have been trying to increase the view range - radius of the screen, which is probably limited to 18.
I hope I can get an explanation how to do it.

Thank you



martoon is offline  
Old 05/18/2020, 16:13   #2
 
elite*gold: 0
Join Date: Jul 2009
Posts: 713
Received Thanks: 278
If you find out please share >_<


pintinho12 is offline  
Old 05/18/2020, 20:29   #3
 
elite*gold: 0
Join Date: Sep 2007
Posts: 601
Received Thanks: 125
Don't we know that the client removes objects from the screen when they are further than 18?


This looks a lot like their "OutOf9Block" function, have you guys tried modifying this function? This is what I would start with. I found this by using ghidra and searching for a scalar of 0x12. With ghidra, it will show you a preview of how that scalar is being used, so I simply started stepping through all of the ones that are using 0x12 in a CMP instruction.

Now that I think about it, don't ground items disappear at a different range than a player, for example? I would still follow the same steps.
StarBucks is offline  
Old 05/18/2020, 21:17   #4
 
elite*gold: 0
Join Date: Jul 2009
Posts: 713
Received Thanks: 278
Quote:
Originally Posted by StarBucks View Post
Don't we know that the client removes objects from the screen when they are further than 18?


This looks a lot like their "OutOf9Block" function, have you guys tried modifying this function? This is what I would start with. I found this by using ghidra and searching for a scalar of 0x12. With ghidra, it will show you a preview of how that scalar is being used, so I simply started stepping through all of the ones that are using 0x12 in a CMP instruction.

Now that I think about it, don't ground items disappear at a different range than a player, for example? I would still follow the same steps.

Thinking about the Demons source, it'd be difficult to increase the range because it would mean that we need to increase the blocks range.
If you're in one edge of the block, the closest "view range" edge will be 18 coords away from you but the fartest will be 18*2.


pintinho12 is offline  
Old 05/18/2020, 21:30   #5
 
elite*gold: 0
Join Date: Dec 2006
Posts: 133
Received Thanks: 16
Quote:
Originally Posted by pintinho12 View Post
If you find out please share >_<
We need someone who knows how to edit Conquer.exe
I know that it is possible because I saw that on one of the servers, which is really nice.

Quote:
Originally Posted by StarBucks View Post
Don't we know that the client removes objects from the screen when they are further than 18?


This looks a lot like their "OutOf9Block" function, have you guys tried modifying this function? This is what I would start with. I found this by using ghidra and searching for a scalar of 0x12. With ghidra, it will show you a preview of how that scalar is being used, so I simply started stepping through all of the ones that are using 0x12 in a CMP instruction.

Now that I think about it, don't ground items disappear at a different range than a player, for example? I would still follow the same steps.
The client visually removes any object from the screen that are 18 coords away, npc, monster, item, player.

Although it is possible to remove the object (visually) from the source, I remove the object from the general list of objects to allow spawning (visually) again when you are inside this range.

I'm thankful for any support.
martoon is offline  
Old 05/18/2020, 21:52   #6
 
elite*gold: 0
Join Date: Jul 2011
Posts: 42
Received Thanks: 21
Are you guys sure it's set to exactly 18? Not really sure what's causing this:
Latyos is offline  
Old 05/18/2020, 21:53   #7
 
elite*gold: 0
Join Date: Sep 2007
Posts: 601
Received Thanks: 125
Quote:
Originally Posted by martoon View Post
We need someone who knows how to edit Conquer.exe

The client remove the objects without even sending a packetwhen they are 18 coords away, the source is responsible for removing the entity object to make sure the respawn when you are back to the area.
To be honest, playing with the packets somehow allowed me to increase the range, it is not working well and is not a solution.
I saw that on one of the servers, which is really nice, it is probably something with the client and I'm not really good with editing this.
If anyone can help with it I will be really thankful.
If you don't know how to make edits to the conquer.exe you aren't going to be able to achieve what you are wanting to achieve. The server has nothing to do with the client removing objects that are out of range. Yes, you can remove objects, and your source may very well be sending a packet to remove an object that is out of range but that isn't correct, the client does it automatically.

I can't even point you to any sort of tutorial about editing an executable because I learned at the university of google and just clicking stuff in x96dbg and ghidra, or ollydbg before that.

Quote:
Originally Posted by pintinho12 View Post
Thinking about the Demons source, it'd be difficult to increase the range because it would mean that we need to increase the blocks range.
If you're in one edge of the block, the closest "view range" edge will be 18 coords away from you but the fartest will be 18*2.
That function i posted above doesn't calculate distance, it just checks that both delta X and delta Y are less than, or equal to, _BLOCK_SIZE (soul reference), which happens to be 18.

Quote:
Originally Posted by Latyos View Post
Are you guys sure it's set to exactly 18? Not really sure what's causing this
Manually calculated delta X and delta Y. I would think that the NPC disappears when either dX or dY = 19. I would also guess that the NPC respawns when your dX or dY is 17, which is because your source is improperly checking for in screen.

Looking at A LOT of public sources they don't correctly determine if an object is "in screen". Seems like a lot of sources use euclidean distance for determining if something is "in screen", which is incorrect. The image below illustrates what the issue is. The client would keep track of the objects in the yellow while the server would not continue to send updates for those objects.
StarBucks is offline  
Thanks
1 User
Old 05/18/2020, 22:54   #8
 
elite*gold: 0
Join Date: Dec 2006
Posts: 133
Received Thanks: 16
Quote:
Originally Posted by Latyos View Post
Are you guys sure it's set to exactly 18? Not really sure what's causing this:
You have to think of it this way, visually and not visually.
The client removes any object in a distance of 18 (Visually)
You have to remove this object on the server exactly on the same distance (Not Visually)
Jumping/Moving in the distance of 18, the server send the object (Visually and not Visually)

Quote:
Originally Posted by StarBucks View Post
...
Dude, I said that the client is visually removing these objects not the source.
I'm happy that you've learned this and you are pro with it, can you help with it?
martoon is offline  
Old 05/19/2020, 00:15   #9
 
elite*gold: 0
Join Date: Sep 2007
Posts: 601
Received Thanks: 125
Quote:
Originally Posted by martoon View Post
You have to think of it this way, visually and not visually.
The client removes any object in a distance of 18 (Visually)
You have to remove this object on the server exactly on the same distance (Not Visually)
Jumping/Moving in the distance of 18, the server send the object (Visually and not Visually)
His issue is that he is probably using the euclidean distance to determine if something is in range instead of the approximate distance that is used in the client. Either that or he is using a "less than" and he needs to use a "less than or equal"

If his server wasn't removing it from the collection properly, as you indicate, the server would never tell the client the respawn the NPC because as far as it is aware, the client knows about it.

Quote:
Originally Posted by martoon View Post

Dude, I said that the client is visually removing these objects not the source.
I'm happy that you've learned this and you are pro with it, can you help with it?
I gave you the process I used to find the function in the client that you would need to edit in order to see objects that are further away. Might be multiple things you need to edit, but it is a start.
StarBucks is offline  
Old 05/19/2020, 00:29   #10
 
elite*gold: 26
Join Date: Jul 2011
Posts: 462
Received Thanks: 247
This is fairly easy, All you need to do is to find the address to the function that removes out of range entities on the client side, change that render distance to whatever value you want, and match it on the server side.

Notice that most public sources actually send an entity remove packet when entities get out of range (which isn't needed) but it gives the illusion that the server controls that part when it doesn't.

Keep in mind that there are drawbacks to having an increased render distance, for starters the amount of packets will multiply which can cause lag/spikes if your server isn't fast enough to process them as the client might not be able to handle the traffic fast enough, think of BIG fights where you have tons of action on screen there will be hundreds of packets being broadcast from and to each player.
Yupmoh is offline  
Old 05/19/2020, 13:16   #11
 
elite*gold: 0
Join Date: Dec 2006
Posts: 133
Received Thanks: 16
Quote:
Originally Posted by StarBucks View Post
His issue is that he is probably using the euclidean distance to determine if something is in range instead of the approximate distance that is used in the client. Either that or he is using a "less than" and he needs to use a "less than or equal"

If his server wasn't removing it from the collection properly, as you indicate, the server would never tell the client the respawn the NPC because as far as it is aware, the client knows about it.

I gave you the process I used to find the function in the client that you would need to edit in order to see objects that are further away. Might be multiple things you need to edit, but it is a start.
Alright, I understand your point. So far I've downloaded Ghidra and started to search around, after analyzing Conquer.exe I have found many functions and things that I would have to carefully go through.

There is something with the GDI32.DLL..


Any chance you can explain to me shortly, what process or a method you use to search and locate a number/string/function that could be relevant.

Thank you.

Quote:
Originally Posted by Execution! View Post
This is fairly easy, All you need to do is to find the address to the function that removes out of range entities on the client side, change that render distance to whatever value you want, and match it on the server side.

Notice that most public sources actually send an entity remove packet when entities get out of range (which isn't needed) but it gives the illusion that the server controls that part when it doesn't.

Keep in mind that there are drawbacks to having an increased render distance, for starters the amount of packets will multiply which can cause lag/spikes if your server isn't fast enough to process them as the client might not be able to handle the traffic fast enough, think of BIG fights where you have tons of action on screen there will be hundreds of packets being broadcast from and to each player.
I guess I'm not that good, so it is not that easy for me, I'm trying to get some help over here. The moment I find the way to do edit the distance on the client side.. I will have to do some testings and make sure to increase the distance on the source side to remove and spawn the objects again without sending packets of removing the objects visually since the client is doing that.
martoon is offline  
Old 05/19/2020, 16:36   #12
 
elite*gold: 0
Join Date: Sep 2007
Posts: 601
Received Thanks: 125
In ghidra if you go up to the search drop down and click "For Scalars" you can search for a specific scalar. I searched for 18, then in the results window sorted by the "Preview" column and only looked at the CMP instructions. When you clicked it it will take you to the address of that CMP instruction, if you look at the "Decompile" window on the right you will see some C-like pseudo code.
StarBucks is offline  
Thanks
2 Users
Old 06/04/2020, 18:30   #13
 
elite*gold: 0
Join Date: Dec 2006
Posts: 133
Received Thanks: 16
It is not a simple thing to be done, I tried. Anyone here is willing to help me with it?


martoon is offline  
Reply



« cant find texture client edit | 💎Sapphire Conquer💎 »

Similar Threads Similar Threads
Increase pick-up-range ???
07/31/2009 - Cabal Private Server - 0 Replies
I know that in the "normal" Cabal once there was a hack where some chars stole all the dropped items over a full map. So in EU this hack got fixed, but maybe this could work at private servers. anyone who know this hack or any admin command to increase the range of the "pick up skill".???????
(HINT) Cora Caster Increase Force Range
01/06/2009 - RFO Hacks, Bots, Cheats, Exploits & Guides - 7 Replies
How to increase force range? Simply put Force Armor (yung pang katawan ah) +14 range each armor.. put it in your ammo slot... from armor to ammo gawing.... gnito... 0B... from 05.... to 0B... eto yung ibang address.. 0B=ammo 09=ring 0A=amulet
(HINT) Cora Caster Increase Force Range
12/24/2008 - RF Online - 0 Replies
How to increase force range? Simply put Force Armor (yung pang katawan ah) +14 range each armor.. put it in your ammo slot... from armor to ammo gawing.... gnito... 0B... from 05.... to 0B... eto yung ibang address.. 0B=ammo 09=ring 0A=amulet
Increase your targeting range
01/30/2005 - WoW Guides & Templates - 3 Replies
es kommt oft vor (gerade bei ranged klassen) das man weit entfernte mobs nicht mit der tab taste markieren kann, obwohl ein angriff schon möglich wäre lösung: öffnet euren World of Warcraft/wtf Ordner und sucht dort die Config.wtf file in der ihr den passenden eintrag wie folgt abändert: SET TargetNearestDistance "40.000000" "40" ist jetzt nur ein beispiel, ihr müsst selbst ausprobieren was für euch der optimale wert ist



All times are GMT +2. The time now is 03:15.


Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

BTC: 33E6kMtxYa7dApCFzrS3Jb7U3NrVvo8nsK
ETH: 0xc6ec801B7563A4376751F33b0573308aDa611E05

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2020 elitepvpers All Rights Reserved.