• Bem vindo à nossa comunidade - Quer se juntar ao resto dos nossos membros? Registre-se*Registros aprovados pela adminitração

Gold por tempo online mu!!

tchelobac

Usuário XPZ
Nao encontrei nada parecido no forum e resolvi postar essa job ke da 30 golds a cada 30minutos on para os players online!!!!!

E so executar no query e pronto aqui o nome da moeda e Gold se no seu caso for diferente procure por gold no codigo e edite de acordo com o nome de sua moeda!!!

  BEGIN TRANSACTION           

  DECLARE @JobID BINARY(16) 

  DECLARE @ReturnCode INT   

  SELECT @ReturnCode = 0   

IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[uncategorized (Local)]') < 1

  EXECUTE msdb.dbo.sp_add_category @name = N'[uncategorized (Local)]'

  -- Delete the job with the same name (if it exists)

  SELECT @JobID = job_id   

  FROM  msdb.dbo.sysjobs   

  WHERE (name = N'EventGoldsHoras')     

  IF (@JobID IS NOT NULL)   

  BEGIN 

  -- Check if the job is a multi-server job 

  IF (EXISTS (SELECT  *

              FROM    msdb.dbo.sysjobservers

              WHERE  (job_id = @JobID) AND (server_id <> 0)))

  BEGIN

    -- There is, so abort the script

    RAISERROR (N'Unable to import job ''EventGoldsHoras'' since there is already a multi-server job with this name.', 16, 1)

    GOTO QuitWithRollback 

  END

  ELSE

    -- Delete the [local] job

    EXECUTE msdb.dbo.sp_delete_job @job_name = N'EventGoldsHoras'

    SELECT @JobID = NULL

  END

BEGIN

  -- Add the job

  EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'EventGoldsHoras', @owner_login_name = N'sa', @description = N'No description available.', @category_name = N'[uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 0, @delete_level= 0

  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

  -- Add the job steps

  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'EventGoldsHoras3horas', @command = N'DECLARE @ConnectStat tinyint

DECLARE @memb___id varchar (10)

SELECT @memb___id=memb___id,@ConnectStat=ConnectStat FROM memb_stat WHERE ConnectStat=''1''

update memb_info set Gold = Gold + 30 where memb___id=@memb___id', @database_name = N'MuOnline', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 0, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2

  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

  EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

  -- Add the job schedules

  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'EventGoldsHoras3horas', @enabled = 1, @freq_type = 4, @active_start_date = 20100930, @active_start_time = 0, @freq_interval = 1, @freq_subday_type = 4, @freq_subday_interval = 30, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959

  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

  -- Add the Target Servers

  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'

  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END

COMMIT TRANSACTION         

GOTO  EndSave             

QuitWithRollback:

  IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION

EndSave: 


Gostou?clica ali em agradecer *.*
 

owenzyBr

Usuário XPZ
ai manolo ... preciso te encomodar + 1 vez...

Seguinte eu fiz tudo q tu mando ... deu certo a primeira vez... eu tinha posto

pra ganhar 1 gold a cada 1 hora ...

+ so que eu tive que deletar a JOB pra mudar para acada 30min ganhar 3 golds...

e agora nao ta entrando os golds....

OBS: a moeda aki é gold... ja trokei pq no tutorial vem com G maiusculo ja botei conforme eh minha configurçao ... ja dei play la no job tbm ...

minha versao eh 1.06 + Season 4 + Itens + 3d ..

me ajuda ae porfavor eu agradeço pela 3x.
default_biggrin.png


vlw ae
 
Editado por um moderador:

owenzyBr

Usuário XPZ
ah + 1 obs:

a minha coluna de gold ta assim

Character > gold | int | 4 | Allow Null marcado |

MEMB_INFO > gold | int | 4 | Allow Null marcado |

...

nao sei se isso tem aver... + to postando aki .. qlqr coisa... vlw ae
 

owenzyBr

Usuário XPZ
ULTIMA DUVIDA responde ae porfavor tchelobac

se eu por acada 30 min online ganhar "tantos golds"

se o cara ficar 25 min online e sair para resetar... quando ele voltar ele ira perde os 25min voltando do 0 min online ou a contagem continua? ele sai reseta fica + 5 min no sv e completa os 30 min ganhando seu devido gold?

Preciso da resposta com urgenica muito Obrigado!
 

Kareyon

Lord XPZ
A lógica é bem simples.. se você ganha 100 golds em 2 horas,e sai faltando 1 minuto a sequencia de contagem é reiniciada,acontece com o mesmo exemplo que você deu aê '-' 
default_grin.gif
 

owenzyBr

Usuário XPZ
aaaaaaaaaaaaaa maior putaria essa porra dessa job ae...

boto aki pra dar 1 gold acada 10 min ... ai funcio qndo passa 20min nao da + golds paro de funcionar aki sem ng ter mexido em nada ... fala seriooo -.-"
 

Shion

Legendário XPZ
deve da pra apgar se sair caçando a table que faz isso e deleta-la
 
Topo Bottom