• SiteAnalyzer, технический и SEO-анализ сайтов

Статы пера

nokiafan1111

Ефрейтор
Всем привет.
Такой вопрос, как правильно можно задать тот или иной стат на перо, чтобы стат отображался в игре на пере, к примеру чтобы после заточки на +25 появлялся стат на пвп защиту?
Сам стат пера я прописал в статах и в сервисе заточки, при исп команды //info стат отображается, а вот на самом пере не виден. Так же нашел пакет статов пера в файле ManaStoneInfoBlobEntry , но не знаю как именно правильно прописать эти write. Может кто помочь.
 
учишь вас учишь , а толку 0 ))) , ты хоть сборку бы указал .....
 
если увидел смайлик значит я слежу за кем то и ржу над ним:D
 
стат отображается, а вот на самом пере не виден.
так.. чисто порассуждать :) (возможно натолкну на мысли)
к какому виду экипировки относится перо ?(ты это должен знать), на каком конкретном пере/браслете(они тоже разные) не отображаются статы ?
и да, желательно
ты хоть сборку бы указал .....
 
сборка 4.9
перо относится к виду брони, если брать конкретное перо, то это Особое перо Кайсинеля (физ. атака) http://aiondatabase.net/ru/item/187100023/
п.с помню на клизме такое было, что при +30 давались доп статы в виде СИ.
 
сборка 4.9
перо относится к виду брони, если брать конкретное перо, то это Особое перо Кайсинеля (физ. атака) http://aiondatabase.net/ru/item/187100023/
п.с помню на клизме такое было, что при +30 давались доп статы в виде СИ.
перо это та же бижа по сути ;) и реализация там та же самая (если конечно у тебя реализованы пвп статы у бижи).
чет думал ты про такое http://aiondatabase.net/ru/item/187100000/ у которого есть конкретные статы.
Про +30 ... разбери клиент и посмотри есть там такой параметр или нет, может это собственная модификация предмета была.
 
блин(

Ну короче есть пакет отображающий статы. Перу применяешь по иду в пакете другие статы - например СИ и делаешь отображение если итем ид == перу все довольно просто. Ну и в енчант хмл указываешь значение
 
блин(

Ну короче есть пакет отображающий статы. Перу применяешь по иду в пакете другие статы - например СИ и делаешь отображение если итем ид == перу все довольно просто. Ну и в енчант хмл указываешь значение
Этот?
Код:
private void writePlumeStats(ByteBuffer buf) {
		Item item = ownerItem;
		if (item.getItemTemplate().isPlume()) {
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value		 
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
			writeD(buf, 42);
			writeD(buf, item.getAuthorize() * 150); //HP Boost for Tempering Solution 
			if (item.getItemTemplate().getAuthorizeName() == 10051 || item.getItemTemplate().getAuthorizeName() == 10063) {
				writeD(buf, 30);
				writeD(buf, item.getAuthorize() * 4);//Physical Attack
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0);					   
			} else if (item.getItemTemplate().getAuthorizeName() == 10052 || item.getItemTemplate().getAuthorizeName() == 10064){
				writeD(buf, 35);
				writeD(buf, item.getAuthorize() * 20); //Magic Boost
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0);			 
			} else if (item.getItemTemplate().getAuthorizeName() == 10056 || item.getItemTemplate().getAuthorizeName() == 10065){
				writeD(buf, 33);
				writeD(buf, item.getAuthorize() * 12); //Physical Critical
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0); 
			} else if (item.getItemTemplate().getAuthorizeName() == 10057 || item.getItemTemplate().getAuthorizeName() == 10066) {
				writeD(buf, 36);
				writeD(buf, item.getAuthorize() * 8); //Magical Accuracy
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0); 
			}
			//Some Padding for future.
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
		} else {
			writeB(buf, new byte[64]);
		}
	}
 
Все есть в клиенте. Статы, параметры, типы. Пишите парсер и паристе. По байтам это ищите верный снифф пакетов. Каждому модифаеру была своя таблица присвоена со своим ид и параметрами. Вам лишь надо спарсить ее и запилить под сборку.
 
Pqt5mPVKHlI.jpg

Код:
	<item_template id="187100023" name="Особое перо Кайсинеля (физ. атака)" desc="1696653" name_desc="master_tshirt_l_physical_01" level="10" mask="4158" category="NONE" armor_type="TSHIRT_SPECIAL" max_stack_count="1" item_type="NORMAL" quality="MYTHIC" price="25" race="ELYOS" restrict="10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10" slot="524288" equipment_type="ARMOR" tempering_table_id="10063" max_tempering="255">
		<modifiers>
			<add name="PHYSICAL_ATTACK" value="1" bonus="true"/>
		</modifiers>
	</item_template>

Код:
	<item_tempering id="10109" name="tshirt_sub_physical_critical">
		<tempering level="1">
			<modifiers>
				<add name="MAXHP" value="175" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="15" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="2">
			<modifiers>
				<add name="MAXHP" value="350" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="30" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="3">
			<modifiers>
				<add name="MAXHP" value="525" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="45" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="4">
			<modifiers>
				<add name="MAXHP" value="700" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="60" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="5">
			<modifiers>
				<add name="MAXHP" value="875" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="75" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="6">
			<modifiers>
				<add name="MAXHP" value="1050" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="90" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="7">
			<modifiers>
				<add name="MAXHP" value="1225" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="105" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="8">
			<modifiers>
				<add name="MAXHP" value="1400" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="120" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="9">
			<modifiers>
				<add name="MAXHP" value="1575" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="135" bonus="true"/>
			</modifiers>
		</tempering>
		<tempering level="10">
			<modifiers>
				<add name="MAXHP" value="1750" bonus="true"/>
				<add name="PHYSICAL_CRITICAL" value="150" bonus="true"/>
			</modifiers>
		</tempering>   
	</item_tempering>
 
Этот?
Код:
private void writePlumeStats(ByteBuffer buf) {
		Item item = ownerItem;
		if (item.getItemTemplate().isPlume()) {
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value		
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
			writeD(buf, 42);
			writeD(buf, item.getAuthorize() * 150); //HP Boost for Tempering Solution
			if (item.getItemTemplate().getAuthorizeName() == 10051 || item.getItemTemplate().getAuthorizeName() == 10063) {
				writeD(buf, 30);
				writeD(buf, item.getAuthorize() * 4);//Physical Attack
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0);					  
			} else if (item.getItemTemplate().getAuthorizeName() == 10052 || item.getItemTemplate().getAuthorizeName() == 10064){
				writeD(buf, 35);
				writeD(buf, item.getAuthorize() * 20); //Magic Boost
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0);			
			} else if (item.getItemTemplate().getAuthorizeName() == 10056 || item.getItemTemplate().getAuthorizeName() == 10065){
				writeD(buf, 33);
				writeD(buf, item.getAuthorize() * 12); //Physical Critical
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0);
			} else if (item.getItemTemplate().getAuthorizeName() == 10057 || item.getItemTemplate().getAuthorizeName() == 10066) {
				writeD(buf, 36);
				writeD(buf, item.getAuthorize() * 8); //Magical Accuracy
				writeD(buf, 0);//New Plume Stat 4.7.5.6 (NcSoft will implement it at future)
				writeD(buf, 0);
			}
			//Some Padding for future.
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
			writeD(buf, 0);//unk plume stat
			writeD(buf, 0);//value
		} else {
			writeB(buf, new byte[64]);
		}
	}
Если у тебя есть как скинул Dision спарсенные хмл то оно будет прямо из xml работать. Если конечно реализовано. А если не реализовано - то в пакете делать Вроде пакет тот
 
writeD(buf, 30); //Тут выставляем номер стата который вы хотите чтоб перо отображало <-- главное тут знать номер стата, 30 это Физическая атака Physical Attack
writeD(buf, item.getAuthorize() * 4);// тут ставим количество которое вы хотите чтоб перо отображало
writeD(buf, 0);/
writeD(buf, 0);
ну и само ссобой добавляем персонажу стат который вы тут рисуете и не надо нах гдето чего-то менять добавлять
 
Назад
Сверху