Dr.Panok
Участник
- Сообщения
- 11
- Реакции
- 0
Попробовал переделать данный модуль для обычных игроков. Работает, но в логах сыпит ошибкой.
Сам плагин.
12/11/2018 - 06:25:28: [SM] Exception reported: Client index 0 is invalid
L 12/11/2018 - 06:25:28: [SM] Blaming: showdamage.smx
L 12/11/2018 - 06:25:28: [SM] Call stack trace:
L 12/11/2018 - 06:25:28: [SM] [0] StartMessage
L 12/11/2018 - 06:25:28: [SM] [1] Line 31, C:\Users\Panok\Desktop\Counter-Strike Source\SourceMod\showdamage.sp::SendHudMsg
L 12/11/2018 - 06:25:28: [SM] [2] Line 23, C:\Users\Panok\Desktop\Counter-Strike Source\SourceMod\showdamage.sp::Event_PlayerHurt
L 12/11/2018 - 06:30:58: [SM] Exception reported: Client index 0 is invalid
L 12/11/2018 - 06:25:28: [SM] Blaming: showdamage.smx
L 12/11/2018 - 06:25:28: [SM] Call stack trace:
L 12/11/2018 - 06:25:28: [SM] [0] StartMessage
L 12/11/2018 - 06:25:28: [SM] [1] Line 31, C:\Users\Panok\Desktop\Counter-Strike Source\SourceMod\showdamage.sp::SendHudMsg
L 12/11/2018 - 06:25:28: [SM] [2] Line 23, C:\Users\Panok\Desktop\Counter-Strike Source\SourceMod\showdamage.sp::Event_PlayerHurt
L 12/11/2018 - 06:30:58: [SM] Exception reported: Client index 0 is invalid
#pragma semicolon 1
#include <sourcemod>
public Plugin:myinfo =
{
name = "[VIP] Show Damage Extended (CSS)",
author = "R1KO",
version = "1.0.0"
};
public OnPluginStart()
{
HookEventEx("player_hurt", Event_PlayerHurt);
}
public Event_PlayerHurt(Handle:hEvent, const String:sEvName[], bool:dontBroadcast)
{
new iClient = GetClientOfUserId(GetEventInt(hEvent, "attacker"));
{
decl String:sBuffer[32];
FormatEx(sBuffer, sizeof(sBuffer), "- %i", GetEventInt(hEvent, "dmg_health"));
SendHudMsg(iClient, 1, sBuffer, 0.5, 0.5, 1.5, {255,0,0,255}, {0,0,255,255}, 0.0, 0, 0.0, 0.0);
}
}
SendHudMsg(iClient, iChannel, const String:sMessage[], Float:pos1, Float:pos2, Float:time = 2.0, const color1[4] = {255,0,0,255}, const color2[4]={0,0,255,255}, Float:fxtime=1.0, effect = 0, Float:fadein=1.0, Float:fadeout=1.0)
{
decl iClients[1], Handle:hBuffer;
iClients[0] = iClient;
hBuffer = StartMessage("HudMsg", iClients, 1);
if (hBuffer)
{
BfWriteByte(hBuffer, iChannel); // channel
BfWriteFloat(hBuffer, pos1); // x
BfWriteFloat(hBuffer, pos2); // y
BfWriteByte(hBuffer, color1[0]); // r
BfWriteByte(hBuffer, color1[1]); // g
BfWriteByte(hBuffer, color1[2]); // b
BfWriteByte(hBuffer, color1[3]); // a
BfWriteByte(hBuffer, color2[0]); // r
BfWriteByte(hBuffer, color2[1]); // g
BfWriteByte(hBuffer, color2[2]); // b
BfWriteByte(hBuffer, color2[3]); // a
BfWriteByte(hBuffer, effect); // effect
BfWriteFloat(hBuffer, fadein); // fade in
BfWriteFloat(hBuffer, fadeout); // fade out
BfWriteFloat(hBuffer, time); // holdtime
BfWriteFloat(hBuffer, fxtime); // fxtime
BfWriteString(hBuffer, sMessage); // message
EndMessage();
}
}
#include <sourcemod>
public Plugin:myinfo =
{
name = "[VIP] Show Damage Extended (CSS)",
author = "R1KO",
version = "1.0.0"
};
public OnPluginStart()
{
HookEventEx("player_hurt", Event_PlayerHurt);
}
public Event_PlayerHurt(Handle:hEvent, const String:sEvName[], bool:dontBroadcast)
{
new iClient = GetClientOfUserId(GetEventInt(hEvent, "attacker"));
{
decl String:sBuffer[32];
FormatEx(sBuffer, sizeof(sBuffer), "- %i", GetEventInt(hEvent, "dmg_health"));
SendHudMsg(iClient, 1, sBuffer, 0.5, 0.5, 1.5, {255,0,0,255}, {0,0,255,255}, 0.0, 0, 0.0, 0.0);
}
}
SendHudMsg(iClient, iChannel, const String:sMessage[], Float:pos1, Float:pos2, Float:time = 2.0, const color1[4] = {255,0,0,255}, const color2[4]={0,0,255,255}, Float:fxtime=1.0, effect = 0, Float:fadein=1.0, Float:fadeout=1.0)
{
decl iClients[1], Handle:hBuffer;
iClients[0] = iClient;
hBuffer = StartMessage("HudMsg", iClients, 1);
if (hBuffer)
{
BfWriteByte(hBuffer, iChannel); // channel
BfWriteFloat(hBuffer, pos1); // x
BfWriteFloat(hBuffer, pos2); // y
BfWriteByte(hBuffer, color1[0]); // r
BfWriteByte(hBuffer, color1[1]); // g
BfWriteByte(hBuffer, color1[2]); // b
BfWriteByte(hBuffer, color1[3]); // a
BfWriteByte(hBuffer, color2[0]); // r
BfWriteByte(hBuffer, color2[1]); // g
BfWriteByte(hBuffer, color2[2]); // b
BfWriteByte(hBuffer, color2[3]); // a
BfWriteByte(hBuffer, effect); // effect
BfWriteFloat(hBuffer, fadein); // fade in
BfWriteFloat(hBuffer, fadeout); // fade out
BfWriteFloat(hBuffer, time); // holdtime
BfWriteFloat(hBuffer, fxtime); // fxtime
BfWriteString(hBuffer, sMessage); // message
EndMessage();
}
}