c# - 代码运行第 2 部分,而不是第一部分 / random.Next() 返回 0
问题描述
我正在使用 tModLoader 为泰拉瑞亚编写 Boss 战,但我遇到了问题。1. 注释为“// 运行 4 次普通攻击之一”的部分根本没有运行。(好吧,可能是这样,但至少 Main.NewText() 部分不起作用。) 2. random.Next() 返回 0。
我不知道这个问题之前是否被问过(它不在你开始提问时得到的建议列表中),所以你能做的任何事情都是好的。(我的主要问题是#1)
对于#1,我尝试切换 forloops 和 if 语句的位置。不幸的是,这就是我能想到的。对于#2,我看不出有什么问题,也没有尝试过任何事情。
此处的代码:https ://pastebin.com/yxe7XP8G (这里的这一点是我认为最可能的解释)
public override bool PreAI()
{
if (npc.ai[0] == 0)
{
Main.NewText("The power of sock fetishes overwhelms you...", 224, 147, 4, true);
npc.ai[0] = 1;
}
int hazumekAttackConj = 0;
int hazumekAttackIDCurrent = 0;
npc.TargetClosest(true);
Player player = Main.player[npc.target];
Random random = new Random();
// Run one of 4 normal attacks
Main.NewText(hazumekAttackIDCurrent);
我不知道这里到底发生了什么,所以我将分享我的整个 PreAI() 钩子。
没有显示错误消息。
我希望聊天输出是:“Hazumek NRM Attack 1-4”,然后是“Hazumek CNJ Attack S1”,然后是“Hazumek NRM Attack 1-4”,然后是“Hazumek CNJ Attack S2”。这应该永远重复。
聊天输出实际上是“Hazumek CNJ Attack S1”,然后一遍又一遍地“Hazumek CNJ Attack S2”。
解决方案
推荐阅读
- node.js - 如何使用 socket.io、react native、nodejs 管理聊天应用程序的多个套接字连接
- javascript - Firebase 存储下载图片
- wordpress - 如何在wordpress中集成天气api
- swift - 使用 Swift 将 CLLocationCoordinate2d 转换为街道地址
- apache - apache 服务器为某些页面提供大写 UTF-8 和其他小写 utf-8 字符集标头
- oracle - 交叉编译go时如何使用Oracle Instant Client SDK?
- mongodb - Mongo shell 显示为 "Connecting..." 。但不启动外壳
- javascript - 在 Postman 中测试响应模式的通用函数
- java - 从 java fx 中的其他类更新标签
- css - 内联 CSS (React) 中的连接道具