سلام عليكم و انا قاعد فاضي قلت اتعلم اعمل سيتمات و جتلي فكره سيستم قلت اعملها ممكن تفيد حد و معرفش اتعملت قبل كده ولا لا فكره السيستم ان بخزن كل Titlanames ال بلاير اخدها بمعني انه لو كان معاه تيتل اسمه Knight و بعد كده غيره خلاه مثلا Baron هيتخزن في تابل ال Titles دي و يقدر يرجع منهم اي تيتل هو عاوزه بعد كده بدل ما يشتري تايتل او يعمل Quest من غير ما اطول عليكم
هتعمل Execute للكويري دي عتكريت تابل طبعا شوف عاوز تخلي ال Table يتعمل في انه Data انا عامله عندي في داتا اسمها vSrodatabas لما تغير اسم الداتا هتغير برضو في query اسم الداتا
كود PHP:
USE [vSrodatabase]
GO
/****** Object: Table [dbo].[_StoredTitleNames] Script Date: 3/20/2018 6:01:16 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_StoredTitleNames](
[CharID] [int] NOT NULL,
[Charname] [varchar](65) NOT NULL,
[TitleNo] [tinyint] NOT NULL,
[TitleName] [varchar](65) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
بعد كده هتعمل Trigger ده في داتا iLegend Multi tool
كود PHP:
Create Trigger CheckPMTitleList
on [dbo].[_IncomingPrivateChat]
after insert
as begin
Declare @Charname varchar(65),@Chat varchar(65),@ID int
if update(Chat)
begin
set @Charname = (Select CharID = i.CharName from inserted i);
set @Chat = (Select Chat from [dbo].[_IncomingPrivateChat] where CharName = @Charname);
end
if(@Chat = 'List my titles')
begin
DEclare @AllTItles varchar(max)
Select @AllTItles = TitleName from vSroDatabases.._StoredTitleNames where Charname = @Charname
Insert Into _SendPrivateChat Values (1,@Charname,@AllTItles,Getdate())
end
end
بعد كده تعمل Trigger ده في داتا SRO_VT_SHARD
كود PHP:
use SRO_VT_SHARD
Go
alter Trigger getUpdatedTitles
on [dbo].[_Char]
after Update
as begin
Declare @Charname varchar(65),@Chat varchar(65),@Charid int,@HwanID int
if update(HwanLevel)
begin
set @Charid = (Select CharID = i.CharID from inserted i);
set @Charname = (Select CharName16 from _Char where CharID = @Charid);
set @HwanID = (Select HwanLevel from _Char where CharID = @Charid);
end
if(@HwanID between 0 and 20)
begin
if (@HwanID NOT IN (select TitleNo from vSroDatabases.._StoredTitleNames where CharID = @Charid))
begin
insert into vSroDatabases.._StoredTitleNames(CharID,Charname,TitleNo,TitleName) Values(@Charid,@Charname,@HwanID,'Breakers')
end
end
end
بعد كده هتعمل Trigger ده هيعمل Check لو User عاوز يجيب Title هو اختاره
ال player هيبعت رساله فيها
Update Title,@titlename here
@titlename ال هو اختاره
كود PHP:
Use MultiTool
Go
Create Trigger CheckPMTitlename
on [dbo].[_IncomingPrivateChat]
after insert
as begin
Declare @Charname varchar(65),@Chat varchar(65),@ID int
if update(Chat)
begin
set @Charname = (Select CharID = i.CharName from inserted i);
set @Chat = (Select Chat from [dbo].[_IncomingPrivateChat] where CharName = @Charname);
end
if(@Chat LIKE 'Update Title')
begin
Declare @Titlename varchar(65)
set @Titlename = (SELECT SUBSTRING(@Chat, CHARINDEX(',', @Chat) + 1, 100))
if exists(select Charname from vSroDatabases.._StoredTitleNames where Charname = @Charname)
begin
update SRO_VT_SHARD.._Char
set HwanLevel = @Titlename
where CharName16 = @Charname
end
end
end
طبعا لو في اي Performance احسن او اي حاجه ياريت تقولو عشان زي ما قلت لسه بتعلم