scarsty / kys-cpp Goto Github PK
View Code? Open in Web Editor NEW《金庸群侠传》c++复刻版,已完工
License: BSD 3-Clause "New" or "Revised" License
《金庸群侠传》c++复刻版,已完工
License: BSD 3-Clause "New" or "Revised" License
不好意思,我不是专业的,编程我不太懂。从玩家的角度,我玩DOS版时候针对z.dat文件做过一些调整,现在玩复刻版,不知道对应的修改文件是哪一个,我想调整一下武器附加值。
能在Mac下编译吗
大神牛B,YYDS
2023年11月20日,我尝试了Hades版本的金庸群侠传原版和苍龙逐日,以下是我的体验和观察:
2024年2月1日,我切换回了原版的战斗模式,使用苍龙逐日中的主角对着镜子战斗。以下是我的体验:
最后,看作者最近仍有commit,是否Hades版本有更新?只狼 和 Hades是一回事吗? 看以前的README写的“黑帝斯”,现在“只狼”
受卧龙苍天陨落影响,计划研究一个以化解为核心的动作系统。
下面先题字。
这个c++源码可以移植到安卓上吗?国外的好多开源pc移植游戏都有安卓版。
I'm using proxychains now,and QQ.app has no way to use sock5 proxy.
[ 55%] Building CXX object CMakeFiles/kys.dir/Save.cpp.o
/usr/bin/c++ -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../include -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/. -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../mlcc -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../others -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../local/include -O2 -std=c++17 -pthread -DNDEBUG -DUSE_SDL_MIXER_AUDIO -o CMakeFiles/kys.dir/Save.cpp.o -c /home/luffysman/workspace/playground/jynews/kys-cpp/src/Save.cpp
/home/luffysman/workspace/playground/jynews/kys-cpp/src/RunNodeFromJson.cpp: In member function ‘void RunNodeFromJson::create(YAML::Node&, RunNode*)’:
/home/luffysman/workspace/playground/jynews/kys-cpp/src/RunNodeFromJson.cpp:56:20: error: binding reference of type ‘YAML::Node&’ to ‘const YAML::Node’ discards qualifiers
create(n1, new_node.get());
^~
/home/luffysman/workspace/playground/jynews/kys-cpp/src/RunNodeFromJson.cpp:25:6: note: initializing argument 1 of ‘void RunNodeFromJson::create(YAML::Node&, RunNode*)’
void RunNodeFromJson::create(YAML::Node& n, RunNode* run_node)
^~~~~~~~~~~~~~~
In file included from /usr/include/yaml-cpp/yaml.h:17:0,
from /home/luffysman/workspace/playground/jynews/kys-cpp/src/RunNodeFromJson.h:3,
from /home/luffysman/workspace/playground/jynews/kys-cpp/src/RunNodeFromJson.cpp:1:
/usr/include/yaml-cpp/node/impl.h: In instantiation of ‘const T YAML::as_if<T, void>::operator()() const [with T = YAML::Node]’:
/usr/include/yaml-cpp/node/impl.h:139:31: required from ‘const T YAML::Node::as() const [with T = YAML::Node]’
/usr/include/yaml-cpp/node/convert.h:200:7: required from ‘static bool YAML::convert<std::vector<T> >::decode(const YAML::Node&, std::vector<T>&) [with T = YAML::Node]’
/usr/include/yaml-cpp/node/impl.h:116:27: required from ‘const T YAML::as_if<T, void>::operator()() const [with T = std::vector<YAML::Node>]’
/usr/include/yaml-cpp/node/impl.h:139:31: required from ‘const T YAML::Node::as() const [with T = std::vector<YAML::Node>]’
/home/luffysman/workspace/playground/jynews/kys-cpp/src/RunNodeFromJson.cpp:54:67: required from here
/usr/include/yaml-cpp/node/impl.h:116:27: error: incomplete type ‘YAML::convert<YAML::Node>’ used in nested name specifier
if (convert<T>::decode(node, t))
~~~~~~~~~~~~~~~~~~^~~~~~~~~
[ 56%] Building CXX object CMakeFiles/kys.dir/Scene.cpp.o
/usr/bin/c++ -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../include -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/. -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../mlcc -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../others -I/home/luffysman/workspace/playground/jynews/kys-cpp/src/../local/include -O2 -std=c++17 -pthread -DNDEBUG -DUSE_SDL_MIXER_AUDIO -o CMakeFiles/kys.dir/Scene.cpp.o -c /home/luffysman/workspace/playground/jynews/kys-cpp/src/Scene.cpp
CMakeFiles/kys.dir/build.make:809: recipe for target 'CMakeFiles/kys.dir/RunNodeFromJson.cpp.o' failed
make[2]: *** [CMakeFiles/kys.dir/RunNodeFromJson.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/luffysman/workspace/playground/jynews/kys-cpp/src'
CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/kys.dir/all' failed
make[1]: *** [CMakeFiles/kys.dir/all] Error 2
make[1]: Leaving directory '/home/luffysman/workspace/playground/jynews/kys-cpp/src'
Makefile:86: recipe for target 'all' failed
make: *** [all] Error 2
Hi there,
I can't quite find out that how to build certain object files of this game on Linux. Could you please provide a more detail instructions?
Here are the logs I found from console:
[ 88%] Building CXX object CMakeFiles/kys.dir/Zip.cpp.o
/usr/bin/c++ -I/home/foobar/kys-cpp-git/kys-cpp/src/../include -I/home/foobar/kys-cpp-git/kys-cpp/src/. -I/home/foobar/kys-cpp-git/kys-cpp/src/./others -O3 -std=c++11 -pthread -o CMakeFiles/kys.dir/Zip.cpp.o -c /home/foobar/kys-cpp-git/kys-cpp/src/Zip.cpp
/home/foobar/kys-cpp-git/kys-cpp/src/Zip.cpp: In static member function 'static int Zip::zip(std::__cxx11::string, std::vector<std::__cxx11::basic_string<char> >)':
/home/foobar/kys-cpp-git/kys-cpp/src/Zip.cpp:31:45: error: 'struct zip_fileinfo' has no member named 'dos_date'; did you mean 'dosDate'?
get_file_date(zip_file.c_str(), &zi.dos_date);
^~~~~~~~
dosDate
/home/foobar/kys-cpp-git/kys-cpp/src/Zip.cpp: In static member function 'static int Zip::unzip(std::__cxx11::string, std::vector<std::__cxx11::basic_string<char> >)':
/home/foobar/kys-cpp-git/kys-cpp/src/Zip.cpp:49:54: warning: passing NULL to non-pointer argument 3 of 'int unzLocateFile(unzFile, const char*, int)' [-Wconversion-null]
if (unzLocateFile(zip, filename.c_str(), NULL) != UNZ_OK)
^
make[2]: *** [CMakeFiles/kys.dir/build.make:573: CMakeFiles/kys.dir/Zip.cpp.o] Error 1
make[2]: Leaving directory '/home/foobar/kys-cpp-git/kys-cpp/src'
make[1]: *** [CMakeFiles/Makefile2:71: CMakeFiles/kys.dir/all] Error 2
make[1]: Leaving directory '/home/foobar/kys-cpp-git/kys-cpp/src'
make: *** [Makefile:87: all] Error 2
Whereas "error: 'struct zip_fileinfo' has no member named 'dos_date'
" , I found that the "dos_date
" was defined in "src/others/minishared.c
" and declared in "src/others/minishared.h
",
Any ideas how I can resolve this ?
Target: x86_64-pc-linux-gnu
Thread model: posix
gcc version 8.1.1 20180531 (GCC)
cmake 3.11.4
minizip 1.2.11
Thanks,
-Lin
非常困惑,
操作系统是windows10;编译环境是vs2019;第三方库用的vcpkg下载的。
共5个error:
错误 LNK1169
找到一个或多个多重定义的符号 kys
D:\projects\kys-c++\kys-cpp\x64\Release\kys.exe 1
错误(活动) E0070
不允许使用不完整的类型 kys
C:\src\vcpkg\installed\x64-windows\include\asio\impl\compose.hpp 62
在 class "asio::detail::composed_work_guard<Executor, > [其中 Executor=asio::system_executor, =void]" 所在行数:208 实例化期间检测
错误 LNK2005
"void __cdecl fmt::v7::vprint(class fmt::v7::basic_string_view,struct fmt::v7::format_args)" (?vprint@v7@fmt@@yaxv?$basic_string_view@D@12@Uformat_args@12@@z) 已经在 fmt.lib(fmt.dll) 中定义 kys
D:\projects\kys-c++\kys-cpp\src\BattleNetwork.obj 1
错误 LNK2005
"void __cdecl fmt::v7::detail::vprint_mojibake(struct _iobuf *,class fmt::v7::basic_string_view,struct fmt::v7::format_args)" (?vprint_mojibake@detail@v7@fmt@@YAXPEAU_iobuf@@v?$basic_string_view@D@23@Uformat_args@23@@z) 已经在 fmt.lib(fmt.dll) 中定义 kys
D:\projects\kys-c++\kys-cpp\src\BattleNetwork.obj 1
错误 LNK2005
"class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl fmt::v7::detail::vformat(class fmt::v7::basic_string_view,struct fmt::v7::format_args)" (?vformat@detail@v7@fmt@@ya?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@v?$basic_string_view@D@23@Uformat_args@23@@z) 已经在 fmt.lib(fmt.dll) 中定义 kys
D:\projects\kys-c++\kys-cpp\src\BattleNetwork.obj 1
操作系统:Xubuntu20.04LTS
游戏:kys-cpp
游戏资源:hades/game12/
版本:最新版
$ ln -s hades/game12
$ mv game12 game
存档一(需解压):
r1.grp32.zip
控制台输出:
two_zhangwuji.txt
(以前也玩过,没有遇到加到2个张无忌,可能是偶尔会遇到。我不会修bug,只能将张无忌离队2次,再重新收)
留1队伍空位
光明顶将金毛给张无忌,张无忌说: 你的队伍已满,我就直接去小村吧。张无忌加入,得到九阳真经。
来到小村,看到张无忌站在那里,对话张无忌加入,得到2个张无忌。
给张无忌修炼九阳真经,另一个张无忌会修炼上,是同一个对象。
战斗系统里选2个张无忌,上场的只有1个张无忌。
再加人提示队伍已满。
玩了游戏黑帝斯,认为凭借现有2D素材可以做一个即时战斗的系统。暂命名为金庸群侠传之黑帝斯。
查看并修改了 src/Application.cpp 文件中, 变量 s
的定义。在修改 s
定义之前,已能够正常运行 (ubuntu 22.04, 使用 game21 目录的资源).
int Application::run()
{
auto engine = Engine::getInstance();
engine->setStartWindowSize(1280, 720);
engine->init(); //引擎初始化之后才能创建纹理
engine->createAssistTexture(800, 450);
config();
//开始界面
//auto s = std::make_shared<TitleScene>(); // ok
//auto s = std::make_unique<TitleScene>(); // crash
//std::shared_ptr<TitleScene> s(new TitleScene); // ok
std::unique_ptr<TitleScene> s(new TitleScene); // crash
s->run();
return 0;
}
对应的报错信息:
MoneyItemID = 174
CompassItemID = 182
terminate called after throwing an instance of 'std::bad_weak_ptr'
what(): bad_weak_ptr
zsh: IOT instruction (core dumped) ./kys
疑问: 此处 s
变量没有被拷贝使用,为啥不能用 unique_ptr ?
作者,您好!
我按照说明,vcpkg下载了所有的库。
好不容易编译过去,运行时报错,应用程序无法正常启动0xc000007b,也不知道是不是动态库不对了,心塞。编译好的exe放到bin下面,跑不起来...
这是需要我把vcpkg里的dll替换掉游戏目录bin里的dll吗。
网盘资源文件中下载的kys-c++.zip(2020-09-30 14:44)的这个版本,进入到输入姓名界面,在输入框中按下键盘任意键就报错退出了,弹出信息如下:
问题签名:
问题事件名称: APPCRASH
应用程序名: kys.exe
应用程序版本: 0.0.0.0
应用程序时间戳: 5f6afdb3
故障模块名称: opencc.dll
故障模块版本: 0.0.0.0
故障模块时间戳: 5b6536ff
异常代码: c0000005
异常偏移: 000000000002a19d
OS 版本: 6.1.7601.2.1.0.256.1
区域设置 ID: 2052
其他信息 1: 5f0e
其他信息 2: 5f0ee22938bebf2caaab67a2dbeb1e49
其他信息 3: 5a20
其他信息 4: 5a207e5dc819a9bc44cf89a2fc0f8fa8
玩苍龙逐日使用物品[闯王军刀],门却没有打开,无法获得门内的宝藏
*物品[闯王宝藏图](24, 16)
闯王宝藏的所在地与平时的不同,新的地点在落花流水与血刀老祖战斗的雪山脚下
面对门上的刀槽,ESC打开物品栏,用WSAD选择物品,按下回车使用物品[闯王军刀],门却没有打开
操作系统:Xubuntu20.04LTS
资源文件:hades/game12/
kys是最新源码编译得到的
存档一:
r1.grp32.zip
存档文件为.zip需解压
应该发布一个可直接运行的程序,而不是还需要其它依赖和开发工具。
问下年轻人今年几岁啊?做这个花了多长时间啊?
大神好,我按照文档编译成功,但但运行时断言失败:
IDE:VS19 Community
第三方库:均使用vcpkg安装,其中由于vcpkg设置问题(https://github.com/Microsoft/vcpkg/commit/3d8ba3e775c13816f4c298ba16b8094e2affc4dd)而手动添加SDL2.lib与SDL2main.lib所在目录
烦请指点,不胜感激~
资源文件已下载,但是包里没有kysmod.ini还有其他的一系列配置文件呀
大武侠网页也打不开,求指路
Release编译下会提示bass.dll 找不到。
debug下如何调试运行 是不是把hades中的game文件夹放在x64文件夹下就可以了 编译的项目工程层级路径应该怎样的 资源文件放那个文件夹的
请大佬指点
git clone https://github.com/scarsty/kys-cpp.git
git clone https://github.com/scarsty/common.git
git clone https://github.com/scarsty/local-lib.git
, 复制include, lib到0步的目录下建议作者尝试submodules https://blog.github.com/2016-02-01-working-with-submodules/ 这样就可以避开再额外clone和复制了
下载ReadMe.MD中的资源文件,替换bin中的kys.exe即可
如果找不到 <*.h>头文件,需要 Properties->General->Windows SDK Version
换成最新的
好像不太可能,数据还好说,jymain里的逻辑代码 lua 转你这个框架 只能手动了吧
工作量太恐怖了
玩苍龙逐日收虚竹擂鼓山剧情,未得到秘籍及七宝指环,灵鹫宫路口有人阻拦不让进入。
操作系统:Xubuntu20.04LTS
游戏源码是最新版
资源文件hades/game12/
$ ln -s hades/game12/
$ mv game12 game
$ ./kys
游戏选择重新开始,取名“小小猪”,升道德75
收虚竹擂鼓山剧情,虚竹属性大涨,学会天山六阳掌和小无相功,并加资质。
却没有得到N本武功秘籍及七宝指环,灵鸠宫的路口有人阻拦不让进入。
(我不会修bug,如果确是bug,我不知道该找哪个目录的哪个文件,若有知道的请指点我)
造成的影响:灵鸠宫剧情没法展开。杀丁春秋由于没有七宝指环就无法做。
存档一:已收虚竹,得传功却不给武功秘籍及掌门指环,灵鸠宫的路口被人拦着不让过。
r1.grp32.zip
存档文件为.zip需解压
AIGC 开源产品,功能支持:文生图、图像编辑、图生短视频。礼貌询问是否有机会能够建立合作!
体验链接:https://magicmaker.openxlab.org.cn/
期待回复,感谢~
联络邮箱:[email protected]
debian sid, 运行wine64-stable kys game11
其中battle 210, 有个日月神教教徒位于地图右上角不可探测区域,导致战斗过程挂死。
我网上查了一下,2008年百度知道就有人问
“玩苍龙逐日发现走倚天邪线对玄慈使用成昆人头不起作用,拿不到倚天屠龙记怎么回事“。
不能先跟玄慈对话,若道德太高,会获得燃木刀法,造成成昆人头换倚天屠龙记的事件失效。
如果这是bug,那么都15年过去了,依然没有修复过吗?
当然,作者这个项目只是框架,好像跟剧情没有关系,苍龙逐日的bug估计作者也不会过问。
common中的FILE和convert等文件更改后,包含报错
请问 game下的资源文件在那里找
百度网盘下载下来的没有资源文件
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.