点石成金基础收益随着玩家等级提升,玩家等级提升时 发放道具进背包
parent
7303e9d92d
commit
bb6ef14fcf
|
@ -359,5 +359,6 @@ public interface BIReason {
|
|||
|
||||
int SEVEN_WORLD_TREASURE = 1214;//七界秘宝
|
||||
|
||||
int LEVEL_UP_REWARD = 1220;// 玩家升级赠与的道具
|
||||
|
||||
}
|
|
@ -492,7 +492,17 @@ public class StoreLogic implements IEventHandler {
|
|||
for(int i=0;i<length;i++){
|
||||
dropItems[i] = new int[2];
|
||||
dropItems[i][0]= goods[i][0];
|
||||
dropItems[i][1]= (int)(goods[i][1]*itemNum *(add/10000F) );
|
||||
int levelAdd = 0;
|
||||
if(storeId==Global.GODSTORID){
|
||||
if (sStoreConfig.getSort() == 1) {
|
||||
levelAdd = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getGoldExtraNum1();
|
||||
} else if (sStoreConfig.getSort() == 2) {
|
||||
levelAdd = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getGoldExtraNum2();
|
||||
} else {
|
||||
levelAdd = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getGoldExtraNum3();
|
||||
}
|
||||
}
|
||||
dropItems[i][1]= (int)(goods[i][1]*itemNum *(add/10000F) + levelAdd);
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropItems, BIReason.STORE_BUY_ITEM);
|
||||
if(!storeGiftType.contains(SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId).getStoreType() )){
|
||||
|
|
|
@ -8,6 +8,7 @@ public class DataReportTask extends Thread {
|
|||
|
||||
public DataReportTask(){
|
||||
setName("DataReportTask");
|
||||
setPriority(2);//优先级设置低点
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -15,9 +16,15 @@ public class DataReportTask extends Thread {
|
|||
// return;
|
||||
// }
|
||||
try {
|
||||
int i = 0;
|
||||
while(true){
|
||||
ReportUserEvent event = ReportUtil.queue.take();
|
||||
ReportUtil.doReport(event);
|
||||
i++;
|
||||
if (i >= 1000) {
|
||||
i = 0;
|
||||
Thread.sleep(100);
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -861,7 +861,7 @@ public class ItemUtil {
|
|||
if (sPlayerLevelConfig == null) {
|
||||
throw new ErrorCodeException("服务器表配置错误");
|
||||
}
|
||||
|
||||
List<int[][]> levelUpRewards = new ArrayList<>();
|
||||
int levelUpExp = sPlayerLevelConfig.getExp();
|
||||
// 循环,直到经验不足继续升级或者等级最高
|
||||
while (exp >= levelUpExp && playerInfoManager.getLevel() < maxLevel.getPlayerLv()) {
|
||||
|
@ -892,8 +892,16 @@ public class ItemUtil {
|
|||
levelUpExp = sPlayerLevelConfig.getExp();
|
||||
// 玩家升级报送
|
||||
Repot37EventUtil.onKtEvent(user, Repot37EventUtil.Report37EventType.ROLE_LEVEUP_EVENT);
|
||||
// 升级赠送道具
|
||||
int[][] levelUpReward = sPlayerLevelConfig.getLevelUpReward();
|
||||
if (levelUpReward != null && levelUpReward.length > 0) {
|
||||
levelUpRewards.add(levelUpReward);
|
||||
}
|
||||
}
|
||||
CommonProto.Drop.Builder drop = null;
|
||||
if (!levelUpRewards.isEmpty()) {
|
||||
drop = ItemUtil.drop(user, levelUpRewards, BIReason.LEVEL_UP_REWARD);
|
||||
}
|
||||
|
||||
// 更新经验
|
||||
playerInfoManager.setExp((int) exp);
|
||||
|
||||
|
@ -905,9 +913,14 @@ public class ItemUtil {
|
|||
|
||||
// 在线玩家消息推送
|
||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||
if(sessionByUid!=null){
|
||||
PlayerInfoProto.UpdateUserExpIndicaiton build = PlayerInfoProto.UpdateUserExpIndicaiton.newBuilder().setExp((int)playerInfoManager.getExp()).setLevel(playerInfoManager.getLevel()).build();
|
||||
MessageUtil.sendIndicationMessage(sessionByUid,1, MessageTypeProto.MessageType.UPDATE_USER_EXP_INDICATION_VALUE,build,true);
|
||||
if (sessionByUid != null) {
|
||||
PlayerInfoProto.UpdateUserExpIndicaiton.Builder build = PlayerInfoProto.UpdateUserExpIndicaiton.newBuilder();
|
||||
build.setExp((int) playerInfoManager.getExp());
|
||||
build.setLevel(playerInfoManager.getLevel());
|
||||
if (drop != null) {
|
||||
build.setDrop(drop);
|
||||
}
|
||||
MessageUtil.sendIndicationMessage(sessionByUid, 1, MessageTypeProto.MessageType.UPDATE_USER_EXP_INDICATION_VALUE, build.build(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,6 +21,14 @@ public class SPlayerLevelConfig implements BaseConfig {
|
|||
|
||||
private int mazeTreasureMax;
|
||||
|
||||
private int goldExtraNum1;
|
||||
|
||||
private int goldExtraNum2;
|
||||
|
||||
private int goldExtraNum3;
|
||||
|
||||
private int[][] levelUpReward;
|
||||
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
@ -52,6 +60,22 @@ public class SPlayerLevelConfig implements BaseConfig {
|
|||
return mazeTreasureMax;
|
||||
}
|
||||
|
||||
public int getGoldExtraNum1() {
|
||||
return goldExtraNum1;
|
||||
}
|
||||
|
||||
public int getGoldExtraNum2() {
|
||||
return goldExtraNum2;
|
||||
}
|
||||
|
||||
public int getGoldExtraNum3() {
|
||||
return goldExtraNum3;
|
||||
}
|
||||
|
||||
public int[][] getLevelUpReward() {
|
||||
return levelUpReward;
|
||||
}
|
||||
|
||||
public static Map<Integer, SPlayerLevelConfig> getsPlayerLevelConfigMap() {
|
||||
return sPlayerLevelConfigMap;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue