- Joined
- Feb 3, 2010
- Messages
- 429
- Reaction score
- 81
Така заглавието не знам дали е най-подходящото но не знаех как да го опиша това което е
Ето го и нещото
това е SQL JOB които проверява всеки един от героите неговия level на всяка минута и го сверява с level-a му преди една минута и така ако даден играч е вдигнал повече от възможното за една минута то тази програма ще го запише в една таблица и ще видите колко нива е вдигнал за тази една минута този JOB не е от най-полезните и ефективни начини за ловене на хакери но понеже разбрах че за да имаш добра зашита трябва да си платиш а аз не искам да плащам затова ползвам това
да престъпим как да го запишем
има 2 стъпки №1 DateBase Update и №2 JOB install
2. в голямото празно бяло поле въвеждате следния код
2. натискате десен бутон върху празното поле след което изберете New JOB
3. на Name напишете някакво име пример:Hackers и на Discription напишете същото
4.отивате на раздел Steps там избирате NEW и пишете някакво име на Step Name пример:Hacker и на DateBase избирате MuOnline
5.на Command въвеждате следния код
7. Отиваме на раздел Schedules там избирате New Schedule...
8. На Name въвеждате отново някакво име за пример отново Hackers
9. избирате Recurring и след това цъкате на Change
9. в началото избирате Daily и там нека да си е Every 1 Day
10. Избирате Occurs every 1 Minute(s) Starting at 00:00:00 Ending at : 23:59:59
11. Избирате Start date: да е на днешната и после избирате No end date
12. избирате OK после на другия прозорец отново OK и отново ОК след което JOB-a е готов
Допълнителни настройки:
1. Този JOB е направен за Normal Server около 250 300 exp за да хваща най-добре намерете това в JOB-a
Пример:
с червено е 70 а с зелено е само 100 тоест ако героят е под 100 level и вдигне 70 levels за една минута то тогава ще го отчете и ще го запише в таблицата Hackers.
Първото и последното има само едно в зелено това е защото при първото е под 100 а при последното е над 900 a при другите са 2 понеже е между 2 Нива примерно
За да откриете кой е вдигал бързо Levels
1.влизате в Enterprise Manager ->Microsoft SQL Server->SQL Server Group ->(local)(Windows NT)->Datebases->MuOnline->Tables
2.намирате таблица под името Hackers давате десен бутон върху нея отивате на OpenTable->Return all rows и там виждате на първо място името на героя после кои level е отчело първия път след това на трето място е кои level е отчело след една минута и т.н има за GrandResets Resets и накрая пише кога се е случило това.
Скоро ще сложа PHP Modul за да ги следите по лесно
Надявам се много подробно да съм описал всичко понеже някои ако иска помощ може и да нямам време да помогна но винаги може да ми пишете на skype: grizismu аз когато мога веднага отговарям
Ето го и нещото
това е SQL JOB които проверява всеки един от героите неговия level на всяка минута и го сверява с level-a му преди една минута и така ако даден играч е вдигнал повече от възможното за една минута то тази програма ще го запише в една таблица и ще видите колко нива е вдигнал за тази една минута този JOB не е от най-полезните и ефективни начини за ловене на хакери но понеже разбрах че за да имаш добра зашита трябва да си платиш а аз не искам да плащам затова ползвам това
да престъпим как да го запишем
има 2 стъпки №1 DateBase Update и №2 JOB install
№1 DataBase Update
1.отваряте Query Analyzer ще ви се отвори прозорче на него избирате Windows authentication a на Sql Server трябва да е "."(или поне при мен е така) след което избирате OK 2. в голямото празно бяло поле въвеждате следния код
3. Зареждате го като натиснете F5 а след това Ctrl+F5 накрая трябва отдолу да ви изпише "The command(s) completed successfully." ако го видите това значи всичко е наредUse MuOnline
CREATE TABLE CharLevel
(
CharName char(10) NOT NULL,
CharLevel int,
CharRR int,
CharGR int,
DatA datetime NOT NULL
)
CREATE TABLE Hackers
(
CharName char(10) NOT NULL,
CharLevel1 int,
CharLevel2 int,
CharRR1 int,
CharRR2 int,
CharGR1 int,
CharGr2 int,
DatA datetime NOT NULL
)
ALTER TABLE Character
ADD Nomer bigint
№2 JOB install
1. влизате в Enterprise Manager ->Microsoft SQL Server->SQL Server Group ->(local)(Windows NT)->Managment->SQL Server Agent->JOB2. натискате десен бутон върху празното поле след което изберете New JOB
3. на Name напишете някакво име пример:Hackers и на Discription напишете същото
4.отивате на раздел Steps там избирате NEW и пишете някакво име на Step Name пример:Hacker и на DateBase избирате MuOnline
5.на Command въвеждате следния код
6.Избирате Parse и ако няма проблем запазвате с Apply и OKDECLARE @maxchars int
DECLARE @i bigint
DECLARE @next nvarchar(50)
DECLARE @check nvarchar(50)
DECLARE @next1 bigint
DECLARE @Level2 int
DECLARE @Level1 int
DECLARE @res2 int
DECLARE @res1 int
DECLARE @gr2 int
DECLARE @gr1 int
SET @maxchars=(Select Count(Name) From Character)
SET @i=0
While @maxchars>@i
Begin
SET @i=@i+1;
SET @next=(Select TOP 1 Name From Character Where Nomer=0)
SET @Level1=(Select cLevel From Character Where Name=@next)
SET @res1=(Select Resets From Character Where Name=@next)
SET @gr1=(Select GrandResets From Character Where Name=@next)
SET @Level2=(Select CharLevel From CharLevel Where CharName=@next)
SET @res2=(Select CharRR From CharLevel Where CharName=@next)
SET @gr2=(Select CharGR From CharLevel Where CharName=@next)
Update Character Set Nomer=@i Where Name=@next
SET @check=(Select CharName From CharLevel Where CharName=@next)
IF ((@Level1>@level2+70)and (@Level1<=100))
or ((@Level1>@level2+50)and (@Level1>100)and (@Level1<=200))
or ((@Level1>@level2+40)and (@Level1>200) and (@Level1<=300))
or ((@Level1>@level2+30)and (@Level1>300) and (@Level1<=400))
or ((@Level1>@level2+27)and (@Level1>400) and (@Level1<=500))
or ((@Level1>@level2+25)and (@Level1>500) and (@Level1<=600))
or ((@Level1>@level2+23)and (@Level1>600) and (@Level1<=700))
or ((@Level1>@level2+20)and (@Level1>700) and (@Level1<=800))
or ((@Level1>@level2+15)and (@Level1>800) and (@Level1<=900))
or ((@Level1>@level2+10)and (@Level1>900))
or ((@res1>@res2+1) and (@Level1>20))
or (@res1>@res2+1)
or ((@gr1>=@gr2+1) and (@res1>0) )
or (@gr1>@gr2+1)
Begin
Insert Into Hackers (CharName,CharLevel1,CharLevel2,CharRR1,CharRR2,CharGR1,CharGR2,DatA) values(@next,@Level2,@Level1,@res2,@res1,@gr2,@gr1,GetDate())
END
if (@check IS null)
BEGIN
Insert Into CharLevel (CharName,CharLevel,CharRR,CharGR,DatA) values(@next,@Level1,@res1,@gr1,GetDate())
END
Else
Begin
Update CharLevel Set CharName=@next,CharLevel=@Level1,DatA=GetDate(),CharRR=@res1,CharGR=@gr1 Where CharName=@next
END
END
Update Character Set Nomer=0
7. Отиваме на раздел Schedules там избирате New Schedule...
8. На Name въвеждате отново някакво име за пример отново Hackers
9. избирате Recurring и след това цъкате на Change
9. в началото избирате Daily и там нека да си е Every 1 Day
10. Избирате Occurs every 1 Minute(s) Starting at 00:00:00 Ending at : 23:59:59
11. Избирате Start date: да е на днешната и после избирате No end date
12. избирате OK после на другия прозорец отново OK и отново ОК след което JOB-a е готов
Допълнителни настройки:
1. Този JOB е направен за Normal Server около 250 300 exp за да хваща най-добре намерете това в JOB-a
червените числа са Levels които може да се вдигнат за една минута а с зелено е при кои Нива става въпросIF ((@Level1>@level2+70)and (@Level1<=100))
or ((@Level1>@level2+50)and (@Level1>100)and (@Level1<=200))
or ((@Level1>@level2+40)and (@Level1>200) and (@Level1<=300))
or ((@Level1>@level2+30)and (@Level1>300) and (@Level1<=400))
or ((@Level1>@level2+27)and (@Level1>400) and (@Level1<=500))
or ((@Level1>@level2+25)and (@Level1>500) and (@Level1<=600))
or ((@Level1>@level2+23)and (@Level1>600) and (@Level1<=700))
or ((@Level1>@level2+20)and (@Level1>700) and (@Level1<=800))
or ((@Level1>@level2+15)and (@Level1>800) and (@Level1<=900))
or ((@Level1>@level2+10)and (@Level1>900))
or ((@res1>@res2+1) and (@Level1>20))
or (@res1>@res2+1)
or ((@gr1>=@gr2+1) and (@res1>0) )
or (@gr1>@gr2+1)
Пример:
с червено е 70 а с зелено е само 100 тоест ако героят е под 100 level и вдигне 70 levels за една минута то тогава ще го отчете и ще го запише в таблицата Hackers.
Първото и последното има само едно в зелено това е защото при първото е под 100 а при последното е над 900 a при другите са 2 понеже е между 2 Нива примерно
тук е между 100 и 200 level ако някои вдигне повече от 50 нива ще го засече и ще го запишеor ((@Level1>@level2+50)and (@Level1>100)and (@Level1<=200))
За да откриете кой е вдигал бързо Levels
1.влизате в Enterprise Manager ->Microsoft SQL Server->SQL Server Group ->(local)(Windows NT)->Datebases->MuOnline->Tables
2.намирате таблица под името Hackers давате десен бутон върху нея отивате на OpenTable->Return all rows и там виждате на първо място името на героя после кои level е отчело първия път след това на трето място е кои level е отчело след една минута и т.н има за GrandResets Resets и накрая пише кога се е случило това.
Скоро ще сложа PHP Modul за да ги следите по лесно
Задължително за да работи тази функция трябва да сте пуснали Sql Server Agent
това е тествано на 97d+99i files на DarkMaster Beta 25 и работят на max но мисля че и на други версии няма да има проблем само да спомена че ако нямате GrandReset колона в Character ще имате проблем и затова ви предлагам просто да я сложите понеже иначе ще ви е много по сложно как да я сложите просто въведете този код в SQL Query-то
това е тествано на 97d+99i files на DarkMaster Beta 25 и работят на max но мисля че и на други версии няма да има проблем само да спомена че ако нямате GrandReset колона в Character ще имате проблем и затова ви предлагам просто да я сложите понеже иначе ще ви е много по сложно как да я сложите просто въведете този код в SQL Query-то
ALTER TABLE Character
ADD GrandResets int[
Надявам се много подробно да съм описал всичко понеже някои ако иска помощ може и да нямам време да помогна но винаги може да ми пишете на skype: grizismu аз когато мога веднага отговарям
Искам да кажа че е полезна но трябва да се следи кои колко е вдигнал за една минута а не да блокирате играчи всеки път като изпише понеже не е изцяло сигурно че е било с хак ами може просто някой да му е помогнал
Last edited: