|
当使用石币道具增加石币的时候往往因为转生次数的关系,会导致石币达到最大限度就无法再增加了,加入下面的代码可以实现多余的石币可以往银行里存取
void ITEM_Gold(int charaindex, int toindex, int haveitemindex)
{
int itemindex = CHAR_getItemIndex(charaindex, haveitemindex);
char itemarg[10];
int fd = getfdFromCharaIndex(charaindex);
Char glodch = CHAR_getCharPointer(toindex);
char i[128];
int gold = 0;
BOOL bPutToBank = FALSE;
strcpy(itemarg,ITEM_getChar(itemindex,ITEM_ARGUMENT));
gold = atoi(itemarg);
bPutToBank = FALSE;
if(CHAR_getInt(charaindex ,CHAR_GOLD) + gold>CHAR_getMaxHaveGold(charaindex)){
if(CHAR_getInt(charaindex,CHAR_BANKGOLD) + gold > 10000000){
sprintf(i, "你身上的石币和个人银行存款已满", atoi(itemarg));
CHAR_talkToCli(charaindex, -1, i, CHAR_COLORRED );
return;
}
bPutToBank = TRUE;
}
if (!glodch) return;
CHAR_charSaveFromConnectAndChar(fd, chwk ,FALSE );
if(bPutToBank) CHAR_setInt(charaindex,CHAR_BANKGOLD, CHAR_getInt(charaindex,CHAR_BANKGOLD) + gold);
else
CHAR_setInt(charaindex , CHAR_GOLD,CHAR_getInt(charaindex,CHAR_GOLD) + gold);
CHAR_complianceParameter( charaindex);
CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_GOLD);
if(bPutToBank)sprintf( i, "%dS已存入个人银行", atoi(itemarg));
else sprintf( i, "你的石币增加%dS", atoi(itemarg));
CHAR_talkToCli(charaindex, -1, i, CHAR_COLORYELLOW );
CHAR_DelItem(charaindex, haveitemindex);
} |
|