Merhaba, Hoşgeldin!

VSRO.org, Silkroad Online, Knight Online, Metin2 ve diğer çevrimiçi oyunlar için öncü bir yardım ve geliştirme platformudur. Misyonumuz, bilgi ve deneyim sahibi bireyleri, bilgiye ihtiyaç duyanlarla bir araya getirerek, zengin bir etkileşim ortamı yaratmak ve farklı bakış açılarını birleştirmektir. Topluluğumuzda güçlü bir işbirliği ve öğrenme kültürü oluşturarak, herkesin değerli katkılarda bulunmasını sağlıyoruz.

vSRO Çözüldü Inventory expansion 3.Pageyi açmıyor ?

Katılım
3 Haz 2019
Mesajlar
660
Çözümler
4
Tepkime puanı
131
Puanları
43
Yaş
27
Konum
İstanbul / Esenler
Adsız.png

Dostlar Sadece 1 Page açıyor. Bunu bugsuz sorunsuz 3.Pageyi full şekilde açabilir şekilde nasıl yapabiliriz ?

RefObjItem de Param1 değeri 32 gösteriyor. orayı kaç yapmam gerek veya başka yolu varmı ?

Bir paylaşım var bu konu hakkında ama link kırık malsf.
 
işine yarar mı bilmem ama bu konudan indirip yeni bir scroll ekleyebilirsin dragonslayer baskanın paylastıgı konuda
 
Oyla 0
işine yarar mı bilmem ama bu konudan indirip yeni bir scroll ekleyebilirsin dragonslayer baskanın paylastıgı konuda
Link kırık , yenileseler zahmet olmadan iyi olcak da .
 
Oyla 0
Orj item sadece +32 slot ekler, page 2 açık ise page 3 açılır ama doğrudan page 1 den page 3 ü açamaz çünkü sadece max +32 ile çalışacak şekilde jmx tasarlamış. İşte biz custom bir item ekleyerek tüm slotları açabileceğiz. Üstelik teleport olma zorunluluğu yok. Kısacası orj item gibi çalışacak.

Mevcut itemin teleport gerektirmeyen bir kopyasını ekleyelim:

SQL:
_RefSkillGroup:
5000    SKILL_ADVANCED_INVENTORY_ADDITION

_RefSkill:
1    50000    5000    SKILL_ADVANCED_INVENTORY_ADDITION    ????    SKILL_ADVANCED_INVENTORY_ADDITION    0    1    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    1    0    0    0    0    0    0    0    0    0    0    0    0    3    0    0    255    255    0    0    0    0    0    255    255    255    255    xxx    xxx    xxx    xxx    xxx    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

_RefObjCommon
1    60000    ITEM_MALL_ADVANCED_INVENTORY_ADDITION    ?????    xxx    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION_TT_DESC    1    0    3    3    13    1    180000    3    0    1    1    1    255    0    1    0    0    129    0    0    0    0    0    0    0    -1    0    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_bag.bsr    item\etc\mall_inventory_addition.ddj    xxx    xxx    30000

_RefObjItem:
30000    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    0    SKILL_ADVANCED_INVENTORY_ADDITION    -1    xxx                                                                                                                                  -1    xxx    -1    xxx    -1    xxx    -1    CashRank:2    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0    0

itemdataxxx:
1    60000    ITEM_MALL_ADVANCED_INVENTORY_ADDITION    ?????    xxx    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION_TT_DESC    1    0    3    3    13    1    180000    3    0    1    1    1    255    0    1    0    0    129    0    0    0    0    0    0    0    -1    0    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_bag.bsr    item\etc\mall_inventory_addition.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    0    SKILL_ADVANCED_INVENTORY_ADDITION    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    CashRank:2    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0

textdata_object:
1    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION                                Advanced Inventory expansion item                           
1    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION_TT_DESC                                <sml2>This item will open all slots into your inventory permanently <br><strong><font color="255,236,219,156">Limitation </font></strong><br>Limited to one time only per character.</sml2>                           

item_grouping:
TURKBIRDEV    ITEM_MALL_ADVANCED_INVENTORY_ADDITION    SN_ITEM_TOOLTIP_GROUPING_081

skilleffect:
1    ADV_INV_ADD_SC    SKILL_ADVANCED_INVENTORY_ADDITION    FALSE    1    DEFAULT    none    none    none    none    none    none    none    none    0    0,0,0,0    ONE    none    none    none    none    none    none    none    0    1

İtemi ekledik, şimdi yaptığım dll yi GS ye inject edip çalıştıralım. _AddLogItem aracılığı ile item kullanıldığında slot güncellemesi yapacak ve karakter zaten itemi kullanmışsa tekrar tekrar güncelleme yapmayacak. Olası bir hataya karşı itemi geri verecek. Sen ek bir kontrol yapmak zorunda değilsin, dll içinde de ben kontrolleri yaptım herhangi bir bug oluşturmayacak. Ben nasıl verdiysem öyle kullan.

SQL:
USE [SRO_VT_SHARD]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[_RefExpandInvSlot](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Executor] [varchar](max) NOT NULL,
    [CharName] [varchar](max) NOT NULL,
    [Slot] [tinyint] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

SQL:
USE [SRO_VT_SHARD]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[_ExpandInvSlotToChar]
@CharName varchar(max),
@Slot tinyint
AS
insert into _RefExpandInvSlot values ('TurkBirDev',@CharName,@Slot)

SQL:
/* _AddLogItem içine ekle */
if (@ItemRefID = 60000 AND @Operation = 41 AND @Slot_To = 255)
begin
/* _AddNewChar içinde InvSize 45 olmak zorunda */
declare @CharName varchar(max) = (select CharName16 from SRO_VT_SHARD.._Char where CharID = @CharID)
declare @InvSize tinyint = (select InventorySize from SRO_VT_SHARD.._Char where CharID = @CharID)
if (@InvSize = 45)
begin
exec SRO_VT_SHARD.._ExpandInvSlotToChar @CharName,64
end
else
begin
insert into MaxiGuard_User.._BridgeCommands values (53,'TurkBirDev',@CharName,'ITEM_MALL_ADVANCED_INVENTORY_ADDITION',1,GETDATE())
end
end


 
Oyla 0
Orj item sadece +32 slot ekler, page 2 açık ise page 3 açılır ama doğrudan page 1 den page 3 ü açamaz çünkü sadece max +32 ile çalışacak şekilde jmx tasarlamış. İşte biz custom bir item ekleyerek tüm slotları açabileceğiz. Üstelik teleport olma zorunluluğu yok. Kısacası orj item gibi çalışacak.

Mevcut itemin teleport gerektirmeyen bir kopyasını ekleyelim:

SQL:
_RefSkillGroup:
5000    SKILL_ADVANCED_INVENTORY_ADDITION

_RefSkill:
1    50000    5000    SKILL_ADVANCED_INVENTORY_ADDITION    ????    SKILL_ADVANCED_INVENTORY_ADDITION    0    1    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    1    0    0    0    0    0    0    0    0    0    0    0    0    3    0    0    255    255    0    0    0    0    0    255    255    255    255    xxx    xxx    xxx    xxx    xxx    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

_RefObjCommon
1    60000    ITEM_MALL_ADVANCED_INVENTORY_ADDITION    ?????    xxx    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION_TT_DESC    1    0    3    3    13    1    180000    3    0    1    1    1    255    0    1    0    0    129    0    0    0    0    0    0    0    -1    0    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_bag.bsr    item\etc\mall_inventory_addition.ddj    xxx    xxx    30000

_RefObjItem:
30000    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    0    SKILL_ADVANCED_INVENTORY_ADDITION    -1    xxx                                                                                                                                  -1    xxx    -1    xxx    -1    xxx    -1    CashRank:2    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0    0

itemdataxxx:
1    60000    ITEM_MALL_ADVANCED_INVENTORY_ADDITION    ?????    xxx    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION_TT_DESC    1    0    3    3    13    1    180000    3    0    1    1    1    255    0    1    0    0    129    0    0    0    0    0    0    0    -1    0    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_bag.bsr    item\etc\mall_inventory_addition.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    0    SKILL_ADVANCED_INVENTORY_ADDITION    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    CashRank:2    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0

textdata_object:
1    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION                                Advanced Inventory expansion item                          
1    SN_ITEM_MALL_ADVANCED_INVENTORY_ADDITION_TT_DESC                                <sml2>This item will open all slots into your inventory permanently <br><strong><font color="255,236,219,156">Limitation </font></strong><br>Limited to one time only per character.</sml2>                          

item_grouping:
TURKBIRDEV    ITEM_MALL_ADVANCED_INVENTORY_ADDITION    SN_ITEM_TOOLTIP_GROUPING_081

skilleffect:
1    ADV_INV_ADD_SC    SKILL_ADVANCED_INVENTORY_ADDITION    FALSE    1    DEFAULT    none    none    none    none    none    none    none    none    0    0,0,0,0    ONE    none    none    none    none    none    none    none    0    1

İtemi ekledik, şimdi yaptığım dll yi GS ye inject edip çalıştıralım. _AddLogItem aracılığı ile item kullanıldığında slot güncellemesi yapacak ve karakter zaten itemi kullanmışsa tekrar tekrar güncelleme yapmayacak. Olası bir hataya karşı itemi geri verecek. Sen ek bir kontrol yapmak zorunda değilsin, dll içinde de ben kontrolleri yaptım herhangi bir bug oluşturmayacak. Ben nasıl verdiysem öyle kullan.

SQL:
USE [SRO_VT_SHARD]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[_RefExpandInvSlot](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Executor] [varchar](max) NOT NULL,
    [CharName] [varchar](max) NOT NULL,
    [Slot] [tinyint] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

SQL:
USE [SRO_VT_SHARD]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[_ExpandInvSlotToChar]
@CharName varchar(max),
@Slot tinyint
AS
insert into _RefExpandInvSlot values ('TurkBirDev',@CharName,@Slot)

SQL:
/* _AddLogItem içine ekle */
if (@ItemRefID = 60000 AND @Operation = 41 AND @Slot_To = 255)
begin
/* _AddNewChar içinde InvSize 45 olmak zorunda */
declare @CharName varchar(max) = (select CharName16 from SRO_VT_SHARD.._Char where CharID = @CharID)
declare @InvSize tinyint = (select InventorySize from SRO_VT_SHARD.._Char where CharID = @CharID)
if (@InvSize = 45)
begin
exec SRO_VT_SHARD.._ExpandInvSlotToChar @CharName,64
end
else
begin
insert into MaxiGuard_User.._BridgeCommands values (53,'TurkBirDev',@CharName,'ITEM_MALL_ADVANCED_INVENTORY_ADDITION',1,GETDATE())
end
end

*** Gizli metin: alıntı yapılamaz. ***

Tşkkür ederim ❤️
 
Oyla 0
Geri
Üst Alt