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

бафы не накладываются на чара

Рекомендуемые сообщения

исходник - феникс. бафы (target_one) невозможно наложить на другого чара. требует пати. подскажите куда копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно смотреть на тип скила, он определяет действия при активации.

И копать класс, возможно там какие то проверки дополнительные.

Изменено пользователем dislike
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а на что конкретно надо обратить внимание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Требуются исходники и знания java  на начальной базе   Сам  пет не имеет  определение на поиск   таргета  ( не актуально не в каких сборках почти)

 

а на что конкретно надо обратить внимание?

Изменено пользователем 2terege
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

бафы типа акумен, концентрация и им подобные не возможно наложить на цель. требует пати. тоже самое с хилами. надеюсь так подробнее объяснил. исходник имеется - феникс, а точнее саншайн

Изменено пользователем Axis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

	<skill id="4400" levels="3" name="Acumen">
		<table name="#Tab-mAtkSpd">1.15 1.23 1.3</table>
		<table name="#stackOrder">1 2 3</table>
		<set name="magicType" val="MAGIC" />
		<set name="icon" val="icon.skill1085" />
		<set name="magicLevel" val="1" />
		<set name="castRange" val="400" />
		<set name="target" val="TARGET_ONE" />
		<set name="skillType" val="BUFF" />
		<set name="operateType" val="OP_ACTIVE" />
		<for>
			<effect count="1" name="Buff" stackOrder="#stackOrder" stackType="mAtkSpeedUp" time="3600" val="0">
				<mul order="0x30" stat="mAtkSpd" val="#Tab-mAtkSpd" />
			</effect>
		</for>
	</skill>

 

 

 

 

сравни, у меня работает

 

Skill.rar

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо, но дело не в статах скилов, а в ядре

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо, но дело не в статах скилов, а в ядре

  для того чтоб он даже кинул вику требует доработку  баф требует переписку пета исходника кода 

 

Сам пет ток бафает не требующие  таргета 

 

 

<set name="target" val="TARGET_ONE" />

условия для наложения бафа  имеет разное

Изменено пользователем 2terege
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  для того чтоб он даже кинул вику требует доработку  баф требует переписку пета исходника кода 

 

Сам пет ток бафает не требующие  таргета 

 

 

<set name="target" val="TARGET_ONE" />

условия для наложения бафа  имеет разное

какой пет, ты очем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какой пет, ты очем?

 Кинь сам скрит скила   я те укажу что  там за определение  

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

единственная проверка на похожее, которую я помню, лежит где то в дебрях L2Character
там было что то типа сначала проверка на isMagic
дальше в теле ифа условие на скил тип с разными таргет типами

Так что стоит проверить в dp, стоит ли у бафа isMagic == true, а дальше skillType == BUFF

Изменено пользователем Izonami
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

единственная проверка на похожее, которую я помню, лежит где то в дебрях L2Character

там было что то типа сначала проверка на isMagic

дальше в теле ифа условие на скил тип с разными таргет типами

В 6 исходных файлах как минимум в ядре определяется + сам вид исходного кода  скила  

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

        if (skill.isMagic()) {
            if (isPlayer() && getTarget() != null && getTarget().getPlayer() != null) {
                L2Player pl = getPlayer();
                L2Player trg = getTarget().getPlayer();
 
                if (skill.getSkillType() == SkillType.BUFF && skill.getTargetType() != SkillTargetType.TARGET_CLAN && skill.getTargetType() != SkillTargetType.TARGET_PARTY && skill.getTargetType() != SkillTargetType.TARGET_ALLY && skill.getTargetType() != SkillTargetType.TARGET_SELF && trg != pl) {
                    if (!pl.isInParty()) {
                        pl.sendMessage("You cant buff others only in party.");
                        sendActionFailed();
                        return;
                    }
                    if (trg.isInParty() && pl.getParty() != trg.getParty()) {
                        pl.sendMessage("You cant only buff players from same party.");
                        sendActionFailed();
                        return;
                    }
                }
            }
        }

 
жаль сравнивать не с чем
Изменено пользователем Axis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

оу на наф закольцевал 

 

 if (isPlayer() && getTarget() != null && getTarget().getPlayer() != null)

 

isPlayer() игрок есть иль нет  

getTarget() != null если имеется таргет 

getTarget().getPlayer() != null уточнение на таргет игрока оставьь 1 условие

 

 

 вот  проверка пати имеется иль нет тут на лож а не правду

                   if (!pl.isInParty()) {

                        pl.sendMessage("You cant buff others only in party.");
                        sendActionFailed();
                        return;
                    }
 
тоже самое  
 
                    if (trg.isInParty() && pl.getParty() != trg.getParty()) {
                        pl.sendMessage("You cant only buff players from same party.");
                        sendActionFailed();
                        return;
                    }
 а дальше 
 
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а скил можешь приложить какой нибудь, который просит пати ?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скилл:

 

 

	<skill id="1036" levels="2" name="Magic Barrier">
		
		<table name="#Tab-mDef">1.23 1.3</table>
		<table name="#effectPoint">418 495</table>
		<table name="#magicLevel">44 52</table>
		<table name="#abnormal_lv">2 3</table>
		<table name="#abnormal_time">1200</table>
		<set name="effectPoint" val="#effectPoint" />
		<set name="magicLevel" val="#magicLevel" />
		<set name="target" val="TARGET_ONE" />
		<set name="reuseDelay" val="6000" />
		<set name="skillType" val="BUFF" />
		<set name="operateType" val="OP_ACTIVE" />
		<set name="nextAction" val="none" />
		<enchant1 levels="30" name="Time">
			<table name="#abnormal_time">1240 1280 1320 1360 1400 1440 1480 1520 1560 1600 1640 1680 1720 1760 1800 1840 1880 1920 1960 2000 2040 2080 2120 2160 2200 2240 2280 2320 2360 2400</table>
		</enchant1>
		<enchant2 levels="30" name="Cost">
		</enchant2>
		<for>
			<effect count="1" name="Buff" stackOrder="#abnormal_lv" stackType="MagicDefUp" time="#abnormal_time" val="0">
				<mul order="0x30" stat="mDef" val="#Tab-mDef" />
			</effect>
		</for>
	</skill> 

пробовал добавить: <set name="isMagic" val="true" /> - ничего не дало

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

//------------------------------------------------------------------------------

 if (skill.isMagic() ) // вид навыка магический

//------------------------------------------------------------------------------

  {

  L2Player pl = getPlayer();// сам персонаж

L2Player trg = getTarget().getPlayer();/// тот кого  береш в таргет

//------------------------------------------------------------------------------

            if (isPlayer() // есль правда  игрок есть пет не сможет использовать иль ониой вид 

&& getTarget() != null // имеется ли таргет 

&& getTarget().getPlayer() != null)// таргет на игроке есть ли  

//------------------------------------------------------------------------------

{

//------------------------------------------------------------------------------

if (skill.getSkillType() == SkillType.BUFF //если баф

&& skill.getTargetType() != SkillTargetType.TARGET_CLAN //вид бафа

&& skill.getTargetType() != SkillTargetType.TARGET_PARTY//вид бафа

&& skill.getTargetType() != SkillTargetType.TARGET_ALLY //вид бафа

&& skill.getTargetType() != SkillTargetType.TARGET_SELF) //вид бафа

//------------------------------------------------------------------------------

{

if (!pl.isInParty()) //  если нет пати  у игрока 

{

pl.sendMessage("You cant buff others only in party.");// соббшение

sendActionFailed();

return;// сброс

}

if (trg.isInParty() ////  если нет пати  в таргете игрока

&& pl.getParty() != trg.getParty())  //  если нет пати  между игроками

{

pl.sendMessage("You cant only buff players from same party."); // соббшение

sendActionFailed();

return;// сброс

}

}


//------------------------------------------------------------------------------

/* /// не обязательно

else if (skill.getSkillType() == SkillType.BUFF //если баф

&& skill.getTargetType() != SkillTargetType.TARGET_ONE )//вид бафа

{

pl.sendMessage("Выведит сообшение есль сработало дальш додумывай ");// соббшение

} */

//------------------------------------------------------------------------------


//------------------------------------------------------------------------------

/* /// не обязательно

else

{

pl.sendMessage("You cant buff not");// соббшение

sendActionFailed();

return;// сброс

}

*/

 

//------------------------------------------------------------------------------

}

else

{

pl.sendMessage("You cant buff others only in player target .");// соббшение

sendActionFailed();

return;// сброс

}

        }

Изменено пользователем 2terege
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

остальное сам разберешся   если не ясно спрашивай 

Возможно дет утку ошибся но поймеш

Изменено пользователем 2terege
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

TARGET_PARTY отвечат за пати бафф бе пати другому не бафниш на скиле берс пп

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скилл:

 

 

	<skill id="1036" levels="2" name="Magic Barrier">
		
		<table name="#Tab-mDef">1.23 1.3</table>
		<table name="#effectPoint">418 495</table>
		<table name="#magicLevel">44 52</table>
		<table name="#abnormal_lv">2 3</table>
		<table name="#abnormal_time">1200</table>
		<set name="effectPoint" val="#effectPoint" />
		<set name="magicLevel" val="#magicLevel" />
		<set name="target" val="TARGET_ONE" />
		<set name="reuseDelay" val="6000" />
		<set name="skillType" val="BUFF" />
		<set name="operateType" val="OP_ACTIVE" />
		<set name="nextAction" val="none" />
		<enchant1 levels="30" name="Time">
			<table name="#abnormal_time">1240 1280 1320 1360 1400 1440 1480 1520 1560 1600 1640 1680 1720 1760 1800 1840 1880 1920 1960 2000 2040 2080 2120 2160 2200 2240 2280 2320 2360 2400</table>
		</enchant1>
		<enchant2 levels="30" name="Cost">
		</enchant2>
		<for>
			<effect count="1" name="Buff" stackOrder="#abnormal_lv" stackType="MagicDefUp" time="#abnormal_time" val="0">
				<mul order="0x30" stat="mDef" val="#Tab-mDef" />
			</effect>
		</for>
	</skill> 

пробовал добавить: <set name="isMagic" val="true" /> - ничего не дало

 

 

Без сборки под рукой тяжело... Стоит поискать в проекте по 

SkillTargetType

oneTarget

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Без сборки под рукой тяжело... Стоит поискать в проекте по 

SkillTargetType

oneTarget

вообше нарущены условия  тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не

 

Без сборки под рукой тяжело... Стоит поискать в проекте по 
SkillTargetType
oneTarget

нету такого  :rofl:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не

 

нету такого  :rofl:

Проше говоря  нади похожий навык и посмотри статы и возми его как копирайт перепеши и все 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

методом - проб и неудач. выяснил, что зачем изобретать велосипед, когда можно улучшить.

 

if (skill.getSkillType() == SkillType.BUFF && skill.getTargetType() != SkillTargetType.TARGET_CLAN && skill.getTargetType() != SkillTargetType.TARGET_PARTY && skill.getTargetType() != SkillTargetType.TARGET_ALLY && skill.getTargetType() != SkillTargetType.TARGET_SELF && skill.getTargetType() != SkillTargetType.TARGET_ONE && trg != pl) { 

 

 

Изменено пользователем Axis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

методом - проб и неудач. выяснил, что зачем изобретать велосипед, когда можно улучшить.

 

 

 

if (skill.getSkillType() == SkillType.BUFF && skill.getTargetType() != SkillTargetType.TARGET_CLAN && skill.getTargetType() != SkillTargetType.TARGET_PARTY && skill.getTargetType() != SkillTargetType.TARGET_ALLY && skill.getTargetType() != SkillTargetType.TARGET_SELF && skill.getTargetType() != SkillTargetType.TARGET_ONE && trg != pl) { 

 

 

я указывал више отдельным блоком

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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