Autor Topic: FIX - Mostrar Usuarios OnLine MU Core u Otra Web  (Visto 497 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline zzbrandon on: January 29, 2018, 01:59:36 AM

  • *
  • Rank: Avanzado
  • Posts: 140
  • Gracias recibida: 283
Buenas les traigo este script que me hizo de mucha utilidad cuando host mi mucore que no leia mis usuarios conectados aun teniendo 5 online aparecia 0..

aca el fix

Esto lo eh probado en Version Season 1

Para empezar Necesitan ir a su Base de Datos ( MuOnline ) y eliminar las siguientes tablas

1.- MEMB_STAT

Despues eliminar estos Procedures ( Store Procedures )

1.- WZ_CONNECT_MEMB
2.- WZ_DISCONNECT_MEMB

Una ves eliminado las 3.. vamos a abrir el Query y ejecutaremos 3 Rutinas, es importante tener el server offline para no tener problemas

1.- Con esta Vamos a crear la rutina de cuando los usuarios se conectan
Code: [Select]
CREATE PROCEDURE WZ_CONNECT_MEMB

@uid varchar(20),
@server varchar(20),
@uip varchar(20)
AS

Begin

BEGIN TRANSACTION

SET NOCOUNT ON

IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED)
WHERE memb___id = @uid )
Begin
UPDATE MEMB_STAT
SET ip = @uip , connectstat = 1 , servername = @server , ConnectTM = (getdate())
WHERE memb___id = @uid
End
ELSE
Begin
INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername) valueS (
@uid,
@uip,
1,
@server
)
End


IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION

SET NOCOUNT OFF
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO

2.- Con esta vamos a crear la rutina de cuando se desconectan
Code: [Select]
CREATE PROCEDURE WZ_DISCONNECT_MEMB

@uid varchar(20)
AS
Begin

BEGIN TRANSACTION

SET NOCOUNT ON

IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED)
WHERE memb___id = @uid )
Begin
UPDATE MEMB_STAT
SET DisConnectTM = (getdate()), connectstat = 0 WHERE memb___id = @uid
End
ELSE
Begin
INSERT INTO MEMB_STAT ( memb___id,DisConnectTM,connectstat) valueS (
@uid,
(getdate()),
0
)
End


IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION

SET NOCOUNT OFF
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

3.- Con esta vamos a crear la tabla de Memb_Stat
Code: [Select]
CREATE TABLE [dbo].[MEMB_STAT] (
[memb___id] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ConnectStat] [tinyint] NULL ,
[ServerName] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[IP] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ConnectTM] [smalldatetime] NULL ,
[DisConnectTM] [smalldatetime] NULL
) ON [PRIMARY]
GO

Y listo con esto solucionamos el problema ya ahora levantar el servidor y a jugar =D

P.D. HACER ESTO CON EL SERVER OFF, Los creditos son de otro foro que consegui dicho script pero me puso a investigar y por fin lo consegui, lo aporto aca para el que lo necesite

Gracias:


Offline neaskull #1 on: October 05, 2018, 05:20:57 PM

  • *
  • Rank: Usuario activo
  • Posts: 60
  • Gracias recibida: 4
pero al eliminar el MEMB_STAT no se eliminan las cuentas?

Offline kind #2 on: October 05, 2018, 05:24:34 PM

  • *
  • Rank: Principiante
  • Posts: 11
  • Gracias recibida: 3
pero al eliminar el MEMB_STAT no se eliminan las cuentas?
No, solo se elimina el historial de conexiones.

Gracias:


 

Related Topics

  Subject / Started by Replies Last post
10 Replies
2565 Views
Last post February 26, 2018, 08:32:55 PM
by nelson
0 Replies
272 Views
Last post November 05, 2016, 01:27:18 PM
by Joaquin
0 Replies
202 Views
Last post May 27, 2017, 11:32:41 AM
by jigokush
8 Replies
554 Views
Last post September 07, 2017, 09:29:54 PM
by xmemox
1 Replies
305 Views
Last post October 04, 2017, 10:07:49 PM
by Gabxd18