📄 configfile.c
字号:
{ "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 + -