Лимит ножей GunGame

Тема в разделе "Запросы", создана пользователем _Lexa_, 17 янв 2013.

  1. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Добрый вечер пользователи форума!
    Такой вопрос, существует ли в природе плагин для ограничения количества ножей для мода GunGame (допустим на одну жизнь 2 ножа)
    Или может кто то напишет на заказ?
    Вообщем жду ваших ответов в этой ветке или ЛС
     
  2. EPacker2

    EPacker2 3D-моделист

    Сообщения:
    1.008
    Симпатии:
    608
    Вроде как, у плагина метательных ножей, есть квар лимита...
     
  3. ☆★☆БАТЯ☆★☆™

    ☆★☆БАТЯ☆★☆™

    Сообщения:
    2.585
    Симпатии:
    1.341
    Думаю он имел ввиду, чтобы на гангейме можно было за одну свою жизнь зарезать ножом только два раза, после чего нож исчезает (видимо достали резальщики, которые прокачивают уровни только с помощью ножа).
     
    R1KO и _Lexa_ нравится это.
  4. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.515
    Симпатии:
    1.969
    Насколько я помню, есть плагин изменения урона от оружия - как вариант, от ножа сделать урон раза в 3 меньше, чтобы куда сложнее было убить. :acute:
     
    _Lexa_ нравится это.
  5. ☆★☆БАТЯ☆★☆™

    ☆★☆БАТЯ☆★☆™

    Сообщения:
    2.585
    Симпатии:
    1.341
    AlmazON, Думаю это не выход :no:, если привыкли резать бегать, так и будут с ножом.
     
  6. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.221
    Симпатии:
    914
    Сделать проверку на количество ножей за жизнь и после превышения лимита стрипнуть игрока.
     
  7. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    Оффтоп
     
  8. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.221
    Симпатии:
    914
    Я в кастомных режимах CS: S полный ноль, даже толком не понимаю, о чём речь.

    Обычно метод стрипания (stripe, wipe player) применяют как раз как кастомное наказание вместо убийства или ослепления. У игрока не будет брони или оружия, так что ему останется только прятаться или убегать.
     
  9. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.221
    Симпатии:
    914
    AlmazON, во-первых, в SM по умолчанию не существует wipe/stripe, а автору же нужно как-то избавлять игрока от оружия, так? Так. Методы могут быть разные, но смысл один:
     
  10. ☆★☆БАТЯ☆★☆™

    ☆★☆БАТЯ☆★☆™

    Сообщения:
    2.585
    Симпатии:
    1.341
    Я близко не скриптер, поэтому только предположения для плагина: можно ли взять кусок или принцип кода из плагина Weapon Restrict 3.0.9, и при событии второго ранения (либо убийства и ранения, либо двух убийств, но думаю все же двух дамагов лучше) ножом, делать запрет ножа на игроке? Только догадки...
     
  11. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Пример удаления ножа после двух убийств.

    Код:
    /* Plugin Template generated by Pawn Studio */
    
    #include <sourcemod>
    #include <sdktools>
    
    public Plugin:myinfo = 
    {
    	name = "nazivaite kak hotite",
    	author = "Impulse",
    	description = "",
    	version = "1.0",
    	url = ""
    }
    
    new kills[64];
    new Handle:cvarCount = INVALID_HANDLE;
    
    public OnPluginStart()
    {
    	HookEvent("player_death", death);
    	HookEvent("player_spawn", spawn);
    	
    	cvarCount = CreateConVar("kn_count", "2", "Кол-во убийств ножом");
    }
    
    public spawn(Handle:event, const String:name[], bool:dontBroadcast)
    {
    	new client = GetClientOfUserId(GetEventInt(event, "userid"));
    	kills[client] = 0;
    }
    
    public death(Handle:event, const String:name[], bool:dontBroadcast)
    {	
    	new client = GetClientOfUserId(GetEventInt(event, "attacker"));
    	decl String:weapon[30];
    	GetEventString(event, "weapon", weapon, sizeof(weapon));
    	if (StrEqual(weapon, "weapon_knife"))
    	{
    		kills[client]++;
    	}
    	if (kills[client] == GetConVarInt(cvarCount))
    	{
    		new knife = GetPlayerWeaponSlot(client, 2);
    		if (IsValidEdict(knife))
    		{   
    			RemovePlayerItem(client, knife);
    			AcceptEntityInput(knife, "Kill");
    		}
    	}
    }
    	
     
    R1KO нравится это.
  12. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Да вы все правильно поняли!
    Нужен именно лимит не метательных ножей.
    Почему решил поднять данную тему!
    Сервер существует уже очень давно и пользуется хорошей популярностью, сам уже практически не играю, а вот народ постоянно ревет и просит то запретить и наказывать за ножи то зачем эти наказания, у всех разные мнения!
    Вот и хочется сделать так чтобы игрок мог пользоваться ножом но не злоупотреблял этим, так как буквально сегодня на форуме выложили скрин в котором игрок за раз прошел 9 уровней
    Если у вас есть другие способы предлогайте, но проблему надо как то решать!

    Добавлено через 1 минуту
    Как вариант учел жду еще предложения!

    Добавлено через 4 минуты
    Спасибо запробуем и обязательно отпишусь!
     
    Последнее редактирование: 17 янв 2013
  13. Пыхарь

    Пыхарь

    Сообщения:
    150
    Симпатии:
    19
    В скайп отпиши если еще актуально.
     
  14. Zhenjabss

    Zhenjabss vizuvi.ru

    Сообщения:
    239
    Симпатии:
    77
    Всем привет.
    А вы уверены, что не будет проблем в конце раунда, когда надо зарезать ножом, что будет на этом уровне???
    Тогда выдать "дубину" и пусть забивает тогда :)
     
  15. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Zhenjabss, с таким вариантом не должно быть проблем, наверное, не тестил.

    Код:
    #include <sourcemod>
    #include <sdktools>
    #include <gungame>
    
    public Plugin:myinfo = 
    {
    	name = "nazivaite kak hotite",
    	author = "Impulse",
    	description = "",
    	version = "1.0",
    	url = ""
    }
    
    new kills[64];
    new bool:block[64];
    new Handle:cvarCount = INVALID_HANDLE;
    new Handle:cvarLevel = INVALID_HANDLE;
    
    public OnPluginStart()
    {
    	HookEvent("player_death", death);
    	HookEvent("player_spawn", spawn);
    	
    	cvarCount = CreateConVar("kn_count", "2", "Кол-во убийств ножом");
    	cvarLevel = CreateConVar("kn_level", "0", "Уровень с ножом");
    }
    
    public spawn(Handle:event, const String:name[], bool:dontBroadcast)
    {
    	new client = GetClientOfUserId(GetEventInt(event, "userid"));
    	kills[client] = 0;
    	if (GG_GetClientLevel(client) == GetConVarInt(cvarLevel))
    	{
    		block[client] = true;
    	}
    	else block[client] = false;
    }
    
    public death(Handle:event, const String:name[], bool:dontBroadcast)
    {	
    	new client = GetClientOfUserId(GetEventInt(event, "attacker"));
    	decl String:weapon[30];
    	GetEventString(event, "weapon", weapon, sizeof(weapon));
    	if (StrEqual(weapon, "weapon_knife"))
    	{
    		kills[client]++;
    	}
    	if (kills[client] == GetConVarInt(cvarCount) && !block[client])
    	{
    		new knife = GetPlayerWeaponSlot(client, 2);
    		if (IsValidEdict(knife))
    		{   
    			RemovePlayerItem(client, knife);
    			AcceptEntityInput(knife, "Kill");
    		}
    	}
    }
    
    public Action:GG_OnClientLevelChange(client, level, difference, bool:steal, bool:last, bool:knife)
    {
    	if (level == GetConVarInt(cvarLevel))
    		block[client] = true;
    }
     
    _Lexa_ нравится это.
  16. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Завтра постараюсь потестить Спасибо всем кто откликнулся .

    Добавлено через 2 часа 55 минут
    К сожалению как нож работал так и работает никаких изменений

    Добавлено через 2 часа 56 минут
    Добавил тебя в стиме.
     
    Последнее редактирование: 19 янв 2013
  17. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Да, пардон. Там вместо weapon_knife просто knife надо написать. Т.е.

    Код:
    /* Plugin Template generated by Pawn Studio */
    
    #include <sourcemod>
    #include <sdktools>
    
    public Plugin:myinfo = 
    {
    	name = "nazivaite kak hotite",
    	author = "Impulse",
    	description = "",
    	version = "1.0",
    	url = ""
    }
    
    new kills[64];
    new Handle:cvarCount = INVALID_HANDLE;
    
    public OnPluginStart()
    {
    	HookEvent("player_death", death);
    	HookEvent("player_spawn", spawn);
    	
    	cvarCount = CreateConVar("kn_count", "2", "Кол-во убийств ножом");
    }
    
    public spawn(Handle:event, const String:name[], bool:dontBroadcast)
    {
    	new client = GetClientOfUserId(GetEventInt(event, "userid"));
    	kills[client] = 0;
    }
    
    public death(Handle:event, const String:name[], bool:dontBroadcast)
    {	
    	new client = GetClientOfUserId(GetEventInt(event, "attacker"));
    	decl String:weapon[30];
    	GetEventString(event, "weapon", weapon, sizeof(weapon));
    	if (StrEqual(weapon, "knife"))
    	{
    		kills[client]++;
    	}
    	if (kills[client] == GetConVarInt(cvarCount))
    	{
    		new knife = GetPlayerWeaponSlot(client, 2);
    		if (IsValidEdict(knife))
    		{   
    			RemovePlayerItem(client, knife);
    			AcceptEntityInput(knife, "Kill");
    		}
    	}
    }

    P.S. На этот раз проверил)
     
    _Lexa_ нравится это.
  18. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Спасибо затестим!

    Добавлено через 56 минут
    Impulse72, Народ пишет что количество ножей дается на всю карту а не на 1 жизнь
    Можешь переделать?
     
    Последнее редактирование: 19 янв 2013
  19. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Народ значит пытается нае... обмануть) обновляются ножи при кажом спавне (появлении) игрока. Об этом гласит строка HookEvent("player_spawn", spawn). Можете проверить у себя, с ботами.
     
  20. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Вечером сам зайду проверю.