К сожалению не канает ((( Он постоянно откатывает и ограничения нет на сутки.... Возможно описание сделано так - потому что ограничено было на руоффе чисто на покупку в сутки(магазином), а на хф хз пока как так сделать, ибо не опытен..... И логики запрета на использование в сутки у итема - нет.
Extra Entrance Pass - Rim Kamaloka Посмотреть вложение 42359
Билет в Окрестности КамалокиТип: Прочее Вес: 5 ID: 22615
- Билет, позволяющий попасть в Окрестности Камалоки повторно. Снимает ограничение на вход в Окрестности Камалоки. Возможно одноразовое использование снаружи Временной Зоны. Данный эффект пропадет после обновления времени Временной Зоны. Можно обменять, продать, уничтожить. Нельзя выбросить. Можно положить в хранилище.
сохранять в базе колличество сбросов для определенной инcты и потом сбрасывать по аналогии с кубами в 06:30 этот параметр ?Ребята, такой вопрос, возможно ли сделать итем который будет откатывать инсту всего 1 раз за сутки, а не до бесконечности сколько купил - столько откатил, притом нужно чтоб итем пропал. Логика такая:
Сходил в инсту --> купил итем откатил инсту --> сходил еще раз в инсту ---> купил итем еще раз <----- но тут сделать ограничение на его использование 1 раз в сутки к примеру. Или подскажите такой итем на сборке ХФ. (не могу вспомнить) """"" Пробовал на основе чудесного куба (такое себе....) """"
Ограничение необходимо выставить на итем на использование 1 раза в стуки. И при этом необходимо его удалять из инвентаря. А при покупке еще 1 итема писать в чате о том что итем нельзя сейчас использовать - и можно будет его юзнуть к примеру после 6:30сохранять в базе колличество сбросов для определенной инcты и потом сбрасывать по аналогии с кубами в 06:30 этот параметр ?
а не легче его в магазин ИМ добавить ?Ограничение необходимо выставить на итем на использование 1 раза в стуки. И при этом необходимо его удалять из инвентаря. А при покупке еще 1 итема писать в чате о том что итем нельзя сейчас использовать - и можно будет его юзнуть к примеру после 6:30
Это будет на много легче, но знал бы я еще как его сделать. Если у Вас есть опыт, прошу поделитесь!!!а не легче его в магазин ИМ добавить ?
ну я хз что у вас за сборка... ( в смысле не лапал )Это будет на много легче, но знал бы я еще как его сделать. Если у Вас есть опыт, прошу поделитесь!!!
<item id="2090027" cat="2" paymentType="0" price="999" recommended="4" startSale="315558000" endSale="2127452400" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="0" maxLevel="0" minBirthday="0" maxBirthday="0" accountDailyLimit="0" accountBuyLimit="0">
<item itemId="93484" count="1" /> <!-- Grace Kit: L-Coins -->
</item>
ну я хз что у вас за сборка... ( в смысле не лапал )
Вот мобиус к примеру:
делаем accountDailyLimit единичной и все ?Код:<item id="2090027" cat="2" paymentType="0" price="999" recommended="4" startSale="315558000" endSale="2127452400" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="0" maxLevel="0" minBirthday="0" maxBirthday="0" accountDailyLimit="0" accountBuyLimit="0"> <item itemId="93484" count="1" /> <!-- Grace Kit: L-Coins --> </item>
<etcitem id="13012" name="Extra Entrance Pass - Kamaloka (Labyrinth of the Abyss)" type="OTHER">
<set name="icon" val="ticket_i00" />
<set name="weight" val="5" />
<set name="stackable" val="true" />
<set name="tradeable" val="false" />
<set name="dropable" val="false" />
</etcitem>
Ну Вы почти даже угадали какой это файликКод:<etcitem id="13012" name="Extra Entrance Pass - Kamaloka (Labyrinth of the Abyss)" type="OTHER"> <set name="icon" val="ticket_i00" /> <set name="weight" val="5" /> <set name="stackable" val="true" /> <set name="tradeable" val="false" /> <set name="dropable" val="false" /> </etcitem>
Вот пример
iMaxStock
<item brId="1080001" itemId="22000" name="Small fortuna box" category="5" iMaxStock="1"/>
лол ну у тебя и советы по реализации... чекать раз в минуту.... Откат лаб пишется в базу в какую-то таблицу.Добавь чек при заходе рефрешилась ли сегодня подземка для этого чара.
Делаешь отдельную таблицу в базе с ид чара, ид подземки и булеаном/числовым значением и заглядываешь туда сервером раз в минуту чтобы апдейтнулась инфа, которую будешь чекать при заходе.
<skill id="40195" toLevel="1" name="Extra Pass: Transcendent Instance Zone (Event)">
<icon>icon.skill0000</icon>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>93949</itemConsumeId> <!-- Extra Pass: Transcendent Instance Zone -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="ResetInstanceEntry">
<instanceId>208;209;210;211;212;213</instanceId>
</effect>
</effects>
</skill>
<!-- Билет в Окрестности Камалоки / Extra Pass: Rim Kamaloka -->
<etcitem id="22615" name="Билет в Окрестности Камалоки">
<!-- Билет, позволяющий повторно попасть в Окрестности Камалоки. Снимает ограничение на вход в Окрестности Камалоки. Можно использовать один раз за установленный период отката временной зоны. Эффект исчезает, когда данное подземелье обновляется. -->
<stat name="icon" value="icon.ticket_i00" />
<stat name="type" value="OTHER" />
<stat name="ex_type" value="OTHER" />
<stat name="crystal_type" value="NONE" />
<stat name="reuse_type" value="EVERY_DAY_AT_6_30" />
<stat name="delay_share_group" value="46" />
<stat name="weight" value="5" />
<stat name="price" value="0" />
<stat name="keep_type" value="9" />
<stat name="destroyable" value="true" />
<stat name="dropable" value="true" />
<stat name="sellable" value="true" />
<stat name="tradeable" value="true" />
<stat name="commissionable" value="false" />
<skills>
<skill id="22499" level="1" /> <!-- Билет в Окрестности Камалоки / Extra Pass: Rim Kamaloka -->
</skills>
</etcitem>
package l2p.gameserver.enums;
import l2p.commons.time.cron.SchedulingPattern;
import l2p.gameserver.network.components.SystemMsg;
public enum ReuseType
{
NORMAL(SystemMsg.THERE_ARE_S2_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_MINUTES_S3_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_HOURS_S3_MINUTES_AND_S4_SECONDS_REMAINING_IN_S1S_REUSE_TIME)
{
@Override
public long next(long reuseDelay)
{
return System.currentTimeMillis() + reuseDelay;
}
@Override
public long next()
{
return next(0);
}
},
EVERY_DAY_AT_6_30(SystemMsg.THERE_ARE_S2_SECONDS_REMAINING_FOR_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_MINUTES_S3_SECONDS_REMAINING_FOR_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_HOURS_S3_MINUTES_S4_SECONDS_REMAINING_FOR_S1S_REUSE_TIME)
{
private final SchedulingPattern _pattern = new SchedulingPattern("30 6 * * *");
@Override
public long next(long reuseDelay)
{
return _pattern.next(System.currentTimeMillis());
}
@Override
public long next()
{
return next(24 * 60 * 60 * 1000L);
}
},
DAILY(SystemMsg.THERE_ARE_S2_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_MINUTES_S3_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_HOURS_S3_MINUTES_AND_S4_SECONDS_REMAINING_IN_S1S_REUSE_TIME)
{
private final SchedulingPattern _pattern = new SchedulingPattern("0 0 * * *");
@Override
public long next(long reuseDelay)
{
return _pattern.next(System.currentTimeMillis());
}
@Override
public long next()
{
return next(24 * 60 * 60 * 1000L);
}
},
TWICE_A_DAY(SystemMsg.THERE_ARE_S2_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_MINUTES_S3_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_HOURS_S3_MINUTES_AND_S4_SECONDS_REMAINING_IN_S1S_REUSE_TIME)
{
private final SchedulingPattern _pattern = new SchedulingPattern("30 6 * * *|30 18 * * *");
@Override
public long next(long reuseDelay)
{
return _pattern.next(System.currentTimeMillis());
}
@Override
public long next()
{
return next(12 * 60 * 60 * 1000L);
}
},
EVERY_HOUR(SystemMsg.THERE_ARE_S2_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_MINUTES_S3_SECONDS_REMAINING_IN_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_HOURS_S3_MINUTES_AND_S4_SECONDS_REMAINING_IN_S1S_REUSE_TIME)
{
private final SchedulingPattern _pattern = new SchedulingPattern("0 * * * *");
@Override
public long next(long reuseDelay)
{
return _pattern.next(System.currentTimeMillis());
}
@Override
public long next()
{
return next(60 * 60 * 1000L);
}
};
private SystemMsg[] _messages;
private ReuseType(SystemMsg... messages)
{
_messages = messages;
}
public abstract long next();
public abstract long next(long reuseDelay);
public SystemMsg[] getMessages()
{
return _messages;
}
}
На офф сервере он работает нормально. Это у вас плохая реализация(К сожалению не канает ((( Он постоянно откатывает и ограничения нет на сутки.... Возможно описание сделано так - потому что ограничено было на руоффе чисто на покупку в сутки(магазином), а на хф хз пока как так сделать, ибо не опытен..... И логики запрета на использование в сутки у итема - нет.
К сожалению сборку покупал, и не очень то хочется отказываться от покупного....Если я правильно понял что у Вас за сборка и если у Вас в будущем есть возможность управлять "ItemReuse", то подставьте в TODO нужные значения
А вообще рекомендую сменить сборку на ту, где хотя бы есть исходники
*** Скрытый текст не может быть процитирован. ***
Мне страшно даже представить от кого Вы её купили.К сожалению сборку покупал, и не очень то хочется отказываться от покупного....
Вы просто не сталкивались с разрабом этой сборки. До него очень сложно достучаться то в скайп. А уж что то сделать или поправить...... Та еще и не за деньги....Мне страшно даже представить от кого Вы её купили.
Если сборка купленная - попросите человека пусть он сделает вам метод для сброса времени перезарядки или по аналогии, что написал Gaikotsu.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?