проверка перед цыклом

N

NiGaByte

Как сделать драную проверку на команду игрока? Если он в команде умершего, сделать цыкл, иначе игнор.
Подробнее:
В событии смерти получаю ид, жертвы, в этот момент хочу брать только тех игроков которые находятся в команде убитого, и в цикле делать действие, как реализовать не доходит.
Ну или хотя-бы где примеры посмотреть, но лучше готовый кусочек кода хд=)
Спасибо огромное)
Неужели вложеный цикл? в первом брать всех и проверять принадлежит ли игрок к команде убитого, если да то выполнять ещё цыкл, если нет return?
 
Последнее редактирование модератором:

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #2
Что-то такое.
PHP:
#include <sourcemod>
#include <events>

#pragma newdecls required
#pragma semicolon 1

public void OnPluginStart() {
    HookEvent("player_death", OnPlayerDeath);
}

public Action OnPlayerDeath(Handle hEvent, const char[] szEventName, bool bDontBroadcast) {
    int iPlayer     = GetClientOfUserId(GetEventInt(hEvent, "userid"));
    int iPlayerTeam = GetClientTeam(iPlayer);

    for (int iPlayerTeammate = 1; iPlayerTeammate <= MaxClients; iPlayerTeammate++) {
        if (iPlayerTeammate == iPlayer || !IsClientInGame(iPlayerTeammate) || GetClientTeam(iPlayerTeammate) != iPlayerTeam) {
            continue;
        }

        // вставьте здесь свой код.
        //
        // iPlayer          - сам умерший игрок
        // iPlayerTeammate  - тиммейт умершего игрока
    }
}
 
N

NiGaByte

@Kr1kuzya, спасибо огромное.
--- Добавлено позже ---
Ещё один вопросик, пока горячо
Когда игроки отправляют команды в чат, то пишется откуда они это сделали: лонг, респ, тонель, зига и т.д
могу ли я как-то получить эти значения?
ну типа чекаешь игрока, ага на зиге, ну норм чё, <действие над игроком>
Не буду же я записывать координаты всех точек для одной карты, присваивать им имя, и потом чекать через GetClientAbsOrigin находится ли игрок в той или иной зоне хд, жестоко по моему.
 
Последнее редактирование модератором:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
Ещё один вопросик, пока горячо
Когда игроки отправляют команды в чат, то пишется откуда они это сделали: лонг, респ, тонель, зига и т.д
могу ли я как-то получить эти значения?
ну типа чекаешь игрока, ага на зиге, ну норм чё, <действие над игроком>
Не буду же я записывать координаты всех точек для одной карты, присваивать им имя, и потом чекать через GetClientAbsOrigin находится ли игрок в той или иной зоне хд, жестоко по моему.
PHP:
GetEntPropString(client, Prop_Send, "m_szLastPlaceName", buffer, size);
 
Сверху Снизу