Скачать можно тутЯ видел на нескольких серверах, паутинку с ограниченным кол-вом использований за раунд(15 раз например). Может кто подскажет? Заранее спасибо.
Доброе утро, для начала нужно поймать событие смерти игрока, затем нужно получить id игрока, и после всего применить сброс к умершему игроку, примерно так:Простите, а можно что бы это ограничение сбивалось еще и после смерти?
public OnPluginStart()
{
HookEvent("player_death", OnPlayerDeath); //Ставим отлов для события player_death, как только произойдёт смерть сработает код из OnPlayerDeath
}
public OnPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast) //Если игрок умер, то всё что будет в блоке ниже выполниться на сервере.
{
new iClient = GetClientOfUserId(GetEventInt(event, "userid")); //(Здесь мы создаём локальную переменную iClient и записываем в неё ClientUserId, это нужно для того что бы знать ID умершего игрока )
for(new HGRAction:k = Hook; k <= Rope; k++) //(Это цыкл for, в данном случае в цикле создаётся, присваивается, сравнивается, и прибавляются всякие всякие данные не понятные нам=) Не будем об этом^_^)
{
g_RoundUses[iClient][k] = 0; //(так-как мы получили ID умершего игрока, то мы можем внутри этого блока подпрограммы выполнить действия над игроком, соответственно обнуляем лимит и радуемся)
}
}
Доброе утро, для начала нужно поймать событие смерти игрока, затем нужно получить id игрока, и после всего применить сброс к умершему игроку, примерно так:
PHP:public OnPluginStart() { HookEvent("player_death", OnPlayerDeath); //Ставим отлов для события player_death, как только произойдёт смерть сработает код из OnPlayerDeath } public OnPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast) //Если игрок умер, то всё что будет в блоке ниже выполниться на сервере. { new iClient = GetClientOfUserId(GetEventInt(event, "userid")); //(Здесь мы создаём локальную переменную iClient и записываем в неё ClientUserId, это нужно для того что бы знать ID умершего игрока ) for(new HGRAction:k = Hook; k <= Rope; k++) //(Это цыкл for, в данном случае в цикле создаётся, присваивается, сравнивается, и прибавляются всякие всякие данные не понятные нам=) Не будем об этом^_^) { g_RoundUses[iClient][k] = 0; //(так-как мы получили ID умершего игрока, то мы можем внутри этого блока подпрограммы выполнить действия над игроком, соответственно обнуляем лимит и радуемся) } }
Хочу сказать что скорее всего это работать не будет, даже если вы попытаетесь дописать этот код к основному плагину, дело в том что в самом плагине хука, сброс реализован немножечко иначе, и добавляя всего лишь одну новую функцию(в данном случае вы хотите что бы лимит сбрасывался после смерти), нужно переписывать более 50-70% основного плагина, ибо сброс в нём выполняется в начале раунда, хотя что-то мне подсказывает что я ошибаюсь по поводу переписывания плагина.
В любом случае путей реализации этой функции множество, каким пользоваться решать вам, прикрепил исправленный исходник, попробуйте может будет работать после смерти, но предупреждаю сразу что даже если и заработает то сброс лимита будет срабатывать два раза, после смерти, и в начале раунда, и кстати это тоже можно исправить, но как я уже говорил не факт что вообще работать будет, надо вникать, пробовать, тестировать, вообщем я в кс уже около полугода не играю, по этому к сожалению всю бесплатную помощь со своей доброй стороны, я вам предоставил, если реально хотите результата, то попросите кого-нибудь на форуме бесплатно помочь вам, я уверен такие ребята найдутся, ну или если сильно горит, можете сделать платный заказ у завсегдатых форма, ну или если не боитесь меня, и хотите с экономить, можете меня в ЛС попросить, я помогу о цене договоримся, хд=)
P.S: А если серьёзно ещё можно заменить хук начала раунда на хук спавна(это при том что игрок умрёт и реснется в этом же раунде что и умер, т.е лимит будет выдан повторно), с проверкой на живучесть, должно сработать, хз, кто-бы это всё проверял...
Мне это и нужно.сброс лимита будет срабатывать два раза, после смерти, и в начале раунда,
scripting -> include - > hgr.inc (если он отсутствует, то понятно дело будет сыпать ошибку)
не правда, лично скачал, перепроверил:Он отсутствовал в исходном архиве
//SourceMod Batch Compiler
// by the SourceMod Dev Team
//// hgrlimit.sp
//
// D:\server\csgo\addons\sourcemod\scripting\hgrlimit.sp(53) : warning 234: symbol "FCVAR_PLUGIN" is marked as deprecated: No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk.
//
//
// Code size: 6672 bytes
// Data size: 5056 bytes
// Stack/heap size: 16384 bytes
// Total requirements: 28112 bytes
//
// 1 Warning.
//
// Compilation Time: 0,23 sec
// ----------------------------------------
Press enter to exit ...
не правда, лично скачал, перепроверил:
То что там предупреждение я не виноват, это не моё, да и на работу влиять никак не будет. Просто не определяет переменную, ну как бы плагин просто под несколько игр написан, по этому так=) Не парьтесь крч.
Вы нашли выход?Я попробовал, не получилось, лимита вообще нет(
Я скачал эту паутинку все хорошо но никак не могу выключить сообщения в чате, не подскажите как?
Я скачал эту паутинку все хорошо но никак не могу выключить сообщения в чате, не подскажите как?