• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    Magia de velocidad de ataque

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default Magia de velocidad de ataque el Mar Mayo 23, 2017 7:26 pm

    mizanaoria

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Hola,
    me gustaría que hicieran un script donde por ejemplo un player con 1000 de atackspeed al usar una magia suba su attackspeed a 500 por 20 segundos por ejemplo

    será posible??

    ayuda porfavor

    Ver perfil de usuario

    2default Re: Magia de velocidad de ataque el Mar Mayo 23, 2017 9:46 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    esto necesita cambio en sources para que funcione como tu quieres

    Funcion testeada en TFS 0.3.6pl1.

    * player.cpp

    buscar:
    Código:

    lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = 0;

    remplazar

    Código:

    lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = extraAttackSpeed = 0;

    buscar:

    Código:

    return vocation->getAttackSpeed()

    remplazar:

    Código:

    return vocation->getAttackSpeed() - getPlayer()->getExtraAttackSpeed();

    Al final del archivo pegar esto:

    Código:

    void Player::setPlayerExtraAttackSpeed(uint32_t speed)
    {
    extraAttackSpeed = speed;
    }

    * player.h

    Despues de esta linea:

    Código:

    uint64_t getSpentMana() const {return manaSpent;}

    colque esto:

    Código:

    uint32_t getExtraAttackSpeed() const {return extraAttackSpeed;}
    void setPlayerExtraAttackSpeed(uint32_t speed);

    Despuess de:

    Código:

    uint32_t idleTime;

    Coloque esto:

    Código:

    uint32_t extraAttackSpeed;

    * luascript.cpp

    Despues de:

    Código:

    //doPlayerAddSoul(cid, soul)
    lua_register(m_luaState, "doPlayerAddSoul", LuaScriptInterface::luaDoPlayerAddSoul);

    Coloque esto:

    Código:

    //doPlayerSetExtraAttackSpeed(cid, speed)
    lua_register(m_luaState, "doPlayerSetExtraAttackSpeed", LuaScriptInterface::luaDoPlayerSetExtraAttackSpeed);

    Despues de:

    Código:

    int32_t LuaScriptInterface::luaDoPlayerAddSoul(lua_State* L)
    {
    //doPlayerAddSoul(cid, soul)
    int32_t soul = popNumber(L);

    ScriptEnviroment* env = getScriptEnv();
    if(Player* player = env->getPlayerByUID(popNumber(L)))
    {
    player->changeSoul(soul);
    lua_pushboolean(L, true);
    }
    else
    {
    reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_FOUND));
    lua_pushboolean(L, false);
    }
    return 1;
    }

    Coloque esto:

    Código:

    int32_t LuaScriptInterface::luaDoPlayerSetExtraAttackSpeed(lua_State *L)
    {
    uint32_t speed = popNumber(L);
    ScriptEnviroment* env = getEnv();
    if(Player* player = env->getPlayerByUID(popNumber(L))){
    player->setPlayerExtraAttackSpeed(speed);
    lua_pushnumber(L, true);
    }
    else
    {
    errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
    lua_pushnumber(L, false);
    }
    return 1;
    }


    * luacript.h

    Despues de:

    Código:

    static int32_t luaDoPlayerAddSoul(lua_State* L);


    Coloque esto:

    Código:

    static int32_t luaDoPlayerSetExtraAttackSpeed(lua_State* L);


    Como usar:

    Código:

    doPlayerSetExtraAttackSpeed(cid, 2000) <- irá atacar 2 segundos mas rápido


    Para volver a lo normal use esto:

    Código:

    doPlayerSetExtraAttackSpeed(cid, 0)




    y listo



    Ver perfil de usuario http://www.tibiaface.com

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).