求生之路2 SourceMod插件:马格南舌头传送
#include
// 定义舌头实体ID int g_iTongueEnt = -1;
// 定义舌头起始位置和结束位置 Vector g_vecTongueStart; Vector g_vecTongueEnd;
// 定义舌头持续时间 float g_flTongueDuration = 15.0;
// 创建舌头实体 void CreateTongue() { // 获取玩家射击的起始位置和方向 Vector vecStart, vecDirection; int iPlayer = GetClientOfUserId(GetEntData(pEntity, EntProp_Client)); GetPlayerEyePosition(iPlayer, vecStart); GetPlayerForwardVector(iPlayer, vecDirection);
// 计算舌头结束位置
g_vecTongueEnd = vecStart + vecDirection * 1000.0;
// 创建舌头实体
g_iTongueEnt = CreateEntityByName("beam");
DispatchKeyValue(g_iTongueEnt, "renderfx", "0");
DispatchKeyValue(g_iTongueEnt, "model", "sprites/laserbeam.vmt");
DispatchKeyValue(g_iTongueEnt, "StartEntity", iPlayer);
DispatchKeyValue(g_iTongueEnt, "EndEntity", g_iTongueEnt);
DispatchKeyValue(g_iTongueEnt, "width", "10");
DispatchKeyValue(g_iTongueEnt, "texture", "sprites/laserbeam.vmt");
DispatchKeyValue(g_iTongueEnt, "noise", "0");
DispatchKeyValue(g_iTongueEnt, "framestart", "0");
DispatchKeyValue(g_iTongueEnt, "scrollrate", "0");
DispatchKeyValue(g_iTongueEnt, "frameend", "0");
DispatchKeyValue(g_iTongueEnt, "rendermode", "5");
DispatchKeyValue(g_iTongueEnt, "renderamt", "255");
DispatchKeyValue(g_iTongueEnt, "rendercolor", "255 0 0");
DispatchSpawn(g_iTongueEnt);
// 设置舌头位置
DispatchKeyValue(g_iTongueEnt, "startposition", vecStart);
DispatchKeyValue(g_iTongueEnt, "endposition", g_vecTongueEnd);
// 设置舌头持续时间
CreateTimer(g_flTongueDuration, RemoveTongue);
}
// 移除舌头实体 void RemoveTongue() { if (g_iTongueEnt != -1) { DispatchRemoveEntity(g_iTongueEnt); g_iTongueEnt = -1; } }
// 处理按键事件 public Action OnKeyPress(int iClient, int iKey, bool bDown) { if (iKey == KEY_SPACE && bDown) { // 检查舌头实体是否存在 if (g_iTongueEnt != -1) { // 移除舌头实体 RemoveTongue(); } else { // 创建舌头实体 CreateTongue(); } }
return Plugin_Continue;
}
// 插件初始化 public void OnPluginStart() { // 注册按键事件 RegAdminCommand("keyPress", OnKeyPress, ADMFLAG_ALL, "KeyPress"); }
// 插件关闭 public void OnPluginEnd() { // 移除舌头实体 RemoveTongue(); }
原文地址: https://www.cveoy.top/t/topic/pEcp 著作权归作者所有。请勿转载和采集!