--- deliantra/server/plugins/cfperl/cfperl.xs 2006/05/09 17:48:28 1.52 +++ deliantra/server/plugins/cfperl/cfperl.xs 2006/06/11 15:02:16 1.53 @@ -429,6 +429,7 @@ registerGlobalEvent (NULL, EVENT_FREE_OB, PLUGIN_NAME, globalEventListener); registerGlobalEvent (NULL, EVENT_PLAYER_LOAD, PLUGIN_NAME, globalEventListener); registerGlobalEvent (NULL, EVENT_PLAYER_SAVE, PLUGIN_NAME, globalEventListener); + registerGlobalEvent (NULL, EVENT_EXTCMD, PLUGIN_NAME, globalEventListener); char *argv[] = { "", @@ -544,6 +545,15 @@ PUSH_PV; break; + case EVENT_EXTCMD: + PUSH_PL; + { + char *buf = va_arg (args, char *); + int len = va_arg (args, int); + PUSHs (sv_2mortal (newSVpvn (buf, len))); + } + break; + case EVENT_CLOCK: clean_obj_cache (); break; @@ -1165,6 +1175,7 @@ const_event (TELL) const_event (MUZZLE) const_event (KICK) + const_event (EXTCMD) //const_event (FREE_OB) }; @@ -1635,6 +1646,16 @@ RETVAL = pl->next; OUTPUT: RETVAL +void +send (player *pl, SV *packet) + CODE: +{ + STRLEN len; + char *buf = SvPVbyte (packet, len); + + Write_String_To_Socket (&pl->socket, buf, len); +} + int listening (player *pl, int new_value = -1) CODE: