⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configfile.c

📁 石器时代2.0完整版源代码.已经加入新功能. 在REDHAT9下GCC3.4编译成功.
💻 C
📖 第 1 页 / 共 5 页
字号:
	{ "NAME3" ,config.unregname[2], sizeof( config.unregname[2]),NULL,0},	{ "NAME4" ,config.unregname[3], sizeof( config.unregname[3]),NULL,0},	{ "NAME5" ,config.unregname[4], sizeof( config.unregname[4]),NULL,0},#endif#ifdef _TRANS_LEVEL_CF	{ "CHARTRANS" ,NULL,0,(void*)&config.chartrans,	INT},	{ "PETTRANS" ,NULL,0,(void*)&config.pettrans,	INT},		{ "LEVEL" ,NULL,0,(void*)&config.yblevel,	INT},		{ "MAXLEVEL" ,NULL,0,(void*)&config.maxlevel,	INT},	#endif#ifdef _POINT	{ "POINT" ,NULL,0,(void*)&config.point,	INT},	{ "TRANS0" ,NULL,0,(void*)&config.transpoint[0],	INT},		{ "TRANS1" ,NULL,0,(void*)&config.transpoint[1],	INT},		{ "TRANS2" ,NULL,0,(void*)&config.transpoint[2],	INT},		{ "TRANS3" ,NULL,0,(void*)&config.transpoint[3],	INT},		{ "TRANS4" ,NULL,0,(void*)&config.transpoint[4],	INT},		{ "TRANS5" ,NULL,0,(void*)&config.transpoint[5],	INT},		{ "TRANS6" ,NULL,0,(void*)&config.transpoint[6],	INT},		{ "TRANS7" ,NULL,0,(void*)&config.transpoint[7],	INT},	#endif#ifdef _PET_UP	{ "PETUP" ,NULL,0,(void*)&config.petup,	INT},#endif#ifdef _LOOP_ANNOUNCE	{ "ANNOUNCEPATH" ,config.loopannouncepath, sizeof( config.loopannouncepath),NULL,0},	{ "ANNOUNCETIME" ,NULL,0,(void*)&config.loopannouncetime,	INT},#endif#ifdef _SKILLUPPOINT_CF	{ "SKILLUPPOINT" ,NULL,0,(void*)&config.skup,	INT},	#endif#ifdef _RIDELEVEL	{ "RIDELEVEL" ,NULL,0,(void*)&config.ridelevel,	INT},	#endif#ifdef _REVLEVEL	{ "REVLEVEL" ,NULL,0,(void*)&config.revlevel,	INT},	#endif#ifdef _NEW_PLAYER_RIDE	{ "NPRIDE" ,NULL,0,(void*)&config.npride,	INT},	#endif#ifdef _FIX_CHARLOOPS	{ "CHARLOOPS" ,NULL,0,(void*)&config.charloops,	INT},	#endif#ifdef _PLAYER_ANNOUNCE	{ "PANNOUNCE" ,NULL,0,(void*)&config.pannounce,	INT},#endif#ifdef _PLAYER_MOVE	{ "PMOVE" ,NULL,0,(void*)&config.pmove,	INT},#endif	{ "recvbuffer" ,NULL,0,(void*)&config.recvbuffer,	INT},	{ "sendbuffer" ,NULL,0,(void*)&config.sendbuffer,	INT},	{ "recvlowatbuffer" ,NULL,0,(void*)&config.recvlowatbuffer,	INT},	{ "runlevel" ,NULL,0,(void*)&config.runlevel,	INT},	#ifdef _SHOW_VIP_CF	{ "SHOWVIP" ,NULL,0,(void*)&config.showvip,	INT},#endif#ifdef _PLAYER_NUM	{ "PLAYERNUM" ,NULL,0,(void*)&config.playernum,	INT},#endif#ifdef _JZ_CF_DELPETITEM		{ "delitem1"      , NULL ,0 , (void*)&config.DelItem[0]      ,INT},		{ "delitem2"      , NULL ,0 , (void*)&config.DelItem[1]      ,INT},		{ "delitem3"      , NULL ,0 , (void*)&config.DelItem[2]      ,INT},		{ "delitem4"      , NULL ,0 , (void*)&config.DelItem[3]      ,INT},		{ "delitem5"      , NULL ,0 , (void*)&config.DelItem[4]      ,INT},		{ "delpet1"      , NULL ,0 , (void*)&config.DelPet[0]      ,INT},		{ "delpet2"      , NULL ,0 , (void*)&config.DelPet[1]      ,INT},		{ "delpet3"      , NULL ,0 , (void*)&config.DelPet[2]      ,INT},		{ "delpet4"      , NULL ,0 , (void*)&config.DelPet[3]      ,INT},		{ "delpet5"      , NULL ,0 , (void*)&config.DelPet[4]      ,INT},#endif#ifdef _BATTLE_GOLD	{ "BATTLEGOLD" ,NULL,0,(void*)&config.battlegold,	INT},#endif#ifdef _ANGEL_TIME	{ "ANGELPLAYERTIME" ,NULL,0,(void*)&config.angelplayertime,	INT},	{ "ANGELPLAYERMUN" ,NULL,0,(void*)&config.angelplayermun,	INT},#endif#ifdef _RIDEMODE_20	{ "RIDEMODE" ,NULL,0,(void*)&config.ridemode,	INT},#endif#ifdef _FM_POINT_PK	{ "FMPOINTPK" ,NULL,0,(void*)&config.fmpointpk,	INT},#endif#ifdef _ENEMY_ACTION	{ "ENEMYACTION" ,NULL,0,(void*)&config.enemyact,	INT},#endif#ifdef _CHECK_PEPEAT	{ "CHECKPEPEAT" ,NULL,0,(void*)&config.CheckRepeat,	INT},#endif	{ "CPUUSE" ,NULL,0,(void*)&config.cpuuse,	INT},#ifdef _VIP_ALL	{ "QQ" ,NULL,0,(void*)&config.checkvip,	INT},#endif#ifdef _FM_JOINLIMIT	{ "JOINFAMILYTIME" ,NULL,0,(void*)&config.joinfamilytime,	INT},#endif};// Arminius 7.12 login announcechar announcetext[8192];void AnnounceToPlayer(int charaindex){  char *ptr,*qtr;    ptr=announcetext;  while ((qtr=strstr(ptr,"\n"))!=NULL) {    qtr[0]='\0';//    printf("ptr=%s\n",ptr);    CHAR_talkToCli(charaindex, -1, ptr, CHAR_COLORYELLOW);    qtr[0]='\n';    ptr=qtr+1;  }  CHAR_talkToCli(charaindex, -1, ptr, CHAR_COLORYELLOW);  }// Robin 0720void AnnounceToPlayerWN(int fd){	char buf[8192];	lssproto_WN_send( fd , WINDOW_MESSAGETYPE_LOGINMESSAGE,		WINDOW_BUTTONTYPE_OK,		-1, -1,		makeEscapeString( announcetext, buf, sizeof(buf))		);}void LoadAnnounce(void){    FILE *f;    memset(announcetext, 0, sizeof(announcetext));    if ((f=fopen("./announce.txt","r"))!=NULL) {      fread(announcetext, sizeof(announcetext), 1, f);      announcetext[sizeof(announcetext)-1]='\0';      fclose(f);    }}#ifdef _PET_TALKPROPTALK pettalktext[PETTALK_MAXID];void LoadPetTalk(void){	FILE *fp;	char fn[256];	char line[ 4096];	char talkmem[4096];	int maxid=0;	char buf1[256], buf2[256], buf3[256];	int talkNO=-1, mark=-1, i;	int len = sizeof( talkmem);		memset(talkmem, 0, sizeof(talkmem));	sprintf(fn, "%s/pettalk/pettalk.menu", getNpcdir());	for( i=0;i<PETTALK_MAXID;i++)	{		pettalktext[i].ID = -1;		strcpy( pettalktext[i].DATA, "\0");	}	print("\n装载宠物对话文件:%s...", fn);	fp = fopen( fn, "r");    if( fp != NULL ) {		while( fgets( line, sizeof( line), fp)) {			if( strlen( talkmem) != 0 ) {				if( talkmem[strlen( talkmem) -1] != '|' ) {					strcatsafe( talkmem, len, "|");						}			}			chompex( line);			strcatsafe( talkmem,len,  line);		}		fclose( fp);    }else	{		print("错误:找不到文件!");	}	talkNO=1;	while( getStringFromIndexWithDelim( talkmem,"END",talkNO, buf1, sizeof( buf1)) != FALSE	){		talkNO++;		if( NPC_Util_GetStrFromStrWithDelim( buf1, "PETTEMPNO", buf2, sizeof( buf2)) == NULL  )			continue;		mark=1;		strcpy( fn,"\0");		if( getStringFromIndexWithDelim( buf2,",", mark+1,buf3,sizeof( buf3)) != FALSE )	{			pettalktext[maxid].ID = atoi( buf3);			if( getStringFromIndexWithDelim( buf2,",", mark,buf3,sizeof( buf3)) != FALSE )	{				sprintf(fn, "%s/pettalk/%s", getNpcdir(), buf3);				//print("\n ...file:%s", fn);				fp = fopen( fn, "r");				if( fp != NULL )	{					char line[4096];					while( fgets( line, sizeof( line), fp ) ) {						if( strlen( pettalktext[maxid].DATA) != 0 ) {							if( pettalktext[maxid].DATA[strlen( pettalktext[maxid].DATA) -1] != '|' ) {								strcatsafe( pettalktext[maxid].DATA, sizeof( pettalktext[maxid].DATA), "|");							}						}						chompex( line);						strcatsafe( pettalktext[maxid].DATA, sizeof( pettalktext[maxid].DATA), line);					}					maxid++;					fclose( fp);				}else	{					print("错误:[%s] 找不到!", fn);					pettalktext[maxid].ID=-1;				}			}else	{				pettalktext[maxid].ID=-1;			}		}		print(".");		if( maxid >= PETTALK_MAXID )			break;	}	print("最大ID=%d...", maxid);	{		int haveid=0;		for( i=0;i<PETTALK_MAXID;i++)	{			if( pettalktext[i].ID >= 0 )	{				haveid++;			}		}		print("载入总数=%d", haveid);	}}#elsechar pettalktext[4096];void LoadPetTalk(void){  FILE *fp;  char fn[256];  char	line[ 4096];  int len = sizeof( pettalktext);    memset(pettalktext, 0, sizeof(pettalktext));  sprintf(fn, "%s/pettalk/pettalk.mem", getNpcdir());    fp = fopen( fn, "r");    if( fp != NULL ) {		print("\n\n 读取 pettalk.mem");		while( fgets( line, sizeof( line), fp)) {			if( strlen( pettalktext) != 0 ) {				if( pettalktext[strlen( pettalktext) -1] != '|' ) {					strcatsafe( pettalktext, len, "|");						}			}			chompex( line);			strcatsafe( pettalktext,len,  line);		}		fclose( fp);		print("\n %s", pettalktext);    }else	{		print("\n 不能找到 pettalk.mem");	}}#endif#ifdef _GAMBLE_BANKGAMBLEBANK_ITEMS GB_ITEMS[GAMBLEBANK_ITEMSMAX];void Load_GambleBankItems( void){	FILE *fp;	char filename[256];	char buf1[256];	char name[128];	int num,ID,type;	int i=0;	sprintf(filename, "./data/gambleitems.txt" );	print("\n加载赌博物品文件 %s ...", filename);	fp = fopen( filename, "r");    if( fp != NULL ) {		while( fgets( buf1, sizeof( buf1), fp) != NULL )	{			if( strstr( buf1, "#") != 0 ) continue;			sscanf( buf1,"%s %d %d %d", name, &ID, &num , &type);			strcpy( GB_ITEMS[i].name, name);			GB_ITEMS[i].Gnum = num;			GB_ITEMS[i].ItemId = ID;			GB_ITEMS[i].type = type;			i++;		}		print("最大ID: %d ", i);		fclose( fp);    }else	{		print("错误 找不到文件 %s", filename);	}}#endif#ifdef _CFREE_petskillPETSKILL_CODES Code_skill[PETSKILL_CODE];void Load_PetSkillCodes( void){	FILE *fp;	char filename[256];	char buf1[256];	char name[128];	char type[256];	int num,ID;	int i=0;	sprintf(filename, "./data/skillcode.txt" );	print("\n加载宠物技能编码文件:%s...", filename);	fp = fopen( filename, "r");    if( fp != NULL ) {		while( fgets( buf1, sizeof( buf1), fp) != NULL )	{			sscanf( buf1,"%s %d %d %s", name, &num, &ID, type);			strcpy( Code_skill[i].name, name);			Code_skill[i].TempNo = num;			Code_skill[i].PetId = ID;			strcpy( Code_skill[i].Code, type);			//print("\n %s|%d|%d|%s|", Code_skill[i].name, Code_skill[i].TempNo, 			//	Code_skill[i].PetId, Code_skill[i].Code);			i++;			if( i >= PETSKILL_CODE ) break;		}		fclose( fp);    }else	{		print("打不到文件 %s", filename);	}	print("完成\n");}#endif#ifdef _GMRELOADBOOL LoadGMSet( char* filename ){	FILE* fp;	int i = 0, gm_num = 0;	fp = fopen(filename, "r");	if (fp == NULL)	{		print("无法打开文件\n");		return FALSE;	}	for (i = 0; i < GMMAXNUM; i++)	{		strcpy(gminfo[i].cdkey, "");		gminfo[i].level = 0;	}	while(1){		char	line[64], cdkey[64], level[64];		if (fgets(line, sizeof(line), fp) == NULL)	break;		chop(line);		//change 使gmset.txt可以增加注解*******		if( line[0] == '#' )			continue;		for( i=0; i<strlen(line); i++ ){            if( line[i] == '#' ){			    line[i] = '\0';		        break;			}		}		//*************************************		gm_num = gm_num + 1;		if (gm_num > GMMAXNUM)	break;		easyGetTokenFromString(line, 1, cdkey, sizeof(cdkey));		if (strcmp(cdkey, "") == 0)	break;		strncpy(gminfo[gm_num].cdkey, cdkey, sizeof(gminfo[gm_num].cdkey));		easyGetTokenFromString(line, 2, level, sizeof(level));		if (strcmp(level, "") == 0)	break;		gminfo[gm_num].level = atoi(level);//		print("\ncdkey:%s, level:%d", gminfo[gm_num].cdkey, gminfo[gm_num].level);	}	fclose(fp);	return TRUE;}#endif/*------------------------------------------------------------ * 皿夫弘仿丞  毛  月 * 娄醒 *  卅仄 * 忒曰袄 *  cahr* ------------------------------------------------------------*/char* getProgname( void ){    return config.progname;}/*------------------------------------------------------------ * configfilename 毛  月[ * 娄醒 *  卅仄 * 忒曰袄 *  char* ------------------------------------------------------------*/char* getConfigfilename( void ){    return config.configfilename;}/*------------------------------------------------------------ * configfilename 毛涩烂允月[ * 娄醒 *  newv    char*   蕙仄中袄 * 忒曰袄 *  卅仄 ------------------------------------------------------------*/void setConfigfilename( char* newv ){    strcpysafe( config.configfilename, sizeof( config.configfilename ),                newv );}/*------------------------------------------------------------ * 犯田永弘伊矛伙毛  月 * 娄醒 *  卅仄 * 忒曰袄 *  unsigned int ------------------------------------------------------------*/unsigned int getDebuglevel( void ){    return config.debuglevel;}/*------------------------------------------------------------ * 犯田永弘伊矛伙毛涩烂允月 * 娄醒 *  newv    int     蕙仄中袄 * 忒曰袄 *  unsigned int    樯及袄 ------------------------------------------------------------*/unsigned int setDebuglevel( unsigned int newv ){    int old;    old = config.debuglevel;    config.debuglevel = newv;    return old;}/*------------------------------------------------------------ * memoryunit 毛  月 * 娄醒 *  卅仄 * 忒曰袄 *  unsigned int ------------------------------------------------------------*/unsigned int getMemoryunit( void ){    return config.usememoryunit;}/*------------------------------------------------------------ * memoryunitnum 毛  月 * 娄醒 *  卅仄 * 忒曰袄 *  unsigned int ------------------------------------------------------------*/unsigned int getMemoryunitnum( void ){    return config.usememoryunitnum;}/*------------------------------------------------------------ * 失市它件玄扔□田及失玉伊旦毛  月 * 娄醒 *  卅仄 * 忒曰袄 *  char* ------------------------------------------------------------*/char*   getAccountservername( void )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -