ola, uso muserver 97d+99 e achei essa Job de premiar por horas on , to tentando adaptar pro meu server mas ta dando erro.
não queria uma modificação na procedure WZ_DISCONNECT_MEMB e sim via job, tipo essa .
codigo original :
Código:
1 - Você tem que criar uma coluna na tabela MEMB_STATtempo int default 0
2 - agora crie uma JOB para rodar de 1 em 1 minuto com o conteúdo:
UPDATE memb_stat SET tempo = tempo + 1 WHERE connectstat = 1
UPDATE CashShopData
SET wcoinp = wcoinp + VALOR
FROM MEMB_STAT INNER JOIN CashShopData ON MEMB_STAT.memb___id = CashShopData.AccountID
WHERE Tempo >= 60
UPDATE memb_stat set tempo = 0 WHERE tempo >= 60
eu modifiquei pra isso:
Código:
UPDATE MEMB_INFO
SET Gold = Gold + 1
FROM MEMB_STAT INNER JOIN MEMB_INFO ON MEMB_STAT.memb___id = MEMB_INFO.memb___id
WHERE Tempo >= 60
UPDATE memb_stat set tempo = 0 WHERE tempo >= 60
ai da o erro Msg 468, Level 16, State 9, Line 7Cannot resolve the collation conflict between "Chinese_PRC_CS_AS" and "Chinese_PRC_CI_AS" in the equal to operation.
bom, não sou mto bom com SQL e estou um tempo sem mexer :P
alguem sabe adaptar? esse join ta com problema pelo visto.
aqui está a config. da minha DB ( collation etc ) : [Somente usuários registrados podem vem os links. ]
eu usava esse sistema pra contablizar horas on porem isso so vale pra sv pequeno
fiz esse tutorial junto com o mesmo
crie 2 tabelas no sql pode ser qualquer uma abaixo as query
Código:
ALTER TABLE CHARACTER ADD tempoon INT NOT NULL DEFAULT (0)
ALTER TABLE CHARACTER ADD horaon INT NOT NULL DEFAULT (0)
depois faça no sql e faça a job contando de 1 em um minuto assim o ranking ficara presiso quase presiso
query para resetar o tempo e dar o tempo ou seja a hora
Código:
Update Character
Set tempoon=1 WHERE tempoon=61
Update Character
Set horaon=horaon+1 WHERE tempoon=60
query para dar o tempo online para quem estiver on
Código:
USE [MuOnline]
UPDATE Character SET tempoon=tempoon+1 FROM Character INNER JOIN
AccountCharacter ON Character.Name = AccountCharacter.GameIDC INNER JOIN
MEMB_STAT ON MEMB_STAT.memb___id = AccountCharacter.ID
WHERE ConnectStat=1
Tenta mudar o Agruppamento Collation da MEMB_STAT.memb___id para Chinese_PRC_CS_AS
O conflito está aí onde a memb___id da MEMB_INFO é Chinese_PRC_CS_AS e o da memb_stat é Chinese_PRC_CI_AS
Marcadores