İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım vSRO Özel Bölgeye Zindan Taşı (Dungeon Pillar) İle Giriş Sistemi

Cevaplar0
Görüntüleme6
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[REHBER & SİSTEM] vSRO Özel Bölgeye Zindan Taşı (Dungeon Pillar) İle Giriş Sistemi
Garden Dungeon / Özel Haritalar İçin FGW Tarzı Taş ile Instance Zindan Oluşturma, Giriş Kısıtlamaları ve Media.pk2 Entegrasyonu



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında Forgotten World (FGW), Jupiter veya HWT zindan mantığını kullanarak dilediğiniz herhangi bir bölgeyi (bu örnekte **Garden Dungeon**) parti üyelerinin bir **Dungeon Taşı / Parşömeni** kullanarak açabileceği özel bir **Instance Zindana** dönüştürebilirsiniz.

Bu sistem sayesinde:
  • Oyuncu taşı kullandığında kendi partisine özel izole bir harita (Instance World) oluşur.
  • Zindana giriş seviyesi (Örn: 101 - 110 Lvl), Job kıyafeti çıkarma ve binek kısıtlamaları otomatik uygulanır.
  • İçeride parti üyelerini çeken bir çağırma kovanı (Tab_RefHive / PartyMemberRecall) doğar.
  • Zindan kapanış süresi ve tekrar giriş bekleme süresi (Cool-time) otomatik yönetilir.

Teknik Kurulum Uyarısı' Alıntı:
DİKKAT (ID Çakışmaları & Dosya Senkronizasyonu):
  • Aşağıdaki veritabanı ID'leri örnek olarak standartlaştırılmıştır:
    - Dünya ID (WorldID): 95
    - Dünya Grup ID (GroupID): 2
    - Eşya Common ID: 43946 (Link: 21586)
    Eğer veritabanınızda bu ID'ler doluysa çakışmaması için boş bir ID belirleyiniz.
  • Veritabanı kayıtları ile Media.pk2 içerisindeki dosyalar birebir aynı ID ve parametreleri taşımalıdır.
  • İşlem öncesinde mutlaka SRO_VT_SHARD yedeğinizi alınız.



1. BÖLÜM: DATABASE (SRO_VT_SHARD) KURULUM SORGULARI

SRO_VT_SHARD
veritabanını seçip aşağıdaki sorguyu çalıştırın:

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- 1. ADIM: ZİNDAN DÜNYASI TANIMLAMA (_RefGame_World)
-- ID: 95 | Süre: 7200000 ms (2 Saat) | Kapanış Uyarı: 600000 ms (10 Dk)
-- ===================================================================
IF NOT EXISTS (SELECT 1 FROM dbo._RefGame_World WHERE ID = 95)
BEGIN
    INSERT INTO dbo._RefGame_World (ID, WorldCodeName128, Type, MaxCount, MaxPartyCount, City, ChannelAttribute, GuildWarType, Duration, OpenNoticeTime, ConfigGroupCodeName128)
    VALUES (95, 'INS_GARDEN_DUNGEON', 1, 50, 8, 0, 0, 0, 7200000, 600000, 'GROUP_GARDEN_DUNGEON')
END

-- ===================================================================
-- 2. ADIM: ZİNDAN GİRİŞ KISITLAMALARI VE KURALLARI (_RefGame_World_Config)
-- ===================================================================
DELETE FROM dbo._RefGame_World_Config WHERE ConfigGroupCodeName128 = 'GROUP_GARDEN_DUNGEON'

INSERT INTO dbo._RefGame_World_Config (Service, WorldID, ConfigGroupCodeName128, ConfigCodeName128, Value, DescCodeName128) VALUES
(1, 825, 'GROUP_GARDEN_DUNGEON', 'GAME_WORLD_NORMALIZE_TYPE', 'GAME_WORLD_NORMALIZE_TYPE_A', 'STRING'),
(1, 826, 'GROUP_GARDEN_DUNGEON', 'ENTER_LIMIT_CONDITION_LEVEL_MINIMUM_NUM', '101', 'INT32'),
(1, 827, 'GROUP_GARDEN_DUNGEON', 'ENTER_LIMIT_CONDITION_LEVEL_MAXIMUM_NUM', '110', 'INT32'),
(1, 828, 'GROUP_GARDEN_DUNGEON', 'ENTER_LIMIT_CONDITION_JOB_CLOTHES_TAKE_OFF', 'ON', 'STRING'),
(1, 829, 'GROUP_GARDEN_DUNGEON', 'ENTER_LIMIT_CONDITION_RIDE_COS_NOT_RIDING', 'ON', 'STRING'),
(1, 830, 'GROUP_GARDEN_DUNGEON', 'ENTER_LIMIT_CONDITION_TRADE_COS_NOT_RIDING', 'ON', 'STRING'),
(1, 831, 'GROUP_GARDEN_DUNGEON', 'PARTYMONSTER_SPAWN', 'OFF', 'STRING'),
(1, 832, 'GROUP_GARDEN_DUNGEON', 'ENTER_LIMIT_CONDITION_FRPVP_VOUCHER_TAKE_OFF', 'ON', 'STRING'),
(1, 833, 'GROUP_GARDEN_DUNGEON', 'CONTROL_NOTIFY_SPAWN_UNIQUE_MONSTER_MSG', 'ON', 'STRING'),
(1, 834, 'GROUP_GARDEN_DUNGEON', 'GAMEWORLD_DISAPPEARANCE_TIME', '3600000', 'INT32'),
(1, 835, 'GROUP_GARDEN_DUNGEON', 'GAMEWORLD_DISAPPEARANCE_TIME', '600000', 'INT32'),
(1, 836, 'GROUP_GARDEN_DUNGEON', 'GAMEWORLD_DISAPPEARANCE_TIME', '300000', 'INT32')

-- ===================================================================
-- 3. ADIM: ZİNDANA AİT BÖLGELER (REGIONS) (_RefInstance_World_Region)
-- ===================================================================
DELETE FROM dbo._RefInstance_World_Region WHERE WorldID = 95

INSERT INTO dbo._RefInstance_World_Region (WorldID, RegionID) VALUES
(95, 31734), (95, 31735), (95, 31736),
(95, 31990), (95, 31991), (95, 31992),
(95, 32246), (95, 32247), (95, 32248)

-- ===================================================================
-- 4. ADIM: ZİNDAN GRUBU VE SOĞUMA SÜRESİ (COOL-TIME) AYARLARI
-- ===================================================================
IF NOT EXISTS (SELECT 1 FROM dbo._RefGameWorldGroup WHERE ID = 2)
BEGIN
    INSERT INTO dbo._RefGameWorldGroup (ID, CodeName128, ObjName128, ConfigGroupCodeName128)
    VALUES (2, 'GROUP_INS_GARDEN', 'GARDENDUNGEON', 'GROUP_CONFIG_INS_GARDEN')
END

DELETE FROM dbo._RefGameWorldGroup_Config WHERE ConfigGroupCodeName128 = 'GROUP_CONFIG_INS_GARDEN'

INSERT INTO dbo._RefGameWorldGroup_Config (Service, WorldGroupID, ConfigGroupCodeName128, ConfigCodeName128, Value, DescCodeName128) VALUES
(1, 6, 'GROUP_CONFIG_INS_GARDEN', 'ENTER_WORLD_GROUP_COOL_TIME', '300', 'INT32'),
(1, 7, 'GROUP_CONFIG_INS_GARDEN', 'TIMEDJOB_COOL_TIME_FORCLIENT', '300', 'CLIENT_DATA'),
(1, 8, 'GROUP_CONFIG_INS_GARDEN', 'TIMEDJOB_ICONURL_FORCLIENT', 'icon\item\etc\teleprot_hole.ddj', 'CLIENT_DATA'),
(1, 9, 'GROUP_CONFIG_INS_GARDEN', 'TIMEDJOB_EXPANATION_FORCLIENT', 'UIIT_STT_PARTY_LOST_WOLRD_EXPANATION_GARDEN', 'CLIENT_DATA'),
(1, 10, 'GROUP_CONFIG_INS_GARDEN', 'TIMEDJOB_SUBJECT_FORCLIENT', 'UIIT_STT_PARTY_LOST_WOLRD_SUBJECT_GARDEN', 'CLIENT_DATA')

-- Grup - Dünya Eşleştirmesi
IF NOT EXISTS (SELECT 1 FROM dbo._RefGameWorldBindGameWorldGroup WHERE WorldID = 95)
BEGIN
    INSERT INTO dbo._RefGameWorldBindGameWorldGroup (Service, ID, WorldID, WorldGroupID)
    VALUES (1, 23, 95, 2)
END

-- Zindana Giriş Başlangıç Koordinatı (_RefInstance_World_Start_Pos)
DELETE FROM dbo._RefInstance_World_Start_Pos WHERE WorldID = 95
INSERT INTO dbo._RefInstance_World_Start_Pos (WorldID, RegionID, PosX, PosY, PosZ, Direction)
VALUES (95, 32248, 1371, 439, 1358, 0)

-- ===================================================================
-- 5. ADIM: ZİNDAN TAŞI EŞYASINI OLUŞTURMA (_RefObjItem & _RefObjCommon)
-- ===================================================================
IF NOT EXISTS (SELECT 1 FROM dbo._RefObjItem WHERE ID = 21586)
BEGIN
    INSERT INTO dbo._RefObjItem (ID, MaxStack, ReqGender, ItemClass, SetID, Durability, Speed1, Speed2, Scale, IncMaxHP, IncMaxMP, IncMaxHGP, IncMaxSGP, IncMaxPetHGP, IncMaxPetSGP, IncMaxRaidHP, IncMaxRaidMP, ReqObjLvl, ReqPower, ReqAgility, ReqIntellect, ReqCharisma, ReqLuck, ReqLvl1, ReqLvl2, ReqLvl3, ReqLvl4, ReqLvlJob, ReqLvlGuild, ItemType, Quatity, ReqClassType, Country, Rarity, CashItem, Bionic, Type, TypeDetail, TypeClass, SubClass, TypeSubDetail, Param1, Param1_Desc128, Param2, Param2_Desc128, Param3, Param3_Desc128, Param4, Param4_Desc128, Param5, Param5_Desc128, Param6, Param6_Desc128, Param7, Param7_Desc128, Param8, Param8_Desc128, Param9, Param9_Desc128, Param10, Param10_Desc128, Param11, Param11_Desc128, Param12, Param12_Desc128, Param13, Param13_Desc128, Param14, Param14_Desc128, Param15, Param15_Desc128, Param16, Param16_Desc128, Param17, Param17_Desc128, Param18, Param18_Desc128, Param19, Param19_Desc128, Param20, Param20_Desc128, Param21, Param21_Desc128, Param22, Param22_Desc128, Param23, Param23_Desc128, Param24, Param24_Desc128, Param25, Param25_Desc128, Param26, Param26_Desc128, Param27, Param27_Desc128, Param28, Param28_Desc128, Param29, Param29_Desc128, Param30, Param30_Desc128, Param31, Param31_Desc128, Param32, Param32_Desc128, Price, SellPrice, DefLevel)
    VALUES (21586, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, '???', 0, 'INS_GARDEN_DUNGEON', 101, '?? ????', 110, '?? ????', 8, '??????', 6, '???? ??', 1, '???? ?? ??', -1, 'INS_QUEST_TELEPORT', -1, 'UIIT_STT_GARDEN_DUNGEON', 18000000, 'COOLTIME:0x00000071', -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', 0, 0, 0)
END

IF NOT EXISTS (SELECT 1 FROM dbo._RefObjCommon WHERE ID = 43946)
BEGIN
    INSERT INTO dbo._RefObjCommon (Service, ID, CodeName128, ObjName128, OrgObjCodeName128, NameStrID128, DescStrID128, CashItem, Bionic, TypeID1, TypeID2, TypeID3, TypeID4, DecayTime, Country, Rarity, CanTrade, CanSell, CanBuyInMall, CanStore_Stand, CanStore_Deposit, CanStore_Guild, CanTrade_UserToUser, CanDrop, CanPick, CanUse, CanUse_Attr, Stack, MaxMagicOptCount, Speed1, Speed2, Scale, BCHeight, BCRadius, EventFlag, MagParamNum, AssocFileObj128, AssocFileDrop128, AssocFileIcon128, AssocFile1_128, AssocFile2_128, Link)
    VALUES (1, 43946, 'ITEM_TELEPORT_GARDEN_DUNGEON', 'GardenDungeon', 'xxx', 'SN_ITEM_TELEPORT_GARDEN_DUNGEON', 'SN_ITEM_TELEPORT_GARDEN_DUNGEON_TT_DESC', 0, 0, 3, 3, 12, 7, 180000, 3, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 100, 0, 0, 0, 1, 1, 0, 'xxx', 'item\etc\drop_ch_eventbox.bsr', 'item\etc\teleprot_hole.ddj', 'xxx', 'xxx', 21586)
END

-- ===================================================================
-- 6. ADIM: PARTİ ÜYELERİNİ ÇEKME KOVANI (Tab_RefHive & Tab_RefNest)
-- ===================================================================
IF NOT EXISTS (SELECT 1 FROM dbo.Tab_RefHive WHERE dwHiveID = 1577)
BEGIN
    INSERT INTO dbo.Tab_RefHive (dwHiveID, btKeepTime, dwRegenType, btTriggerType, btRegenLimit, btMaxSpawn, btAutoSpawn, dwGameWorldID, btHatchType, szDesc)
    VALUES (1577, 0, 0, 0, 0, 0, 0, 95, 2, 'PartyMemberRecall')
END

DELETE FROM dbo.Tab_RefNest WHERE dwNestID = 36834
INSERT INTO dbo.Tab_RefNest (dwNestID, dwHiveID, dwTacticsID, nRegionDBID, fLocalPosX, fLocalPosY, fLocalPosZ, wInitialDir, nRadius, nGenerateRadius, nChampionGenPercentage, dwDelayTimeMin, dwDelayTimeMax, dwMaxTotalCount, btFlag, btRespawn, btType)
VALUES (36834, 1577, 1800, 32248, 1253, 445.8, 1422, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0)

PRINT '====================================================='
PRINT 'BAŞARILI: Garden Dungeon veritabanı kurulumu tamamlandı!'
PRINT 'Değişikliklerin aktif olması için GameServer ve ShardManager yeniden başlatılmalıdır.'
PRINT '====================================================='



2. BÖLÜM: CLIENT (Media.pk2) KURULUM METİNLERİ

PK2 editörü ile istemci dosyalarınızı açarak ilgili TXT dosyalarının en altına ekleme yapınız:

1. server_dep\silkroad\textdata\gameworlddata.txt
Kod:
95    INS_GARDEN_DUNGEON    1    50    8    GROUP_GARDEN_DUNGEON

2. server_dep\silkroad\textdata\gameworldconfigdata.txt
Kod:
GROUP_GARDEN_DUNGEON    GAME_WORLD_NORMALIZE_TYPE    STRING    GAME_WORLD_NORMALIZE_TYPE_A
GROUP_GARDEN_DUNGEON    ENTER_LIMIT_CONDITION_LEVEL_MINIMUM_NUM    INT32    101
GROUP_GARDEN_DUNGEON    ENTER_LIMIT_CONDITION_LEVEL_MAXIMUM_NUM    INT32    110
GROUP_GARDEN_DUNGEON    ENTER_LIMIT_CONDITION_JOB_CLOTHES_TAKE_OFF    STRING    ON
GROUP_GARDEN_DUNGEON    ENTER_LIMIT_CONDITION_RIDE_COS_NOT_RIDING    STRING    ON
GROUP_GARDEN_DUNGEON    ENTER_LIMIT_CONDITION_TRADE_COS_NOT_RIDING    STRING    ON
GROUP_GARDEN_DUNGEON    PARTYMONSTER_SPAWN    STRING    OFF
GROUP_GARDEN_DUNGEON    ENTER_LIMIT_CONDITION_FRPVP_VOUCHER_TAKE_OFF    STRING    ON
GROUP_GARDEN_DUNGEON    CONTROL_NOTIFY_SPAWN_UNIQUE_MONSTER_MSG    STRING    ON
GROUP_GARDEN_DUNGEON    GAMEWORLD_DISAPPEARANCE_TIME    INT32    3600000
GROUP_GARDEN_DUNGEON    GAMEWORLD_DISAPPEARANCE_TIME    INT32    600000
GROUP_GARDEN_DUNGEON    GAMEWORLD_DISAPPEARANCE_TIME    INT32    300000

3. server_dep\silkroad\textdata\groupworld_config_forclient.txt
Kod:
2    TIMEDJOB_COOL_TIME_FORCLIENT    300
2    TIMEDJOB_ICONURL_FORCLIENT    icon\item\etc\teleprot_hole.ddj
2    TIMEDJOB_EXPANATION_FORCLIENT    UIIT_STT_PARTY_LOST_WOLRD_EXPANATION_GARDEN
2    TIMEDJOB_SUBJECT_FORCLIENT    UIIT_STT_PARTY_LOST_WOLRD_SUBJECT_GARDEN

4. server_dep\silkroad\textdata\itemdata_xxx.txt
Kod:
1    43946    ITEM_TELEPORT_GARDEN_DUNGEON    GardenDungeon    xxx    SN_ITEM_TELEPORT_GARDEN_DUNGEON    SN_ITEM_TELEPORT_GARDEN_DUNGEON_TT_DESC    0    0    3    3    12    7    180000    3    0    1    1    1    0    0    1    0    0    1    0    0    1    0    100    0    0    0    1    1    0    xxx    item\etc\drop_ch_eventbox.bsr    item\etc\teleprot_hole.ddj    xxx    xxx    1    2    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1    ???    0    INS_GARDEN_DUNGEON    101    ?? ????    110    ?? ????    8    ??????    6    ???? ??    1    ???? ?? ??    -1    INS_QUEST_TELEPORT    -1    UIIT_STT_GARDEN_DUNGEON    18000000    COOLTIME:0x00000071    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0    0

5. server_dep\silkroad\textdata\textdata_object.txt
Kod:
1    SN_ITEM_TELEPORT_GARDEN_DUNGEON    Garden Dungeon Parşömeni
1    SN_ITEM_TELEPORT_GARDEN_DUNGEON_TT_DESC    Parti başkanı kullandığında partiyi Garden Dungeon zindanına ışınlayan geçit kapısı açar.

6. server_dep\silkroad\textdata\textuisystem.txt
Kod:
1    UIIT_STT_PARTY_LOST_WOLRD_SUBJECT_GARDEN    Garden Dungeon - Tekrar Giriş Limiti
1    UIIT_STT_PARTY_LOST_WOLRD_EXPANATION_GARDEN    Zindanın tekrar giriş süresi dolduğunda parti üyeleri yeni bir zindana giriş yapabilir.
1    UIIT_STT_GARDEN_DUNGEON    Garden Dungeon



Nasıl Test Edilir?

  1. SQL kodlarını SRO_VT_SHARD üzerinde okutun.
  2. Media.pk2 içerisine yukarıdaki metinleri import edip istemcinizi güncelleyin.
  3. Sunucudaki ShardManager ve GameServer modüllerini baştan başlatın.
  4. 101-110 seviye aralığında bir karakterle parti kurup parti başkanı olun (üzerinizde Job kıyafeti olmamalıdır).
  5. ITEM_TELEPORT_GARDEN_DUNGEON taşını çantanıza alıp sağ tıklayın.
  6. Yerde boyut kapısının açıldığını ve tıkladığınızda tüm partinin Garden Dungeon zindanına ışınlandığını doğrulayın.

Sorularınızı ve takıldığınız yerleri bu konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 39,451 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,311
Mesajlar 4,188
Kullanıcılar 1,624
Son üye mrt
Geri
Üst