Grey83
не пишу плагины с весны 2022
- Сообщения
- 8,805
- Реакции
- 5,254
да, не поддерживаютсяметодмапы не поддерживаются вроде как на 1.6.3. будет логи сыпать мне кажется.
нет, не будет сыпать, т.к. просто не скомпилится
да, не поддерживаютсяметодмапы не поддерживаются вроде как на 1.6.3. будет логи сыпать мне кажется.
public void heal_begin(Event event, const char[] name, bool dontBroadcast)
{
int client = GetClientOfUserId(event.GetInt("subject"));
int userid = GetClientOfUserId(event.GetInt("userid"));
if(IsClientInGame(client) && GetClientTeam(client) == 2)
{
char TXT[56];
Handle menu = CreateMenu(ShowMenu2);
SetMenuTitle(menu, "%T", "StateofHealth", client); <<< Тут
Format(TXT, sizeof(TXT), "%T", "HP", GetEntProp(client, Prop_Send, "m_iHealth"), GetEntProp(client, Prop_Send, "m_iMaxHealth"));
AddMenuItem(menu, "0", TXT);
Format(TXT, sizeof(TXT), "%T", "HB", GetEntPropFloat(client, Prop_Send, "m_healthBuffer"));
AddMenuItem(menu, "1", TXT);
Format(TXT, sizeof(TXT), "%T", "ReviveCount", GetEntProp(client, Prop_Send, "m_currentReviveCount"), GetConVarInt(FindConVar("survivor_max_incapacitated_count")));
AddMenuItem(menu, "2", TXT);
SetMenuExitButton(menu, true);
DisplayMenu(menu, userid, 5);
}
}
L 12/06/2021 - 14:39:22: SourceMod error session started
L 12/06/2021 - 14:39:22: Info (map "c3m2_swamp") (file "D:\serverl4d2\left4dead2\addons\sourcemod\logs\errors_20211206.log")
L 12/06/2021 - 14:39:22: [SM] Exception reported: String formatted incorrectly - parameter 5 (total 4)
L 12/06/2021 - 14:39:22: [SM] Blaming: Player_Information.smx
L 12/06/2021 - 14:39:22: [SM] Call stack trace:
L 12/06/2021 - 14:39:22: [SM] [0] SetMenuTitle
L 12/06/2021 - 14:39:22: [SM] [1] Line 28, C:\Users\Raptor\Desktop\scripting l4d2\Player_Information.sp::heal_begin
L 12/06/2021 - 14:39:23: [SM] Exception reported: String formatted incorrectly - parameter 5 (total 4)
Видимо в переводе есть еще параметры, которые ты не передалИз-за чего ошибка?
PHP:public void heal_begin(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("subject")); int userid = GetClientOfUserId(event.GetInt("userid")); if(IsClientInGame(client) && GetClientTeam(client) == 2) { char TXT[56]; Handle menu = CreateMenu(ShowMenu2); SetMenuTitle(menu, "%T", "StateofHealth", client); <<< Тут Format(TXT, sizeof(TXT), "%T", "HP", GetEntProp(client, Prop_Send, "m_iHealth"), GetEntProp(client, Prop_Send, "m_iMaxHealth")); AddMenuItem(menu, "0", TXT); Format(TXT, sizeof(TXT), "%T", "HB", GetEntPropFloat(client, Prop_Send, "m_healthBuffer")); AddMenuItem(menu, "1", TXT); Format(TXT, sizeof(TXT), "%T", "ReviveCount", GetEntProp(client, Prop_Send, "m_currentReviveCount"), GetConVarInt(FindConVar("survivor_max_incapacitated_count"))); AddMenuItem(menu, "2", TXT); SetMenuExitButton(menu, true); DisplayMenu(menu, userid, 5); } } L 12/06/2021 - 14:39:22: SourceMod error session started L 12/06/2021 - 14:39:22: Info (map "c3m2_swamp") (file "D:\serverl4d2\left4dead2\addons\sourcemod\logs\errors_20211206.log") L 12/06/2021 - 14:39:22: [SM] Exception reported: String formatted incorrectly - parameter 5 (total 4) L 12/06/2021 - 14:39:22: [SM] Blaming: Player_Information.smx L 12/06/2021 - 14:39:22: [SM] Call stack trace: L 12/06/2021 - 14:39:22: [SM] [0] SetMenuTitle L 12/06/2021 - 14:39:22: [SM] [1] Line 28, C:\Users\Raptor\Desktop\scripting l4d2\Player_Information.sp::heal_begin L 12/06/2021 - 14:39:23: [SM] Exception reported: String formatted incorrectly - parameter 5 (total 4)
"Phrases"
{
"BW_Screen"
{
"ru" "Игрок с Чёрно-Белым экраном:"
"en" "Black & White Screen Player:"
"es" "Reproductor de pantalla en blanco y negro:"
}
"PlayerDead"
{
"ru" "Вы можете реанимировать:"
"en" "You can reanimate:"
"es" "Puedes reanimar:"
}
"StateofHealth"
{
"ru" "Состояние %N"
"en" "Condition %N"
"es" "Condición %N"
}
"HP"
{
"ru" "Здоровье - %d/%d"
"en" "Health - %d/%d"
"es" "Salud - %d/%d"
}
"HB"
{
"ru" "Болеутоляющее - %.1f"
"en" "Pain reliever - %.1f"
"es" "Analgésico - %.1f"
}
"ReviveCount"
{
"ru" "Макс Кол-во Выведенных из Строя - %d/%d"
"en" "Max Incapacitate Count - %d/%d"
"es" "Conteo Máximo de Incapacitados - %d/%d"
}
}
SetMenuTitle(menu, "%T", "StateofHealth", client, client);Из-за чего ошибка?
PHP:public void heal_begin(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("subject")); int userid = GetClientOfUserId(event.GetInt("userid")); if(IsClientInGame(client) && GetClientTeam(client) == 2) { char TXT[56]; Handle menu = CreateMenu(ShowMenu2); SetMenuTitle(menu, "%T", "StateofHealth", client); <<< Тут Format(TXT, sizeof(TXT), "%T", "HP", GetEntProp(client, Prop_Send, "m_iHealth"), GetEntProp(client, Prop_Send, "m_iMaxHealth")); AddMenuItem(menu, "0", TXT); Format(TXT, sizeof(TXT), "%T", "HB", GetEntPropFloat(client, Prop_Send, "m_healthBuffer")); AddMenuItem(menu, "1", TXT); Format(TXT, sizeof(TXT), "%T", "ReviveCount", GetEntProp(client, Prop_Send, "m_currentReviveCount"), GetConVarInt(FindConVar("survivor_max_incapacitated_count"))); AddMenuItem(menu, "2", TXT); SetMenuExitButton(menu, true); DisplayMenu(menu, userid, 5); } } L 12/06/2021 - 14:39:22: SourceMod error session started L 12/06/2021 - 14:39:22: Info (map "c3m2_swamp") (file "D:\serverl4d2\left4dead2\addons\sourcemod\logs\errors_20211206.log") L 12/06/2021 - 14:39:22: [SM] Exception reported: String formatted incorrectly - parameter 5 (total 4) L 12/06/2021 - 14:39:22: [SM] Blaming: Player_Information.smx L 12/06/2021 - 14:39:22: [SM] Call stack trace: L 12/06/2021 - 14:39:22: [SM] [0] SetMenuTitle L 12/06/2021 - 14:39:22: [SM] [1] Line 28, C:\Users\Raptor\Desktop\scripting l4d2\Player_Information.sp::heal_begin L 12/06/2021 - 14:39:23: [SM] Exception reported: String formatted incorrectly - parameter 5 (total 4)
SetMenuTitle(menu, "%T", "StateofHealth", client, client);
Спасибо.
Приветствую!
Может кто подправит, что бы плагин банил, а не кикал и вывод причины бана через softdetector.phrases.txt.
Заранее благодарен.
"Phrases"
{
"BanReason"
{
"en" "You were banned for software"
"ru" "Вы были забанены за софт"
}
}
С доступом по флагу, проблем нет. Просто хотелось убрать этот ненужный пункт от лишних глаз. А то начинают баловаться порой…@Голос_в_ночи, там на столько убогий код что лезть в него противно, вкратце там переписывать все придется чтобы достичь того что тебе нужно. В чем проблема с доступом через !admin?
Да говорю же, что с флагом доступа нет проблем) Он и через конфиг меняется) Если пункт убрать и добавить на него команду, это геммор, тогда будем довольствоваться тем что есть…@Голос_в_ночи, флаг там внутри кода изменить можно, по умолчанию ADMIN_KICK вроде стоит
UPD: исправлено. Это уже рабочий вариант:Нужен плагин с проверкой на вип (Рико)
Если у игрока нет вип привелегии, то его кикнет с причиной, желательно которую я могу сменить на свою.
Готов скинуть за готовый вариант 100ку на киви.
#pragma semicolon 1
#pragma newdecls required
#include vip_core
char szGroup[] = "Gold"; // Если тут пусто, то кикнет любого игрока, у которого нет VIP. Если тут группа, то кикнет тех випов, у кого её нет
char szReazon[] = "слыш тебе суда нельзя"; // Причина кика
public void VIP_OnClientLoaded(int client, bool bIsVIP)
{
if(!IsFakeClient(client))
{
if(szGroup[0])
{
if(bIsVIP)
{
char szGroupClient[128];
VIP_GetClientVIPGroup(client, szGroupClient, 128);
if(VIP_IsValidVIPGroup(szGroup))
{
if(strcmp(szGroupClient, szGroup)) KickClient(client, szReazon);
}
else SetFailState("Группы \"%s\" не существует. Впишите корректное название!", szGroup);
}
}
else
{
if(!bIsVIP) KickClient(client, szReazon);
}
}
}
// C:\Users\╥шьєЁ\Desktop\provip.sp(13) : error 017: undefined symbol "szGroupClient"C-подобный:#pragma semicolon 1 #pragma newdecls required #include vip_core char szGroup[] = "Gold"; // Если тут пусто, то кикнет любого игрока, у которого нет VIP. Если тут группа, то кикнет тех випов, у кого её нет char szReazon[] = "слыш тебе суда нельзя"; // Причина кика public void OnClientPostAdminCheck(int client) { if(!IsFakeClient(client)) { if(szGroupClient[0]) { if(VIP_IsClientVIP(client)) { char szGroupClient[128]; VIP_GetClientVIPGroup(client, szGroupClient, 128); if(VIP_IsValidVIPGroup(szGroupClient) && strcmp(szGroupClient, szGroup)) KickClient(client, szReazon); } } else { if(!VIP_IsClientVIP(client)) KickClient(client, szReazon); } } }
Замени szGroupClient[0] на szGroup[0]// C:\Users\╥шьєЁ\Desktop\provip.sp(13) : error 017: undefined symbol "szGroupClient"
// C:\Users\╥шьєЁ\Desktop\provip.sp(13) : warning 215: expression has no effect
// C:\Users\╥шьєЁ\Desktop\provip.sp(13) : error 001: expected token: ";", but found "]"
// C:\Users\╥шьєЁ\Desktop\provip.sp(13) : error 029: invalid expression, assumed zero
// C:\Users\╥шьєЁ\Desktop\provip.sp(13) : fatal error 190: too many error messages on one line
Ошибка при компиляции
Напиши номер киви в личку!C-подобный:#pragma semicolon 1 #pragma newdecls required #include vip_core char szGroup[] = "Gold"; // Если тут пусто, то кикнет любого игрока, у которого нет VIP. Если тут группа, то кикнет тех випов, у кого её нет char szReazon[] = "слыш тебе суда нельзя"; // Причина кика public void OnClientPostAdminCheck(int client) { if(!IsFakeClient(client)) { if(szGroupClient[0]) { if(VIP_IsClientVIP(client)) { char szGroupClient[128]; VIP_GetClientVIPGroup(client, szGroupClient, 128); if(VIP_IsValidVIPGroup(szGroupClient) && strcmp(szGroupClient, szGroup)) KickClient(client, szReazon); } } else { if(!VIP_IsClientVIP(client)) KickClient(client, szReazon); } } }
сделал теперь не пускает на сервер, хотя вип естьЗамени szGroupClient[0] на szGroup[0]
/**
* Вызывается когда игрок был загружен.
*
* @param iClient Индекс игрока.
* @param bIsVIP Имеет ли игрок VIP-статус.
*
* @noreturn
*/
forward void VIP_OnClientLoaded(int iClient, bool bIsVIP);