Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Откат скилов (https://forum.zone-game.info/showthread.php?t=34550)

lin 26.03.2014 11:19

Откат скилов
 
Сборка: l2jfrozen
Краткое изложение сути проблемы: Юзаем скиллы, которые по времени не мало откатываются, к примеру откатилось пол скилла, вышли из игры, снова зашли и он с самого начала начинает откатываться
Пример ошибки(скриншот):
Заюзали скилл, побегали, подождали:
http://s006.radikal.ru/i213/1403/1b/0d4628f04391.png
Выходим из игры, опять заходим:
http://s001.radikal.ru/i196/1403/61/c21169738f20.png
И с самого начала начинается. и так постоянно, как это поправить?
Пожалуйста подскажите...

gorodetskiy 26.03.2014 11:20

Re: Откат скилов
 
https://forum.zone-game.info/showpos...65&postcount=4

lin 26.03.2014 11:41

Re: Откат скилов
 
Поправил! Спасибо, за шаблон, довольно удобен ;)

n3k0nation 26.03.2014 12:29

Re: Откат скилов
 
Не реализован пакет RequestSkillCoolTime. Я вообще нигде не видел его реализованым, если честно. Все эмули отправляют его без запроса :/
Возможно в этом проблема, но не факт.
Вот мой пакет, подгоните под себя:
Код:

/**
 * Send SkillCoolTime packet
 * UNetworkHandler::RequestSkillCoolTime
 * c (opcode)
 *
 * @author PointerRage
 */
@ClientPacket
public class RequestSkillCoolTime extends L2GameClientPacket {
        private final static PacketHeader pHeader = new PacketHeader(0xA6, GameClientState.IN_GAME);
        private final static String TYPE = "[C] A6 RequestSkillCoolTime";

        public RequestSkillCoolTime() {
        }

        @Override protected void readImpl() throws Exception {
                //triggered
        }

        @Override protected void runImpl() throws Exception {
                if(getClient().getActiveChar() == null)
                        return;
                getClient().sendPacket(new SkillCoolTime(getClient().getActiveChar()));
        }

        @Override public String getType() {
                return TYPE;
        }

        @Override public PacketHeader getPacketHeader() {
                return pHeader;
        }
}


lin 26.03.2014 13:01

Re: Откат скилов
 
Ребят, спасибо, конечно, но проблема была в том, что там отсутствует проверка
PHP код:

long systime rset.getLong("systime");
long remainingTime systime System.currentTimeMillis(); 

Там вообще ее нет...
PHP код:

if (remainingTime 10) {
     
disableSkill(skillIdremainingTime);
     
addTimeStamp(new TimeStamp(skillIdreuseDelaysystime));


Ща дописал, и все заработало...


Текущее время: 23:05. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot