![]() |
|
|
#1 (permalink) |
|
Senior Member
Üyelik tarihi: Jan 2010
Mesajlar: 7.946
|
Selamlar,
Bu Procedur +10 İtemleri +8 / +5 Uniqueleri +3 e veya +1 e Çekmenize yarar Girişte Tarama Yapar Denenmiştir , Hiçbir Sakıncası , Hiçbir BUGU Yoktur! Başlayalım ; İlk Once ITEM Tablomuzda biraz değişiklik yapalım , +10 itemler +0 yazıyor , Onları +10 olarak değiştirelim ... Kod: DECLARE @Num int,@strName varchar(100),@ProcessCount int /* Author : Ceribrio */ DECLARE CRS_ITEM_TABLE CURSOR FOR SELECT Num,strName FROM ITEM WHERE strName LIKE '%(+0)%' AND Kind 91 AND Kind 92 AND Kind 93 AND Kind 94 SET @ProcessCount = 0 OPEN CRS_ITEM_TABLE FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName WHILE (@@FETCH_STATUS = 0) BEGIN DECLARE @ItemName varchar(100),@ItemNum int,@RealItemName varchar(100),@CheckItemName varchar(100),@NewItemName varchar(100),@FindCount int SELECT @ItemNum = Num, @ItemName = strName FROM ITEM WHERE Num = @Num - 2 SELECT @FindCount = Count(Num) FROM ITEM WHERE Num = @ItemNum IF @FindCount 0 BEGIN SET @RealItemName = RTRIM(LTRIM(REPLACE(@strName,'(+0)',''))) SET @CheckItemName = RTRIM(LTRIM(REPLACE(@ItemName,'(+8)',''))) IF @RealItemName = @CheckItemName BEGIN SET @NewItemName = @RealItemName + ' (+10)' UPDATE ITEM SET strName = @NewItemName WHERE Num = @Num SET @ProcessCount = @ProcessCount + 1 END END FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName END CLOSE CRS_ITEM_TABLE DEALLOCATE CRS_ITEM_TABLE PRINT 'Değiştirilen İtem Sayısı : ' + RTRIM(LTRIM(STR(@ProcessCount))) Bu kodu Query'den çalıstırın ve bekleyin ... 5- 10 Dakika ve daha fazla sürebilir ... Eklenecek tablolarımız : Kod: /****** Object: Table [dbo].[RESULT_CHECK_USER_ITEMS] Script Date: 07/12/2008 14:12:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[RESULT_CHECK_USER_ITEMS]( [Num] [int] NULL, [stacksize] [smallint] NULL, [Durability] [smallint] NULL, [strUserId] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [InventorySlot] [int] NULL, [ItemName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [extname] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF Kod: /****** Object: Table [dbo].[RESULT_CHECK_USER_ITEMS_LOGS] Script Date: 07/12/2008 14:13:15 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[RESULT_CHECK_USER_ITEMS_LOGS]( [strUserId] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [OldItemNum] [int] NULL, [OldItemName] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [OptimizedItemNum] [int] NULL, [OptimizedItemName] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF Editlenecek Tablo ; Kod: Userdata'yı Desing Table diyerek açın ve , En Son'a bir Satır Ekleyin , İsmi UserStatus olsun , int Olacak ... Nulls İşaretsiz olacak ! ve Default değeri 0 olacak ! Eklenecek Prosedürler : Eğer +4 +5 Takıların , +1 Olmasını istiyorsanız Bunu Ekleyin ! Bir Alttakini eklemeyin ! Kod: CREATE PROCEDURE [dbo].[CHECK_USER_ITEMS] (@strUserID varchar(50)) AS /* Author : Ceribrio */ BEGIN DECLARE @Authority int,@UserStatus int SELECT @Authority = Authority,@UserStatus = UserStatus FROM USERDATA WHERE strUserID = @strUserID IF (@Authority 0) OR (@UserStatus 1) BEGIN TRUNCATE TABLE RESULT_CHECK_USER_ITEMS EXEC CHECK_FIND_USER_ITEMS @strUserID DECLARE @Num int,@ItemName varchar(100),@InventorySlotNumber int DECLARE CRS_RESULT_CHECK_USER_ITEMS CURSOR FOR SELECT Num,ItemName,InventorySlot FROM RESULT_CHECK_USER_ITEMS WHERE strUserID = @strUserID AND ItemName 'Free Slot' OPEN CRS_RESULT_CHECK_USER_ITEMS FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber WHILE (@@FETCH_STATUS = 0) BEGIN DECLARE @ItemStrName varchar(100),@ItemNum int,@NewItemNum int,@Kind tinyint,@ItemType int,@CheckNum int SET @ItemStrName = '' SET @ItemNum = 0 SET @NewItemNum = 0 SET @Kind = 0 SET @ItemType = 0 SET @CheckNum = 0 IF CHARINDEX('+10',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 2 IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94) BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END ELSE IF CHARINDEX('+9',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 1 IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94) BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END ELSE IF CHARINDEX('+5',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94 BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN IF @ItemType = 4 BEGIN SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 4 UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END END ELSE IF CHARINDEX('+4',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94 BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN IF @ItemType = 4 BEGIN SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 3 UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END END ELSE IF CHARINDEX('+3',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94 BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN IF @ItemType = 4 BEGIN SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 2 UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END END ELSE IF CHARINDEX('+2',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94 BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN IF @ItemType = 4 BEGIN SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 1 UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END END FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber END CLOSE CRS_RESULT_CHECK_USER_ITEMS DEALLOCATE CRS_RESULT_CHECK_USER_ITEMS EXEC CHECK_ENCODE_USER_ITEMS @strUserID END END Eğer +4 +5 takıların , +3 olmasını istiyorsanız Bunu Ekleyin Bir Üsttekini eklemeyin ! Kod: CREATE PROCEDURE [dbo].[CHECK_USER_ITEMS] (@strUserID varchar(50)) AS /* Author : Ceribrio */ BEGIN DECLARE @Authority int,@UserStatus int SELECT @Authority = Authority,@UserStatus = UserStatus FROM USERDATA WHERE strUserID = @strUserID IF (@Authority 0) OR (@UserStatus 1) BEGIN TRUNCATE TABLE RESULT_CHECK_USER_ITEMS EXEC CHECK_FIND_USER_ITEMS @strUserID DECLARE @Num int,@ItemName varchar(100),@InventorySlotNumber int DECLARE CRS_RESULT_CHECK_USER_ITEMS CURSOR FOR SELECT Num,ItemName,InventorySlot FROM RESULT_CHECK_USER_ITEMS WHERE strUserID = @strUserID AND ItemName 'Free Slot' OPEN CRS_RESULT_CHECK_USER_ITEMS FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber WHILE (@@FETCH_STATUS = 0) BEGIN DECLARE @ItemStrName varchar(100),@ItemNum int,@NewItemNum int,@Kind tinyint,@ItemType int,@CheckNum int SET @ItemStrName = '' SET @ItemNum = 0 SET @NewItemNum = 0 SET @Kind = 0 SET @ItemType = 0 SET @CheckNum = 0 IF CHARINDEX('+10',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 2 IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94) BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END ELSE IF CHARINDEX('+9',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 1 IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94) BEGIN SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum IF @CheckNum 0 BEGIN UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END ELSE IF CHARINDEX('+5',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94 BEGIN IF @ItemType = 4 BEGIN SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 4 UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END ELSE IF CHARINDEX('+4',@ItemName) 0 BEGIN SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94 BEGIN IF @ItemType = 4 BEGIN SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 3 UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrNam e) END END END FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber END CLOSE CRS_RESULT_CHECK_USER_ITEMS DEALLOCATE CRS_RESULT_CHECK_USER_ITEMS EXEC CHECK_ENCODE_USER_ITEMS @strUserID END END Kod: CREATE procedure [dbo].[CHECK_ENCODE_USER_ITEMS] @StrUserID varchar(30) AS DECLARE @length int, @row int, @i int, @Num int, @pos int, @dur int, @dur1 int, @ext int, @StackSize1 int, @strName varchar(30), @strExtName varchar(30), @CNum varbinary(4), @cdur varchar(2), @Source tinyint, @NEWNum int, @StackSize int, @cstack varchar(2), @InventorySlot int set @InventorySlot=0 set @i = 14*0 set @length = 401 select @row=count( * ) from userdata where struserid=@StrUserID if @row>0 begin Select @Num=Num, @dur = Durability, @StackSize1 = stacksize, @StrUserID = strUserID From RESULT_CHECK_USER_ITEMS Where strUserID = @StrUserID and InventorySlot=@InventorySlot Set @CNum = Substring(cast(@Num as varbinary(4)), 4, 1) + Substring(cast(@Num as varbinary(4)), 3, 1) + Substring(cast(@Num as varbinary(4)), 2, 1) + Substring(cast(@Num as varbinary(4)), 1, 1) Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2)) Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2)) update UserData set strItem = cast(cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) as binary(400)) where strUserID = @strUserID set @i=@i+8 set @InventorySlot=@InventorySlot+1 WHILE @InventorySlot < 50 Begin Select @Num=Num, @dur = Durability, @StackSize1 = stacksize, @StrUserID = strUserID From RESULT_CHECK_USER_ITEMS Where strUserID = @StrUserID and InventorySlot=@InventorySlot Set @CNum = Substring(cast(@Num as varbinary(4)), 4, 1) + Substring(cast(@Num as varbinary(4)), 3, 1) + Substring(cast(@Num as varbinary(4)), 2, 1) + Substring(cast(@Num as varbinary(4)), 1, 1) Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2)) Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2)) update UserData set strItem = cast( substring(strItem, 1, @i) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(strItem, @i+8, 401-@i) as binary(400)) where strUserID = @strUserID set @i=@i+8 set @InventorySlot=@InventorySlot+1 end end Kod: CREATE procedure [dbo].[CHECK_FIND_USER_ITEMS] @StrUserID varchar(30) AS DECLARE @length int, @i int, @Num int, @dur int, @duar int, @StackSize1 int, @InventorySlot int, @Row int, @name varchar(100), @extname varchar(100), @ext int set @i = 14*0+1 set @length = 401 select @row=count(*) from userdata where struserid=@StrUserID delete from RESULT_CHECK_USER_ITEMS where struserid=@StrUserID if @row>0 begin WHILE @i < @length Begin Select @Num=cast(cast(substring(cast(substring(strItem, @i,4) as varbinary(4)), 4, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 3, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 2, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as int), @dur = cast(cast(cast( substring(strItem, @i+5, 1) as varbinary(1))+cast(substring(strItem, @i+4, 1) as varbinary(1)) as varbinary(2)) as int), @StackSize1 = cast(cast(cast( substring(strItem, @i+7, 1) as varbinary(1))+cast(substring(strItem, @i+6, 1) as varbinary(1)) as varbinary(2)) as int), @StrUserID = strUserID From UserData Where strUserID = @StrUserID if @Num=0 begin set @extname='Free Slot' set @name='Free Slot' end else begin set @extname='Not Find' set @name='Not Using' select @extname=strName from item where Num=@Num if @extname='Not Find' begin set @ext=-1 set @name='Not Find' select @extname=strName,@ext=Slot from item where Num= cast(substring(cast(@Num as varchar(9)), 1, 6)+'000' as int) --cast(substring(cast(@Num as varbinary(4)),0,5) as int)*1000 if @ext>-1 begin set @duar=-1 If @ext = 0 select @duar = Duration,@name=strName From item where Num = cast(substring(cast(@Num as varchar(9)), 7, 9) as int) end end end insert into RESULT_CHECK_USER_ITEMS (Num,stacksize,Durability,struserid,InventorySlot, ItemName,extname) values(@Num,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname,@name ) set @i=@i+8 end end ve Queryden ÇalıstıRınız ; Kod: update userdata set UserStatus = '0' Burada Her hangi bir charın UserStatus'u 1 yaparsanız, o charı kontrol etmeyecektir ! GM'leri zaten kontrol etmez ... ve En SOn Olarak , LOAD_USER_DATA proc'unu açarak , Oto Master varsa Hemen Altına yok İse , Kod: SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame, Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly FROM USERDATA WHERE strUserId = @id SET @nRet = @@RowCount Bu Kodun hemen üstüne , Ekliyoruz ! Değiştirilen itemleri ; "RESULT_CHECK_USER_ITEMS_LOGS" Tablosundan gorebiliriz Kolay Gelsin.. |
|
|
|
Koxpp.Com ultrapaylas.com uyeolun.com
SohbetPortali deli.gen.tr knight online twotomcats.com tourism-travel threesizes.com teheranmetro.comTrSohbet.Web.Tr Kelebek Kelebek Script FilmKeyfi.Gen.TR kenan.gen.tr ko-cuce knight online knightonline indir trko indir pvpko indir empire online turk empire empire online knight empire server tanıtımları ko cuce ko cuce suspus empire turk Chat Rehberi Gurbet.Gen.Tr Hasret.Gen.Tr Haber Zamanı Turkko pvpKo