[Question] how to change max inventory pet size in _RefObjChar ?

06/11/2018 02:14 multiuses#1
hello there
i think it needs an expert person to find out.
as the title said when i try to update [Inventorysize] related to the pick pet in [_RefObjChar] Table to higher than 140 the gameserver crashes and dosent start ..
i dont know the reason that make the GS crashes , if someone could help to figure out whats wrong please share with me and ill really appreciate your precious help :handsdown:
thanks in advance .
06/12/2018 08:09 multiuses#2
still nobody can help ?
06/12/2018 15:09 JustNrik#3
First, don't put more than 2 pages as it's exploitable. Second, you probably did something wrong when you attempted to increase pet slots, 140 should be possible without problems.
06/12/2018 22:26 multiuses#4
Quote:
Originally Posted by JustNrik View Post
First, don't put more than 2 pages as it's exploitable. Second, you probably did something wrong when you attempted to increase pet slots, 140 should be possible without problems.
I already added 5 pages and it works fine but i wonder if i can increase the number '140' to 141 for an example
when i make it 141 the gameserver crashes
i wonder why and need to know what is the reason that makes it not working :o
06/12/2018 23:46 JustNrik#5
Quote:
Originally Posted by multiuses View Post
I already added 5 pages and it works fine but i wonder if i can increase the number '140' to 141 for an example
when i make it 141 the gameserver crashes
i wonder why and need to know what is the reason that makes it not working :o
because the max is 140. At least myself I have never seen any server with more than 5 pages, I guess that's the maximum gs allows for who knows what reason.
06/13/2018 00:58 Ɗoc#6
Hello, Do not ADD MORE THAN 2 pages. People will exploit that and crash your gameserver non-stop. Just like Nrik said. There is an item movement exploit. So just listen to what people say if you are seeking an expert answer.
06/13/2018 01:59 Blacklite.#7
The game data cannot handle much information.

No, not what I exactly mean. But, let suppose that we've something called a 'serverbase' which is made to handle somehow a precise value of information. For example, if you own 1-terabyte hard, you're asking now 'what can I do to expand that to (1-terabyte + 1) hard' which is illogical, if you gotch'a me. I hope I wasn't much philosophical about it but you've to go back to the roots of that 'serverbase' already to make a new game company, then haha ;) Thanks.
06/13/2018 06:07 blapanda#8
Don't go over 2 pages. There is a reason for that. If you are running that server just for you and your friends, then don't expect anything bad by going for 5 pages.
And yes, 5 pages are the maximum, due to the server files being just calculated up to level 110. There was never an intention sides of Joymax going any higher than that during that time.
Transport pets are also limited to, dunno what exact number it was, but pretty sure that I wasn't able to crank that up to full 7 pages for my lv 140 cap server without getting disconnected ingame.

Like always, Joymax is stupid. Even the maximum quest level was capped... I mean, for what purpose wants someone to limit a quest function up to lv 110?! There is no way to exploit, cheat on, crash the server with that part of the game, at all.
06/16/2018 06:34 multiuses#9
Quote:
Originally Posted by JustNrik View Post
First, don't put more than 2 pages as it's exploitable. Second, you probably did something wrong when you attempted to increase pet slots, 140 should be possible without problems.
Quote:
Originally Posted by Ɗoc View Post
Hello, Do not ADD MORE THAN 2 pages. People will exploit that and crash your gameserver non-stop. Just like Nrik said. There is an item movement exploit. So just listen to what people say if you are seeking an expert answer.

well, sorry if im being rude or annoying but if there is no way to make it more than 140 so why i cant use the 5 pages and also prevent players from exploiting the item movement by using a filter and put the opcodes or anything else ?
i think there is a solution for this exploit , or there is no way ?
thanks in advance .
06/16/2018 15:00 JustNrik#10
Quote:
Originally Posted by multiuses View Post
well, sorry if im being rude or annoying but if there is no way to make it more than 140 so why i cant use the 5 pages and also prevent players from exploiting the item movement by using a filter and put the opcodes or anything else ?
i think there is a solution for this exploit , or there is no way ?
thanks in advance .
I guess it's possible but without source code it'd probably take a hell of work (kinda hilarious since for joymax it would take them 5 minutes) and not worth it, I mean, why do you want a pet storage in a serious server anyway?

w/e, the exploit is caused due to the type limit on pet's inventory packet, If the size of the packet hits higher than the limit an exception will occur causing gs to crash, reaching this limit is not easy under normal conditions, having 5 pages wouldn't be a problem if psro community wasn't a shit that will exploit everything they can, they will fill their pet inventory with fb items making pet's inventory packet bigger until it reaches limit and crashes gs.
10/26/2023 17:07 torachiyo#11
Quote:
Originally Posted by JustNrik View Post
because the max is 140. At least myself I have never seen any server with more than 5 pages, I guess that's the maximum gs allows for who knows what reason.

11/13/2023 03:33 Judgelemental#12
Quote:
Originally Posted by torachiyo View Post
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
Instead of showing off maybe you can help
11/13/2023 15:34 JohnDornel^#13
Quote:
Originally Posted by Judgelemental View Post
Instead of showing off maybe you can help
This thread is very old, if you need help with this pm me or just quote me here.

Quote:
Originally Posted by torachiyo View Post
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
Drop a link to your server and you will understand why this is a stupid idea. People CAN do it and it will work, but gameserver has a problem and as far as I know no one fixed it yet.

Note: In your tests, you are definetly not trying the exploit.
11/13/2023 16:10 Judgelemental#14
Quote:
Originally Posted by JohnDornel^ View Post
This thread is very old, if you need help with this pm me or just quote me here.



Drop a link to your server and you will understand why this is a stupid idea. People CAN do it and it will work, but gameserver has a problem and as far as I know no one fixed it yet.

Note: In your tests, you are definetly not trying the exploit.
Hello, since I am playing alone I would not mind having 7 pages. I currently have 5
11/13/2023 17:14 JohnDornel^#15
Quote:
Originally Posted by Judgelemental View Post
Hello, since I am playing alone I would not mind having 7 pages. I currently have 5
Create this table

Code:
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[_COS_Exceptions](
	[ID] [int] NOT NULL,
 CONSTRAINT [PK__COS_Exceptions] PRIMARY KEY CLUSTERED 
(
	[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
And put these IDs inside

Code:
7493
9264
10369
10370
22865
23228
23229
23309
23857
23858
29534
36634
41760
(COS_% ids for default grab pets, you can add additional ones here if you have custom made)

Go to SRO_VT_SHARD > Programmability > Stored Procedures > _AddNewCOS > Right Click and Modify.

At the end, before "commit tran" add this


if ((SELECT COUNT(*) FROM _COS_Exceptions with (NOLOCK) where ID=@RefObjID) <> 0)
BEGIN
declare @[Only registered and activated users can see links. Click Here To Register...]64 bigint
DECLARE @[Only registered and activated users can see links. Click Here To Register...] int
set @[Only registered and activated users can see links. Click Here To Register...]= DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE()) --get curent timestamp
set @[Only registered and activated users can see links. Click Here To Register...] @[Only registered and activated users can see links. Click Here To Register...]+28*24*440000
select @[Only registered and activated users can see links. Click Here To Register...]64 = Serial64 from _Items where Data = @[Only registered and activated users can see links. Click Here To Register...]_ID
IF(NOT EXISTS(SELECT * FROM _TimedJobForPet WHERE CharID = @[Only registered and activated users can see links. Click Here To Register...]_ID))
BEGIN
exec _AddTimedJobForPet @[Only registered and activated users can see links. Click Here To Register...]_ID,5,22926 @[Only registered and activated users can see links. Click Here To Register...],1111708465,1,28,0,0,0,0,0 @[Only registered and activated users can see links. Click Here To Register...]64
END
end
enD

To modify the amount of slots there is a "28" on the "exec _AddTimedJobForPet..." line, you can edit it there. Just multiplay pages * slotsPerPage and use that number. That should be all.