Перейти к содержанию
Авторизация  

Сохранение Цвета Ника После Рестарта


Описание

Подробная инструкция

color.png

Файл:

 

Скрытый текст

 

L2j Core\java\com\l2jserver\gameserver\model\actor\instance\L2PcInstance.java

1. Открываем файл.

2. Ctrl+F и ищем Character Character SQL String Definitions

3. Ниже видим 3 строки, удаляем их.

4. И заменяем их на:

 

Скрытый текст

 

	private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face
,hairStyle,hairColor,sex,exp,sp,karma,fame,pvpkills,pkkills,clanid,race,classid,
d
eletetime,cancraft,title,title_color,name_color,accesslevel,online,isin7sdungeon
,
clan_privs,wantspeace,base_class,newbie,nobless,power_grade,createDate) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,name_color=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,punish_level=?,punish_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,bookmarkslot=?,vitality_points=?,language=? WHERE charId=?";
private static final String RESTORE_CHARACTER = "SELECT account_name, charId, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, face, hairStyle, hairColor, sex, heading, x, y, z, exp, expBeforeDeath, sp, karma, fame, pvpkills, pkkills, clanid, race, classid, deletetime, cancraft, title, title_color, name_color, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, newbie, nobless, power_grade, subpledge, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_lev
el,bookmarkslot,vitality_points,createDate,language FROM characters WHERE charId=?";

5. Ctrl+F и ищем statement.setString(1, _accountName);

6. Ниже видим пунтк 7

7. Изменяем старое на новое, указано ниже:

 

Скрытый текст

 

			statement.setString(1, _accountName);
		statement.setInt(2, getObjectId());
		statement.setString(3, getName());
		statement.setInt(4, getLevel());
		statement.setInt(5, getMaxHp());
		statement.setDouble(6, getCurrentHp());
		statement.setInt(7, getMaxCp());
		statement.setDouble(8, getCurrentCp());
		statement.setInt(9, getMaxMp());
		statement.setDouble(10, getCurrentMp());
		statement.setInt(11, getAppearance().getFace());
		statement.setInt(12, getAppearance().getHairStyle());
		statement.setInt(13, getAppearance().getHairColor());
		statement.setInt(14, getAppearance().getSex()? 1 : 0);
		statement.setLong(15, getExp());
		statement.setInt(16, getSp());
		statement.setInt(17, getKarma());
		statement.setInt(18, getFame());
		statement.setInt(19, getPvpKills());
		statement.setInt(20, getPkKills());
		statement.setInt(21, getClanId());
		statement.setInt(22, getRace().ordinal());
		statement.setInt(23, getClassId().getId());
		statement.setLong(24, getDeleteTimer());
		statement.setInt(25, hasDwarvenCraft() ? 1 : 0);
		statement.setString(26, getTitle());
		statement.setInt(27, getAppearance().getTitleColor());
		statement.setInt(28, getAppearance().getNameColor());			
		statement.setInt(29, getAccessLevel().getLevel());
		statement.setInt(30, isOnlineInt());
		statement.setInt(31, isIn7sDungeon() ? 1 : 0);
		statement.setInt(32, getClanPrivileges());
		statement.setInt(33, getWantsPeace());
		statement.setInt(34, getBaseClass());
		statement.setInt(35, getNewbie());
		statement.setInt(36, isNoble() ? 1 :0);
		statement.setLong(37, 0);
		statement.setDate(38, new Date(getCreateDate().getTimeInMillis()));

8. Ctrl+F и ищем player.getAppearance().setTitleColor(rset.getInt("title_color"));

9. Ниже добавляем:

 

Скрытый текст

 

				player.getAppearance().setNameColor(rset.getInt("name_color"));

10. Ctrl+F и ищем statement.setInt(1, level);

11. Изменяем старое на новое, указано ниже:

 

Скрытый текст

 

			statement.setInt(1, level);
		statement.setInt(2, getMaxHp());
		statement.setDouble(3, getCurrentHp());
		statement.setInt(4, getMaxCp());
		statement.setDouble(5, getCurrentCp());
		statement.setInt(6, getMaxMp());
		statement.setDouble(7, getCurrentMp());
		statement.setInt(8, getAppearance().getFace());
		statement.setInt(9, getAppearance().getHairStyle());
		statement.setInt(10, getAppearance().getHairColor());
		statement.setInt(11, getAppearance().getSex()? 1 : 0);
		statement.setInt(12, getHeading());
		statement.setInt(13, _observerMode ? _lastX : getX());
		statement.setInt(14, _observerMode ? _lastY : getY());
		statement.setInt(15, _observerMode ? _lastZ : getZ());
		statement.setLong(16, exp);
		statement.setLong(17, getExpBeforeDeath());
		statement.setInt(18, sp);
		statement.setInt(19, getKarma());
		statement.setInt(20, getFame());
		statement.setInt(21, getPvpKills());
		statement.setInt(22, getPkKills());
		statement.setInt(23, getClanId());
		statement.setInt(24, getRace().ordinal());
		statement.setInt(25, getClassId().getId());
		statement.setLong(26, getDeleteTimer());
		statement.setString(27, getTitle());
		statement.setInt(28, getAppearance().getTitleColor());
		statement.setInt(29, getAppearance().getNameColor());			
		statement.setInt(30, getAccessLevel().getLevel());
		statement.setInt(31, isOnlineInt());
		statement.setInt(32, isIn7sDungeon() ? 1 : 0);
		statement.setInt(33, getClanPrivileges());
		statement.setInt(34, getWantsPeace());
		statement.setInt(35, getBaseClass());

		long totalOnlineTime = _onlineTime;

		if (_onlineBeginTime > 0)
			totalOnlineTime += (System.currentTimeMillis()-_onlineBeginTime)/1000;

		statement.setLong(36, totalOnlineTime);
		statement.setInt(37, getPunishLevel().value());
		statement.setLong(38, getPunishTimer());
		statement.setInt(39, getNewbie());
		statement.setInt(40, isNoble() ? 1 : 0);
		statement.setInt(41, getPowerGrade());
		statement.setInt(42, getPledgeType());
		statement.setInt(43,getLvlJoinedAcademy());
		statement.setLong(44,getApprentice());
		statement.setLong(45,getSponsor());
		statement.setInt(46, getAllianceWithVarkaKetra());
		statement.setLong(47, getClanJoinExpiryTime());
		statement.setLong(48, getClanCreateExpiryTime());
		statement.setString(49, getName());
		statement.setLong(50, getDeathPenaltyBuffLevel());
		statement.setInt(51, getBookMarkSlot());
		statement.setInt(52, getVitalityPoints());
		statement.setString(53, getLang());
		statement.setInt(54, getObjectId());

12. Заходим в Navicat, открываем базу и удаляем колонку characters

13. Скачиваем прикрепленный к теме файл characters.sql и заливаем его вместо старого.

 

 

Специально для

www.l2maxi.ru by SHARK.



Рекомендуемые комментарии

Комментариев нет

×
×
  • Создать...