kill杀死不生成尸体(可用版本)
This commit is contained in:
1 parent
11ed9214ce
commit
23598ed3dd
5 files changed
+125
-8
No files matched your search
+31
@@ -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):
|
||||
"""
|
||||
玩家拆方块时触发。
|
||||
|
||||
Reference in new issue
Block a user