اقتباس:
المشاركة الأصلية كتبت بواسطة Lazcano
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
حاول تختصر الكلام فى الـ Procedure
كود PHP:
IF @Operation = 41 and @ItemRefID = 70023 -- Devil A Male & Female Upgrade coded by [iLegend]
Begin
Declare @ReqOptLevel INT = '5' -- just change required old devil optlevel for upgrading process.
Update dbo._Items Set RefItemID='24411',OptLevel='0',CreaterName='iLegend'
Where ID64 = (Select ItemID From [SRO_VT_SHARD].[dbo].[_InventoryForAvatar] Where CharID = @CharID and Slot = '4' and ItemID>0) and RefItemID in (24405,24409,24407) and (OptLevel >= @ReqOptLevel) -- Male
Update dbo._Items Set RefItemID='24412',OptLevel='0',CreaterName='iLegend'
Where ID64 = (Select ItemID From [SRO_VT_SHARD].[dbo].[_InventoryForAvatar] Where CharID = @CharID and Slot = '4' and ItemID>0) and RefItemID in (24406,24410,24408) and (OptLevel >= @ReqOptLevel) -- Female
End
ملحوظة : الـ Procedure دا بيعمل ابجريد لاي ديفل A ان كان M او F
ولازم يكون الكراكتر لابسة الديفل ويكون بالـ + اللى تحدده بدل '5'

|
طريقة تانية:
If @operation = 41 and @ItemRefID = 'Scroll id from objcommon'
begin
declare @PLUS INT = '9' /* YOUR REQUIRED PLUS TO UPGRADE DEVIL*/
declare @OldSpiritCode varchar(max)
declare @NewSpiritCode varchar(max)
declare @ItemID = (select id from SRO_VT_SHARD.._refobjcommon where codename128 like @OldSpiritCode)
declare @Item64 = (SELECT top 1 ID64 FROM SRO_VT_SHARD.._ITEMS itm
inner join sro_VT_Shard.._inventory inv
on itm.id64 = inv.itemid
where inv.charid = @charid and itm.refitemid = @ItemID and inv.slot >= 13 and itm.optlevel >= @PLUS)
select @oldSpiritCode = codename128 from sro_VT_SHARd.._refobjcommon
if @oldSpiritCode = 'DEVIL_CODENAME128'
begin
set @NewSpiritCode = 'NEWDEVIL_CODENAME128'
end
update sro_vt_shard.._items set refitemid = @ItemID,optlevel = 0 where id64 like @item64
end
ياريت محدش يقول منقول.