Grasscutters / Grasscutter

A server software reimplementation for a certain anime game.
https://grasscutter.io/
GNU Affero General Public License v3.0
16.31k stars 4.48k forks source link

[Feature Request] 添加自定义剧情编辑功能 Add custom plot editing function or applaction #949

Closed TAUnionOtto closed 2 years ago

TAUnionOtto commented 2 years ago

Describe the solution you'd like

有人有兴趣 research 并开发设置自定义剧情、以及自定义剧情编辑器的开发制作吗?如果能将 Grasscutters 变成一个大型的 3D GalGame 编辑器,我觉得会引爆整个二创圈子 XD

Anyone interested in researching & developing custom plots and custom plot editors? If Grasscutters can be turned into a large-scale 3D GalGame editor, I think it will detonate the entire fan-creation circle LOL

EN

Additional context 橙光制作工具 RPG Maker

Jiaxin000 commented 2 years ago

It's AMAZING

leonier-test commented 2 years ago

AFAIK quest scripts are server-side and all quest assets (models, text, voice) are client-side. You have to do both side to add your own quest.

zhaodice commented 2 years ago

CG非要做其实也可以,挟持分发服务器下载自定义的资源实现自定义的CG场景甚至模型,但,这好像新游戏没什么区别了

zhaodice commented 2 years ago

如果真的实现了,可能会把游戏改成原魔也说不定

Yazawazi commented 2 years ago

In my humble knowledge, I think this could probably be done by writing third-party plugins for GrassCutter that handle the associated custom content logic and MelonLoader Mods on the client side, or by modifying the local BLK file to add your own content. (It may require more work or be more complex) Actually, I'm not sure, it might be difficult, but it's really an interesting idea.

misaka10843 commented 2 years ago

一个很有趣的想法,但是如果是仅在服务端修改的话可能还不行,必须要在客户端稍作修改才可以 虽然我不知道任务中的NPC点与文本是否与客户端挂钩,但是如果是的话,那可能必须要修改客户端才能进行。 如果不是,应该就可以简单地添加几个任务(不能使用非客户端中的语音,模型等)

————Translated by deepl————

An interesting idea, but it might not work if it's only modified on the server side, it would have to be modified slightly on the client side to work I don't know if the NPC points and text in the quests are tied to the client, but if they are, then the client may have to be modified to do so. If not, it should be possible to simply add a few tasks (no non-client side voices, models, etc.)

mingjun97 commented 2 years ago

There are packets that allow to do remote code execution, e.g. WindSeedClientNotify & PlayerLuaShellNotify, not sure the possibility of utilizing these packets to implement the custom story. Note that these packets are currently being banned by Grasscutter since it's somehow dangerous for clients.

AZthemute commented 2 years ago

There are packets that allow to do remote code execution, e.g. WindSeedClientNotify & PlayerLuaShellNotify, not sure the possibility of utilizing these packets to implement the custom story. Note that these packets are currently being banned by Grasscutter since it's somehow dangerous for clients.

If these are required then how would this theoretical modding become mainstream? You wouldn't download software that can potentially do malicious RCE (if you're running locally) or connect to a server that can do malicious RCE and just trust it to not...

Anyway back on topic, would the anti-cheat potentially get angry if we modded the game like this or would it just not detect that? Yeah there would (hopefully) be no official server to ban us from, but maybe the anti-cheat could just shut down the game when it detects a mod or mod loader. Well there's only one way to find out I guess...

Secretboy-SMR commented 2 years ago

npc对话是客户端行为

KiminaNatsuki commented 2 years ago

First, WindseedClientNotify's usage is banned in code in order to prevent people executing malicious codes on other people's computer. Second, I will be closing this issues cause it's inactivity and possible usage of malicious remote code execution. Third, it would be best if this was made to be a plugin and not in server itself.

KiminaNatsuki commented 2 years ago

Extra: image