[Share]SMC Create Item +255

12/25/2011 11:27 LastThief#16
Quote:
Originally Posted by hamada619 View Post
first it's for SWSRO files not for vsro so gtfo
Speaks the guy that don't know shit about server files and stored procedures. are the same :rolleyes:
12/25/2011 13:09 6_lucifer_6#17
Quote:
Originally Posted by PortalDark View Post
im gonna show you the way to create items on smc mor than +12


im not pretty sure if 255 is max or if server gonna accept it(if anyone know max value, post here)
249 is max... after that.. u get instant dc

btw after +80 ur dmg is getting lower
12/25/2011 17:08 PortalDark#18
Quote:
Originally Posted by hamada619 View Post
first it's for SWSRO files not for vsro so gtfo
be gentle, download SQL, set database, and look for stored procedures
after that, please, be kind and leave
talking without knowing can be annoying
03/20/2012 18:45 xXVirus21Xx#19
Yay my 2h +251 ^^ kills lord in 4 hits each about ~52m
03/20/2012 18:58 •ᵔBeGodOfWarᵔ•#20
if (@OptLvl < 0)
set @OptLvl = 0
else if (@OptLvl > 249)
set @OptLvl = 249
It should be like ^
03/20/2012 23:29 ThElitEyeS#21
this was at r@gezone before month maybe more :obtw there lot of banned users in this topic
03/21/2012 01:02 PortalDark#22
Quote:
Originally Posted by ThElitEyeS View Post
this was at r@gezone before month maybe more :obtw there lot of banned users in this topic
that post on rz was mine, i posted here and there(im darkhole1123 there)
05/31/2012 07:24 mecho2007#23
im can change it im not see SMC edit in Data pas any one tell me how get
06/01/2012 10:57 mandoalexan#24
aw thanks i was searching for it
06/05/2012 05:09 mero tarek#25
when i try to make an item +12 i get +8 can anyone help??
06/07/2012 05:51 mecho2007#26
we need help how ediet it
02/10/2013 02:39 1337Demon#27
Its only plus 250 working , i think so ... so u must be have vps to get 255 plus that what i know


Best Regards .

Quote:
Originally Posted by mero tarek View Post
when i try to make an item +12 i get +8 can anyone help??
Only via GM Console you can appear Weapon only +8 , via SMC you can make it +250 , but remember only +250 plus if you tired to get 255 when you Wear it you will got DC

Link : [Only registered and activated users can see links. Click Here To Register...]

Best Regards .
01/09/2015 03:30 leandro5#28
Quote:
Originally Posted by PortalDark View Post
im gonna show you the way to create items on smc mor than +12

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]




Code:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go



----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
-- 20_SMC__ShardDB.sql  _SMC_ADD_ITEM ¼öÁ¤ 
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------

 -----------------------------------------------------------------------  
ALTER       procedure [dbo].[_SMC_ADD_ITEM]  
----------------------------------------------------- params to find target item  
 @TargetStorage int,  /* 0 = inventory, 1 = chest , 2 = guild chest, 3 = Avatar Inventory */  
 @OwnerName varchar(128),  
 ----------------------------------------------------- params to modify the item  
 @RefItemID  int,  
 @OptLvl   tinyint,  
 @Variance  bigint,  
 @Data   int,  
 @szCreater  varchar(32),  
 @MagParamNum int,  
 @MagParam1 bigint,  
 @MagParam2 bigint,  
 @MagParam3 bigint,  
 @MagParam4 bigint,  
 @MagParam5 bigint,  
 @MagParam6 bigint,  
 @MagParam7 bigint,  
 @MagParam8 bigint,  
 @MagParam9 bigint,  
 @MagParam10 bigint,  
 @MagParam11 bigint,  
 @MagParam12 bigint  
as  
 ----------------------------------------------------  
 -- step 1. check validity of parameters  
 ----------------------------------------------------  
 if (@TargetStorage <> 0 and @TargetStorage <> 1 and @TargetStorage <> 2 and @TargetStorage <> 3)  
 begin  
  select -1, cast(0 as bigint), cast(0 as bigint) -- invalid target storage  
  return  
 end  
 declare @ownerid int  
 declare @ItemID bigint  
 set @ownerid = 0  
 set @ItemID = 0  
 declare @empty_slot int  
 set @empty_slot = -1  
 if (@TargetStorage = 0)  
 begin  
  select @ownerid = charid from _char where charname16 = @OwnerName  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint)-- can't find owner  
   return  
  end  
  
  select top 1 @empty_slot = slot from _inventory   
  where charid = @ownerid and slot >= 13   
   and itemid = 0   
   and slot < (select top 1 InventorySize from _Char where CharID = @ownerid)  
  order by slot asc  
  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- inventory full  
   return  
  end  
 end  
 else if (@TargetStorage = 1)  
 begin  
  select @ownerid = JID from _AccountJID where AccountID = @ownername  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint) -- can't find owner  
   return  
  end  
  select top 1 @empty_slot = slot from _chest where userjid = @ownerid and (itemid = 0 or ItemID is null) order by slot asc  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- chest full  
   return  
  end  
 end  
 else if (@TargetStorage = 2)  
 begin  
  select @ownerid = [ID] from _guild where [name] = @ownername  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint) -- can't find owner  
   return  
  end   
  select top 1 @empty_slot = slot from _guildchest where guildid = @ownerid and (itemid = 0 or ItemID is null) order by slot asc  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- chest full  
   return  
  end   
    
  -- ±æµå ·¹º§¿¡ µû¸¥ ±æµå ½½·Ô¼ö Á¦ÇÑÀ» È®ÀÎÇÏÀÚ.  
  declare @lvl tinyint  
  declare @max_slot tinyint  
  select @lvl = Lvl from _guild where [id] = @ownerid  
  set @max_slot = 30 * (@lvl - 1) - 1  
  
  if @empty_slot > @max_slot   
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- chest full  
   return  
  end      
 end  
 else  
 begin  
  select @ownerid = charid from _char where charname16 = @OwnerName  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint)-- can't find owner  
   return  
  end  
  
  select top 1 @empty_slot = slot from _InventoryForAvatar  
  where charid = @ownerid  
   and itemid = 0   
   and slot < 4     -- ÇÁ·Î½ÃÁ® ÇϵåÄÚµù(¾Æ¹ÙŸ ½½·ÔÀº 0, 1, 2, 3ÀÌ´Ù.)  
  order by slot asc  
  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- inventory full  
   return  
  end  
 end  
   
  
 if (@empty_slot < 0 or @empty_slot is null)  
 begin   
  select -4, cast(0 as bigint), cast(0 as bigint)  -- unknown error ???  
  return  
 end  
   
 declare @tid1 int  
 declare @tid2 int  
 declare @tid3 int  
  declare @tid4 int  
   
 select @tid1 = TypeID1, @tid2 = TypeID2, @tid3 = TypeID3, @tid4 = TypeID4 from _RefObjCommon where ID = @RefItemID  
 if (@tid1 <> 3)  
 begin  
  select -5, cast(0 as bigint), cast(0 as bigint) -- about to assign non-item object  
  return  
 end  
 if (@tid2 <> 1)  -- is not equipment  
 begin  
  -- can't assign magic param or optlevel to non-equip item  
  if (@MagParamNum > 0 or @OptLvl > 0)  
  begin  
   select -6, cast(0 as bigint), cast(0 as bigint)  
   return  
  end  
 end  
   
 ----------------------------------------------------  
 -- step 2. correct some non-critical parameters  
 ----------------------------------------------------  
 if (@tid2 = 3 and @Data = 0) -- can't assign overlap count 0 to expendable item  
 begin  
  set @Data = 1  
 end  
  
 if (LEN(@szCreater) = 0)  
  set @szCreater = NULL  
  
 ----------------------------------------------------  
 -- step add. equip and pet @data setting  
 ----------------------------------------------------  
 declare @IS_EQUIP int  
 declare @IS_PET int  
  
 set @IS_EQUIP = 0  
 set @IS_PET = 0  
  
 if (@tid1 = 3 and @tid2 = 1)  
  set @IS_EQUIP = 1  
 else if (@tid1 = 3 and @tid2 = 2 and @tid3 = 1 and (@tid4 = 1 or @tid4 = 2))  
  set @IS_PET = 1  
  
 if (@IS_EQUIP = 1)  
 begin  
  
    -- Àß ¸øµÈ ID·Î select Çϰí ÀÖÀ½. ¼öÁ¤ (by binu 2008-10-17)
    --    select @Data = Dur_L from _RefObjItem where ID =  @RefItemID
    select @Data = Dur_L from _RefObjItem where ID = (select Link from _RefObjCommon where ID = @RefItemID )
    
   if (@OptLvl < 0)  
    set @OptLvl = 0  
   else if (@OptLvl > 12)  
    set @OptLvl = 12  
  
 end  
 else  
 begin  
  
  if( @IS_PET = 1 )  
   set @Data = 0  
  else  
  begin  
   declare @MaxCount int  
   select @MaxCount = MaxStack from _RefObjItem where ID = @RefItemID  
   
   if (@Data <= 0 or @Data > @MaxCount)    
    set @Data = @MaxCount    
  end  
  
  set @OptLvl = 0  
 end  
  
  
 ----------------------------------------------------------  
 -- Step3. create item and set to associated storage  
 ----------------------------------------------------------  
 set xact_abort on  
begin transaction  
   
 declare @NewItemID  bigint  
 declare @Serial64 bigint  
 set @NewItemID  = 0  
 set @Serial64 = 0  
 exec @NewItemID = _STRG_ALLOC_ITEM_NoTX @Serial64 OUTPUT  
 if (@NewItemID = 0)  
 begin  
  rollback transaction  
  select -7, cast(0 as bigint), cast(0 as bigint)  
  return  
 end  
 if (@MagParamNum = 0)  
 begin  
  update _Items set RefItemID = @RefItemID, OptLevel = @OptLvl, Variance = @Variance, Data = @Data, MagParamNum = 0, Serial64 = @Serial64   
  where ID64 = @NewItemID  
 end  
 else  
 begin  
  update _Items set RefItemID = @RefItemID, OptLevel = @OptLvl, Variance = @Variance, Data = @Data, MagParamNum = @MagParamNum,   
    MagParam1 = @MagParam1, MagParam2 = @MagParam2, MagParam3 = @MagParam3, MagParam4 = @MagParam4,  
    MagParam5 = @MagParam5, MagParam6 = @MagParam6, MagParam7 = @MagParam7, MagParam8 = @MagParam8,  
    MagParam9 = @MagParam9, MagParam10= @MagParam10, MagParam11 = @MagParam11, MagParam12 = @MagParam12, Serial64 = @Serial64  
  where ID64 = @NewItemID  
 end  
 if (@@error <> 0)  
 begin  
  rollback transaction  
  select -8, cast(0 as bigint), cast(0 as bigint)  
  return  
 end  
 if (@TargetStorage = 0)  
  update _Inventory set ItemID = @NewItemID where CharID = @OwnerID and Slot = @empty_slot  
 else if (@TargetStorage = 1)  
  update _chest set ItemID = @NewItemID where UserJID = @OwnerID and slot = @empty_slot  
 else if (@TargetStorage = 2)  
  update _guildchest set ItemID = @NewItemID where guildid = @OwnerID and slot = @empty_slot  
 else  
  update _InventoryForAvatar set ItemID = @NewItemID where CharID = @OwnerID and Slot = @empty_slot  
   
 if (@@rowcount = 0 or @@error <> 0)  
 begin  
  rollback transaction  
  select -9, cast(0 as bigint), cast(0 as bigint)  
  return  
 end  
   
 commit transaction  
 select @empty_slot, @NewItemID, @Serial64  
 return
look for this

Code:
if (@OptLvl < 0)  
    set @OptLvl = 0  
   else if (@OptLvl > 12)  
    set @OptLvl = 12
change

Code:
if (@OptLvl < 0)  
    set @OptLvl = 0  
   else if (@OptLvl > 255)  
    set @OptLvl = 255
same with _SMC_EDIT_ITEM

for the ones to create via gm console, ill look for i, since i may bug something in the way

im not pretty sure if 255 is max or if server gonna accept it(if anyone know max value, post here)

Note:
this may help
for that not worked it's keep backing to +12 when i try edit on SMC the only place i should edit is _SMC_EDIT_ITEM because in the others i did not fin this rule "if (@OptLvl < 0)
set @OptLvl = 0
else if (@OptLvl > 255)
set @OptLvl = 255"