Anuncio

Colapsar
No hay anuncio todavía.

problema en el analizador de consultas [MuOnline]

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
    • Compartir

    problema en el analizador de consultas [MuOnline]

    Originalmente publicado por teva15 Ver Mensaje
    bueno esot lo encontra bageando por al red y me aprese muy util para akellos k tiene problemas con los duper
    aqui estan los pasos

    1- vas a inicio/programas/microsof sql server/analizador de consultas
    2- se abrira un recuado que dice conectar a sql server, ahi tiene que salir tine que salir el nombre dle servidor, sino sale lo agregas, colocas aceptar
    3-copias este texto

    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

    4- precionas F5 y ctrl N
    5- se abrira otro recuadro, en este recuadro copias esto otro:

    use MuOnline
    select * from AllItemsLog
    select * from CopyLog

    6- presionas F5 y crtl N
    7- se abrira otro recuadro y copias esto otro:

    use MuOnline
    select * from CopyLog

    7- presionas F5 y estas listo, luego cierra las ventatas y guarda los cambios, te guardara unos block de notas, guardalos en donde tu quieras
    error por colocar eso en mi sql me tira error me bloquea a casi todos los usuarios y ahora no me deja colocar administrador alguien me puede decir como quitarle esto a mi analizador de consultas?
    • Compartir

    #2
    como puedo quitar este script de la data

    Comentario

      • Compartir

      #3
      mmm..imagino que hiciste un backup antes de hacer estos cambios....restablesca tu base de datos con el backup mas reciente que ayas echo antes de haber la cagado.

      Comentario

      Trabajando...
      X