石器时代LA官方

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6787|回复: 0

[源代码] 解决人物身上石币过多消失的代码

[复制链接]

1万

主题

491

回帖

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35506
石币
24669
发表于 2013-7-16 19:03:24 | 显示全部楼层 |阅读模式

当使用石币道具增加石币的时候往往因为转生次数的关系,会导致石币达到最大限度就无法再增加了,加入下面的代码可以实现多余的石币可以往银行里存取
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);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|石器时代LA官方

GMT+8, 2024-5-1 21:16 , Processed in 0.109670 second(s), 21 queries .

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表