發新話題
打印

顯示誰人扔出膽汁問題

[Close]

回復 5# 的帖子

其實server本身就無限hook(執行一次動作就hook 3次OnPlayerRunCmd)...所以柏斯你無須顧慮黎個。遊戲事件hook屬於事件被動hook,吾會太影響server本身,相反,小海既榴彈多連發插件就主動調用左無限hook,都吾會太影響server本身。其實我之前幫朋友寫既丟膽汁插件就係用fire event,加上item id就可以做出來。不過插件本身要絕對完善,插件運作過程就要寫得比較煩瑣。
如果無記錯,燃燒彈ID = 13(默認有event);
膽汁ID= 25;
土管炸彈ID = 14;

#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
public Plugin:myinfo =
{
name    = "L4D2_Tips",
author    = "MicroLeo",
description  = "Tips",
version   = "1.0",
url    = "N/A"
}
public OnPluginStart()
{
HookEvent("player_now_it", Event_NowVomit,EventHookMode_Post);
}
public Action:Event_NowVomit(Handle:event, const String:name[], bool:dontBroadcast)
{
new thrower = GetClientOfUserId(GetEventInt(event, "attacker"));
//new victim = GetClientOfUserId(GetEventInt(event, "victim")); //主要顯示丟膽汁玩家,受害者無必要。
if(thrower>0&&thrower<=MaxClients)
{
  if (IsClientInGame(thrower))
  {
   if(!GetEventBool(event, "by_boomer") && GetClientTeam(thrower)==2)
   {
    //PrintToChatAll("\x04玩家 \x05%N \x01扔出膽汁", thrower, victim); //問題代碼。一個%N通配2個client。只通配成功thrower.
    PrintToChatAll("\x01玩家 \x04%N \x01扔出膽汁", thrower);
   }
  }
}
}

以上代碼未測試過。自己測試

[ 本帖最後由 MicroLeo 於 2015-4-27 02:08 編輯 ]

TOP

發新話題