问题标签 [garrys-mod]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lua - 为什么在遍历表时会出现这种“尝试调用表值”?
我试图在 Garry 的 mod Lua 中找到与表的值相关联的键,但我收到一个错误,好像它不是表一样。
这是我正在维护/修复的其他人代码上的游戏崩溃错误的更大解决方案的一部分。
长话短说,我需要根据它的值来获取密钥的数量。一个简单的短代码有这个问题:
我很难在这里做什么,因为table
实际上是一张桌子,怎么可能for k,v in table
真的失败了?
我期望的结果是它返回具有 in 值的数字键value
。因此,如果value == "c"
并且table[3]
恰好具有该值,"c"
那么它应该3
作为结果返回。
lua - 团队检查武器经销商 garry 的 mod darkrp 游戏模式
如果这个职业有些玩家“武器商”npc不能用,我想做一个npc系统
我试过这个但没有用
我把这段代码放在 lua/entities/npc/init.lua
对不起我试图学习的糟糕代码
lua - 将已定义的变量发送到不和谐的特定通道的正确语法是什么
我一直在学习 lua,而且我最近购买了一个 API的访问权限,无论如何,这个链接对我来说有点困惑。但是我遇到的主要问题是在不和谐的特定频道中收到预定义的消息。
我尝试将它作为自己的嵌入发送,而不是使用默认变量,但这不起作用。我尝试在 Set:Channel('Channel here') 函数旁边使用 Set:Message('message here') 函数,但没有成功。例如
Message:SetMessage('SendOnlineMessage'): SetChannel('MyChan'),
第2部分:
docker - 如何修复 Docker sh 入口点中的“权限被拒绝”
我正在尝试为 Garry's Mod 服务器创建一个易于使用的 Docker 映像。虽然我的 Docker 映像构建得很好,但将其作为容器运行总是会导致一个错误:/bin/sh: 1: ./easygmod.sh: Permission denied
.
我使用cm2network/steamcmd
图像作为基础。我已经尝试了上述基本图像具有的两个标签。我已经尝试过chmod +x
,将用户更改为root
,并在脚本的第一行中摆弄 shebang easygmod.sh
,以及一些可能的拼写错误,特别是在文件名和路径中。
我有这个项目的GitHub 存储库,它自动构建到 Docker Hub。目前,涉及有问题的脚本的代码行是:
此外,脚本的 shebang/第一行当前是#!/bin/sh
.
尽管没有合乎逻辑的解释,但easygmod.sh
脚本拒绝执行,总是抛出错误Permission denied
。这尤其令人困惑,因为我唯一的其他公共 GitHub 项目非常相似(类似风格的 Docker 镜像,具有相同的基本操作系统cm2network/steamcmd
),从来没有遇到过这样的问题。
garrys-mod - Panel:Center() 未居中 Derma Frame
我创建了一个 Derma Frame,当我在该框架上调用 Center() 时,它没有正确地居中于屏幕。
截屏:
这是代码:
lua - 如何克服 32 位存储数字,例如 - 2,147,483,647 到 2,147,483,647
我尝试为 Gmod amd 修复一些旧的 Basewars 脚本,我尝试修复一些东西,但我不知道我在那里缺少什么。基本上它是关于银行脚本的。这家银行最初可以存储 20 亿美元。我想将该存储量扩展到 1 万亿。
所以基本上 Basewars 游戏模式允许玩家拥有高达 10^18 $ = 1 Quintillion 的大量资金。我查看了https://wiki.garrysmod.com/page/Category:number
所以基本上lua使用双精度浮点格式。所以 lua 使用 32 位来存储数字,这意味着数字可以在 -2,147,483,647 到 2,147,483,647 的范围内。
Basewars 游戏模式使用函数来计算 10^18 = 1 Quintillion
游戏模式正在使用该派系来转换金额。这是 BaseWars.LANG.Numbers:
所以我知道这个函数确实有效,但我不明白,变量 num 怎么可能那么高!为什么我知道它的作用?
这是我尝试过的,它操纵了高达 1 万亿的容量,但此时我操纵了另一个问题,我不知道我做错了什么!
这是原始的:
这是我所做的更改:
删除行:local cap = tonumber(Cp) or 0
添加本地上限 = 10^15 if self:GetMoney() < cap then
所以现在如果你看一下游戏,它看起来像这样:现在我有一个问题,当它收钱时,它会达到 20 亿,如果我尝试改变
至
我直接 -21 亿
或者我尝试更改最小最大值:
基本上这些行:
如果我运行游戏,银行将只收取最多 2 比尔的钱,然后它会变成 -21 亿美元。那时我不知道为什么以及什么时候某个值会出现问题,就像它自己设置为 -21 亿一样。math.Round 会创建此错误还是 funktion return 仅返回完整整数?
谢谢任何帮助
lua - 解码混淆的lua
我最近下载了一些 lua 脚本并在其中发现了这个混淆代码。好几个小时后,我没能找到如何去混淆它,并正在寻求一些帮助。
就我已经尝试过的而言,我注意到数字只是转换为显示一些功能的字符。但是,似乎在顶部分配的变量没有分配给任何东西,或者可能是某些unicode
在我的编辑器(原子)中不可见的特殊字符。
这是混淆的代码:
lua - 当玩家加入服务器时,每个人都会弹出 Garry's Mod MOTD
在按照教程在 Garry's Mod 中设置基本大厅屏幕后,我遇到了一个错误,每次玩家加入时,大厅屏幕都会在每个人的屏幕上弹出。
我是编程新手,我不确定应该考虑尝试什么。
我希望在加入时弹出“开始游戏”屏幕,除非玩家重新加入,否则永远不会再次出现,而是每次玩家加入时都会弹出。
https://www.youtube.com/watch?v=K9OIcalHbqQ&feature=youtu.be
以上是我在视频形式中遇到的问题。
lua - 我有一个 gLua 错误:错误的参数 #1 到 'lower'(需要字符串,得到 nil)
我想创建一个命令,在键入“!swap”时更改您的模型并使其在您再次键入并重复时返回到您以前的模型。
我已经尝试结束该功能并继续,但没有奏效。我需要有人来解释这个错误,因为我以前从未见过它,而且 google/gmod wiki 也没有显示它。
====================================
====================================
上面(在休息之间)是我得到的错误。它发生在第 3 行的“string.lower”位上,但我不知道代码实际上有什么问题,因为我以前没有看到过这个错误。