• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Premium and VIP tag display error

Master Summoner
Joined
Sep 5, 2013
Messages
582
Reaction score
54
\AL-Game\src\com\aionemu\gameserver\network\aion\serverpackets\SM_PLAYER_INFO.java


String nameFormat = "%s";
// orphaned players - later find/remove them
if (player.getClientConnection() != null) {
if (AdminConfig.CUSTOMTAG_ENABLE) {
switch (player.getClientConnection().getAccount().getAccessLevel()) {
case 1:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS1;
break;
case 2:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS2;
break;
case 3:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS3;
break;
case 4:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS4;
break;
case 5:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS5;
break;
}
}
}


admin display work, and VIP tag display miss!

Someone who knows it could be replaced or repaired
Become A VIP membership to contest next character name setting
We appreciate
 
Master Summoner
Joined
Sep 5, 2013
Messages
582
Reaction score
54
So no one developer can not get a solution for this, or would be willing to help?
 
Newbie Spellweaver
Joined
Sep 20, 2013
Messages
25
Reaction score
3
You want to display a special TAG for VIP Members do you defined some tags in the propertie file ?

Just do a switch case based on Membership.
 
Master Summoner
Joined
Sep 5, 2013
Messages
582
Reaction score
54
Yes, I'd want to ensure we expose the name for the VIP Member offensive
3.7 emu failed to do
4.0 is the same but it does not work, and tried this config option to edit membership and java
also even SM_Player_INFO
but it did not work out
so I asked if anyone has a solution for this
 
Newbie Spellweaver
Joined
Sep 20, 2013
Messages
25
Reaction score
3
\AL-Game\src\com\aionemu\gameserver\network\aion\serverpackets\SM_PLAYER_INFO.java


String nameFormat = "%s";
// orphaned players - later find/remove them
if (player.getClientConnection() != null) {
if (AdminConfig.CUSTOMTAG_ENABLE) {
switch (player.getClientConnection().getAccount().getAccessLevel()) {
case 1:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS1;
break;
case 2:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS2;
break;
case 3:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS3;
break;
case 4:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS4;
break;
case 5:
nameFormat = AdminConfig.CUSTOMTAG_ACCESS5;
break;
}
}
}


admin display work, and VIP tag display miss!

Someone who knows it could be replaced or repaired
Become A VIP membership to contest next character name setting
We appreciate

But this piece of code have nothing to do with Membership
 
Master Summoner
Joined
Sep 5, 2013
Messages
582
Reaction score
54
because it is not installed, I show why I

3.7 emu membership properties:




---------------------------- # Membership config's: # ---------------------------- # # This file contains settings for premium membership players # Masks (if no additional comments) # 10 - disabled # 3-9 - membership 3-9 # 2 - vip (membership 2) # 1 - premium (membership 1) # 0 - all players # # Disable instances title requirement # Default: 10 gameserver.instances.title.requirement = 10 # Disable instances race requirement # Default: 10 gameserver.instances.race.requirement = 10 # Disable instances level requirement # Default: 10 gameserver.instances.level.requirement = 10 # Disable instances group requirement # Default: 10 gameserver.instances.group.requirement = 10 # Disable instances quest requirement # Default: 10 gameserver.instances.quest.requirement = 10 # Disable instances item requirement # Default: 10 gameserver.instances.item.requirement = 10 # Decrease instances cooldowns # Default: 10 gameserver.instances.cooldown = 10 # All items can be storable in warehouse # Default: 10 gameserver.store.wh.all = 10 # All items can be storable in account warehouse # Default: 10 gameserver.store.accountwh.all = 10 # All items can be storable in legion warehouse # Default: 10 gameserver.store.legionwh.all = 10 # All items can be tradeable # Default: 10 gameserver.trade.all = 10 # Soulbound items can be tradeable # Default: 10 gameserver.disable.soulbind = 10 # All items can be remodelable # Default: 10 gameserver.remodel.all = 10 # All emotions available # Default: 10 gameserver.emotions.all = 0 # Not require quest for normal/advanced stigma slots # Default: 10 gameserver.quest.stigma.slot = 0 # Disable soulsickness (debuf after death) # Default: 10 gameserver.soulsickness.disable = 1 # Enable skill auto learn mode # Default: 10 gameserver.autolearn.skill = 10 # Enable stigma auto learn mode # Default: 10 gameserver.autolearn.stigma = 10 # Disable quest limit # Default: 10 gameserver.quest.limit.disable = 0 # Enable 10 additional titles # Default: 10 gameserver.titles.additional.enable = 10 # Enable additional count of characters per account # Default: 10 gameserver.character.additional.enable = 10 # Enable advanced friendlist size # Default: 10 gameserver.advanced.friendlist.enable = 10 # ---------------------------- # Membership Options: # ---------------------------- # Count of characters for this membership (max 8) # Default: 8 gameserver.character.additional.count = 8 # Friendlist size (max 90) # Default: 90 gameserver.advanced.friendlist.size = 90 # ---------------------------- # VIP Tag Options: # ---------------------------- # Display VIP Tags # Default: True gameserver.vip.tag.display = true <------ vip tag dysplay # Display Name for VIP Level 1 # Default: <PREMIUM> gameserver.vip.tag.1 = <PREMIUM> # Display Name for VIP Level 2 # Default: <VIP> gameserver.vip.tag.2 = <VIP> # ---------------------------- # Special Membership Options: # ---------------------------- # ONLY FOR TESTING PURPOSES # SHOULD BE ALWAYS DISABLED!!! # Special Membership Enable # Default: False gameserver.special.membership = false # ---------------------------- # Online Bonus: # ---------------------------- # Enable Online Bonus # Default: True gameserver.onlinebonus.enable = true # Online Bonus Item # Default: 186000127 gameserver.onlinebonus.item = 186000127 # Online Bonus Item Count # Default: 1 gameserver.onlinebonus.count = 1 # Online Bonus Time (In Minutes) # Default: 30 gameserver.onlinebonus.time = 30
SM_PLAYER_INFO.java



* */ package com.aionemu.gameserver.network.aion.serverpackets; import java.util.List; import com.aionemu.gameserver.configs.administration.AdminConfig; import com.aionemu.gameserver.configs.main.MembershipConfig; import com.aionemu.gameserver.model.actions.PlayerMode; import com.aionemu.gameserver.model.gameobjects.Item; import com.aionemu.gameserver.model.gameobjects.player.Player; import com.aionemu.gameserver.model.gameobjects.player.PlayerAppearance; import com.aionemu.gameserver.model.gameobjects.player.PlayerCommonData; import com.aionemu.gameserver.model.items.GodStone; import com.aionemu.gameserver.model.stats.calc.Stat2; import com.aionemu.gameserver.model.team.legion.LegionEmblemType; import com.aionemu.gameserver.network.aion.AionConnection; import com.aionemu.gameserver.network.aion.AionServerPacket; /** * This packet is displaying visible players. * * @author -Nemesiss-, Avol, srx47 modified cura, Maestross, GoodT */ public class SM_PLAYER_INFO extends AionServerPacket { /** * Visible player */ private final Player player; private boolean enemy; /** * Constructs new <tt>SM_PLAYER_INFO </tt> packet * * @param player * actual player. * @param enemy */ public SM_PLAYER_INFO(Player player, boolean enemy) { this.player = player; this.enemy = enemy; } /** * {@inheritDoc} */ @Override protected void writeImpl(AionConnection con) { Player activePlayer = con.getActivePlayer(); if (activePlayer == null || player == null) { return; } PlayerCommonData pcd = player.getCommonData(); final int raceId; if (player.getAdminNeutral() > 1 || activePlayer.getAdminNeutral() > 1) { raceId = activePlayer.getRace().getRaceId(); } else if (activePlayer.isEnemy(player)) { raceId = (activePlayer.getRace().getRaceId() == 0 ? 1 : 0); } else raceId = player.getRace().getRaceId(); final int genderId = pcd.getGender().getGenderId(); final PlayerAppearance playerAppearance = player.getPlayerAppearance(); writeF(player.getX());// x writeF(player.getY());// y writeF(player.getZ());// z writeD(player.getObjectId()); /** * A3 female asmodian A2 male asmodian A1 female elyos A0 male elyos */ writeD(pcd.getTemplateId()); /** * Transformed state - send transformed model id Regular state - send player model id (from common data) */ int model = player.getTransformModel().getModelId(); writeD(model != 0 ? model : pcd.getTemplateId()); writeC(0x00); // new 2.0 Packet --- probably pet info? writeD(player.getTransformModel().getType().getId()); writeC(enemy ? 0 : 38); writeC(raceId); // race writeC(pcd.getPlayerClass().getClassId()); writeC(genderId); // sex writeH(player.getState()); writeB(new byte[8]); writeC(player.getHeading()); String playerName = ""; String ffaPlayerName = ""; //it looks a little bit difficult but on this way the playername will be untouched :) //& the Ducking vip logo dont override the admin/gm tag :D if ((player.getClientConnection() != null) && (AdminConfig.ADMIN_TAG_ENABLE)) { if (player.isGM()) { playerName = getAdminTag(); } } if (MembershipConfig.VIPTAG_DISPLAY) { <---- vip tag dysplay if(player.getClientConnection().getAccount().getMembership() > 0) { //if he's gm = do nothing, else the gmtag wont display if (player.isGM()) { } //he's not gm so else { if(player.getClientConnection().getAccount().getMembership() == 1) { playerName = ("" + MembershipConfig.VIP_LEVEL1 + ""); } else if(player.getClientConnection().getAccount().getMembership() == 2) { playerName = ("\uE023" + MembershipConfig.VIP_LEVEL2 + ""); } } } } //Now after tag: <ADMIN> // <VIP> //add name playerName += player.getName(); if (player.isInFFAPVP()) { writeS(ffaPlayerName); } else { writeS(playerName); } writeH(pcd.getTitleId()); writeH(player.getCommonData().isHaveMentorFlag()? 1:0); writeH(player.getCastingSkillId()); if (player.isLegionMember()) { writeD(player.getLegion().getLegionId()); writeC(player.getLegion().getLegionEmblem().getEmblemId()); writeC(player.getLegion().getLegionEmblem().getEmblemType().getValue()); writeC(player.getLegion().getLegionEmblem().getEmblemType() == LegionEmblemType.DEFAULT ? 0x00 : 0xFF); writeC(player.getLegion().getLegionEmblem().getColor_r()); writeC(player.getLegion().getLegionEmblem().getColor_g()); writeC(player.getLegion().getLegionEmblem().getColor_b()); writeS(player.getLegion().getLegionName()); } else writeB(new byte[12]); int maxHp = player.getLifeStats().getMaxHp(); int currHp = player.getLifeStats().getCurrentHp(); writeC(100 * currHp / maxHp);// %hp writeH(pcd.getDp());// current dp writeC(0x00);// unk (0x00) List<Item> items = player.getEquipment().getEquippedForApparence(); short mask = 0; for (Item item : items) { mask |= item.getEquipmentSlot(); } writeH(mask); for (Item item : items) { if (item.getEquipmentSlot() < Short.MAX_VALUE * 2) { writeD(item.getItemSkinTemplate().getTemplateId()); GodStone godStone = item.getGodStone(); writeD(godStone != null ? godStone.getItemId() : 0); writeD(item.getItemColor()); writeH(0x00);// unk (0x00) } } writeD(playerAppearance.getSkinRGB()); writeD(playerAppearance.getHairRGB()); writeD(playerAppearance.getEyeRGB()); writeD(playerAppearance.getLipRGB()); writeC(playerAppearance.getFace()); writeC(playerAppearance.getHair()); writeC(playerAppearance.getDeco()); writeC(playerAppearance.getTattoo()); writeC(playerAppearance.getFaceContour()); writeC(playerAppearance.getExpression()); writeC(5);// always 5 o0 writeC(playerAppearance.getJawLine()); writeC(playerAppearance.getForehead()); writeC(playerAppearance.getEyeHeight()); writeC(playerAppearance.getEyeSpace()); writeC(playerAppearance.getEyeWidth()); writeC(playerAppearance.getEyeSize()); writeC(playerAppearance.getEyeShape()); writeC(playerAppearance.getEyeAngle()); writeC(playerAppearance.getBrowHeight()); writeC(playerAppearance.getBrowAngle()); writeC(playerAppearance.getBrowShape()); writeC(playerAppearance.getNose()); writeC(playerAppearance.getNoseBridge()); writeC(playerAppearance.getNoseWidth()); writeC(playerAppearance.getNoseTip()); writeC(playerAppearance.getCheek()); writeC(playerAppearance.getLipHeight()); writeC(playerAppearance.getMouthSize()); writeC(playerAppearance.getLipSize()); writeC(playerAppearance.getSmile()); writeC(playerAppearance.getLipShape()); writeC(playerAppearance.getJawHeigh()); writeC(playerAppearance.getChinJut()); writeC(playerAppearance.getEarShape()); writeC(playerAppearance.getHeadSize()); // 1.5.x 0x00, shoulderSize, armLength, legLength (BYTE) after HeadSize writeC(playerAppearance.getNeck()); writeC(playerAppearance.getNeckLength()); writeC(playerAppearance.getShoulderSize()); writeC(playerAppearance.getTorso()); writeC(playerAppearance.getChest()); // only woman writeC(playerAppearance.getWaist()); writeC(playerAppearance.getHips()); writeC(playerAppearance.getArmThickness()); writeC(playerAppearance.getHandSize()); writeC(playerAppearance.getLegThicnkess()); writeC(playerAppearance.getFootSize()); writeC(playerAppearance.getFacialRate()); writeC(0x00); // always 0 writeC(playerAppearance.getArmLength()); writeC(playerAppearance.getLegLength()); writeC(playerAppearance.getShoulders()); writeC(playerAppearance.getFaceShape()); writeC(0x00); // always 0 writeC(playerAppearance.getVoice()); writeF(playerAppearance.getHeight()); writeF(0.25f); // scale writeF(2.0f); // gravity or slide surface o_O writeF(player.getGameStats().getMovementSpeedFloat()); // move speed Stat2 attackSpeed = player.getGameStats().getAttackSpeed(); writeH(attackSpeed.getBase()); writeH(attackSpeed.getCurrent()); writeC(player.getPortAnimation()); writeS(player.hasStore() ? player.getStore().getStoreMessage() : "");// private store message /** * Movement */ writeF(0); writeF(0); writeF(0); writeF(player.getX());// x writeF(player.getY());// y writeF(player.getZ());// z writeC(0x00); // move type if (player.isUsingFlyTeleport()) { writeD(player.getFlightTeleportId()); writeD(player.getFlightDistance()); } else if (player.isInPlayerMode(PlayerMode.WINDSTREAM)) { writeD(player.windstreamPath.teleportId); writeD(player.windstreamPath.distance); } writeC(player.getVisualState()); // visualState writeS(player.getCommonData().getNote()); // note show in right down windows if your target on player writeH(player.getLevel()); // [level] writeH(player.getPlayerSettings().getDisplay()); // unk - 0x04 writeH(player.getPlayerSettings().getDeny()); // unk - 0x00 writeH(player.getAbyssRank().getRank().getId()); // abyss rank writeH(0x00); // unk - 0x01 writeD(player.getTarget() == null ? 0 : player.getTarget().getObjectId()); writeC(0); // suspect id writeD(player.isInAlliance2() ? player.getPlayerAlliance2().getTeamId() : player.isInGroup2() ? player.getPlayerGroup2().getTeamId() : 0); writeC(player.isMentor() ? 1 : 0); writeD(player.getHouseOwnerId()); writeD(1); //unk 0x01 } public String getAdminTag() { String playerName = ""; //if he's a GM has the tag if (player.getAccessLevel() == 1) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_1.trim() + "\uE043"); } else if (player.getAccessLevel() == 2) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_2.trim() + "\uE043"); } else if (player.getAccessLevel() == 3) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_3.trim() + "\uE043"); } else if (player.getAccessLevel() == 4) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_4.trim() + "\uE043"); } else if (player.getAccessLevel() == 5) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_5.trim() + "\uE043"); } else if (player.getAccessLevel() == 6) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_6.trim() + "\uE043"); } else if (player.getAccessLevel() == 7) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_7.trim() + "\uE043"); } else if (player.getAccessLevel() == 8) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_8.trim() + "\uE043"); } else if (player.getAccessLevel() == 9) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_9.trim() + "\uE043"); } else if (player.getAccessLevel() == 10) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_10.trim() + "\uE043"); } return playerName; } }



So I hope you understand what I mean :)

sorry just kinda pulls together a forum of lines, but the gist of it can be read
 
Newbie Spellweaver
Joined
Sep 20, 2013
Messages
25
Reaction score
3
because it is not installed, I show why I

3.7 emu membership properties:




---------------------------- # Membership config's: # ---------------------------- # # This file contains settings for premium membership players # Masks (if no additional comments) # 10 - disabled # 3-9 - membership 3-9 # 2 - vip (membership 2) # 1 - premium (membership 1) # 0 - all players # # Disable instances title requirement # Default: 10 gameserver.instances.title.requirement = 10 # Disable instances race requirement # Default: 10 gameserver.instances.race.requirement = 10 # Disable instances level requirement # Default: 10 gameserver.instances.level.requirement = 10 # Disable instances group requirement # Default: 10 gameserver.instances.group.requirement = 10 # Disable instances quest requirement # Default: 10 gameserver.instances.quest.requirement = 10 # Disable instances item requirement # Default: 10 gameserver.instances.item.requirement = 10 # Decrease instances cooldowns # Default: 10 gameserver.instances.cooldown = 10 # All items can be storable in warehouse # Default: 10 gameserver.store.wh.all = 10 # All items can be storable in account warehouse # Default: 10 gameserver.store.accountwh.all = 10 # All items can be storable in legion warehouse # Default: 10 gameserver.store.legionwh.all = 10 # All items can be tradeable # Default: 10 gameserver.trade.all = 10 # Soulbound items can be tradeable # Default: 10 gameserver.disable.soulbind = 10 # All items can be remodelable # Default: 10 gameserver.remodel.all = 10 # All emotions available # Default: 10 gameserver.emotions.all = 0 # Not require quest for normal/advanced stigma slots # Default: 10 gameserver.quest.stigma.slot = 0 # Disable soulsickness (debuf after death) # Default: 10 gameserver.soulsickness.disable = 1 # Enable skill auto learn mode # Default: 10 gameserver.autolearn.skill = 10 # Enable stigma auto learn mode # Default: 10 gameserver.autolearn.stigma = 10 # Disable quest limit # Default: 10 gameserver.quest.limit.disable = 0 # Enable 10 additional titles # Default: 10 gameserver.titles.additional.enable = 10 # Enable additional count of characters per account # Default: 10 gameserver.character.additional.enable = 10 # Enable advanced friendlist size # Default: 10 gameserver.advanced.friendlist.enable = 10 # ---------------------------- # Membership Options: # ---------------------------- # Count of characters for this membership (max 8) # Default: 8 gameserver.character.additional.count = 8 # Friendlist size (max 90) # Default: 90 gameserver.advanced.friendlist.size = 90 # ---------------------------- # VIP Tag Options: # ---------------------------- # Display VIP Tags # Default: True gameserver.vip.tag.display = true <------ vip tag dysplay # Display Name for VIP Level 1 # Default: <PREMIUM> gameserver.vip.tag.1 = <PREMIUM> # Display Name for VIP Level 2 # Default: <VIP> gameserver.vip.tag.2 = <VIP> # ---------------------------- # Special Membership Options: # ---------------------------- # ONLY FOR TESTING PURPOSES # SHOULD BE ALWAYS DISABLED!!! # Special Membership Enable # Default: False gameserver.special.membership = false # ---------------------------- # Online Bonus: # ---------------------------- # Enable Online Bonus # Default: True gameserver.onlinebonus.enable = true # Online Bonus Item # Default: 186000127 gameserver.onlinebonus.item = 186000127 # Online Bonus Item Count # Default: 1 gameserver.onlinebonus.count = 1 # Online Bonus Time (In Minutes) # Default: 30 gameserver.onlinebonus.time = 30
SM_PLAYER_INFO.java



* */ package com.aionemu.gameserver.network.aion.serverpackets; import java.util.List; import com.aionemu.gameserver.configs.administration.AdminConfig; import com.aionemu.gameserver.configs.main.MembershipConfig; import com.aionemu.gameserver.model.actions.PlayerMode; import com.aionemu.gameserver.model.gameobjects.Item; import com.aionemu.gameserver.model.gameobjects.player.Player; import com.aionemu.gameserver.model.gameobjects.player.PlayerAppearance; import com.aionemu.gameserver.model.gameobjects.player.PlayerCommonData; import com.aionemu.gameserver.model.items.GodStone; import com.aionemu.gameserver.model.stats.calc.Stat2; import com.aionemu.gameserver.model.team.legion.LegionEmblemType; import com.aionemu.gameserver.network.aion.AionConnection; import com.aionemu.gameserver.network.aion.AionServerPacket; /** * This packet is displaying visible players. * * @author -Nemesiss-, Avol, srx47 modified cura, Maestross, GoodT */ public class SM_PLAYER_INFO extends AionServerPacket { /** * Visible player */ private final Player player; private boolean enemy; /** * Constructs new <tt>SM_PLAYER_INFO </tt> packet * * @param player * actual player. * @param enemy */ public SM_PLAYER_INFO(Player player, boolean enemy) { this.player = player; this.enemy = enemy; } /** * {@inheritDoc} */ @Override protected void writeImpl(AionConnection con) { Player activePlayer = con.getActivePlayer(); if (activePlayer == null || player == null) { return; } PlayerCommonData pcd = player.getCommonData(); final int raceId; if (player.getAdminNeutral() > 1 || activePlayer.getAdminNeutral() > 1) { raceId = activePlayer.getRace().getRaceId(); } else if (activePlayer.isEnemy(player)) { raceId = (activePlayer.getRace().getRaceId() == 0 ? 1 : 0); } else raceId = player.getRace().getRaceId(); final int genderId = pcd.getGender().getGenderId(); final PlayerAppearance playerAppearance = player.getPlayerAppearance(); writeF(player.getX());// x writeF(player.getY());// y writeF(player.getZ());// z writeD(player.getObjectId()); /** * A3 female asmodian A2 male asmodian A1 female elyos A0 male elyos */ writeD(pcd.getTemplateId()); /** * Transformed state - send transformed model id Regular state - send player model id (from common data) */ int model = player.getTransformModel().getModelId(); writeD(model != 0 ? model : pcd.getTemplateId()); writeC(0x00); // new 2.0 Packet --- probably pet info? writeD(player.getTransformModel().getType().getId()); writeC(enemy ? 0 : 38); writeC(raceId); // race writeC(pcd.getPlayerClass().getClassId()); writeC(genderId); // sex writeH(player.getState()); writeB(new byte[8]); writeC(player.getHeading()); String playerName = ""; String ffaPlayerName = ""; //it looks a little bit difficult but on this way the playername will be untouched :) //& the Ducking vip logo dont override the admin/gm tag :D if ((player.getClientConnection() != null) && (AdminConfig.ADMIN_TAG_ENABLE)) { if (player.isGM()) { playerName = getAdminTag(); } } if (MembershipConfig.VIPTAG_DISPLAY) { <---- vip tag dysplay if(player.getClientConnection().getAccount().getMembership() > 0) { //if he's gm = do nothing, else the gmtag wont display if (player.isGM()) { } //he's not gm so else { if(player.getClientConnection().getAccount().getMembership() == 1) { playerName = ("" + MembershipConfig.VIP_LEVEL1 + ""); } else if(player.getClientConnection().getAccount().getMembership() == 2) { playerName = ("\uE023" + MembershipConfig.VIP_LEVEL2 + ""); } } } } //Now after tag: <ADMIN> // <VIP> //add name playerName += player.getName(); if (player.isInFFAPVP()) { writeS(ffaPlayerName); } else { writeS(playerName); } writeH(pcd.getTitleId()); writeH(player.getCommonData().isHaveMentorFlag()? 1:0); writeH(player.getCastingSkillId()); if (player.isLegionMember()) { writeD(player.getLegion().getLegionId()); writeC(player.getLegion().getLegionEmblem().getEmblemId()); writeC(player.getLegion().getLegionEmblem().getEmblemType().getValue()); writeC(player.getLegion().getLegionEmblem().getEmblemType() == LegionEmblemType.DEFAULT ? 0x00 : 0xFF); writeC(player.getLegion().getLegionEmblem().getColor_r()); writeC(player.getLegion().getLegionEmblem().getColor_g()); writeC(player.getLegion().getLegionEmblem().getColor_b()); writeS(player.getLegion().getLegionName()); } else writeB(new byte[12]); int maxHp = player.getLifeStats().getMaxHp(); int currHp = player.getLifeStats().getCurrentHp(); writeC(100 * currHp / maxHp);// %hp writeH(pcd.getDp());// current dp writeC(0x00);// unk (0x00) List<Item> items = player.getEquipment().getEquippedForApparence(); short mask = 0; for (Item item : items) { mask |= item.getEquipmentSlot(); } writeH(mask); for (Item item : items) { if (item.getEquipmentSlot() < Short.MAX_VALUE * 2) { writeD(item.getItemSkinTemplate().getTemplateId()); GodStone godStone = item.getGodStone(); writeD(godStone != null ? godStone.getItemId() : 0); writeD(item.getItemColor()); writeH(0x00);// unk (0x00) } } writeD(playerAppearance.getSkinRGB()); writeD(playerAppearance.getHairRGB()); writeD(playerAppearance.getEyeRGB()); writeD(playerAppearance.getLipRGB()); writeC(playerAppearance.getFace()); writeC(playerAppearance.getHair()); writeC(playerAppearance.getDeco()); writeC(playerAppearance.getTattoo()); writeC(playerAppearance.getFaceContour()); writeC(playerAppearance.getExpression()); writeC(5);// always 5 o0 writeC(playerAppearance.getJawLine()); writeC(playerAppearance.getForehead()); writeC(playerAppearance.getEyeHeight()); writeC(playerAppearance.getEyeSpace()); writeC(playerAppearance.getEyeWidth()); writeC(playerAppearance.getEyeSize()); writeC(playerAppearance.getEyeShape()); writeC(playerAppearance.getEyeAngle()); writeC(playerAppearance.getBrowHeight()); writeC(playerAppearance.getBrowAngle()); writeC(playerAppearance.getBrowShape()); writeC(playerAppearance.getNose()); writeC(playerAppearance.getNoseBridge()); writeC(playerAppearance.getNoseWidth()); writeC(playerAppearance.getNoseTip()); writeC(playerAppearance.getCheek()); writeC(playerAppearance.getLipHeight()); writeC(playerAppearance.getMouthSize()); writeC(playerAppearance.getLipSize()); writeC(playerAppearance.getSmile()); writeC(playerAppearance.getLipShape()); writeC(playerAppearance.getJawHeigh()); writeC(playerAppearance.getChinJut()); writeC(playerAppearance.getEarShape()); writeC(playerAppearance.getHeadSize()); // 1.5.x 0x00, shoulderSize, armLength, legLength (BYTE) after HeadSize writeC(playerAppearance.getNeck()); writeC(playerAppearance.getNeckLength()); writeC(playerAppearance.getShoulderSize()); writeC(playerAppearance.getTorso()); writeC(playerAppearance.getChest()); // only woman writeC(playerAppearance.getWaist()); writeC(playerAppearance.getHips()); writeC(playerAppearance.getArmThickness()); writeC(playerAppearance.getHandSize()); writeC(playerAppearance.getLegThicnkess()); writeC(playerAppearance.getFootSize()); writeC(playerAppearance.getFacialRate()); writeC(0x00); // always 0 writeC(playerAppearance.getArmLength()); writeC(playerAppearance.getLegLength()); writeC(playerAppearance.getShoulders()); writeC(playerAppearance.getFaceShape()); writeC(0x00); // always 0 writeC(playerAppearance.getVoice()); writeF(playerAppearance.getHeight()); writeF(0.25f); // scale writeF(2.0f); // gravity or slide surface o_O writeF(player.getGameStats().getMovementSpeedFloat()); // move speed Stat2 attackSpeed = player.getGameStats().getAttackSpeed(); writeH(attackSpeed.getBase()); writeH(attackSpeed.getCurrent()); writeC(player.getPortAnimation()); writeS(player.hasStore() ? player.getStore().getStoreMessage() : "");// private store message /** * Movement */ writeF(0); writeF(0); writeF(0); writeF(player.getX());// x writeF(player.getY());// y writeF(player.getZ());// z writeC(0x00); // move type if (player.isUsingFlyTeleport()) { writeD(player.getFlightTeleportId()); writeD(player.getFlightDistance()); } else if (player.isInPlayerMode(PlayerMode.WINDSTREAM)) { writeD(player.windstreamPath.teleportId); writeD(player.windstreamPath.distance); } writeC(player.getVisualState()); // visualState writeS(player.getCommonData().getNote()); // note show in right down windows if your target on player writeH(player.getLevel()); // [level] writeH(player.getPlayerSettings().getDisplay()); // unk - 0x04 writeH(player.getPlayerSettings().getDeny()); // unk - 0x00 writeH(player.getAbyssRank().getRank().getId()); // abyss rank writeH(0x00); // unk - 0x01 writeD(player.getTarget() == null ? 0 : player.getTarget().getObjectId()); writeC(0); // suspect id writeD(player.isInAlliance2() ? player.getPlayerAlliance2().getTeamId() : player.isInGroup2() ? player.getPlayerGroup2().getTeamId() : 0); writeC(player.isMentor() ? 1 : 0); writeD(player.getHouseOwnerId()); writeD(1); //unk 0x01 } public String getAdminTag() { String playerName = ""; //if he's a GM has the tag if (player.getAccessLevel() == 1) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_1.trim() + "\uE043"); } else if (player.getAccessLevel() == 2) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_2.trim() + "\uE043"); } else if (player.getAccessLevel() == 3) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_3.trim() + "\uE043"); } else if (player.getAccessLevel() == 4) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_4.trim() + "\uE043"); } else if (player.getAccessLevel() == 5) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_5.trim() + "\uE043"); } else if (player.getAccessLevel() == 6) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_6.trim() + "\uE043"); } else if (player.getAccessLevel() == 7) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_7.trim() + "\uE043"); } else if (player.getAccessLevel() == 8) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_8.trim() + "\uE043"); } else if (player.getAccessLevel() == 9) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_9.trim() + "\uE043"); } else if (player.getAccessLevel() == 10) { playerName = ("\uE042" + AdminConfig.ADMIN_TAG_10.trim() + "\uE043"); } return playerName; } }



So I hope you understand what I mean :)

sorry just kinda pulls together a forum of lines, but the gist of it can be read

please use pastebin:junglejane:
 
Master Summoner
Joined
Sep 5, 2013
Messages
582
Reaction score
54



download link the membership properties and SM_PLAYER_INFO.java 3.7 emu

you download and look the file
 
Back
Top