This commit is contained in:
Putoo
2026-07-10 19:22:40 +08:00
parent c58d8c2e4a
commit 2ce226c4d7
5 changed files with 24 additions and 12 deletions

View File

@@ -80,6 +80,14 @@ public static class GameBus
{ {
foreach (var item in Reward) foreach (var item in Reward)
{ {
if (operate == 0)
{
if (Convert.ToInt32(item.isOp) == 0)
{
continue;
}
}
long num = Convert.ToInt64(item.count) * count; long num = Convert.ToInt64(item.count) * count;
if (num <= 0) if (num <= 0)
{ {
@@ -223,7 +231,7 @@ public static class GameBus
else if (item.code == nameof(GameEnum.PropCode.Monster)) else if (item.code == nameof(GameEnum.PropCode.Monster))
{ {
var monsterService = App.GetService<IGameMonsterService>(); var monsterService = App.GetService<IGameMonsterService>();
var onCount = await monsterService.GetUserMonsterCount(userId,item.parameter,1); var onCount = await monsterService.GetUserMonsterCount(userId, item.parameter, 1);
item.count = item.count; item.count = item.count;
item.onCount = onCount; item.onCount = onCount;
if (onCount < item.count) if (onCount < item.count)

View File

@@ -188,7 +188,7 @@ public class TaskController : ControllerBase
int toGoods = await _goodsService.GetUserGoodsCount(userId, GameConfig.GameGetTaskGoods); int toGoods = await _goodsService.GetUserGoodsCount(userId, GameConfig.GameGetTaskGoods);
int retGoods = await _goodsService.GetUserGoodsCount(userId, GameConfig.GameRetTaskGoods); int retGoods = await _goodsService.GetUserGoodsCount(userId, GameConfig.GameRetTaskGoods);
return PoAction.Ok(new return PoAction.Ok(new
{ data = data, talkMsg, taskState, toGoods, retGoods }); { data = data, talkMsg, taskState, toGoods, retGoods,lev = taskInfo.lev });
} }
/// <summary> /// <summary>

View File

@@ -2,8 +2,8 @@
统一配置中心 统一配置中心
*/ */
export class BaseConfig { export class BaseConfig {
public static BaseUrl: string = 'https://localhost:7198' // public static BaseUrl: string = 'https://localhost:7198'
public static BaseMediaUrl: string = 'https://localhost:7198/' // public static BaseMediaUrl: string = 'https://localhost:7198/'
// public static BaseUrl:string="http://kx.iyba.cn:5291"; public static BaseUrl:string="http://kx.iyba.cn:5291";
// public static BaseMediaUrl:string="http://kx.iyba.cn:5291"; public static BaseMediaUrl:string="http://kx.iyba.cn:5291";
} }

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="content"> <div class="content">
[{{ data.code }}]{{ data.name }}({{ data.lev }}) [{{ data.code }}]{{ data.name }}({{ lev }})
</div> </div>
<div class="content" v-if="taskState == 100"> <div class="content" v-if="taskState == 100">
当前任务已暂停,等待任务更新! 当前任务已暂停,等待任务更新!
@@ -36,6 +36,7 @@ const talkMsg = ref('');
const taskState = ref(-1); const taskState = ref(-1);
const toGoods = ref(0); const toGoods = ref(0);
const retGoods = ref(0); const retGoods = ref(0);
const lev = ref(1);
let taskId = PageExtend.QueryString("id"); let taskId = PageExtend.QueryString("id");
let npcId = LocalStorageHelper.GetOnNpc(); let npcId = LocalStorageHelper.GetOnNpc();
onMounted(async () => { onMounted(async () => {
@@ -57,6 +58,7 @@ const BindData = async (): Promise<void> => {
taskState.value = result.data.taskState; taskState.value = result.data.taskState;
toGoods.value = result.data.toGoods; toGoods.value = result.data.toGoods;
retGoods.value = result.data.retGoods; retGoods.value = result.data.retGoods;
lev.value =result.data.lev;
verifyData.value = data.value.result; verifyData.value = data.value.result;
needs.value = verifyData.value.needs; needs.value = verifyData.value.needs;
taskId = data.value.itemId; taskId = data.value.itemId;

View File

@@ -38,10 +38,10 @@ NPCID根据NPC规则对应任务绑定的NPCID。
"code":"Monster",//要求类型Monster:怪物Goods:物品copper铜贝 "code":"Monster",//要求类型Monster:怪物Goods:物品copper铜贝
"name":"病鸡",//相关名称:为怪物名称或者物品名称,如果是铜贝名称为“铜贝” "name":"病鸡",//相关名称:为怪物名称或者物品名称,如果是铜贝名称为“铜贝”
"parameter":"0AA26D21-B220-A830-A355-63C344C54079",//物品参数怪物的怪物ID或者物品ID "parameter":"0AA26D21-B220-A830-A355-63C344C54079",//物品参数怪物的怪物ID或者物品ID
"count":3,//要求的属灵 "count":3,//要求达到的数量
"mapId":"10_19",//怪物所在的地图ID如果是怪物掉落物品的话为怪物所在的地图ID如果需要购买的物品为NPC所在的地图ID非怪物或物品该参数值为空 "mapId":"10_19",//怪物所在的地图ID如果是怪物掉落物品的话为怪物所在的地图ID如果需要购买的物品为NPC所在的地图ID非怪物或物品该参数值为空
"areaCode":"Own", //如果是怪物类型的话仅个人击杀怪物参数为“Own”,如果是队伍都可以击杀为“Team”,非怪物类型该参数为空。 "areaCode":"Own", //如果是怪物类型的话仅个人击杀怪物参数为“Own”,如果是队伍都可以击杀为“Team”,非怪物类型该参数为空。
"isOp":0//如果是物品或者铜贝需要扣除的该参数值为1否则为0如果时任务物品且后续任务环不再需要该物品要进行扣除处理如果后续还需要且后续不再给该道具,则不要进行扣除,要保证任务连贯性。 "isOp":0//如果是物品或者铜贝需要扣除的该参数值为1否则为0如果时任务物品且后续任务环不再需要该物品要进行扣除处理如果后续还需要且后续不再奖励该任务道具,则不要进行扣除,要保证任务连贯性。
} }
] ]
@@ -103,9 +103,9 @@ npc介绍 对生成的该npc有一个性格或者人物的背景介绍
等级: 生成怪物对应的等级,根据提示要求范围进行合理生成等级。 等级: 生成怪物对应的等级,根据提示要求范围进行合理生成等级。
最小攻击: 怪物的最小攻击,生成的公式:怪物等级*2 最小攻击: 怪物的最小攻击,生成的公式:怪物等级*2
最大攻击:怪物最大攻击,生成的公式:按照最小攻击*1.5 最大攻击:怪物最大攻击,生成的公式:按照最小攻击*1.5
防御:怪物防御值,生成的公式:按照最小攻击*0.8 防御:怪物防御值,生成的公式:按照最小攻击*0.5
敏捷:怪物敏捷值,生成的公式:按照最小攻击*0.8 敏捷:怪物敏捷值,生成的公式:按照最小攻击*0.5
体力:怪物的生命值,生成的公式:按照最大攻击*5 体力:怪物的生命值,生成的公式:按照最大攻击*2
经验:击杀怪物获得的经验,生成公式:怪物等级*3 经验:击杀怪物获得的经验,生成公式:怪物等级*3
说明怪物背景的说明简要说明不超过30字。 说明怪物背景的说明简要说明不超过30字。
怪物掉落在设计的任务中如果需要击杀怪物掉落物品则需要配置该字段否则为空。如果需要进行掉落则掉落的参数配置为json结构样例如下 怪物掉落在设计的任务中如果需要击杀怪物掉落物品则需要配置该字段否则为空。如果需要进行掉落则掉落的参数配置为json结构样例如下
@@ -152,6 +152,8 @@ NPCID对应的NPCID
6. 如果怪物掉落任务物品那么掉落的数量大于任务要求数量例如如果任务要求3个物品怪物设置了1个那么这个怪物击杀后奖励必须为最少3个可以设置击多个怪物数量。 6. 如果怪物掉落任务物品那么掉落的数量大于任务要求数量例如如果任务要求3个物品怪物设置了1个那么这个怪物击杀后奖励必须为最少3个可以设置击多个怪物数量。
7. 如果是怪物掉落的物品作为任务道具,则怪物也要同时作为任务完成条件。 7. 如果是怪物掉落的物品作为任务道具,则怪物也要同时作为任务完成条件。
8. 一定要检查下一环任务摘要中的描述和下一环实际场景是否对战,如果下一环有击杀任务要求,要验证是否和描述中的地图点是否一致。 8. 一定要检查下一环任务摘要中的描述和下一环实际场景是否对战,如果下一环有击杀任务要求,要验证是否和描述中的地图点是否一致。
9. 生成NPC名称物品名称怪物名称不能出线不同的主键ID相同的名称保证NPC唯一性NPC和怪物的名称直接起名不要带身份文字。例如【商人马尔科】直接名字为【马尔科】。
## 验证 ## 验证