Board logo

標題: 世界頻道 [打印本頁]

作者: 0911667221    時間: 2009-11-24 19:49     標題: 世界頻道

如題!請問如何在伺服端修改,加入世界頻道!!

網路上找了一些有關世界頻道的原始碼
------------------------------------------------
剛剛研究了一下 SAForever 的世界頻道, 格式是: /WD
可以在 char_base.h 裡加上
#define CHAR_FS_WD              (1 << 11)    //世界頻道開關
其他需要修改的地方, 可以參考職業頻道以及密語頻道!
在 char_talk.c 裡的code:

//世界頻道
#ifdef _WORLD
if(messageeraseescape[0] == ‘/’
&& (messageeraseescape[1] == ‘W’ && messageeraseescape[2] == ‘D’))
{

int i;
int playernum = CHAR_getPlayerMaxNum();
char buff[255];
char *MyName = CHAR_getChar( index,CHAR_NAME );
char buff2[255];
char tmp1[128];
char *tmp2;

getStringFromIndexWithDelim( message , 』 『, 1, tmp1, sizeof(tmp1));
if ( (tmp2 = strstr ( message , tmp1 )) != NULL ) {
//strcpy ( message , tmp2 + strlen ( tmp1 ) + 1 ) ;
message = tmp2 + strlen(tmp1) + 1 ;
if( message == 『\0″ || strlen( message ) <= 0 )
return;
}

//easyGetTokenFromString( messageeraseescape , 2 , buff, sizeof(buff));
sprintf(buff2, 『[世]%s:%s』,MyName,message);
for( i = 0 ; i < playernum ; i++) {
if( CHAR_getCharUse(i) != FALSE && CHAR_getFlg(i,CHAR_ISWD) == TRUE)
CHAR_talkToCli( i, -1, buff2, color);
}
return;
}
#endif

最後再補上 CHAR_ISWD 於其他文件的code !
------------------------------------------------------------
不過還是不懂怎麼加入...




歡迎光臨 We Love SA 石器時代研討中心 (http://lab.welovesa.com/) Powered by Discuz! 6.0.0