vSRO Complete SQL Guide – Monster Editing Queries (Beginner & Advanced)
admin
Katılım
23 Eki 2022
Mesajlar
8,636
Çözümler
12
Tepkime puanı
6,057
Puanları
113
Yaş
28
This guide provides a complete set of SQL queries for vSRO / Silkroad Online server developers.
It is designed for beginners and advanced editors who want to modify monster locations, counts, and behaviors directly from the database.


You can use these queries to:


  • Move mobs between towns
  • Replace monsters in regions
  • Increase spawn rates
  • Delete specific mobs
  • List all monsters by world ID



⚙️ 1. Find Location of a Specific Mob


This query shows where a specific monster is located in the world.


USE SRO_VT_SHARD
SELECT s.CodeName128, a.ContinentName
FROM dbo.tab_refnest i
INNER JOIN dbo._RefRegion a ON a.wRegionID = i.nRegionDBID
INNER JOIN dbo.Tab_RefTactics x ON i.dwTacticsID = x.dwTacticsID
INNER JOIN dbo._RefObjCommon s ON x.dwObjID = s.ID
WHERE s.CodeName128 LIKE 'MOB_KK_YETI'


📌 Result: Shows which town/region the mob is spawned in.




⚙️ 2. Replace All Mobs in a Town


This query replaces all mobs in a selected town with another monster.


USE SRO_VT_SHARD
UPDATE x SET x.dwObjID = 'NEW_MOB_ID_HERE'
FROM dbo.tab_refnest i
INNER JOIN dbo._RefRegion a ON a.wRegionID = i.nRegionDBID
INNER JOIN dbo.Tab_RefTactics x ON i.dwTacticsID = x.dwTacticsID
INNER JOIN dbo._RefObjCommon s ON x.dwObjID = s.ID
WHERE a.ContinentName LIKE 'TOWN_NAME_HERE'
AND i.dwMaxTotalCount <> 1
AND s.CodeName128 NOT LIKE '%god%'


📌 Usage:


  • Replace NEW_MOB_ID_HERE with desired mob ID
  • Replace TOWN_NAME_HERE with region name



⚙️ 3. Increase Mob Spawn Count


Increase number of mobs in a specific area.


UPDATE i SET i.dwMaxTotalCount = 4
FROM dbo.tab_refnest i
INNER JOIN dbo._RefRegion a ON a.wRegionID = i.nRegionDBID
WHERE a.ContinentName LIKE 'ARABIA_FIELD_02'
AND i.dwMaxTotalCount <> 1


📌 Result: More monsters spawn in selected region.




⚙️ 4. Delete Specific Mobs


Removes mobs from the game database.


USE SRO_VT_SHARD
DELETE i
FROM dbo.tab_refnest i
INNER JOIN dbo.Tab_RefTactics x ON i.dwTacticsID = x.dwTacticsID
INNER JOIN dbo._RefObjCommon s ON x.dwObjID = s.ID
WHERE s.CodeName128 LIKE 'MOB_'


⚠️ Warning: This will remove matching mobs permanently.




🌍 5. Get All Monsters by World ID


Lists all monsters in a specific game world.


SELECT DISTINCT k.*
FROM dbo.tab_refhive i
INNER JOIN dbo.tab_refnest a ON a.dwHiveID = i.dwHiveID
INNER JOIN dbo.Tab_RefTactics x ON a.dwTacticsID = x.dwTacticsID
INNER JOIN dbo._RefObjCommon k ON x.dwObjID = k.ID
WHERE i.GameWorldID = 86
AND k.Service = 1


📌 Useful for:


  • World balancing
  • Monster tracking
  • Server debugging



💡 Notes


  • Always backup database before editing
  • Work on test server first
  • Incorrect updates may break spawn system
  • Recommended for MSSQL vSRO databases
 
Üst
Reklam Ver
R10dev.net'i ana ekrana ekle!