• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Opóźnienie hita po zaznaczeniu celu

Burczyk91

New Member
Joined
Jul 21, 2012
Messages
268
Reaction score
3
Witam, potrzebuję pomocy w dodaniu opóźnienia pierwszego ataku po zaznaczeniu celu. Macie może jakieś pomysły gdzie to dodać?
tfs 0.3.6
 
Last edited:
player.cpp, zmień ten fragment kodu
PHP:
bool Player::setAttackedCreature(Creature* creature)
{
        if(!Creature::setAttackedCreature(creature))
        {
                sendCancelTarget();
                return false;
        }

        if(chaseMode == CHASEMODE_FOLLOW && creature)
        {
                if(followCreature != creature)
                {
                        //chase opponent
                        setFollowCreature(creature);
                }
        }
        else
                setFollowCreature(NULL);

        if(creature)
        {
                g_dispatcher.addTask(createTask(
                        boost::bind(&Game::checkCreatureAttack, &g_game, getID())));
        }
        return true;
}
na ten
PHP:
bool Player::setAttackedCreature(Creature* creature)
{
        if(!Creature::setAttackedCreature(creature))
        {
                sendCancelTarget();
                return false;
        }

        if(chaseMode == CHASEMODE_FOLLOW && creature)
        {
                if(followCreature != creature)
                {
                        //chase opponent
                        setFollowCreature(creature);
                }
        }
        else
                setFollowCreature(NULL);

        if(creature)
        {
                g_scheduler.addEvent(createSchedulerTask(1000,
                        boost::bind(&Game::checkCreatureAttack, &g_game, getID())));
        }
        return true;
}
 
Kod, który podałem powinien działać pod ostatnią wersję forgottenserver. W takim prehistorycznym przypadku wydaje mi się, że linijkę tą
PHP:
g_scheduler.addEvent(createSchedulerTask(1000, 
                        boost::bind(&Game::checkCreatureAttack, &g_game, getID())));
powinieneś wymienić na takową
PHP:
Scheduler::getInstance().addEvent(createSchedulerTask(1000, 
                        boost::bind(&Game::checkCreatureAttack, &g_game, getID())));
 
Okej kompilacja przeszła bez problemów ale nadal gracze przy pomocy bota i skrypta który ciągle zaznacza i odznacza target mogą bugować tz. ich prędkość uderzenia wynosi 1hit=1ms
 
Back
Top