Header Ads

header ads

Vsro Npc Konumu Değiştirme Bulunduğu Alandan Bir Başka Alana Taşıma


Vsro da NPC'yi bulunduğu alandan Bir Başka Alana konuma taşımayı göstericem

İlk Önce Oyunda Hangi Npc nin Yerini değiştirmek İstiyorsak O npc nin adını PK2 Editör ile media/server_dep/silkroad/textdata/textdata_object.txt
Çıkartıyoruz Not Defteri İle Açıyoruz Ve Ctrl+F yapıp Oyundaki Npc İsmini Aratıyoruz


Bizim İşimize Yarayan Kırmızı İşaret İle Belirlenmiş Bu demek Oluyor Npc Data da RefObjCommon da NPC_STATIIC3

Oyuna Girip Karakterimizi Npc'yi taşımak istediğimiz kordinata götürüyoruz ve karakterden çıkıyoruz.

Daha Sonra SQLServer Açıyoruz Ve SRO_VT_SHARD>Tables>_RefObjCommon Sağ Tık Edit All Rows diyoruz karşımıza çıkan pencerede

Bizim burda işimize yarıycak olan alan ID'dir işte alta Fotorafta Gösterildiği Gibi

SQLServer'den Aynı Şekilde SRO_VT_SHARD > Tables > Tab_RefTactics açıyoruz.


Kırmızı Kutu İçindeki _RefObjCommon'daki ID Adresidir
Yeşil Kutu İçindeki ise _RefTactics ID Adresidir Şimdi Bu ID Adresini
SQLSERVER SRO_VT_SHARD > Tables > Tab_RefNest açıyoruz


Kırmızı Kutu _RefTactics ID'sidir Yeşil Kutu Npc'nin Bölgesi Mavi Kutu X Kordinat Turuncu Kutu Y Kordinat Mor Kutu Z kordinat Sarı Kutu Npc yönüdür.

Şimdi SQLSERVER SRO_VT_SHARD > Tables >_Char tablosunu açıyoruz ve oyuna girdiğimiz karteri şeçiyoruz


Ve _Char Tablosundan Kordinatları alıyoruz Tab_RefNest Tablosundaki Npc nin bulunduğu Kordinatlar İle Değiştiriyoruz.. Sağ Tıklayıp Execute SQL diyoruz ve Npc'nin Kordinatları Değişmiş Oluyor 

Server'e Restart Atmayı Unutmayınız Sadece SR_GameServer'i kapatıp açsanızda olur.

NOT: Media.Pk2'de degişiklik yapmanıza gerek yoktur.

Hazır Query ;

USE SRO_VT_SHARD /*DATABASE ISMI*/

DECLARE @charname1 VARCHAR (30)
DECLARE @NPCPOS VARCHAR (MAX)
DECLARE @ID INT
DECLARE @TACTICSID INT

SET @charname1 = 'Test' -- NPC NİN KOCAĞI YERDEKİ CHAR İSMİ
SET @NPCPOS = 'NPC_BLACKSMIT' -- NPC NİN KODU

DECLARE @regiON1 INT SET @regiON1 = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @charname1)
DECLARE @posX1 INT SET @posX1 = (SELECT (POSX) FROM _Char WHERE CharName16 = @charname1)
DECLARE @posY1 INT SET @posY1 = (SELECT (POSY) FROM _Char WHERE CharName16 = @charname1)
DECLARE @posZ1 INT SET @posZ1 = (SELECT (POSZ) FROM _Char WHERE CharName16 = @charname1)
SET @ID = (SELECT ID FROM _RefObjCommon WHERE CodeName128=@NPCPOS)
SET @TACTICSID =(SELECT dwTacticsID FROM Tab_RefTactics WHERE dwObjID=@ID)

UPDATE Tab_RefNest SET fLocalPosX= @posX1,fLocalPosY= @posY1,fLocalPosZ= @posZ1,nRegionDBID= @regiON1 WHERE dwTacticsID=@TACTICSID


Txt Dosyası ;


Alternatif Link ;







Yorum Gönder

0 Yorumlar