Fellow Pets exp bug

06/06/2020 03:23 mudik#1
Hello can anyone help me with fellow pets?

When i lvl up my fellow pet all working perfect like here
[Only registered and activated users can see links. Click Here To Register...]

but if i do any teleport or relog i got all times this here
[Only registered and activated users can see links. Click Here To Register...]
fellow pet goes down to lvl 2 with 99,99exp

after i make lvl up he got his normal lvl
and again teleport the same my pet is lvl 2 with 99,99exp
06/08/2020 02:25 mudik#2
Up
06/10/2020 14:13 putzeimer195#3
Check the _RefLevel table and leveldata.txt, I think they not match.

What is if you Restard the GameServer, which lvl is your Pet if you log in then?
06/10/2020 14:51 mudik#4
Quote:
Originally Posted by putzeimer195 View Post
Check the _RefLevel table and leveldata.txt, I think they not match.

What is if you Restard the GameServer, which lvl is your Pet if you log in then?
OMG nicht mal an RefLevel gedacht XD danke werde später es testen und dir Bescheid sagen ob es geklappt hat

Quote:
Originally Posted by putzeimer195 View Post
Check the _RefLevel table and leveldata.txt, I think they not match.

What is if you Restard the GameServer, which lvl is your Pet if you log in then?
hab nach geschaut und es auch verglichen wo es mit dem fellow pet lvl funktioniert dürfte alles richtig sein im RefLevel. Mit dem GameServer restart das selber fängt bei 2 wieder an.
06/12/2020 14:22 mudik#5
UP
06/13/2020 12:17 putzeimer195#6
hast du vielleicht in irgendeiner Procedure einfach nen Befehl drin stehen, welcher das Fellow pet lvl immer auf 2 nach dem Porten oder Einloggen setzt?
Check mal die _AddLogChar, aber könnte auch jede andere sein :D
Was für eine Datenbank nutzt du denn?
06/14/2020 14:28 mudik#7
Quote:
Originally Posted by putzeimer195 View Post
hast du vielleicht in irgendeiner Procedure einfach nen Befehl drin stehen, welcher das Fellow pet lvl immer auf 2 nach dem Porten oder Einloggen setzt?
Check mal die _AddLogChar, aber könnte auch jede andere sein :D
Was für eine Datenbank nutzt du denn?
net das ich wüsste XD


USE [SRO_VT_SHARDLOG]
GO
/****** Object: StoredProcedure [dbo].[_AddLogChar] Script Date: 6/14/2020 2:56:25 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER procedure [dbo].[_AddLogChar]
@CharID int,
@EventID tinyint,
@Data1 int,
@Data2 int,
@[Only registered and activated users can see links. Click Here To Register...]Pos varchar(64),
@Desc varchar(128)
as

IF ( -- Skips over the unnecessary Records
(@EventID != 11) AND
(@EventID NOT BETWEEN 21 AND 27) AND
(@EventID NOT BETWEEN 200 AND 202) AND
(@EventID NOT BETWEEN 204 AND 206) AND
(@EventID != 210) AND (@EventID != 214) AND (@EventID != 244)
)BEGIN

declare @len_pos int
declare @len_desc int
set @len_pos = len @[Only registered and activated users can see links. Click Here To Register...]Pos)
set @len_desc = len(@Desc)
if (@len_pos > 0 and @len_desc > 0)
begin
insert _LogEventChar values(@CharID, GetDate(), @EventID, @Data1, @Data2, @[Only registered and activated users can see links. Click Here To Register...]Pos, @Desc)
end
else if (@len_pos > 0 and @len_desc = 0)
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, EventPos) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @[Only registered and activated users can see links. Click Here To Register...]Pos)
end
else if (@len_pos = 0 and @len_desc > 0)
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, strDesc) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @Desc)
end
else
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2) values(@CharID, GetDate(), @EventID, @Data1, @Data2)
end

/*Extension*/--> by Caipi

IF not exists (SELECT CharID FROM _OnlineOffline WHERE CharID = @CharID)
BEGIN
INSERT INTO _OnlineOffline (CharID, Charname, [Status], [Date], [Minutes], [tMinutes], eSilk, mOnline, [Silk/Hour], [stillOnline@])
VALUES (
@CharID,
(SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID),
'OnHold',
GETDATE(),
0,0,0,
NULL,(SELECT DefaultSilk FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates'),
NULL
);
END

IF (@EventID = 4 OR @EventID = 6)
BEGIN

IF (@EventID = 6 AND ((SELECT [Status] FROM _OnlineOffline WHERE CharID = @CharID) like 'OnHold'))
BEGIN
UPDATE _OnlineOffline
SET [Status] = 'Offline'
WHERE CharID = @CharID
END

IF (@EventID = 6 AND ((SELECT [Status] FROM _OnlineOffline WHERE CharID = @CharID) like 'Online'))
BEGIN
UPDATE _OnlineOffline
SET
[Status] = 'Offline',
[Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
[tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
[mOnline] = NULL,
[stillOnline@] = NULL
WHERE CharID = @CharID
END

IF (@EventID = 4)
BEGIN
UPDATE _OnlineOffline
SET
[Status] = 'Online',
[Date] = GETDATE(),
[stillOnline@] = GETDATE()
WHERE CharID = @CharID
END
END


UPDATE _OnlineOffline
SET
[mOnline] = CAST((DATEDIFF(MINUTE,[Date],GETDATE()))as varchar(max)) + ' minute(s) Online',
[Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
[tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
[stillOnline@] = GETDATE()
WHERE [Status] like 'Online'

/*Silk/Hour basic calc*/

IF (@EventID = '4' OR @EventID = '6')
BEGIN
UPDATE SRO_VT_SHARD.DBO._Items SET OptLevel = '12' where OptLevel > '13'
end



IF ((SELECT [tMinutes] from _OnlineOffline WHERE CharID = @CharID) >= (SELECT [Step1Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Requirements'))
BEGIN
Declare @[Only registered and activated users can see links. Click Here To Register...] int;
exec @[Only registered and activated users can see links. Click Here To Register...] = [_GetSilkperHour] @CharID
UPDATE _OnlineOffline SET [Silk/Hour] = @[Only registered and activated users can see links. Click Here To Register...] WHERE CharID = @CharID
END
/*!Silk/Hour basic calc*/

IF (((SELECT NextDate FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next') IS NULL))
BEGIN
DECLARE @FirstDate datetime, @[Only registered and activated users can see links. Click Here To Register...] datetime = GETDATE(), @FirstCharID int;

exec @FirstCharID = SRO_VT_SHARD.dbo._RandomPlayerID
exec SRO_VT_SHARD.dbo._GetRandomTime @[Only registered and activated users can see links. Click Here To Register...], @FirstDate OUTPUT

UPDATE [_RandomPlayer&Date]
SET
NextDate = @FirstDate,
RefreshedDate = GETDATE(),
CharID = @FirstCharID,
Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @FirstCharID)
WHERE [Desc] like 'Next';
END

IF ((SELECT NextDate FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next') <= GETDATE())
BEGIN
UPDATE _OnlineOffline
SET [Silk/Hour] = (SELECT RewardSilk FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates')
WHERE CharID = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next');
Declare
@CurSilkperHour int,
@OldCharID int = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Current');
IF (@OldCharID IS NOT NULL)
BEGIN
exec @CurSilkperHour = _GetSilkperHour @OldCharID
UPDATE _OnlineOffline
SET [Silk/Hour] = @CurSilkperHour
WHERE CharID = @OldCharID;
END
UPDATE [_RandomPlayer&Date]
SET
NextDate = NULL,
RefreshedDate = GETDATE(),
CharID = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next'),
Charname = (SELECT Charname FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next')
WHERE [Desc] like 'Current'

/*new Random Time of Today+1*/
DECLARE @NextDate datetime, @[Only registered and activated users can see links. Click Here To Register...] datetime = GETDATE()+1, @NewCharID int;

exec @NewCharID = SRO_VT_SHARD.dbo._RandomPlayerID
exec SRO_VT_SHARD.dbo._GetRandomTime @[Only registered and activated users can see links. Click Here To Register...], @NextDate OUTPUT

UPDATE [_RandomPlayer&Date]
SET
NextDate = @NextDate,
RefreshedDate = GETDATE(),
CharID = @NewCharID,
Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @NewCharID)
WHERE [Desc] like 'Next'
/*!new Random...*/
END

/*Calculation of the silk amount*/
Declare @[Only registered and activated users can see links. Click Here To Register...]nutes bigint = (SELECT [Minutes] from _OnlineOffline WHERE CharID = @CharID), @Silk int;

IF @[Only registered and activated users can see links. Click Here To Register...]nutes >= 60)
BEGIN
SET @Silk = CAST(((SELECT [Minutes] FROM _OnlineOffline WHERE CharID = @CharID) / 60) as int)
UPDATE _OnlineOffline
SET [Minutes] = [Minutes] % 60
WHERE CharID = @CharID

IF exists (SELECT [WEEKDAYS] FROM [_Silk/Hour-Config] WHERE [WEEKDAYS] like DATENAME(WEEKDAY, GETDATE()))
BEGIN
UPDATE _OnlineOffline
SET [eSilk] = [eSilk] + (@Silk*[Silk/Hour])
WHERE CharID = @CharID

exec SRO_VT_ACCOUNT.dbo._extraSilk @CharID, @Silk
END
END
/*!Calc*/

/*!Extension*/

END -- !Skipping
06/14/2020 15:47 putzeimer195#8
Wenn dein Fellow Pet lvl 2 ist, und du ein Monster tötest, welches lvl ist es dann?
06/14/2020 18:24 mudik#9
Quote:
Originally Posted by putzeimer195 View Post
Wenn dein Fellow Pet lvl 2 ist, und du ein Monster tötest, welches lvl ist es dann?
Wieder sein normales lvl. Wenn ich teleportiere oder Reloge auf lvl 2, kille ich wieder ein Monster sein normales lvl was auch stimmt alles lauft super nur das teleportieren oder relog ist das Problem dann landet er immer auf lvl 2
06/15/2020 02:24 putzeimer195#10
Quote:
Originally Posted by mudik View Post
Wieder sein normales lvl. Wenn ich teleportiere oder Reloge auf lvl 2, kille ich wieder ein Monster sein normales lvl was auch stimmt alles lauft super nur das teleportieren oder relog ist das Problem dann landet er immer auf lvl 2
Also das klingt ganz stark nach einer procedure oder einem Trigger, ich denke mal das du eine Datenbank die hier Veröffentlicht wurde nutzt oder?
Welche denn?
06/15/2020 11:03 mudik#11
Quote:
Originally Posted by putzeimer195 View Post
Also das klingt ganz stark nach einer procedure oder einem Trigger, ich denke mal das du eine Datenbank die hier Veröffentlicht wurde nutzt oder?
Welche denn?
Hab die hier genommen das es die cleanste war zur meiner Zeit ohne edits

[Only registered and activated users can see links. Click Here To Register...]
06/15/2020 12:08 NorseGodTyr#12
Quote:
Originally Posted by mudik View Post
Hab die hier genommen das es die cleanste war zur meiner Zeit ohne edits

[Only registered and activated users can see links. Click Here To Register...]
Nutz mal anderen GameServer ;) du nimmst bestimmt den SR_zor
der ist extrem buggy
06/15/2020 12:52 putzeimer195#13
Quote:
Originally Posted by mudik View Post
Hab die hier genommen das es die cleanste war zur meiner Zeit ohne edits

[Only registered and activated users can see links. Click Here To Register...]
Gab es das Problem von anfang an, oder erst später?
Fellow Pets waren aber nicht drin oder?
06/15/2020 13:44 mudik#14
Quote:
Originally Posted by NorseGodTyr View Post
Nutz mal anderen GameServer ;) du nimmst bestimmt den SR_zor
der ist extrem buggy
Ne am Gameserver kann es net liegen wenn ich eine database nehme wo sie geadded sind funktioniert es einwandfrei irgendwas hab falsch gemacht nur weis seit Tagen nicht was

Quote:
Originally Posted by putzeimer195 View Post
Gab es das Problem von anfang an, oder erst später?
Fellow Pets waren aber nicht drin oder?
Ne waren net drinne hab selber geadded
06/15/2020 13:46 NorseGodTyr#15
Quote:
Originally Posted by mudik View Post
Ne am Gameserver kann es net liegen wenn ich eine database nehme wo sie geadded sind funktioniert es einwandfrei irgendwas hab falsch gemacht nur weis seit Tagen nicht was



Ne waren net drinne hab selber geadded
schonmal nachgeschaut ob in _refobjchar alle level pets drin sind ?