Плагин который будет зачитывать фраги

kleuser

Участник
Сообщения
1,838
Реакции
732
Здравствуйте, может кто сделать плагин, если на карте умирает спец, то фраг будет засчитываться террористам
 

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, умирает 1 спецназовец, террористам всем должен этот фраг засчитаться. видел такую реализацию в плагине Abner Deathrun
 
Последнее редактирование:

artyrka94

Участник
Сообщения
181
Реакции
38
kleuser
PHP:
public OnPluginStart() HookEvent("player_death", EvDeath);

public Action:EvDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
	if(GetClientTeam(GetClientOfUserId(GetEventInt(event, "userid"))) == 3)
	{
		new client = GetClientOfUserId(GetEventInt(event, "attacker"));
		for(new i = 1; i <= MaxClients; i++)
			if(i != client && GetClientTeam(i) == 2)
				SetEntProp(i, Prop_Data, "m_iFrags", GetClientFrags(i) + 1);
	}
}
 

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, да только живым террористам. и в случае чего спезназу не должны фраги таким образом засчитывать, если только они сами убьют тера.

Добавлено через 2 минуты
мне это вобщем для дезрана надо, у abnera это хорошо работает но его плагин крашит серв. поставил старый дезран менеджер который норм работает, но там килы теру не засчитывают
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Оффтоп
если на карте умирает спец
Убит террористом или самой картой (например, разбился)? Либо и то, и то?
 

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, картой либо сам разбился. еще раз повторюсь, мне это для дезран карт надо.

как мне еще объяснить я не знаю)

Оффтоп
 

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, вообщем есть исходник, можешь от туда эту функцию выдрать отдельным плагином?
 

Вложения

  • abner_deathrun.sp
    8.9 КБ · Просмотры: 16

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
картой либо сам разбился
Тогда пост 5 почти подходит:
PHP:
public OnPluginStart() HookEvent("player_death", EvDeath); 

public Action:EvDeath(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
    if(GetClientTeam(GetClientOfUserId(GetEventInt(event, "userid"))) == 3) 
    { 
        for(new i = 1; i <= MaxClients; i++) 
            if(IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2) 
                SetEntProp(i, Prop_Data, "m_iFrags", GetClientFrags(i) + 1); 
    } 
}
Оффтоп Правда, здесь именно убившему даст ещё дополнительный фраг, чего наверняка не надо.
 
Последнее редактирование:

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, глянь исходник который я дал.
из 5 поста не совсем то
 

kleuser

Участник
Сообщения
1,838
Реакции
732

что-то вобще ничего не дает и ошибки
C-подобный:
L 10/27/2015 - 20:08:30: [SM] Native "IsPlayerAlive" reported: Client 8 is not in game
L 10/27/2015 - 20:08:30: [SM] Displaying call stack trace for plugin "player_death.smx":
L 10/27/2015 - 20:08:30: [SM]   [0]  Line 8, D:\Dev\sourcemod\scripting\player_death.sp::EvDeath()
 

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, работает нормально, только еще один нюанс.
надо чтобы считалось как будто террорист убивает людей(это надо что бы очки опыта давались за эти фраги) возможно так сделать?
в том примере который я скидывал в 9 посте именно так и работает.
 
Последнее редактирование:

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, и опять не то, фраг то дается, надо чтобы если человек умер на ловушке убился об карту, выглядело это так как будто его убил террорист, в твоем случае если человек умрет на карте, теру просто дается фраг тупо в табе. не просто выдать циферку в таб листе,а дать натуральный фраг, как будто но сам его своими руками убил.

Добавлено через 1 минуту
Я не знаю, я и так все по полочкам разложил, мы не поймем наверно друг друга :(
 
Последнее редактирование:

kleuser

Участник
Сообщения
1,838
Реакции
732
Может тебе именно убийство из оружия надо, тогда с ножа подставлять - и всё, будет показ в правом углу.
не совсем.
Человек прыгнул и умер на ловушке(разбился,карта убила), террористу дается фраг как будто это он сделал(должен быть значек что это он убил), тогда и фраг будет в табе, и очки за эти фраги будут начислять из levelranks

Добавлено через 23 минуты
должно быть вот так
https://youtu.be/aIYQNUgWvkc
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
террористу дается фраг как будто это он сделал
Да-да, так и есть. Просто забыл преобразовать индекс игрока в userid, поэтому работало лишь после запуска сервера. Считает верно, но не отображает справа. Вряд ли это важно для других плагинов, если только по оружию ещё.
 

kleuser

Участник
Сообщения
1,838
Реакции
732
AlmazON, Всё огромное спасибо тебе, работает как надо,хоть и без иконки, но так даже лучше.
 

artyrka94

Участник
Сообщения
181
Реакции
38
Оффтоп

PHP:
public OnPluginStart() HookEvent("player_death", EvDeath, EventHookMode_Pre);

public Action:EvDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
	if(GetClientTeam(GetClientOfUserId(GetEventInt(event, "userid"))) == 3 && GetClientOfUserId(GetEventInt(event, "attacker")) == 0)
	{
		for(new i = 1; i <= MaxClients; i++)
			if(IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2)
			{
				SetEventInt(event, "attacker", GetClientUserId(i));
				return Plugin_Changed;
			}
	}
	return Plugin_Continue;
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Оффтоп
IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2
Я это всё к массиву int переменных свёл, проверки минимальны.
 
Сверху Снизу