Register for your free account! | Forgot your password?

You last visited: Today at 19:48

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

Advertisement



select LatestRegion from _Char

Discussion on select LatestRegion from _Char within the SRO PServer Questions & Answers forum part of the SRO Private Server category.

Reply
 
Old   #1

 
devdash's Avatar
 
elite*gold: 14
Join Date: Feb 2016
Posts: 1,607
Received Thanks: 444
Exclamation select LatestRegion from _Char

Hello EPVP experts again, well, i have been trying to figure out why this region is unique

so basically ARENA regions never shows with this query
"select LatestRegion from _Char"

i tried to go there with a GM account and teleport in my place several times, still having the old region, when i should have the new ARENA region

i believe it's something related to world_region table, that disallow Arena regions to be placed in "LatestRegion" column in the _Char Table

EXAMPLE
- JANGAN REGION CODE 25000
- ARENA REGION CODE 29910

1) i register in arena from jangan
2) arena teleports me to arena room
3) i execute the query or take a look in the table manually
4) i still have 25000 region code, when i should have the new region code 29910


NOTE
I think this can be happening because the ARENA regions are normally use in multi, so maybe it's serverfiles related. Just wanted to point this out.


I have learned a lot in the past few years from you guys, so i know you're a lot better than me, looking forward for your answers, thanks in advance.
devdash is offline  
Old 01/20/2021, 20:24   #2
 
elite*gold: 0
Join Date: Jul 2020
Posts: 202
Received Thanks: 176
The position will not be updated if you teleport to an instanced map. You can add the region to world ID 1 if you want to make it a non-instanced map.
OKeks is offline  
Thanks
1 User
Old 01/20/2021, 22:52   #3

 
devdash's Avatar
 
elite*gold: 14
Join Date: Feb 2016
Posts: 1,607
Received Thanks: 444
Quote:
Originally Posted by OKeks View Post
The position will not be updated if you teleport to an instanced map. You can add the region to world ID 1 if you want to make it a non-instanced map.
will try that now, hope it works, i will feedback.

Quote:
Originally Posted by OKeks View Post
The position will not be updated if you teleport to an instanced map. You can add the region to world ID 1 if you want to make it a non-instanced map.
I just want to say i am trying still ... i will feedback soon, i just want to make sure i try all the methods i know.
devdash is offline  
Old 01/23/2021, 19:05   #4

 
devdash's Avatar
 
elite*gold: 14
Join Date: Feb 2016
Posts: 1,607
Received Thanks: 444
Quote:
Originally Posted by OKeks View Post
The position will not be updated if you teleport to an instanced map. You can add the region to world ID 1 if you want to make it a non-instanced map.
Okay i can't do it, i end up with disconnect all the time.
Can you please guide me how to do it, or maybe more experts join the topic !!!

devdash is offline  
Old 01/23/2021, 20:43   #5

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
As @ said, instanced worlds (ctf, battle arena, forgotten world) regions & worlds don't update to _char table. You can't change it without breaking it's system...

You need filter/gameserver to be able to know the real regionID if it's an instanced world.
sarkoplata is offline  
Thanks
1 User
Old 01/23/2021, 22:20   #6

 
devdash's Avatar
 
elite*gold: 14
Join Date: Feb 2016
Posts: 1,607
Received Thanks: 444
Quote:
Originally Posted by sarkoplata View Post
As @ said, instanced worlds (ctf, battle arena, forgotten world) regions & worlds don't update to _char table. You can't change it without breaking it's system...

You need filter/gameserver to be able to know the real regionID if it's an instanced world.
Don't you think it's possible with only some database edits?

Well, i am using a filter and i still can't detect any difference!!, how can i know what is the real regionID with a filter?

In case you ask, yes i have bought an open source filter, and i know some about C#, so if it require a small code, i think i can do it.
devdash is offline  
Old 01/24/2021, 12:49   #7
 
elite*gold: 0
Join Date: Jul 2020
Posts: 202
Received Thanks: 176
In my database(s) 29910 shows up in world ID 1 (overworld) and 48 (instance).
Code:
use SRO_VT_SHARD
select * from _RefInstance_World_Region where RegionID = 29910

use SRO_VT_SHARD
select * from _RefInstance_World_Start_Pos where RegionID = 29910
If you just want to use the overworld map you can do the following steps:
- use /warp 29910 0 0 0 to move to the location
- open map and check if you are on the actual area where you can move inside the arena
- if you are "outside" of the movable area, try to move to different place on 29910, using different /warp locations, e.g. /warp 29910 100 0 0 and so on
- only modify the 1st and the 3rd number
- once you got into the right spot, you will most likely end up below the structure
- now modify the 2nd number till you "warp" onto the structure
- once you are finished use /addwp XYZ to create a spawn location and use /wp XYZ to teleport your char to the spot

Afterwards you can walk arround and add teleporters if you want.


Note: This will not work with world ID 48, because it is an instanced map.
OKeks is offline  
Thanks
1 User
Old 01/25/2021, 09:21   #8
 
elite*gold: 0
Join Date: Apr 2016
Posts: 201
Received Thanks: 47
Quote:
Originally Posted by alydandy View Post
Don't you think it's possible with only some database edits?

Well, i am using a filter and i still can't detect any difference!!, how can i know what is the real regionID with a filter?

In case you ask, yes i have bought an open source filter, and i know some about C#, so if it require a small code, i think i can do it.
im not sure, but you may check the 0x3012,CLIENT_SPAWN_SUCCESS packet. i guess theres some documentation shared which can help you. if not, you must parse it.

dbo._CharInstanceWorldData also ould pull you out from this sort of swamp
//

btw whats the idea behind this intention? what you wanna do with this?
Piskota is offline  
Thanks
1 User
Old 01/25/2021, 17:36   #9

 
devdash's Avatar
 
elite*gold: 14
Join Date: Feb 2016
Posts: 1,607
Received Thanks: 444
Quote:
Originally Posted by OKeks View Post
In my database(s) 29910 shows up in world ID 1 (overworld) and 48 (instance).
Code:
use SRO_VT_SHARD
select * from _RefInstance_World_Region where RegionID = 29910

use SRO_VT_SHARD
select * from _RefInstance_World_Start_Pos where RegionID = 29910
If you just want to use the overworld map you can do the following steps:
- use /warp 29910 0 0 0 to move to the location
- open map and check if you are on the actual area where you can move inside the arena
- if you are "outside" of the movable area, try to move to different place on 29910, using different /warp locations, e.g. /warp 29910 100 0 0 and so on
- only modify the 1st and the 3rd number
- once you got into the right spot, you will most likely end up below the structure
- now modify the 2nd number till you "warp" onto the structure
- once you are finished use /addwp XYZ to create a spawn location and use /wp XYZ to teleport your char to the spot

Afterwards you can walk arround and add teleporters if you want.


Note: This will not work with world ID 48, because it is an instanced map.
this is a long method, i will need to give it a try and feedback, i thought it can be edit easier.

Quote:
Originally Posted by Piskota View Post
im not sure, but you may check the 0x3012,CLIENT_SPAWN_SUCCESS packet. i guess theres some documentation shared which can help you. if not, you must parse it.

dbo._CharInstanceWorldData also ould pull you out from this sort of swamp
//

btw whats the idea behind this intention? what you wanna do with this?
I will give that table a try since i never checked it.

i am trying to block some skills in arena, but i will never be able to do that if i can't detect if they players are there or not there.

Quote:
Originally Posted by Piskota View Post
im not sure, but you may check the 0x3012,CLIENT_SPAWN_SUCCESS packet. i guess theres some documentation shared which can help you. if not, you must parse it.

dbo._CharInstanceWorldData also ould pull you out from this sort of swamp
//

btw whats the idea behind this intention? what you wanna do with this?
I tried the table, well it's empty all the time whatever i do whereever i go with GM or Normal, so i think it's not available for vsro.188, correct me if i am wrong.

Now i will move to the packet method hope it work.
devdash is offline  
Old 01/27/2021, 08:24   #10
 
elite*gold: 0
Join Date: Jul 2020
Posts: 202
Received Thanks: 176
Quote:
Originally Posted by alydandy View Post
this is a long method, i will need to give it a try and feedback, i thought it can be edit easier.



I will give that table a try since i never checked it.

i am trying to block some skills in arena, but i will never be able to do that if i can't detect if they players are there or not there.



I tried the table, well it's empty all the time whatever i do whereever i go with GM or Normal, so i think it's not available for vsro.188, correct me if i am wrong.

Now i will move to the packet method hope it work.
If you want to go with a DB solution you might try to query "_CharInstanceWorldData" after going to arena with some chars. Maybe it will be registered, on my testengine I cannot try it out.
There is a "WorldID" in this table which should link to gameworld ID.
OKeks is offline  
Thanks
1 User
Old 01/27/2021, 22:02   #11
 
elite*gold: 0
Join Date: Apr 2016
Posts: 201
Received Thanks: 47
Quote:
Originally Posted by alydandy View Post
...
Okay, so!

1:


Desc: if dbo._RefGame_World.Type value =0 you can check the arena simply
if dbo._RefGame_World.Type =1 you should be tricky, because it means the world (area) you wanna check will NOT update your chars location params.

(Type = 1 means its an instance in general)

Conclusion: you must set Type = 0 to make your system working (if you wanna choose the easy and reasonable way)

2: via filter you should check if the character( which trynna use the blocked skill) has that WorldID value which belonging to that area you wanna check



Code:
/*in case the char wanna enter the arena */
if TELEPORT_TARGET = ARENA_TELEPORT
   inArena = 1
else
   inArena = 0
/*in case the player in the arena and got dc*/
if EXIT
   if inArena = 1
      UPDATE Character.Location = Hotan /*or any other place */
      inArena = 0
3*: if your dbo._CharInstanceWorldData is empty then you may should make a try with removing the the row belonging to that zone you wanna check in
dbo._RefGameWorldBindGameWorldGroup

Code:
removing world from dbo._RefGameWorldBindGameWorldGroup results not adding that blue fgw icon 'status' once you enter the dungeon
**im not sure im right in the (1.) : doest the location params updated if you enter a world with type = 0 ? i forgot this, but since the town has 0, it must be... let me know
Piskota is offline  
Thanks
1 User
Old 01/27/2021, 23:50   #12

 
devdash's Avatar
 
elite*gold: 14
Join Date: Feb 2016
Posts: 1,607
Received Thanks: 444
Quote:
Originally Posted by OKeks View Post
If you want to go with a DB solution you might try to query "_CharInstanceWorldData" after going to arena with some chars. Maybe it will be registered, on my testengine I cannot try it out.
There is a "WorldID" in this table which should link to gameworld ID.
I tried that actually, but i will try it again, and feedback.

Quote:
Originally Posted by Piskota View Post
Okay, so!

1:


Desc: if dbo._RefGame_World.Type value =0 you can check the arena simply
if dbo._RefGame_World.Type =1 you should be tricky, because it means the world (area) you wanna check will NOT update your chars location params.

(Type = 1 means its an instance in general)

Conclusion: you must set Type = 0 to make your system working (if you wanna choose the easy and reasonable way)

2: via filter you should check if the character trynna use the blocked skill has that WorldID value which belonging to that area you wanna check



[code]
/*in case the char wanna enter the arena */
if TELEPORT_TARGET = ARENA_TELEPORT
inArena = 1
else
inArena = 0
/*in case the player in the arena and got dc*/
if EXIT
if inArena = 1
UPDATE Character.Location = Hotan /*or any other place */
inArena = 0

3*: if your dbo._CharInstanceWorldData is empty then you may should make a try with removing the the row belonging to that zone you wanna check in
dbo._RefGameWorldBindGameWorldGroup

Code:
removing from world dbo._RefGameWorldBindGameWorldGroup results not adding that blue fgw icon 'status' once you enter the dungeon
**im not sure im right in the (1.) : doest the location params updated if you enter a world with type = 0 ? i forgot this, but since the town has 0, it must be... let me know
It's awesome to find someone explaining now days, you're unique and special, hope you stay the same forever, i appreciate your help a lot <3
Actually you're better than me, when i have questions like this i would replay in the simplest way cuz i am "LAZY" but i will try to not be anymore, u encouraged me to be a better helper, u are awesome.

Back to the topic, well i will try that and feedback, that sound smart and may work.
devdash is offline  
Thanks
1 User
Old 01/28/2021, 13:29   #13
 
elite*gold: 0
Join Date: Jul 2020
Posts: 202
Received Thanks: 176
I did some tests today and it looks like [_CharInstanceWorldData] is not working with battle arena maps.
There is only one record I could find in the DB when someone joins to battle arena.


You could create a table in your shard DB e.g. like "_CharBattlerena" and modify the log procedure to put some values into it.


Event ID = 9 -> Teleport
strPos = Map Name + Position


To get a valid map name I changed the AreaName in _RefRegion to be something useful.


If someone joins to any arena map you will have a record that you can query from your shard for further analysis.


Please take care, this is only a rough test...

There is also a record with EventID = 239 when the match has been finished to clear entries in the battlearena table.

If you wonder how to run some tests on battlearena matches: there is a /barena X Y command for it. X should be the "status" (0 to 5) and Y the type of arena. At least it is working for random match arena...

Another option would be to declare a timedjob on EventID = 239, which could be a special "Arena Buff" to prevent skills being used. But it might be to slow and don't show up in the client after teleporting...
OKeks is offline  
Thanks
1 User
Old 01/28/2021, 18:27   #14

 
devdash's Avatar
 
elite*gold: 14
Join Date: Feb 2016
Posts: 1,607
Received Thanks: 444
Quote:
Originally Posted by OKeks View Post
I did some tests today and it looks like [_CharInstanceWorldData] is not working with battle arena maps.
There is only one record I could find in the DB when someone joins to battle arena.


You could create a table in your shard DB e.g. like "_CharBattlerena" and modify the log procedure to put some values into it.


Event ID = 9 -> Teleport
strPos = Map Name + Position


To get a valid map name I changed the AreaName in _RefRegion to be something useful.


If someone joins to any arena map you will have a record that you can query from your shard for further analysis.


Please take care, this is only a rough test...

There is also a record with EventID = 239 when the match has been finished to clear entries in the battlearena table.

If you wonder how to run some tests on battlearena matches: there is a /barena X Y command for it. X should be the "status" (0 to 5) and Y the type of arena. At least it is working for random match arena...

Another option would be to declare a timedjob on EventID = 239, which could be a special "Arena Buff" to prevent skills being used. But it might be to slow and don't show up in the client after teleporting...
I am sure by following this and @ posts, i will end up 100% having it, right now i started to create the code in the filter.

Thank you very much, and i really wish you the best <3

Its really rare to find a good explain expert like you, and lucky me i got two in the same topic, thanks again.

#Request_Topic_Close
@
devdash is offline  
Thanks
1 User
Old 01/29/2021, 00:23   #15
 
elite*gold: 0
Join Date: Apr 2016
Posts: 201
Received Thanks: 47
Quote:
Originally Posted by OKeks View Post
I did some tests today and it looks like [_CharInstanceWorldData] is not working with battle arena maps.
There is only one record I could find in the DB when someone joins to battle arena.


You could create a table in your shard DB e.g. like "_CharBattlerena" and modify the log procedure to put some values into it.


Event ID = 9 -> Teleport
strPos = Map Name + Position


To get a valid map name I changed the AreaName in _RefRegion to be something useful.


If someone joins to any arena map you will have a record that you can query from your shard for further analysis.


Please take care, this is only a rough test...

There is also a record with EventID = 239 when the match has been finished to clear entries in the battlearena table.

If you wonder how to run some tests on battlearena matches: there is a /barena X Y command for it. X should be the "status" (0 to 5) and Y the type of arena. At least it is working for random match arena...

Another option would be to declare a timedjob on EventID = 239, which could be a special "Arena Buff" to prevent skills being used. But it might be to slow and don't show up in the client after teleporting...
as i said before if the world has type = 1, your location params will not be effected by - ARENA% worlds has type = 1...



set them to 0 and check if that table is still empty
Piskota is offline  
Reply


Similar Threads Similar Threads
(SQL) Where is the link between TB_User and _Char
01/09/2017 - SRO Private Server - 3 Replies
Hello! How can i know, which char is linked to which account? To search the account by character name to add reward on account?
[Release][Query] Query _InvCOS Items WITH _Char Connection
12/29/2015 - SRO PServer Guides & Releases - 1 Replies
Ok, so i needed to write this query for a procedure im working on and not many people know how to connect the pet inventory table to the character table.... so this query will explain how its done... im not going to explain every single detail, like how there is no charcos when pet is despawned / dead... but yea you can probably figure that all out from this query... The code... USE SELECT pet_invo. ,pet_invo. PetSlot
[SR_VT_SHARD] db._Char CLEAR
09/18/2011 - SRO Private Server - 0 Replies
I delete the character database ,I got a red error. I looked back and has not been deleted..! Help me.. http://i51.tinypic.com/2lxhzq.png http://i52.tinypic.com/20rog8g.png
How to Clear _Char table ?
09/18/2011 - SRO Private Server - 2 Replies
any ideas ?



All times are GMT +2. The time now is 19:48.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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