Ao conectar no castle siege, tudo funciona tranquilo, o problema é que ao deslogar a conta dentro do Castle siege e ao tentar conectar novamente a conta fica presa, alguem saberia resolver esse problema?
Versão Imprimível
Ao conectar no castle siege, tudo funciona tranquilo, o problema é que ao deslogar a conta dentro do Castle siege e ao tentar conectar novamente a conta fica presa, alguem saberia resolver esse problema?
Use um joinserver com autodisconnect e adicione uma query na procedure WZ_CONNECT_MEMB para mover os chars que estão em loren e cuja conta esteja off pra lorencia.
A modificação da procedure eu posso fazer pra vc se vc não souber, basta postar o código dela aqui que eu modifico. Já o Join, vc deve procurar um com autodisconnect que seja compatível com tua versão.
eu uso o edataserver
modifique a procedure e ve se dá certo.
aqui o código
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
Aqui está:
Com isso, no momento que a conta for logar, todos os chars da conta que estejam em valleyofloren serão movidos para dentro do bar de lorencia.Código: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 = 0 , servername = @server , ConnectTM = (getdate()) WHERE memb___id = @uid;
UPDATE Character set MapNumber='0', MapPosX='125', MapPosY='125' WHERE AccountID = @uid AND MapNumber='30';
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
Renatiinn, muito obrigado pela ajuda , realmente funcionou, não só eu como todo os players do meu server estão agradecendo pelo apoio. vlw msmo cara!!!!
De nada, precisar tamo ae.
Eu fiz a mesma coisa tanto quando para o player CONECTAR e para DESCONECTAR.
ate agora ta funcionando normalmente.
Rentiinn <3