9 #include "../../bscript/bobject.h" 10 #include "../../bscript/eprog.h" 11 #include "../../clib/logfacility.h" 12 #include "../../clib/passert.h" 13 #include "../../clib/refptr.h" 14 #include "../../plib/systemstate.h" 15 #include "../item/item.h" 16 #include "../item/itemdesc.h" 17 #include "../module/osmod.h" 18 #include "../module/uomod.h" 19 #include "../scrdef.h" 20 #include "../scrsched.h" 21 #include "../scrstore.h" 22 #include "../uoexec.h" 23 #include "../uoscrobj.h" 34 if ( !( !start_attached || (
script_ex ==
nullptr ) ) )
36 POLLOG <<
"Character::start_script hiccup\n" 37 <<
"Trying to start script " << prog->
name.get() <<
"\n" 49 ex->addModule( uoemod );
54 ex->pushArg( param4 );
56 ex->pushArg( param3 );
58 ex->pushArg( param2 );
62 ex->os_module->priority = 100;
64 if ( ex->setProgram( prog ) )
69 uoemod->attached_chr_ =
this;
71 uoemod->controller_.set(
this );
77 POLLOG <<
"Unable to setProgram(" << prog->
name.get() <<
")\n";
99 if ( prog.
get() != nullptr )
103 if ( prog->haveProgram )
112 ex->os_module->priority = 100;
114 if ( ex->setProgram( prog.
get() ) )
virtual void walk_on(Mobile::Character *chr)
ref_ptr< Bscript::EScriptProgram > find_script2(const ScriptDef &script, bool complain_if_not_found, bool cache_script)
Core::UOExecutor * script_ex
boost_utils::script_name_flystring name
bool start_itemuse_script(Bscript::EScriptProgram *prog, Items::Item *item, bool start_attached)
UOExecutor * create_script_executor()
Core::ScriptDef walk_on_script
static UninitObject * create()
bool cache_interactive_scripts
const std::string & scriptname() const
bool start_script(Bscript::EScriptProgram *prog, bool start_attached, Bscript::BObjectImp *param2=nullptr, Bscript::BObjectImp *param3=nullptr, Bscript::BObjectImp *param4=nullptr)
void schedule_executor(UOExecutor *ex)