kill杀死不生成尸体(可用版本)

This commit is contained in:
wenhe committed 2026-09-24 15:35:27 +08:00
1 parent 11ed9214ce
commit 23598ed3dd
5 files changed
+125 -8

No files matched your search

@@ -33,6 +33,7 @@
================================================================================
"""
import time
import random
import mod.server.extraServerApi as serverApi
# ---- 网易API基础对象 ----
@@ -252,6 +253,9 @@ class FeatureDispatcher(BlueFoxServerSystem):
self.ListenForEvent(serverApi.GetEngineNamespace(),
serverApi.GetEngineSystemName(),
"MobDieEvent", self, self.OnEntityDie)
self.ListenForEvent(serverApi.GetEngineNamespace(),
serverApi.GetEngineSystemName(),
"PlayerFishingServerEvent", self, self.OnFishing)
# 7. TakeoutRequest —— 客户端拦截(碗/盘,汤锅/炒锅/油锅成品)放置预览后, 显式请求服务端盛出。
# 客户端系统 ClientFeatureDispatcher 用 NotifyToServer(TAKEOUT_EVENT) 发送,
# 服务端以 MOD_NAME + 客户端系统名 监听该自定义事件。
@@ -293,6 +297,9 @@ class FeatureDispatcher(BlueFoxServerSystem):
self.UnListenForEvent(serverApi.GetEngineNamespace(),
serverApi.GetEngineSystemName(),
"MobDieEvent", self, self.OnEntityDie)
self.UnListenForEvent(serverApi.GetEngineNamespace(),
serverApi.GetEngineSystemName(),
"PlayerFishingServerEvent", self, self.OnFishing)
self.UnListenForEvent(MOD_NAME, "ClientFeatureDispatcher",
TAKEOUT_EVENT, self, self.OnTakeoutRequest)
self.UnListenForEvent(MOD_NAME, "ClientFeatureDispatcher",
@@ -666,6 +673,30 @@ class FeatureDispatcher(BlueFoxServerSystem):
except Exception as e:
print "[FD-OnEntityDie-ERR]", e
def OnFishing(self, args):
"""
玩家收杆时、钓鱼掉落物生成前触发(PlayerFishingServerEvent)。
让 螃蟹(rtdd:crab)/龙虾(rtdd:lobster) 直接作为"钓上来的物品":
有几率把本次钓上来的东西【替换】成 螃蟹 或 龙虾 —— 不再像 After 事件那样
额外多掉一只, 更贴近原版"钓上来什么就是什么"。
args.关键字段: playerId / hookEntity / itemList(本次钓上的物品列表, 生成前可改)。
概率(草稿, 可调): 螃蟹 10% / 龙虾 6%。
"""
try:
playerId = args.get("playerId")
itemList = args.get("itemList")
if not playerId or not isinstance(itemList, list) or not itemList:
return
# 【测试用】概率 100%: 每次收杆都替换成 螃蟹/龙虾(50/50), 方便验证两者都能钓到。
# 测试完请调回(如 螃蟹0.10 / 龙虾0.06)。
if random.random() < 0.5:
sea = "rtdd:crab"
else:
sea = "rtdd:lobster"
args["itemList"] = [{"itemName": sea, "count": 1, "auxValue": 0}]
except Exception as e:
print "[FD-OnFishing-ERR]", e
def OnDestroy(self, args):
"""
玩家拆方块时触发。