Consulta sobre un script

Hola a todos,

estoy intentando crear un script propio en el que necesito que después de hablar el npc, que es un gossip) haya una pausa, y luego hable el personaje que estás manejando. El fragmento de codigo que tengo es el siguiente

[CODE]bool OnGossipSelect(Player* player, Creature* creature, uint32 /uiSender/, uint32 uiAction)

    {

        player->PlayerTalkClass->ClearMenus();

        if (uiAction == GOSSIP_ACTION_INFO_DEF+1)

        {

            player->CLOSE_GOSSIP_MENU();

            DoScriptText(SAY_INICIO_01, creature);

            //Necesito una pausa aqui de 5 segundos

            DoScriptText(SAY_INICIO_02, player);

            //Y aqui otra

            player->SetPhaseMask(PHASE_1,true);

            player->TeleportTo(0, -14318.12f, 443.83f, 23.07f, 2.0f);

        }

    return true;

    }[/CODE]

Como podría hacerlo? He probado hacerlo basándome en otros scripts que si hacen eso, pero lo único que he logrado todas las veces, ha sido que dejase de funcionar todo… :S

Si necesitáis ver el código completo, me lo decís…

Gracias… :S

Puedes meter una función y enviarla desde el GossipSelect y haciendo las pausas en la función.


bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)

        {

            player->PlayerTalkClass->ClearMenus();

            if (uiAction == GOSSIP_ACTION_INFO_DEF+1)

            {

                player->CLOSE_GOSSIP_MENU();

                CAST_AI(npc_scriptAI, creature->AI())->Funcion();


            }

        return true;

        }



void Funcion()


{

   DoScriptText(SAY_INICIO_01, creature); 

   NextStep(5000); //No recuerdo bien como era esto, por ahí buscas.

   DoScriptText(SAY_INICIO_02, player); 

   NextStep(5000);

   player->SetPhaseMask(PHASE_1,true); 

   player->TeleportTo(0, -14318.12f, 443.83f, 23.07f, 2.0f); 

}

Algo así podría ser, no recuerdo bien como son las funciones porque ando en el trabajo XD pero al menos sería de ayuda, imagino yo.