hello all..
are there any ways to prevent stack buffs?
such as discarding 2nd login? or deleting all buffs on logout ? this is a serious problem for all.
hello all..
are there any ways to prevent stack buffs?
such as discarding 2nd login? or deleting all buffs on logout ? this is a serious problem for all.
Yup, let me look up the script...
Posted by Digital:
"solving BUFF has 3 methods,
1:
edit database lin_GetUserDataByCharId
find
(SELECT * FROM user_ActiveSkill (nolock) WHERE char_id = @char_id) as uas
changed the red portion to a char without any buff on any acc ID
example:
(SELECT * FROM user_ActiveSkill (nolock) WHERE char_id = 1) as uas
this solves BUFF stacking problem,side-effects,when char goes online, no buffs
2:
simple fix for BUFF --- stored procedure need testing!
in lin2db,there's this stored procedure ap_GStat check it's element!
inside is transaction's code
change to:
/*CREATE PROCEDURE [dbo].[ap_GStat]
@account varchar(14), @uid int OUTPUT, @payStat int OUTPUT, @loginFlag int OUTPUT, @warnFlag int OUTPUT, @blockFlag int OUTPUT, @blockFlag2 int OUTPUT, @subFlag int OUTPUT, @lastworld tinyint OUTPUT
AS
SELECT @uid=uid, @payStat=pay_stat, @loginFlag = login_flag, @warnFlag = warn_flag, @blockFlag = block_flag, @blockFlag2 = block_flag2, @subFlag = subscription_flag , @lastworld=last_world FROM user_account WITH (nolock)
WHERE account=@account
GO*/
CREATE PROCEDURE [dbo].[ap_GStat]
@account varchar(14),
@uid int OUTPUT,
@payStat int OUTPUT,
@loginFlag int OUTPUT,
@warnFlag int OUTPUT,
@blockFlag int OUTPUT,
@blockFlag2 int OUTPUT,
@subFlag int OUTPUT,
@lastworld tinyint OUTPUT,
@block_end_date datetime OUTPUT
AS
DECLARE @JianGe INT
SET NOCOUNT ON
SELECT @uid=uid,
@payStat=pay_stat,
@loginFlag = login_flag,
@warnFlag = warn_flag,
@blockFlag = block_flag,
@blockFlag2 = block_flag2,
@subFlag = subscription_flag ,
@lastworld=last_world,
@block_end_date=block_end_date
FROM user_account WITH (nolock)
WHERE account=@account
SELECT @JianGe = DATEDIFF(ss, last_logout, getdate()) FROM user_account WITH (nolock) WHERE account=@account
IF @JianGe < 60
BEGIN
set @blockFlag2 = 1
END
GO
test first!!!!! can防BUFF叠加
IF @JianGe < 60 means delay of 60seconds
3:
edit ap_Gstat,solves BUFF
open ap_Gstat stored procedure,since this procedure reads account state info, solving this problem becomes alot easier
ok, in this procedure paste the code below above the word GO:
declare @lastlogin datetime
SELECT @lastlogin=last_login from user_account (nolock) where account=@account
if @lastlogin is not null and DateDiff(ss,@lastlogin,GetDate())<180
Begin
set @blockflag=1
End"
those dont work. cached hexing or the cloning fix is required
deleting buff ons log out is best solution i guess. Maybe some 1 can explain a how to on tht ? thx
we are all ears..
I would not agree with that. Most of players can just crash client which will couse that cached wont have any logout info. Well its still better than nothing to clear buffs at logout :D. So to proper disable buff stack u need to hex cached.exe.Originally Posted by KhulShalKrumII
Yea sorry about that, I've never tried it, I'll search around a bit more...
no option to fix the overbuffing unless you hex like Sprinkle said...you can enable a login delay that will help a little but trust me, people will still figure out a way to do it....hexing is the best way....
any way to include a login delay?
If I remember right its in your l2server.ini file
the login delay has to be..server side man..if it's client side it can be overrided
I didnt say l2.ini in your client....
my mistake..too many hours trying to fix the problem ...eyes not in a good condition
no such thing in l2server.ini
;SocketTimeOut if player no Action while they in game then kick out.
SocketTimeOut=10
SocketLimit=5000
AcceptCallNum=1
UseOneIOCom=true
AcceptThread=1
WaitingUserLimit=100
dumppacket=false
UserData=false
UseLogD=false
logdip="127.0.0.1"
logdport=3999
logdconnectinterval=120
;(true=auth-main reconnect on/false=auth-main reconnect off)
SupportReconnect=false
AutokickAccount=true
NewEncrypt=false