jiangwe5082
发表于 2017-5-4 09:43:10
本帖最后由 jiangwe5082 于 2017-5-4 11:06 编辑
jiangwe5082 发表于 2017-5-3 20:42
我运行后了 提示这个错误!哪点需要改进!
L 05/03/2017 - 20:38:45: Start of error session.
...
L 05/03/2017 - 20:38:45: Function "InstallGameRules" not found
L 05/03/2017 - 20:38:45: Displaying debug trace (plugin "Fix_RoundTimer.amxx")
L 05/03/2017 - 20:38:45: Run time error 10: native error (native "OrpheuGetFunction")
L 05/03/2017 - 20:38:45: Fix_RoundTimer.sma::plugin_precache (line 27)
按C4后提示
L 05/04/2017 - 11:01:38: Invalid memory structure "m_iRoundTimeSecs"
L 05/04/2017 - 11:01:38: Run time error 10 (plugin "Fix_RoundTimer.amxx") (native "OrpheuMemorySetAtAddress") - debug not enabled!
L 05/04/2017 - 11:01:38: To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
还是这个问题 你发的orpheu文件我也复制到amxmodx\configs目录下
modules.ini里orpheu设置了
modules文件夹也复制了orpheu_amxx.dll
哪地方出了问题啊 找不到原因了
zhangsheng
发表于 2017-5-4 15:53:10
可能1.5用不了orpheu模块吧。我记得1.5连hamsandwich模块都用不了的。估计这个模块也用不了吧
jiangwe5082
发表于 2017-5-5 10:37:10
1.6 我也试过了 也不好用
public plugin_precache() OrpheuRegisterHook( OrpheuGetFunction( "InstallGameRules" ), "OnInstallGameRules", OrpheuHookPost ); 问题就在这行代码 不知道啥原因{:6_190:}
jiangwe5082
发表于 2017-5-5 10:40:25
jiangwe5082 发表于 2017-5-4 09:43
L 05/03/2017 - 20:38:45: Function "InstallGameRules" not found
L 05/03/2017 - 20:38:45:...
1.6 我也试过了 也不好用
public plugin_precache() OrpheuRegisterHook( OrpheuGetFunction( "InstallGameRules" ), "OnInstallGameRules", OrpheuHookPost ); 问题就在这行代码 不知道啥原因
jiangwe5082
发表于 2017-5-5 10:42:06
zhangsheng 发表于 2017-5-4 15:53
可能1.5用不了orpheu模块吧。我记得1.5连hamsandwich模块都用不了的。估计这个模块也用不了吧 ...
1.6 我也试过了 也不好用
public plugin_precache() OrpheuRegisterHook( OrpheuGetFunction( "InstallGameRules" ), "OnInstallGameRules", OrpheuHookPost ); 问题就在这行代码 不知道啥原因
zhangsheng
发表于 2017-5-5 19:25:57
1.6根本不需要这种同步C4爆炸时间的插件。因为1.6从2004年版本更新以后就增加了放C4同步爆炸时间功能。不需要插件来同步,这个插件只是针对1.5开发的。至于1.5为什么不能使用,估计是1.5压根就不支持orpheu模块,毕竟这个orpheu模块是通过内存来修改的,1.5连hamsandwich这种模块都不支持。估计这个模块也用不了,你还是规规矩矩的写代码来设置下包以后回合时间锁定0开局恢复回合时间。
zhangsheng
发表于 2017-5-5 19:27:19
你说的那个错误是注入内存错误,只有模块不支持才会提示。还有内存地址错误才会显示。
jiangwe5082
发表于 2017-5-5 19:33:20
zhangsheng 发表于 2017-5-5 19:25
1.6根本不需要这种同步C4爆炸时间的插件。因为1.6从2004年版本更新以后就增加了放C4同步爆炸时间功能。不需 ...
恩 谢谢了 这2天麻烦你了!!!{:6_201:}
zhangsheng
发表于 2017-5-5 21:12:51
#include <amxmodx>
public plugin_init()
{
register_plugin("bomb planted round time", "1.0", "zhangsheng")
register_logevent("roundstart", 2, "0=World triggered", "1=Round_Start")
register_logevent("logevent_function_p", 3, "2=Planted_The_Bomb")
}
public roundstart()
{
set_msg_block(get_user_msgid("RoundTime"), BLOCK_NOT)
}
public logevent_function_p()
{
set_msg_block(get_user_msgid("RoundTime"), BLOCK_SET)
}
zhangsheng
发表于 2017-5-5 21:30:34
对了你去amxmodx/configs/orpheu/memory/CGameRulesOffsets用记事本把CGameRulesOffsets打开然后找到这2段代码带有windows的value编码,由于这个文件使用的是1.6游戏的编码56和64这里需要改城1.5的value编码,具体是多少我不清楚因为我从2007年开始就没在接触过1.5这个需要你去问。
"name" : "m_flRoundCount",
"type" : "long",
"memoryType": "data",
"identifiers" :
[
{
"os" : "windows",
"mod" : "cstrike",
"value" : 56
},
{
"os" : "linux",
"mod" : "cstrike",
"value" : 48
}
]
},
{
"name" : "m_iRoundTimeSecs",
"type" : "int",
"memoryType": "data",
"identifiers" :
[
{
"os" : "windows",
"mod" : "cstrike",
"value" : 64
},
{
"os" : "linux",
"mod" : "cstrike",
"value" : 56