Jump to content
Returning Members: Password Reset Required ×

[Client Bug?] F-Key Action Bar


Natalie

Recommended Posts

EDIT: Solved the issue!

I have a question, my F-Keys on my action bar keeps going invisible every time I restart my server. I can put my items and skills on there and logout, close client etc and its all fine and normal, though for what ever reason if I restart the server, it seems to bug out the f key bars so nothing is being listed. I might try and run the server on my secondary PC and see if it happens. Though I am using SmartConquerLoader, cause I'm currently unable to find a working loader that works with CO 3.0.

Looks like this after server restart:

image.png?width=534&height=95

Which should look like this:

image.png?width=533&height=93

I've tried fresh installing the client, and even deleting the "Log" folder which stores these settings. Though it still doesn't save after a server restart. I wouldn't think the server would have any control over loading the FKey Bar.

Edited by Natalie
Link to comment
Share on other sites

I've only experienced this in two scenarios: if I don't exit the client correctly, and if I don't respond to all login MsgAction packets. Maybe you're not responding correctly? I found that in the newer clients (at least around 5615), you need to respond with the same subtype of MsgAction and assign one of the fields to 1 (like an acknowledgement). Not sure about the newer clients though, like if this is saved somewhere on the server now. It was only client side when I played.
Link to comment
Share on other sites

I've only experienced this in two scenarios: if I don't exit the client correctly, and if I don't respond to all login MsgAction packets. Maybe you're not responding correctly? I found that in the newer clients (at least around 5615), you need to respond with the same subtype of MsgAction and assign one of the fields to 1 (like an acknowledgement). Not sure about the newer clients though, like if this is saved somewhere on the server now. It was only client side when I played.

Edit: I've tried hosting the server on another pc, seems to still happen. So maybe packet issue? Its just odd since it just clears it on each server restart.

Yeah, I’ve asked a friend and he said it’s client-sided still and it saves into the “Log” folder. The thing is, I’ve checked the log folder and found the file for my specific server.. it looks correct and it doesn’t get modified when this happen. The other thing is everything else loads fine and doesn’t bug out, like audio, etc. I was thinking maybe it saved on the server some where, but it’s just odd considering if you keep the server running and relog, reload client it’s fine. Just restarting the server is where it bugs out. I’m also using 6325 client.

Edited by Natalie
Link to comment
Share on other sites

I've been doing further testing this. I noticed the Log File for Setup.Ini, is being altered after a server restart. The pieces of line thats being removed, is the quick/hotkeys.

The left side is what I want, but the right side is what happening after each server restart.

image.png?width=1831&height=677

Not sure why, exactly.

Link to comment
Share on other sites

This is pretty obscure... I would say try using another source around that patch just to see if it has the same issue. If it does, then maybe it's either your loader or the client? Or both sources have it... I know a lot of sources around those higher patches are just copies of each other.
Link to comment
Share on other sites

afaik you just need to send them back.

Most sources out there handle the login sequence loading everything in one step. I don't have that problem at my 5838 source.

I'll leave here my MsgAction sequence.

case ActionType.LoginSpawn: // 74
{
if (user == null)
{
	return;
}

Identity = user.Identity;

if (user.IsOfflineTraining)
{
	user.MapIdentity = 601;
	user.X = 61;
	user.Y = 54;
}

GameMap targetMap = MapManager.GetMap(user.MapIdentity);
if (targetMap == null)
{
	await user.SavePositionAsync(1002, 300, 278);
	client.Disconnect();
	return;
}

Command = targetMap.MapDoc;
X = user.X;
Y = user.Y;

await user.Statistic.InitializeAsync();
await user.TaskDetail.InitializeAsync();

async Task enterMapPartitionTask()
{
	await user.EnterMapAsync();

	await GameAction.ExecuteActionAsync(1000000, user, null, null, "");

	if (user.VipLevel > 0)
	{
		await user.SendAsync(
			string.Format(Language.StrVipNotify, user.VipLevel,
				user.VipExpiration.ToString("U")), TalkChannel.Talk);
	}

	await user.SendAsync(this);

	if (user.Life == 0)
	{
		await user.SetAttributesAsync(ClientUpdateType.Hitpoints, 10);
	}
}

Kernel.Services.Processor.Queue(targetMap.Partition, enterMapPartitionTask); // sends the current player from Partition 0 the proper partition
break;
}

case ActionType.LoginInventory: // 75
{
await user.UserPackage.InitializeAsync();
await user.UserPackage.SendAsync();
await user.SendDetainRewardAsync();
await user.SendDetainedEquipmentAsync();
await user.SendAsync(this);
break;
}

case ActionType.LoginRelationships: // 76
{
foreach (DbFriend dbFriend in await FriendRepository.GetAsync(user.Identity))
{
	var friend = new Friend(user);
	await friend.CreateAsync(dbFriend);
	user.AddFriend(friend);
}

await user.SendAllFriendAsync();

foreach (DbEnemy dbEnemy in await EnemyRepository.GetAsync(user.Identity))
{
	if (dbEnemy.TargetIdentity == user.Identity)
	{
		await ServerDbContext.DeleteAsync(dbEnemy);
		continue;
	}

	var enemy = new Enemy(user);
	await enemy.CreateAsync(dbEnemy);
	user.AddEnemy(enemy);
}

await user.SendAllEnemiesAsync();

if (user.MateIdentity != 0)
{
	Character mate = RoleManager.GetUser(user.MateIdentity);
	if (mate != null)
	{
		await mate.SendAsync(user.Gender == 1
								 ? Language.StrMaleMateLogin
								 : Language.StrFemaleMateLogin);
	}
}

await user.LoadGuideAsync();
await user.LoadTradePartnerAsync();
await user.PkStatistic.InitializeAsync();
await user.SendAsync(this);
break;
}

case ActionType.LoginProficiencies: // 77
{
await user.WeaponSkill.InitializeAsync();
await user.WeaponSkill.SendAsync();
await user.AstProf.InitializeAsync();
await user.Fate.InitializeAsync();
await user.JiangHu.InitializeAsync();
await user.Achievements.InitializeAsync();
await user.SendAsync(this);
break;
}

case ActionType.LoginSpells: // 78
{
await user.MagicData.InitializeAsync();
await user.SendAsync(this);
break;
}

case ActionType.LoginGuild: // 97
{
client.Character.Syndicate = SyndicateManager.FindByUser(client.Identity);
await client.Character.SendSyndicateAsync();
if (client.Character.Syndicate != null)
{
	await client.Character.Syndicate.SendRelationAsync(client.Character);
}

await client.Character.LoadFamilyAsync();
await user.SendAsync(this);
break;
}

case ActionType.LoginComplete: // 251
{
if (user.SendFlowerTime == null || int.Parse(DateTime.Now.ToString("yyyyMMdd")) > int.Parse(user.SendFlowerTime.Value.ToString("yyyyMMdd")))
{
	await user.SendAsync(new MsgFlower
	{
		Mode = user.Gender == 1 ? MsgFlower.RequestMode.QueryFlower : MsgFlower.RequestMode.QueryGift,
		RedRoses = 1
	});
}

await user.SendAsync(new MsgAction
{
	Action = ActionType.ShowType,
	Identity = user.Identity,
	Command = user.CurrentLayout
});

await user.SendAsync(new MsgHangUp
{
	Param = 341
});

await user.SynchroAttributesAsync(ClientUpdateType.Hitpoints, user.Life);
await user.SynchroAttributesAsync(ClientUpdateType.Mana, user.Mana);
if (user.JiangHu.HasJiangHu)
{
	await user.JiangHu.SendTalentAsync();
}

await user.CheckPkStatusAsync();
await user.SendNobilityInfoAsync();
await user.LoadStatusAsync();
await user.SendMultipleExpAsync();
await user.SendBlessAsync();
await user.SendLuckAsync();
await user.SendMerchantAsync();
await user.MailBox.InitializeAsync();
await user.Screen.SynchroScreenAsync();
await user.LoadTitlesAsync();

await PigeonManager.SendToUserAsync(user);

if (!user.IsUnlocked())
{
	await user.SendAsync(new Msg2ndPsw
	{
		Password = 0x1,
		Action = Msg2ndPsw.PasswordRequestType.CorrectPassword
	});
}

await user.SendAsync(this);
break;
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...