}
}
}
{
int i,j;
// char *petstring;//ttom
// char *c_ptr_index;
// char c_temp[4096];
// char c_temp1[4096];
int ID1,ID2;
char* delbuf;
char delpetbuf[10];
delbuf = getDelPet();
// int tran_no;
BOOL b_find=FALSE;
//ttom
for( i = 0; i < CHAR_MAXPOOLPETHAVE; i ++ ) {
int petindex = CHAR_getCharPoolPet(charaindex,i);
if( CHAR_CHECKINDEX( petindex) ) {
#ifdef _UNIQUE_P_I
// CoolFish: 2001/10/11 Set Pet Unicode
CHAR_setPetUniCode(petindex);
#endif
#ifdef _NEWOPEN_MAXEXP
if( CHAR_getInt( petindex, CHAR_OLDEXP) > 0 ||
CHAR_getInt( charaindex, CHAR_OLDEXP) < 0 ){
CHAR_ChangeExp( petindex);
}
#endif
b_find=FALSE;
ID1=CHAR_getInt( petindex, CHAR_PETID);
if(CHAR_getInt(petindex,CHAR_BEATITUDE)>0 && strstr(CHAR_getChar(petindex,CHAR_NAME),"+")==NULL){
char btmpname[128];
sprintf(btmpname,"%s+",CHAR_getChar(petindex,CHAR_NAME));
CHAR_setChar(petindex,CHAR_NAME,btmpname);
}
#ifdef _JK_CF_DELPETITEM //删除CF指定宠物
for( j=1;j<=30;j++ ) {
if(getStringFromIndexWithDelim(delbuf,",", j, delpetbuf, sizeof(delpetbuf)) == FALSE)
break;
ID2 = atoi(delpetbuf);
if(ID2 == -1)break;
if( ID1 == ID2){
CHAR_setCharPoolPet( charaindex, i, -1);//清除不能当宠物的角色
LogPet( CHAR_getChar( charaindex, CHAR_NAME ),
CHAR_getChar( charaindex, CHAR_CDKEY ),
CHAR_getChar( petindex, CHAR_NAME),
CHAR_getInt( petindex, CHAR_LV),
"login(清除CF设置的宠物)",
CHAR_getInt( charaindex,CHAR_FLOOR),
CHAR_getInt( charaindex,CHAR_X ),
CHAR_getInt( charaindex,CHAR_Y ),
CHAR_getChar( petindex, CHAR_UNIQUECODE) // shan 2001/12/14
);
CHAR_talkToCli(charaindex,-1,"系统清除你宠物店里的宠物",CHAR_COLORWHITE);
}
}
#endif
#ifdef _REEDIT_PETBBIS
if( ID1 == 1133 ){
CHAR_setInt( petindex, CHAR_BASEIMAGENUMBER, 101578);
CHAR_setInt( petindex, CHAR_BASEBASEIMAGENUMBER, 101578);
}
#endif
#ifdef _YUANGUSA
if( ID1 == 10247 ){
CHAR_setInt( petindex, CHAR_BASEIMAGENUMBER, 130088);
CHAR_setInt( petindex, CHAR_BASEBASEIMAGENUMBER, 130088);
CHAR_setChar( petindex, CHAR_NAME, "至尊-红龙");
//print("PET:%s fix BBI\n", CHAR_getUseName(petindex));
}
#endif
/*
tran_no=CHAR_getInt( charaindex, CHAR_TRANSMIGRATION);
petstring = CHAR_makePetStringFromPetIndex( petindex);
c_ptr_index=strstr(petstring,"name:");
getStringFromIndexWithDelim(c_ptr_index,":",2,c_temp,sizeof(c_temp));
c_ptr_index=c_temp;
getStringFromIndexWithDelim(c_ptr_index,"|",1,c_temp1,sizeof(c_temp1));
if(b_find){//ttom
CHAR_setCharPoolPet( charaindex, i, -1);
print("\nKill pool pet ID=%d name=%s",ID1,c_temp1);
sprintf(c_temp2,"Kill pool pet ID=%d name=%s",ID1,c_temp1);
LogKill(CHAR_getChar( charaindex, CHAR_NAME ),
CHAR_getChar( charaindex, CHAR_CDKEY ),
c_temp2);
}else{//ttom
*/
CHAR_setWorkInt( petindex, CHAR_WORKPLAYERINDEX, charaindex);
CHAR_complianceParameter( petindex );
// }//ttom
}
}
}
// CHAR_ResetPoolPetEgg( charaindex);
// CHAR_CheckProfessionEquit( charaindex);
CHAR_CheckProfessionSkill( charaindex);
/*{
int i=0;
int skidx[]={2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3};
//20040702 Change fix
//检查是否有职业不该有的技能并删除
for( i = CHAR_SKILLMAXHAVE-1; i >= 0; i -- ){
CHAR_HaveSkill *pSkil;
Skill* skill;
pSkil = CHAR_getCharHaveSkill( charaindex, i );
skill = &pSkil->skill;
if( pSkil == NULL )continue;
if( pSkil->use == 0 )continue;
if( skidx[skill->data[SKILL_IDENTITY]] != CHAR_getInt( charaindex, PROFESSION_CLASS )
&& skidx[skill->data[SKILL_IDENTITY]] != 4 ){//共通技不删
SKILL_makeSkillData( &pSkil->skill, 0, 0 );
pSkil->use = 0;
}
}
}*/
time_t timep;
struct tm *p;
time(&timep);
p=localtime(&timep);
timep = mktime(p);
#ifdef _VIP_ANNOUNCE //VIP上线系统自动广告
if(CHAR_getInt( charaindex,CHAR_VIPRIDE )>0)
{
//#ifdef _YUANGUSA
// if(CHAR_getInt(charaindex,CHAR_VIPRIDE)==1 && CHAR_getInt(charaindex,CHAR_VIPTIME)==0){
// CHAR_setInt(charaindex,CHAR_VIPTIME,timep+60*60*24*30);
// }
//#endif
int viptype,viptime;
viptime = CHAR_getInt( charaindex,CHAR_VIPTIME );
viptype = CHAR_getInt( charaindex,CHAR_VIPRIDE );
int vipmsgtype = getVipMsgType();
if(viptime > 0)
{
viptime = viptime - timep;
}
if(viptime < 0)
{
CHAR_setInt( charaindex,CHAR_VIPRIDE,0 );
CHAR_setInt( charaindex,CHAR_VIPTIME,0 );
viptype = CHAR_getInt( charaindex,CHAR_VIPRIDE );
}
if(viptype>0 && vipmsgtype>0 && viptype>=vipmsgtype)
{
int i;
int playernum = CHAR_getPlayerMaxNum();
char VipMsg[256];
char *MyName = CHAR_getChar( charaindex,CHAR_NAME );
if(vipmsgtype == 1)
{
#ifdef _TEST_SERVER
if(viptype == 1)
sprintf( VipMsg, "『%s』尊贵的会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName );
else if(viptype == 2)
sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName );
else if(viptype == 3)
sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName );
#else
if(viptype == 1)
sprintf( VipMsg, "『%s』尊贵的会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName );
else if(viptype == 2)
sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName );
else if(viptype == 3)
sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName );
#endif
}
else if(vipmsgtype == 2)
{
#ifdef _TEST_SERVER
if(viptype == 2)
sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName );
else if(viptype == 3)
sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName );
#else
if(viptype == 2)
sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName );
else if(viptype == 3)
sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName );
#endif
}
else if(vipmsgtype == 3)
{
#ifdef _TEST_SERVER
if(viptype == 3)
sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName );
#else
if(viptype == 3)
sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName );
#endif
}
for( i = 0 ; i < playernum ; i++)
{
CHAR_talkToCli( i, -1, VipMsg, CHAR_COLORPURPLE);
}
}
}
#endif