- Joined
- Oct 24, 2011
- Messages
- 331
- Reaction score
- 202
RefObjCommon
RefObjItem
RefSkill
Procedure
_TimedJob
Execute
PHP:
1 43606 ITEM_MALL_CHANGENAME ???? ???? ??? (???) xxx SN_ITEM_MALL_CHANGENAME SN_ITEM_MALL_CHANGENAME_TT_DESC 1 0 3 3 13 14 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_scroll.bsr Premium\etc\changename.ddj xxx xxx 22006
RefObjItem
PHP:
22006 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 [USU1:SKILL_MALL_CHANGENAME] -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 -1 xxx -1 xxx 0 0 0
RefSkill
PHP:
1 34006 1013 SKILL_MALL_CHANGENAME ???? ???? SKILL_MALL_CHANGENAME 0 1 1 0 0 0 0 0 1000 0 0 0 3599 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 item\etc\mall_optlevel_upgrade_scroll_1.ddj SN_SKILL_MALL_CHANGENAME xxx SN_SKILL_MALL_CHANGENAME_TT_DESC xxx 0 0 3 1667396966 1851946342 1685418593 1500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Procedure
_TimedJob
PHP:
if(@JobID = '34006') -- Mudar nome do char
begin
declare @CharName16 varchar(64)
Select @CharName16=CharName16 from _Char where CharID = @CharID
Update _Char Set CharName16 = '@'+ @CharName16 Where CharID = @CharID
return -3
end
Execute
PHP:
USE [SRO_VT_SHARD]
GO
/****** Fixed And Modified By Jangan ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-----------------------------------------------------------------------------------------------------
ALTER procedure [dbo].[_RenameCharNameByID]
@CharID int,
@NewName varchar(64)
as
if (not exists (select charid from _char where charid = @charid))
return -1
set xact_abort on
begin transaction
if (exists (select charid from _charnamelist with (updlock) where charname16 = @NewName))
begin
rollback transaction
return -3
end
declare @old_name varchar(64)
select @old_name = charname16 from _char where charid = @charid
update _char set charname16 = @NewName where charid = @charid
if (@@error <> 0 or @@rowcount = 0)
begin
rollback transaction
return -4
end
insert _CharNameList values(@NewName, @charid)
UPDATE _Char set CharName16 = @NewName where CharID = @CharID
update _Friend set friendcharname = @NewName where friendcharid = @charid
update _GuildMember set charname = @NewName where charid = @charid
update _Memo set fromcharname = @NewName where fromcharname = @old_name
update _TrainingCampMember set charname = @NewName where charid = @charid
declare @cos_id int
declare cos_cursor cursor fast_forward for
select id
from _charcos
where ownercharid = @CharID
open cos_cursor
fetch next from cos_cursor into @cos_id
while( @@fetch_status = 0 )
begin
update _Items set CreaterName = @NewName
where ID64 in
(select ItemID from _InvCOS where COSID = @cos_id and ItemID > 0)
and CreaterName = @old_Name
if (@@error <> 0 )
begin
close cos_cursor
deallocate cos_cursor
rollback transaction
return -5
end
fetch next from cos_cursor into @cos_id
end
close cos_cursor
deallocate cos_cursor
declare pc_inv_cursor cursor fast_forward for
select it.Data
from _Inventory as inv join _Items as it on inv.ItemID = it.ID64
where
(inv.CharID = @CharID and inv.Slot >= 13 and inv.ItemID > 0) and
(it.Data <> 0) and
(exists (select top 1 ID from _RefObjCommon where ID = it.RefItemID and TypeID1 = 3 and TypeID2 = 2))
open pc_inv_cursor
fetch next from pc_inv_cursor into @cos_id
while( @@fetch_status = 0 )
begin
update _Items set CreaterName = @NewName
where ID64 in
(select ItemID from _InvCOS where COSID = @cos_id and ItemID > 0)
and CreaterName = @old_Name
if (@@error <> 0 )
begin
close pc_inv_cursor
deallocate pc_inv_cursor
rollback transaction
return -6
end
fetch next from pc_inv_cursor into @cos_id
end
close pc_inv_cursor
deallocate pc_inv_cursor
if (CHARINDEX('@', @old_name, 0) > 0)
begin
select * from _Char
where CharID = ''
end
commit transaction
return 1