Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


HGIDC
Resultados 1 a 5 de 5
  1. #1

    Avatar de Cøłєridgє
    Data de Ingresso
    Mar 2010
    Localização
    Italia
    Posts
    786
    Agradecido
    1
    Peso da Avaliação
    21

    Question Avaliação de Query

    Achei essa query em minha coleção de blocos de nota com jobs e querys^^

    Nem sabia que tinha isso arquivado e nunca usei, peço alguem que manje mais que eu, analizar se essa query funciona mesmo.

    Diz que e para bloquear duper automaticamente, tipo, dupou ban automatico.


    Código:
    use muonline
    if exists(select * from dbo.sysobjects where type='p' and name='WZ_GetItemSerial')
    drop procedure WZ_GetItemSerial
    go
    CREATE procedure WZ_GetItemSerial
    as
    BEGIN
    DECLARE @ItemSerial int
    set nocount on
    begin transaction
    update GameServerInfo set @ItemSerial = ItemCount = (case when ItemCount < 0x7effffff then ItemCount+1
    else 1
    end )
    if(@@error <> 0)
    begin
    rollback transaction
    select-1
    end
    else
    begin
    commit transaction
    select @ItemSerial
    end
    END
    GO
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[trg_CheckSameID]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
    drop trigger [dbo].[trg_CheckSameID]
    GO
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AllItemsLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[AllItemsLog]
    GO
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CopyLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[CopyLog]
    GO
    CREATE TABLE [dbo].[AllItemsLog] (
    [items_id] [int] IDENTITY (1, 1) NOT NULL ,
    [items_type] [binary] (1) NOT NULL ,
    [items_serial] [binary] (4) NOT NULL ,
    [items_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
    ) ON [PRIMARY]
    GO
    CREATE TABLE [dbo].[CopyLog] (
    [copy_id] [int] IDENTITY (1, 1) NOT NULL ,
    [copy_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [copy_whdata] [binary] (1200) NOT NULL ,
    [copy_date] [datetime] NOT NULL
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[AllItemsLog] ADD
    CONSTRAINT [DF_CT_ITEM_item] DEFAULT (0) FOR [items_type],
    CONSTRAINT [DF_CT_ITEM_itemid] DEFAULT (0) FOR [items_serial],
    CONSTRAINT [DF_CT_ITEM_itemrole] DEFAULT ('\') FOR [items_acid]
    GO
    CREATE INDEX [IX_CT_ITEM] ON [dbo].[AllItemsLog]([items_type], [items_serial]) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[CopyLog] ADD
    CONSTRAINT [DF_CopyLog_copy_date] DEFAULT (getdate()) FOR [copy_date]
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_NULLS ON
    GO
    CREATE TRIGGER [dbo].[trg_CheckSameID] ON [dbo].[character]
    FOR UPDATE
    AS
    BEGIN
    IF UPDATE(inventory)
    BEGIN
    SET NOCOUNT ON
    DECLARE
    @wh_acid varchar(10),
    @wh_data binary(1200),
    @wh_type binary(1),
    @wh_serial binary(4),
    @cr_user varchar(10),
    @cr_acid varchar(10),
    @cr_data binary(760),
    @cr_type binary(1),
    @cr_serial binary(4),
    @al_acid varchar(10),
    @j int,
    @k int,
    @find bit
    SELECT @cr_acid=i.accountid,
    @cr_data=i.inventory
    FROM inserted i
    SET @j=0
    SET @find=0
    WHILE @j<76 AND @cr_data IS NOT NULL
    BEGIN
    SET @cr_type=SUBSTRING(@cr_data,@j*10+1,1)
    SET @cr_serial=SUBSTRING(@cr_data,@j*10+4,4)
    IF @cr_type<>0xFF AND @cr_serial<>0x00000000
    BEGIN
    SELECT @al_acid=items_acid FROM allitemslog WHERE items_type=@cr_type AND items_serial=@cr_serial
    
    IF @al_acid IS NULL
    INSERT INTO allitemslog (items_type,items_serial,items_acid) VALUES (@cr_type,@cr_serial,@cr_acid)
    ELSE
    BEGIN
    UPDATE allitemslog SET items_acid=@cr_acid WHERE items_type=@cr_type AND items_serial=@cr_serial
    
    SELECT @wh_data=items FROM warehouse WHERE accountid=@al_acid
    SET @k=0
    WHILE @k<120 AND @wh_data IS NOT NULL
    BEGIN
    SET @wh_type=SUBSTRING(@wh_data,@k*10+1,1)
    SET @wh_serial=SUBSTRING(@wh_data,@k*10+4,4)
    IF @wh_type=@cr_type AND @wh_serial=@cr_serial
    SET @find=1
    SET @k=@k+1
    END
    END
    END
    SET @j=@j+1
    END
    IF @find=1
    BEGIN
    INSERT INTO copylog (copy_whdata,copy_acid,copy_date) VALUES (@wh_data,@al_acid,getdate())
    -- this is wer u can add more punishment like ban or lock characters
    UPDATE Character SET CtlCode=1 WHERE accountid=@al_acid
    END
    SET NOCOUNT OFF
    END
    END
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO
    DECLARE @al_acid char(50)
    set @al_acid = 'ASUS'
    UPDATE Character SET CtlCode=1 WHERE accountid=@al_acid
    go
    select * from AllItemsLog
    select * from CopyLog
    
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[trg_CheckSameID]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
    drop trigger [dbo].[trg_CheckSameID]
    GO
    
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AllItemsLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[AllItemsLog]
    GO
    
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CopyLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[CopyLog]
    GO
    
    CREATE TABLE [dbo].[AllItemsLog] (
    [items_id] [int] IDENTITY (1, 1) NOT NULL ,
    [items_type] [binary] (1) NOT NULL ,
    [items_serial] [binary] (4) NOT NULL ,
    [items_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
    ) ON [PRIMARY]
    GO
    
    CREATE TABLE [dbo].[CopyLog] (
    [copy_id] [int] IDENTITY (1, 1) NOT NULL ,
    [copy_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [copy_whdata] [binary] (1200) NOT NULL ,
    [copy_date] [datetime] NOT NULL
    ) ON [PRIMARY]
    GO
    
    ALTER TABLE [dbo].[AllItemsLog] ADD
    CONSTRAINT [DF_CT_ITEM_item] DEFAULT (0) FOR [items_type],
    CONSTRAINT [DF_CT_ITEM_itemid] DEFAULT (0) FOR [items_serial],
    CONSTRAINT [DF_CT_ITEM_itemrole] DEFAULT ('\') FOR [items_acid]
    GO
    
    CREATE INDEX [IX_CT_ITEM] ON [dbo].[AllItemsLog]([items_type], [items_serial]) ON [PRIMARY]
    GO
    
    ALTER TABLE [dbo].[CopyLog] ADD
    CONSTRAINT [DF_CopyLog_copy_date] DEFAULT (getdate()) FOR [copy_date]
    GO
    
    
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_NULLS ON
    GO
    Agradeço se puderam dar uma revisada nela.

    NÃO RECOMENDO USAR ATE TER UMA RESPOSTA DE ALGUEM COPETENTE NO ASSUNTO TER REVISADO



    Mensagem de moderação:
    Arrumado o tópico adicionando o CODE para não ficar muito grande sem necessidade.by ZEH

  2. #2

    Avatar de Jack
    Data de Ingresso
    Apr 2010
    Localização
    Espirito Santo / BR
    Idade
    26
    Posts
    220
    Agradecido
    8
    Agradeceu
    4
    Peso da Avaliação
    11

    Padrão

    Essa query do Meu conhecimento ela so serve
    para versão 99 MuOnline
    Mais em Outras versões não sei si funciona

  3. #3

    Avatar de admhi
    Data de Ingresso
    Apr 2010
    Localização
    Clermont-FL,Maceio-AL
    Idade
    22
    Posts
    81
    Agradecido
    1
    Peso da Avaliação
    0

    Padrão

    Essa query nao funciona eu mesmo ja testei varias vezes no 99.

  4. #4

    Avatar de Chris7yan
    Data de Ingresso
    Sep 2009
    Localização
    NA MINHA CASA.
    Posts
    139
    Agradecido
    5
    Agradeceu
    5
    Peso da Avaliação
    10

    Padrão

    essa query no caso se refere a db muonline, ela cria diferentes procedures que ja vem como padrão.

  5. #5

    Avatar de Cøłєridgє
    Data de Ingresso
    Mar 2010
    Localização
    Italia
    Posts
    786
    Agradecido
    1
    Peso da Avaliação
    21

    Padrão

    Bem galera, não resisti e lancei a query no meu server^^

    Ela não baniu automaticamente os chars que dupou mais apos instalar ela quem dupa leva DC apos alguns segundos e quando loga novamente o item dupado sumiu.

    Testei na 97, não sei se rola em outras versões...

    Ela nao bloqueia mais em dar dc e o item sumir ja e de grande ajuda...

    Se ajudou agredece aew^^
    Última edição por Cøłєridgє; 16-05-2010 às 02:41 AM. Razão: Acerto no texto

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Avaliação| Avaliação Template
    Por brunohax0r no fórum Avaliações
    Respostas: 11
    Último Post: 06-04-2017, 12:35 PM
  2. |Pedido| Avaliação
    Por cmd.exe no fórum Pedidos
    Respostas: 2
    Último Post: 15-06-2014, 01:06 PM
  3. PVP MuOnline AVALIAÇÂO
    Por C. Henrique no fórum IMPTube
    Respostas: 8
    Último Post: 13-07-2013, 02:19 AM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •