Register for your free account! | Forgot your password?

You last visited: Today at 05:45

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



CloudSaint's Jar

Discussion on CloudSaint's Jar within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
InsomniacPro's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 397
Received Thanks: 205
CloudSaint's Jar

Thanks to CptSky for this thread:


I have this structure working fine on 5017. And then when hovered over, client->Server sends 1022, with subtype 30. I echo that packet back to the client with the killcount at offset 28.
Then the client will show this.


Now the issue I have is updating the "Killed" number. The client only sends back 1022 subtype 30 once, and thats on the initial hover of the jar. I've tried removing the item, then adding it again. But still no dice. Any one have any experience working past this part?

Edit:
For 5017 it seems to be different from other patches.
Current Duration for 1008 is Required Kills.
Max Duration for 1008 is Monstertype to kill.

The amount currently killed is handled via 1022.
InsomniacPro is offline  
Old 05/19/2014, 12:45   #2
 
elite*gold: 0
Join Date: Feb 2006
Posts: 726
Received Thanks: 271
MaxDurability is the monster you need to kill, can be found in an ini file in the client.
Durability is the amount of kills.

The client will automatically update the jar client side, all you need to do is update it server side so a re-log will show the count correctly.

It only sends packet 1022 once, which is the first time you hover the mouse over it.
This is to update the kill count within the client to display it correctly.
Aceking is offline  
Old 05/19/2014, 13:06   #3
 
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
PHP Code:
        public void UpdateJar()
        {
            
Interaction interaction Interaction.Create(GetId(), GetId(), Hunter.Type0Interaction.HunterJar);
            
interaction.dwParam = (uint)((Hunter.Kills << 16) | Hunter.Type);
            
Send(&interaction);
        } 
Where GetId() returns the Id of the player, HunterType is 30 and dwParam is the uint after Damage in the packet 1022.

This is the Interaction.Create prototype:
PHP Code:
public static unsafe Interaction Create(uint uniqueIduint targetushort xushort yuint type
Edit:
dwParam starts at Damage offset + 2.
-impulse- is offline  
Old 05/19/2014, 18:43   #4
 
InsomniacPro's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 397
Received Thanks: 205
Quote:
Originally Posted by Aceking View Post
MaxDurability is the monster you need to kill, can be found in an ini file in the client.
Durability is the amount of kills.

The client will automatically update the jar client side, all you need to do is update it server side so a re-log will show the count correctly.

It only sends packet 1022 once, which is the first time you hover the mouse over it.
This is to update the kill count within the client to display it correctly.
You pretty much just said everything I already know/did to get the screenshot that I have in my post.
Besides the duration thing being different for 5017.

Quote:
Originally Posted by -impulse- View Post
PHP Code:
        public void UpdateJar()
        {
            
Interaction interaction Interaction.Create(GetId(), GetId(), Hunter.Type0Interaction.HunterJar);
            
interaction.dwParam = (uint)((Hunter.Kills << 16) | Hunter.Type);
            
Send(&interaction);
        } 
Where GetId() returns the Id of the player, HunterType is 30 and dwParam is the uint after Damage in the packet 1022.

This is the Interaction.Create prototype:
PHP Code:
public static unsafe Interaction Create(uint uniqueIduint targetushort xushort yuint type
Edit:
dwParam starts at Damage offset + 2.
Yeah understood, I got that far. But do you just send it everytime a kill is made that matches the desired mob, because I've tried that with no luck.
InsomniacPro is offline  
Thanks
1 User
Old 05/19/2014, 20:07   #5
 
elite*gold: 0
Join Date: Feb 2006
Posts: 726
Received Thanks: 271
The client will automatically increase the jar as mobs are killed, there are no additional packet exchanges each kill. All you need to do is keep track of it server side so that a relog will not lose all progress.

This is how it works in 5065 at least and I can't imagine it being any different on other patches.

I suppose if you truly wanted to update the jar manually you could send the item update packet and change the durability to reflect the kills.

Il double check my source when I get access to it later, but I am 99% sure that no packets are exchanged with each mob kill.
Aceking is offline  
Old 05/19/2014, 20:40   #6
 
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
Quote:
Originally Posted by InsomniacPro View Post
You pretty much just said everything I already know/did to get the screenshot that I have in my post.



Yeah understood, I got that far. But do you just send it everytime a kill is made that matches the desired mob, because I've tried that with no luck.
If your packet is correct it will update all the time, not just when it "feels like it". Wether you should send it after every kill or not is your problem, although you can just send an update after every 50 kills.
-impulse- is offline  
Old 05/19/2014, 22:30   #7
 
InsomniacPro's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 397
Received Thanks: 205
Quote:
Originally Posted by Aceking View Post
The client will automatically increase the jar as mobs are killed, there are no additional packet exchanges each kill. All you need to do is keep track of it server side so that a relog will not lose all progress.

I suppose if you truly wanted to update the jar manually you could send the item update packet and change the durability to reflect the kills.
Doesn't automatically increment, so it must be different I guess. Also durability doesn't have anything to do with current kills in 5017. Current Duration is Requirement, and Max duration is the monstertype to kill.

Quote:
Originally Posted by -impulse- View Post
If your packet is correct it will update all the time, not just when it "feels like it". Wether you should send it after every kill or not is your problem, although you can just send an update after every 50 kills.
Correct packet being 1008, or 1022, because both have to do with it, and they are both correct.
And its not just "when it feels like" as if it is a sporadic event that happens. It happens on initial hover, and thats it.
InsomniacPro is offline  
Old 05/19/2014, 23:15   #8
 
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
Well, if you got it working, what are we talking about then?
-impulse- is offline  
Old 05/20/2014, 00:31   #9
 
InsomniacPro's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 397
Received Thanks: 205
Quote:
Originally Posted by -impulse- View Post
Well, if you got it working, what are we talking about then?
The jar not updating after the initial hover. The jar STAYS at 0 kills. How does it update?
InsomniacPro is offline  
Old 05/20/2014, 01:20   #10
 
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
Quote:
Originally Posted by InsomniacPro View Post
The jar not updating after the initial hover. The jar STAYS at 0 kills. How does it update?
I told you, if you fill in correctly the information in the packet, then the jar will update whenever you send the packet. The client will request that jar count [when you hover over the jar] only once every few hundred kills or something + when you login or get the jar in your inventory.
-impulse- is offline  
Old 05/20/2014, 01:30   #11
 
InsomniacPro's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 397
Received Thanks: 205
Quote:
Originally Posted by -impulse- View Post
I told you, if you fill in correctly the information in the packet, then the jar will update whenever you send the packet. The client will request that jar count [when you hover over the jar] only once every few hundred kills or something + when you login or get the jar in your inventory.
And I told you, I've sent the packet, its the correct structure for 5017 and I'm 100% sure of that, and nothing happens. And iirc, back in the day, it updated whenever a kill was made. And as I try that, nothing happens.
And you saying the client requests only once every hundred kills, I have NOT had that happen yet.
InsomniacPro is offline  
Old 05/20/2014, 01:32   #12
 
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
The request thing - I don't really know.
But, what I know is that on 5065 with the packet I gave you whenever I send the packet the jar updates the count to whatever I send.

-impulse- is offline  
Old 06/11/2014, 10:59   #13
 
InsomniacPro's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 397
Received Thanks: 205
Quick update on this, I have it working mostly. One issue, is it only works with pheasants, so I know I'm doing something wrong. This is what I do for jar updating whenever the mob needed to be killed, is kill.
Code:
        public unsafe void Jar(bool reset = false)
        {
            if (!reset)
                this.CurrentKills++;
            if (this.CurrentKills % 10 == 0)
                MessageServer.Database.Database.SetJar(Hunter, (ushort)this.Type, this.CurrentKills);

            RequestAttackPacket Packet = RequestAttackPacket.Create();
            Packet.AtkType = AttackID.MonsterJar;
            Packet.Damage = 65536;
            Packet.KillCounter = this.CurrentKills;
            Hunter.Send(&Packet);
        }
It works for pheasants.
Doesn't work for anything else. I've even tried as Alex says with his implementation. Any one see something I'm not where I ****** up?
InsomniacPro is offline  
Old 06/11/2014, 14:14   #14
 
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
65536 is your issue.
-impulse- is offline  
Old 06/11/2014, 18:24   #15
 
InsomniacPro's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 397
Received Thanks: 205
Quote:
Originally Posted by -impulse- View Post
65536 is your issue.
Without it, nothing happens ever.
InsomniacPro is offline  
Reply


Similar Threads Similar Threads
i need 2npc CloudSaint and CollectoerZhao
11/23/2009 - CO2 Private Server - 3 Replies
please harry i need 2npc CloudSaint and CollectoerZhao Translate or not Translate but in .sql please and sorry i bad in english:)
CloudSaint'sJar Question
07/27/2008 - Conquer Online 2 - 1 Replies
How can I configure CloudSaint'sJar for Monster Hunter quest to display the amount of Mobs killed, and display the right amount to Kill?



All times are GMT +2. The time now is 05:45.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.