/////////////////////////// /// NPC Script Room Guy /// /// v0.3 /// /// 8th March, 2019 /// /// By: ZoriaRPG /// /////////////////////////// //ZQuest Screen Menu Sets Options //Set Screen->String to the string to display //Set Screen->Catchall to the delay time, if the roomtype is none. //Otherwise, you can set a default delay on the enemy using D0. //v0.2 Initial Fixes //v0.3 Added Once Only Behavioural Flag npc script screenguy { const int DELAY = 20; //Time to spawn. const int BFLAG_ONCE = 4; const int REGISTER = 6; const int BIT = 2; void run(int delay, int reg, int bit) { delay = this->InitD[0] > 0 ? delay : DELAY; reg = this->InitD[1] > 0 ? reg : REGISTER; bit = this->InitD[2] > 0 ? bit : BIT; if ( !Screen->RoomType ) { if ( Screen->Catchall ) { delay = Screen->Catchall; } } this->CollDetection = false; //this->DrawYOffset = -32768; //Waitframes(Screen->Catchall); //might be in use depending on room type Waitframes(delay); if ( this->BFlags[BFLAG_ONCE] ) { if ( !(GetScreenDBit(Game->GetCurDMap(), Game->GetCurScreen(), reg, bit)); ) { Screen->Message(Screen->String); SetScreenDBit(Game->GetCurDMap(), Game->GetCurScreen(), reg, bit, true); } } else Screen->Message(Screen->String); } }