?? npc_sysinfo.c
字號:
}
/*------------------------------------------------------------------------
* 丟永本□斥 寞井日丟永本□斥毛霜耨允月
*----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_SendNo( int meindex, int tindex, char *msg)
{
char buff[32];
char msgbuf[512];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
int num;
num = atoi( buff);
if( num >=1 && num < NPC_SYSINFO_MSGMAX ) {
if( NPC_Sysinfo_GetMsg( meindex, "sendno", msgbuf,
sizeof( msgbuf), num) != NULL )
{
NPC_Sysinfo_SendMsgToAll( meindex, msgbuf);
}
}
}
}
/*------------------------------------------------------------------------
* 隙爛今木兇丟永本□斥 儂 毛霜耨允月
*----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_SendMsg( int meindex, int tindex, char *msg)
{
char buff[512];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
NPC_Sysinfo_SendMsgToAll( meindex, buff);
}
}
/*------------------------------------------------------------------------
* 丟永本□斥市仿□毛 凳允月
*----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_Msgcol( int meindex, int tindex, char *msg)
{
char buff[64];
typedef struct {
int color;
char str[10];
}SYSINFO_COLSET;
SYSINFO_COLSET colset[] = {
{ 249, "red"},
{ 250, "green"},
{ 251, "yellow"},
{ 252, "blue"},
{ 253, "purple"},
{ 254, "cyan"},
{ 255, "white"},
};
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
int i;
for( i = 0; i < 7; i ++ ) {
if( strstr( buff, colset[i].str) != NULL ) {
CHAR_setWorkInt( meindex, CHAR_WORK_MSGCOLOR, colset[i].color);
CHAR_talkToCli( tindex, meindex, "已改變訊息的顏色。",
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
break;
}
}
}
}
/*------------------------------------------------------------------------
* 婁醒井日丟永本□斥毛潸 允月
*----------------------------------------------------------------------*/
static char *NPC_Sysinfo_GetMsg( int meindex, char *msgindexstr,
char *out,int outlen, int num )
{
char argstr[NPC_UTIL_GETARGSTR_BUFSIZE];
char *work;
char *buff;
char *cret = NULL;
int worklen;
worklen = strlen( msgindexstr)+3;
work = (char *)calloc( 1, worklen * sizeof( char));
buff = (char *)calloc( 1, outlen * sizeof( char));
NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));
snprintf( work, worklen, "%s%d", msgindexstr, num);
if( NPC_Util_GetStrFromStrWithDelim( argstr, work,
buff, outlen) != NULL )
{
strcpy( out, buff);
cret = out;
}
free( work);
free( buff);
return( cret);
}
/*------------------------------------------------------------------------
* shutdown丟永本□斥質(zhì)
*----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_Shutdown( int meindex, int tindex, char *msg)
{
char buff[10];
int hun;
/* 賡及丟永本□斥霜耨 */
NPC_Sysinfo_SendMsg( meindex, tindex, NPC_SYSINFO_ARG_SHUTDOWN_MSG);
/* 凜棉本永玄 */
CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNTIME, NowTime.tv_sec);
/* 孺蜃凜棉潸 */
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
hun = atoi( buff);
if( hun <= 0 ) {
hun = NPC_SYSINFO_SHUTDOWNLIMIT_DEFAULT;
}
}
else {
hun = NPC_SYSINFO_SHUTDOWNLIMIT_DEFAULT;
}
CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNLIMIT, hun);
CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNDSPTIME,0);
}
/*------------------------------------------------------------------------
* 丟永本□斥毛霜月 婁醒井日丟永本□斥毛潸
*----------------------------------------------------------------------*/
static void NPC_Sysinfo_SendMsg( int meindex, int pindex, int tblnum)
{
char argstr[NPC_UTIL_GETARGSTR_BUFSIZE];
char buff[128];
NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));
if( NPC_Util_GetStrFromStrWithDelim( argstr, msgtable[tblnum].arg,
buff, sizeof( buff)) == NULL )
{
strcpy( buff, msgtable[tblnum].defMsg);
}
if( buff[0] != '\0' ) {
CHAR_talkToCli( pindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}
/*------------------------------------------------------------------------
* 蟈化及諦卞丟永本□斥毛霜月[
*----------------------------------------------------------------------*/
static void NPC_Sysinfo_SendMsgToAll( int meindex, char *msg)
{
int i;
int playernum = CHAR_getPlayerMaxNum();
for( i = 0 ; i < playernum ; i++) {
if( CHAR_getCharUse(i) != FALSE ) {
CHAR_talkToCli( i, meindex, msg,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}
}
/* 蟈襯平乓仿毛 NO_SEE 卞允月井升丹井 */
static void NPC_Sysinfo_All_NoSee( int meindex, int tindex, char *msg ){
char buff[256];
buff[0] = buff[1] = 0;
/* 孺蜃凜棉潸 */
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
/* 卞允月樺寧 */
if( strncmp( buff, "on", strlen( buff ) ) == 0 ){
all_nosee = 1;
snprintf( buff, sizeof( buff), "已開啟all_nosee 。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else
/* 卞允月樺寧 */
if( strncmp( buff, "off", strlen( buff ) ) == 0 ){
all_nosee = 0;
snprintf( buff, sizeof( buff), "已關(guān)閉all_nosee 。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}else
if( all_nosee == 0 ){
snprintf( buff, sizeof( buff), "all_nosee關(guān)閉著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else{
snprintf( buff, sizeof( buff), "all_nosee開啟著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}
/* 蟈襯平乓仿毛 NO_BODY 卞允月井升丹井 */
static void NPC_Sysinfo_All_NoBody( int meindex, int tindex, char *msg ){
char buff[256];
buff[0] = buff[1] = 0;
/* 孺蜃凜棉潸 */
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
/* 卞允月樺寧 */
if( strncmp( buff, "on", strlen( buff ) ) == 0 ){
all_nobody = 1;
snprintf( buff, sizeof( buff), "已開啟all_nobody 。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else
/* 卞允月樺寧 */
if( strncmp( buff, "off", strlen( buff ) ) == 0 ){
all_nobody = 0;
snprintf( buff, sizeof( buff), "已關(guān)閉all_nobody 。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}else
if( all_nobody == 0 ){
snprintf( buff, sizeof( buff), "all_nobody 關(guān)閉著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else{
snprintf( buff, sizeof( buff), "all_nobody 開啟著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}
/* 蟈襯平乓仿毛 ㄠ伙□皿匹窒 綜今六月井" */
static void NPC_Sysinfo_Move_Num( int meindex, int tindex, char *msg ){
char buff[256];
int work;
buff[0] = buff[1] = 0;
/* 孺蜃凜棉潸 */
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
work = atoi( buff );
if( work <= 0 ) {
work = 1000; /* 贗癲 */
}
/* 凜卞仇木分仃 井仄引允 */
EnemyMoveNum = work;
snprintf( buff, sizeof( buff), "讓敵人同時%d動作。",
EnemyMoveNum );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else{
snprintf( buff, sizeof( buff), "現(xiàn)在敵人同時在進(jìn)行%d動作。",
EnemyMoveNum );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}
/* 襯平乓仿毛ㄠ伙□皿匹窒 嫖戲心請?jiān)示?*/
static void NPC_Sysinfo_Born_Num( int meindex, int tindex, char *msg ){
char buff[256];
int work;
buff[0] = buff[1] = 0;
/* 孺蜃凜棉潸 */
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )
{
work = atoi( buff );
if( work <= 0 ) {
work = 2; /* 贗癲 */
}
/* 凜卞仇木分仃戲心請仄引允 */
one_loop_born = work;
snprintf( buff, sizeof( buff), "敵人同時派出最高的%d。",
one_loop_born );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else{
snprintf( buff, sizeof( buff), "現(xiàn)在敵人同時派出最高的%d。",
one_loop_born );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
}
/* 蜇箕及 平平乓仿橇謫毛葦月 */
static void NPC_Sysinfo_Enemy_State( int meindex, int tindex, char *msg ){
char buff[256];
if( all_nobody == 0 ){
snprintf( buff, sizeof( buff), "allnobody 關(guān)閉著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else{
snprintf( buff, sizeof( buff), "allnobody 開啟著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
if( all_nosee == 0 ){
snprintf( buff, sizeof( buff), "allnosee 關(guān)閉著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}else{
snprintf( buff, sizeof( buff), "allnosee 開啟著。" );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
snprintf( buff, sizeof( buff),
"bornnum 現(xiàn)在敵人同時派出最高的%d。",
one_loop_born );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
snprintf( buff, sizeof( buff),
"movenum 現(xiàn)在敵人同時在進(jìn)行%d動作。",
EnemyMoveNum );
CHAR_talkToCli( tindex, meindex, buff,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
static void NPC_Sysinfo_SetWalkTime( int meindex, int tindex, char *msg)
{
int interval;
char msgbuf[256];
char buff[256];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {
interval = atoi( buff);
if( interval > 0 ) {
setWalksendinterval( (unsigned)interval);
}
}
snprintf( msgbuf, sizeof(msgbuf),"WalkInterval = %d 秒",getWalksendinterval());
CHAR_talkToCli( tindex, meindex, msgbuf,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
static void NPC_Sysinfo_SetCATime( int meindex, int tindex, char *msg)
{
int interval;
char msgbuf[256];
char buff[256];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {
interval = atoi( buff);
if( interval > 0 ) {
setCAsendinterval_ms( (unsigned)interval);
}
}
snprintf( msgbuf, sizeof(msgbuf),"CAsendInterval = %d 秒",
getCAsendinterval_ms());
CHAR_talkToCli( tindex, meindex, msgbuf,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
static void NPC_Sysinfo_SetCDTime( int meindex, int tindex, char *msg)
{
int interval;
char msgbuf[256];
char buff[256];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {
interval = atoi( buff);
if( interval > 0 ) {
setCDsendinterval_ms( (unsigned)interval);
}
}
snprintf( msgbuf, sizeof(msgbuf),"CDsendInterval = %d 秒",
getCDsendinterval_ms());
CHAR_talkToCli( tindex, meindex, msgbuf,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
static void NPC_Sysinfo_SetOneloop( int meindex, int tindex, char *msg)
{
int interval;
char msgbuf[256];
char buff[256];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {
interval = atoi( buff);
if( interval > 0 ) {
setOnelooptime_ms( (unsigned)interval);
}
}
snprintf( msgbuf, sizeof(msgbuf),"Onelooptime = %d 秒",
getOnelooptime_ms());
CHAR_talkToCli( tindex, meindex, msgbuf,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
static void NPC_Sysinfo_TitleRestart( int meindex, int tindex, char *msg)
{
int rc;
char msgbuf[256];
rc = TITLE_reinitTitleName();
if( rc) {
snprintf( msgbuf, sizeof(msgbuf),"讀取完畢。" );
}
else {
snprintf( msgbuf, sizeof(msgbuf),"發(fā)生ERROR。" );
}
CHAR_talkToCli( tindex, meindex, msgbuf,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
static void NPC_Sysinfo_SetSaacwrite( int meindex, int tindex, char *msg)
{
int interval;
char msgbuf[256];
char buff[256];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {
interval = atoi( buff);
if( interval > 0 ) {
setSaacwritenum( (unsigned)interval);
}
}
snprintf( msgbuf, sizeof(msgbuf),"Saacwritenum = %d ",getSaacwritenum());
CHAR_talkToCli( tindex, meindex, msgbuf,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
static void NPC_Sysinfo_SetSaacread( int meindex, int tindex, char *msg)
{
int interval;
char msgbuf[256];
char buff[256];
if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {
interval = atoi( buff);
if( interval > 0 ) {
setSaacreadnum( (unsigned)interval);
}
}
snprintf( msgbuf, sizeof(msgbuf),"Saacreadnum = %d ",getSaacreadnum());
CHAR_talkToCli( tindex, meindex, msgbuf,
CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -