Hello,
I've been working on upgrading my source and there's a problem which already happens on oldest interface, but it happens often on the newest.
Problem: When you upgrade an equipment level, quality, append a DragonSoul, Refinery, or stabilize them the interface should show an animation showing that the interaction has been successful. But, example: when Stabilizying a Soul, the Stones get stuck in the interface and nothing shows. If you don't hover your mouse over the equipment, you wouldn't notice the difference. Same with others, on 2.0 it used to refresh the interface showing an animation, but I can't manage to reproduce it here.
What I've tried: I have tried to reply the same packet, I've tried to send the item update packets before sending the packet, I've tried to don't send the reply packet and just update the equipment, I've tried to send the new equipment packet before removing the required items from the inventory. Nothing worked.
-edit: Only happens on Upgrade Quality, Level, Soul and Refinery (Stabilize too) :/ no effect,no screen update
stream.InitWriter();
stream.Write((uint)(Refinerys.Count + Purifications.Count));
foreach (var item in Purifications)
{
stream.Write(item.ItemUID);//0
stream.Write((uint)item.Typ);//4 <-- here you need to write the type
stream.Write(item.PurificationItemID);//8
stream.Write(item.PurificationLevel);//12
stream.Write(item.EffectPercent2);//16
stream.Write(item.PurificationDuration);//20
stream.Write(item.SecoundsLeft);//24
stream.Write((uint)0);//unknow
}
foreach (var item in Refinerys)
{
stream.Write(item.ItemUID);//0
stream.Write((uint)item.Typ);//4 <-- here you need to write the type
stream.Write(item.EffectID);
stream.Write(item.EffectLevel);//12
stream.Write(item.EffectPercent);//16
stream.Write(item.EffectPercent2);//20
stream.Write(item.SecoundsLeft);//24
}
stream.Finalize(GamePackets.CMsgItemStatus);
for item quality send packet 1009 with type:
Code:
UpgradeDragonball = 0x13,
UpgradeMeteor = 0x14,
there set the offest 4 = itemUID and offset 8 = 1 for successfully or 0 for fail
stream.InitWriter();
stream.Write((uint)(Refinerys.Count + Purifications.Count));
foreach (var item in Purifications)
{
stream.Write(item.ItemUID);//0
stream.Write((uint)item.Typ);//4 <-- here you need to write the type
stream.Write(item.PurificationItemID);//8
stream.Write(item.PurificationLevel);//12
stream.Write(item.EffectPercent2);//16
stream.Write(item.PurificationDuration);//20
stream.Write(item.SecoundsLeft);//24
stream.Write((uint)0);//unknow
}
foreach (var item in Refinerys)
{
stream.Write(item.ItemUID);//0
stream.Write((uint)item.Typ);//4 <-- here you need to write the type
stream.Write(item.EffectID);
stream.Write(item.EffectLevel);//12
stream.Write(item.EffectPercent);//16
stream.Write(item.EffectPercent2);//20
stream.Write(item.SecoundsLeft);//24
}
stream.Finalize(GamePackets.CMsgItemStatus);
for item quality send packet 1009 with type:
Code:
UpgradeDragonball = 0x13,
UpgradeMeteor = 0x14,
there set the offest 4 = itemUID and offset 8 = 1 for successfully or 0 for fail
Tho, what is the sequence? This is the completion code for Artifacts (DragonSouls)
Code:
target.LoadArtifactAndRefinery();
MsgItemStatus send = new MsgItemStatus
{
Count = 1,
Mode = PurificationType.StabilizationEffectPurification,
PurificationIdentity = target.Identity,
Level = target.ArtifactLevel,
Time = target.ArtifactExpire,
Type = target.ArtifactType
};
user.Send(send);
I love you so much. ♥
Edit
I've been reading on the train and I think I know how to handle it. I'll try again.
Edit2:
The upgrade level and quality are working. But the Soul and Refinery thing still stuck without showing the effect :/.
For Stabilization:
Send back MsgItemStatus with subtype 4 to show interaction with refineries
Send back MsgItemStatus with subtype 9 to show interaction with artifacts
For appending:
Send back MsgItemStatus with subtype 5 to show interaction with artifacts
Send the updated item information in the MsgItemStatus
[Release] Coupled Interactions (Correct) 11/06/2017 - CO2 PServer Guides & Releases - 6 Replies Hey everyone,
Before I release anything, I wanted to bring this to everyone's attention. I strongly believe that developers should work together on researching into the conquer online client. If we shared more information, we might see better and more creative servers (which I strongly support).
Alright. So in this release, I'll be publishing the research required for programming coupled interactions. I've posted something similar before, and I'd like to correct myself on a few things (I...