I want to make a lucky box, but with all the items D12, Somo that the Sos has a probability of 95% of the item when using the Scroll! the Moon has another 40% and the Sun another 10% just as you understand the example image
if you can make this your all problem will be solved.
-- Gift Kurulumu Gerekenler
SRO_VT_SHARD > _RefObjItem Tablosu.
SRO_VT_SHARD > _RefObjCommon Tablosu.
SRO_VT_SHARD yolunda yeni bir tablo oluşturmak.
Media.Pk2 > ItemData45000.txt
Media.Pk2 > texdata_object.txt
SRO_VT_LOG > Programmability > Stored Procedures > _AddLogItem
--- Gift Box Kurulum Aşaması (DATABASE KISMI)
Öncelikle kafanız karışmasın diye tekrar _RefObjItem Tablosunu kullanarak şu satırları eklemenizi istiyorum;
22082 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 1000 ???? 1 ?????? -1 RESURRECT 1000 COOLTIME:0x00000000 -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 -1 xxx -1 xxx 0 0 0
Kırmızı ile belirttiğim alan sizin yeni ID'niz olacak.
Şimdi burada işimiz bitti, sırada _RefObjCommon adlı tabloya giriş yapmaya geldi;
1 44742 ITEM_MALL_GIFT_BOX ????? xxx SN_ITEM_MALL_GIFT_BOX SN_ITEM_MALL_GIFT_BOX_TT_DESC 1 0 3 3 3 1 180000 3 0 1 1 1 255 0 1 0 0 1 0 100 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_scroll.bsr pet2\item\item_pet2_enc_equip_set.ddj xxx xxx 23082
Kırmızı ile belirtiğim Yeni ID,
Mavi ile belirttiğim RefObjItem tablosunda kullandığımız ID.
Yapacağımız bir işlem ise hediyelerimizin bulunacağı bir tablo oluşturmak. Şu kodu SRO_VT_SHARD'da çalıştırdığınız takdirde zaten tablonuz oluşacak;
USE [SRO_VT_SHARD]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_DtractusGifts](
[GiftItems] [varchar](129) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Genişletmek için tıkla ...
Yeni oluşacak olan tablonuzun adı SRO_VT_SHARD yolunda" _DtractusGifts" olacak ve bunun içerisinde bir kolon olacak sadece. Bu kolona hediyelerimizi ekleyeceğiz ama nasıl?
Vermek istediğiniz bir hediyenin _RefObjCommon Tablosundan "CodeName128" adlı kolondan alacağınız kodu yeni oluşan _DtractusGifts adlı tablodaki kolona yazmanız yeterli olacaktır. Eğer 1 tane hediye kodu yazarsanız herkes kullandığında hep o hediye çıkacaktır. Ama en az 2 tane eklerseniz artık bu iş şansa dönüşecektir ve şansına göre itemlerden biri gelecektir.
Sırada Prosedürümüz var:
SRO_VT_LOG > Programmability > Stored Procedures yolunu izleyip _AddLogItem'i açabiliriz. Şimdi buraya ekleyeceğimiz kod şu şekilde olacak ;
--- Gift Box
IF (@Operation = 41 AND @ItemRefID = 44742)
begin
declare @charname1 varchar(64)
Set @charname1 = (Select CharName16 from [SRO_VT_SHARD].[dbo].[_Char] where CharID = @CharID);
declare @GiftTh varchar(129)
set @GiftTh = (SELECT TOP 1 GiftItems FROM [SRO_VT_SHARD].[dbo].[_DtractusGifts] ORDER BY NEWID())
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1, @GiftTh, 1, 0
end
Genişletmek için tıkla ...
Kırmızı ile verdiğim kodun RefObjCommonda Gift Box için oluşturmuş olduğumuz ID olmasını unutmayalım.
--- Gift Box Kurulum Aşaması (MEDIA KISMI)
ItemData45000'den giriş yapalım tekrar;
1 44742 ITEM_MALL_GIFT_BOX ????? xxx SN_ITEM_MALL_GIFT_BOX SN_ITEM_MALL_GIFT_BOX_TT_DESC 1 0 3 3 3 1 180000 3 0 1 1 1 255 0 1 0 0 1 0 100 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_scroll.bsr item\etc\mysterybox.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 1000 ???? 1 ?????? -1 RESURRECT 1000 COOLTIME:0x00000000 -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 -1 xxx -1 xxx 0 0
Kırmızı ile yazdığım ID RefObjCommon Scroll ID'si olacak.
textdata_object.txt için;
Kod:
1 SN_ITEM_MALL_GIFT_BOX Dtractus Gift Box
1 SN_ITEM_MALL_GIFT_BOX_TT_DESC Dtractus Gift Box
if your not make it send me personel message I make it for you with teamwievver.