[Mu PC] xin hướng dẫn làm Auto reset cho muonline

Mình có làm theo hướng dẫn trong ebook muserrver mà khi đạt được cấp độ rs nó ko tự động reset mà bị cash GS luôn có bác nào biết bị sai chỗ nào ko hướng dẫn mình fix được ko thank mấy bác
 
Resetauto là biến thể của /reset thôi mà. Ebook thần thánh làm gì có mà làm theo nhỉ?
SCF thì thử sửa chỗ
SCFResetIsStringSend=0 xem còn crash không.
 
USE [msdb]
GO


/****** Object: Job [Auto Reset] Script Date: 12/23/2013 5:40:07 PM ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 12/23/2013 5:40:07 PM ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


END


DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Auto Reset',
@enabled=0,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'No description available.',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'WIN-NELHUIMICGD\Administrator', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [Eternity] Script Date: 12/23/2013 5:40:08 PM ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Eternity',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'DECLARE
@resets int
SELECT @resets=resets from Character where Name=''Eternity''


IF @resets<145
BEGIN
Update Character set clevel=FLOOR(250*RAND()), [resets]=[resets]+1, ResetNBB=ResetNBB+1,[NoResetInDay]=[NoResetInDay]+1,[TopMonth11]=[TopMonth11]+1 where name=''Eternity''
UPDATE Event_TOP_RS_ALL SET resets=resets+1 WHERE name=''Eternity''
UPDATE TopReset SET reset=reset+1 WHERE name=''Eternity'' AND year=2013 AND month=11 AND day=9
UPDATE TopResetScore SET reset_score=reset_score+250 WHERE name=''Eternity'' AND year=2013 AND month=11 AND day=9
END',
@database_name=N'CUONGSATQT',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Every 60 minutes',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=8,
@freq_subday_interval=1,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20131104,
@active_end_date=99991231,
@active_start_time=0,
@active_end_time=235959,
@schedule_uid=N'9238e5b0-1418-4587-a13a-126b81c33cc2'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO

Tham khảo
 
Resetauto là biến thể của /reset thôi mà. Ebook thần thánh làm gì có mà làm theo nhỉ?
SCF thì thử sửa chỗ
SCFResetIsStringSend=0 xem còn crash không.
Ebook có phần hướng dẫn làm auto reset đó bạn cái này nè
Thêm AutoReset cho Muserver

LÀM CHỨC NĂNG AUTORESET CHO MU ONLINE/OFFLINE

Q: AutoReset là gì?
A: Là reset tự động (Sau khi đến Max Level, bạn không cần vào Website để Reset mà Level của bạn vẫn trở về 1 và bạn được + Points)

Q: AutoReset và Reset có gì giống và khác nhau?
A: + AutoReset là Reset khi bạn chơi Mu không cần Web
+ Reset thì cần 1 website có trang reset.asp(php) (Tùy từng MU)

Q: Làm chức năng AutoReset thì vẫn có thể Reset Web chứ?
A: Tất nhiên rồi, và ngược lại (Tùy bạn)

Q: AutoReset hơn hay Reset hơn?
A: Reset bằng web rõ ràng vẫn hơn hẳn AutoReset. Nhưng vì mức tiện lợi thì AutoReset hơn hẳn, vì mỗi khi Char của bản đạt Max Level, nó sẽ tự động quay về Lv 1 (bạn vẫn đc thưởng điểm). Tất cả chỉ sau 1 lần Log Off Account. Còn với Reset web, bạn phải vào địa chỉ website, thật lâu (Chưa kể Web không connect được do sai link, web hỏng....)

Q: AutoReset hay vậy mà sao các server đã và đang hoạt động lại không tin dùng, lại chọn Reset Web?
A: Không biết các Pro về ASP - PHP thì sao, còn theo ý kiến của tôi thì vì thế này. Nếu ai đã làm AutoReset thì có thể thấy, nó có nhược điểm là KHÔNG THAY ĐỔI MỨC LEVEL CHO MỖI LẦN RESET. Nếu bạn thiết lập là 350 thì sẽ mãi mãi là 350.
Bạn có thể thay đổi được, nhưng CHỈ VỚI CÁC CLASS RIÊNG.Còn với Reset web thì việc này khá đơn giản. (VD : Từ Rs 1 đến 10 là 50 LV; 11 đến 20 là 150 chả hạn ....)

-----------------------------------------------------------------------------------------------------------------

Sau đây, tôi xin giới thiệu đến bạn cách làm chức năng này cho server của bạn.

1/ Vào Start / All Programmes / Microsoft SQL Server / Enterprise Manager

2/ Tìm khóa "Management". Click vào đó !

3/ Click đúp vào "SQL Server Agent"

4/ Click phải chuột vào "Jobs" / "New Job"

5/ Đặt tên cho nó là "AutoReset". Tiếp đó chọn Category là [Uncategorized (Local)]. Và Owner là "sa", cuối cùng Description là "AutoResetSciprt"

6/ Sau đó chọn "Steps" / New. Bạn đặt tên cho Step này là "AutoReset"
+ Type : Transact-SQL Script (TSQL)
+ Database : MuOnline

7/ Đánh đoạn Code sau vào khung trống Command.
Đây là bước quan trọng nhất, quyết định tính chất mỗi lần Reset trong server của bạn. Dưới đây là đoạn Code tôi sử dụng cho server LAN nhà mình.
Các mức thiết lập như sau :
+ Level Reset : 400
+ Point : 1000
+ Số Zen mất : 10 triệu (Cho mỗi lần Reset)
+ Giới hạn Reset : 100 lần
+ Sau khi Rs, các nhân vật sẽ quay lại vùng đất thánh của mình là Noria/Lorencia (Tùy Class)
+ Các Items đang có trên người ; Scroll/Orb đã học sẽ bị xóa.

(Đoạn Code có ở cuối văn bản này)

8/ Sau khi đánh xong đoạn Code, ấn Apply / OK. Nếu là Code xịn sẽ không hiện lỗi, còn Code dỏm thì sẽ hiện thông báo lỗi.

9/ Sau bước này là bước thiết lập lịch làm việc cho Job "AutoReset". Bạn vào " Schedules", chọn "New Schedule...". Vẫn đặt tên cho "New Schedule..." là "AutoReset" cho tiện. Sau đó bạn ấn vào nút "Change" phía dưới để thiết lập thuộc tính cho lịch làm việc mới này. Các thông số thiết lập chuẩn như sau
+ Occurs: "Daily" every "1 Day(s)"
+ Occurs every : Đổi "1 Hour(s) thành 1 Minute(s). Có nghĩa là chương trình sẽ luôn cập nhật theo từng phút thay vì giờ như trước, nó sẽ luôn Update về tham số Reset trong server của bạn
+ Start Date : Chọn ngày hôm qua. Giả sử khi tôi tạo AutoReset là ngày 16-08-2008thì tôi phải chọn cái Start Date ở đây là ngày 15-08-2008
+ Bỏ cái "No End Date". Click OK 2 lần / Apply / OK là xong.

10/ ĐOẠN CODE AUTORESET
*** Sau đây là các thao tác Edit an toàn đoạn Code đó theo ý thích của các Admin ^^
+ SET clevel : Level sau khi Reset
+ LevelUpPoint : Số Point mỗi lần Reset
+ Money : Số tiền cần cho mỗi lần Reset
+ Strength - Dexterity - Vitality - Energy : 4 chỉ số của các Char sau khi Reset. Tùy từng Class mà các chỉ số này có sự khác nhau.





UPDATE Character
SET clevel = 1, Experience = 0, LevelUpPoint = LevelUpPoint + (350 * (Reset + 1)), Money = Money - (50000000), Strength = 18, Dexterity = 18, Vitality = 15, Energy = 30, Inventory = NULL, MagicList = NULL, MapNumber = 0, MapPosX = 130, MapPosY = 130, PkTime = 0, PkCount = 0, PkLevel = 0, Reset = Reset + 1
FROM Character JOIN MEMB_STAT ON Character.AccountID=MEMB_STAT.memb___id
COLLATE Latin1_general_CI_AI
WHERE ((class = 0) OR (class = 1)) AND (clevel >= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset <50>= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset <50>= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset <50>= 350) AND (Money >= (50000000)) AND (ConnectStat = 0) AND (Reset < 50);

Chú ý : Bạn hãy tạo 1 cột mới trong bảng Character, đặt tên cho nó là Reset và set giá trị Value là 0.




__________________

---------- Post added at 10:34 AM ---------- Previous post was at 10:32 AM ----------

USE [msdb]
GO


/****** Object: Job [Auto Reset] Script Date: 12/23/2013 5:40:07 PM ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 12/23/2013 5:40:07 PM ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


END


DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Auto Reset',
@enabled=0,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'No description available.',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'WIN-NELHUIMICGD\Administrator', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [Eternity] Script Date: 12/23/2013 5:40:08 PM ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Eternity',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'DECLARE
@resets int
SELECT @resets=resets from Character where Name=''Eternity''


IF @resets<145
BEGIN
Update Character set clevel=FLOOR(250*RAND()), [resets]=[resets]+1, ResetNBB=ResetNBB+1,[NoResetInDay]=[NoResetInDay]+1,[TopMonth11]=[TopMonth11]+1 where name=''Eternity''
UPDATE Event_TOP_RS_ALL SET resets=resets+1 WHERE name=''Eternity''
UPDATE TopReset SET reset=reset+1 WHERE name=''Eternity'' AND year=2013 AND month=11 AND day=9
UPDATE TopResetScore SET reset_score=reset_score+250 WHERE name=''Eternity'' AND year=2013 AND month=11 AND day=9
END',
@database_name=N'CUONGSATQT',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Every 60 minutes',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=8,
@freq_subday_interval=1,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20131104,
@active_end_date=99991231,
@active_start_time=0,
@active_end_time=235959,
@schedule_uid=N'9238e5b0-1418-4587-a13a-126b81c33cc2'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO

Tham khảo
đoạn code này chạy thêm vào đb hà thaovy
 
Bên trên