#include "stg/common.h"
 #include "stg/locker.h"
 #include "stg/user_property.h"
+#include "stg/plugin_creator.h"
 #include "rscript.h"
 #include "ur_functor.h"
 #include "send_functor.h"
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
-class RS_CREATOR
-{
-private:
-    REMOTE_SCRIPT * rs;
-
-public:
-    RS_CREATOR()
-        : rs(new REMOTE_SCRIPT())
-        {
-        };
-    ~RS_CREATOR()
-        {
-        delete rs;
-        };
-
-    REMOTE_SCRIPT * GetPlugin()
-        {
-        return rs;
-        };
-};
-//-----------------------------------------------------------------------------
-//-----------------------------------------------------------------------------
-//-----------------------------------------------------------------------------
-RS_CREATOR rsc;
+PLUGIN_CREATOR<REMOTE_SCRIPT> rsc;
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
     }
 }
 //-----------------------------------------------------------------------------
+#ifdef NDEBUG
+bool REMOTE_SCRIPT::PreparePacket(char * buf, size_t, uint32_t ip, RS_USER & rsu, bool forceDisconnect) const
+#else
 bool REMOTE_SCRIPT::PreparePacket(char * buf, size_t bufSize, uint32_t ip, RS_USER & rsu, bool forceDisconnect) const
+#endif
 {
 RS_PACKET_HEADER packetHead;