Grey83
не пишу плагины с весны 2022
- Сообщения
- 8,521
- Реакции
- 4,980
@Ice_Sochi, отловом наличия натива какого-то или лучше библиотеки (если клиентмод её регает, конечно).
К сожалению натива такого в км нет@Ice_Sochi, отловом наличия натива какого-то или лучше библиотеки (если клиентмод её регает, конечно).
CM_IsClientModUser())
?Так ему в любом случае придется юзать api clientmod'a, разве нет?@7pElllHuK, а как же нативCM_IsClientModUser())
?
Он сверяет зашел ли на сервер игрок через клиентмод, для его использования как раз таки и нужен ClientMod.smx (API CM)@7pElllHuK, а как же нативCM_IsClientModUser())
?
Хорошо, огромное спасибо@7pElllHuK, посмотри как написаны плагины для взаимодействием админменю SM. Там проверяется наличие библиотеки. Также в кое-каких (обычно в плагинах для випки рико) плагинах проверяется наличие натива.
Если нужного элемента не обнаружено, то код не выполняется. Но в любом случае нужно чтобы соответствующий инклюд был добавлен в исходник плагина.
Сообщения автоматически склеены:
@Synd1qate, это и тебе ответ, кстати.
Приветствую. Ну насчёт игры с ботом(-ами), можете обратиться сюдаДобрый! Подскажите, как можно побегать с ботом VIP чтобы его спасти? Я карту скачал as_Arctic. У меня не добавляется этот заложник. Я не знаю, как его добавить. Может есть плагины или нужно всего лиш добавить его типа bot_add_vip ? Спасибо. V34 SourceMod Version: 1.7.3-stable+5265
Пишут вот такое: игра сама случайным образом назначает VIP-ом одного из игроков в команде спецназа (CT). Если бот случайно становится VIP-ом, он будет выполнять свою роль..
По-моему возле имени должно появится слово VIP, но у меня ничего не происходит.
добавил вот этот плагин
L 09/07/2024 - 17:56:56: [SM] Displaying call stack trace for plugin "VIPMod.smx":
L 09/07/2024 - 17:56:56: [SM] [0] Line 19, vip/configuration.inc::RegisterCVars()
L 09/07/2024 - 17:56:56: [SM] [1] Line 35, VIPMod.sp::OnPluginStart()
ВозможноВсем привет!
Возможно ли что-то подобное и простенькое написать,как в этом плагине?
Ну только чтоб не по стимам было,а по флагам.
Или может возможно этот отредактировать.
Заранее благодарю
...
IdWitch[witchid] = IdWitch[witchid];
GetEntPropVector(witchid, Prop_Send, "m_vecOrigin", vecPos);
vecPos[0]+=vecDir[0];
vecPos[1]+=vecDir[1];
vecPos[2]+=vecDir[2];
AddWitch();
...
public TeleportWitch()
{
for (int entity = 1; entity <= GetMaxEntities(); entity++)
{
char netclass[64];
if (IsValidEdict(entity) && GetEntityNetClass(entity, netclass, sizeof(netclass)))
{
if(StrEqual(netclass, "Witch"))
{
if(entity != IdWitch[entity])
{
vecPos[0]+=vecDir[0]+20.0;
vecPos[1]+=vecDir[1]+20.0;
//vecPos[2]+=vecDir[2];
TeleportEntity(entity, vecPos, NULL_VECTOR, NULL_VECTOR);
}
}
}
}
}
Может что-то отсюда для себя подчеркнёшьВопрос такой, как лучше сделать телепортировать все аналогичные сущности до одной сущности и расположить их рядом до определенного радиуса?
PHP:... IdWitch[witchid] = IdWitch[witchid]; GetEntPropVector(witchid, Prop_Send, "m_vecOrigin", vecPos); vecPos[0]+=vecDir[0]; vecPos[1]+=vecDir[1]; vecPos[2]+=vecDir[2]; AddWitch(); ... public TeleportWitch() { for (int entity = 1; entity <= GetMaxEntities(); entity++) { char netclass[64]; if (IsValidEdict(entity) && GetEntityNetClass(entity, netclass, sizeof(netclass))) { if(StrEqual(netclass, "Witch")) { if(entity != IdWitch[entity]) { vecPos[0]+=vecDir[0]+20.0; vecPos[1]+=vecDir[1]+20.0; //vecPos[2]+=vecDir[2]; TeleportEntity(entity, vecPos, NULL_VECTOR, NULL_VECTOR); } } } } }
char sTarget[10];
int iUserId, iTarget;
hMenu.GetItem(iItem, sTarget, sizeof(sTarget));
iUserId = StringToInt(sTarget);
iTarget = GetClientOfUserId(iUserId);
void ShowUser(int iClient)
{
Menu hMenu = new Menu(MenuHandler_ShowPlayerMenu);
hMenu.ExitBackButton = true;
char sBuff[MAX_NAME_LENGTH], id[8];
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsClientSourceTV(i))
{
IntToString(GetClientUserId(i), id, sizeof(id));
GetClientName(i, sBuff, sizeof(sBuff));
hMenu.AddItem(id, sBuff);
}
}
hMenu.SetTitle("Выберите игрока (%i):\n", hMenu.ItemCount);
hMenu.Display(iClient, MENU_TIME_FOREVER);
}
public int MenuHandler_ShowPlayerMenu(Menu hMenu, MenuAction mAction, int iClient, int iItem)
{
switch(mAction)
{
case MenuAction_Select:
{
char iTarget[8];
hMenu.GetItem(iItem, iTarget, sizeof(iTarget));
}
case MenuAction_End: delete hMenu;
}
return 0;
}
Помогло, спасибо большое@7pElllHuK, попробуй размер для char, где у тебя UserId, сделать везде одинаковым и равным 12 (всё равно компилер округляет размер до большего числа, кратного 4).
Просто UserId может у тебя оказаться из 8 или более символов, а ты передаёшь только первые 7 из них.
Подскажите пожалуйста, что это за ошибка и из-за чего она появляется: Cbuf_AddTextWithMarkers: buffer overflow, сама ошибка в игре, 92 ксс
Спасибо большое, протестируюДумаю это описание и решение[ANY] Command and ConVar - Buffer Overflow Fixer (2.9a) [05-Aug-2024] - AlliedModders
[ANY] Command and ConVar - Buffer Overflow Fixer (2.9a) [05-Aug-2024] Pluginsforums.alliedmods.net