Обучение и помощь по скриптингу для MIRDOBRO777

Сообщения
112
Реакции
26
Javekson, d3m37r4, спасибо вам! Буду тренироваться.О результатах доложу или снова спрошу, если чего-нибудь снова не пойму.
 
Сообщения
112
Реакции
26
Ребята, возникли несколько вопросов.
Первый:
Подскажите, как получать данные в массив каждому игроку отдельно.
Числовые значения я получаю вот так:
Код:
g_pIdNum[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "id"));
А как получать каждому игроку свои данные текстового формата?
Второй:
Возможно сделать отключение видимость трейла?
Например, Игрок1 бегает по карте с трейлом, но Игрок2 и Игрок4 не хотят видеть трейл Игрока1. Трейл будут видеть все, кроме Игрока2 и Игрока4.
Возможно так?
 
Сообщения
658
Реакции
230
Помог
11 раз(а)
Сообщения
112
Реакции
26
Limbooc,

спасибо! Вот в чем моя ошибка, я пытался получать вот так:
Код:
SQL_ReadResult(query, SQL_FieldNameToNum(query, "Login"), g_sLogin[id], charsmax(g_sLogin[id]));
А на счет невидимости трейла другим можешь подсказать, как воплотить?
 
Сообщения
658
Реакции
230
Помог
11 раз(а)
MIRDOBRO777,
с помощью фуллпака


или pev_groupinfo, всех игроков засоваешь в одну группу (всех обсолютно) и засоваешь в группу с трейлами (только с трейлами), а дальше отсейваешь


пример

в путине:
#define MaskEnt(%0) (1<<((%0) & 31))

Код:
set_pev(pId, pev_groupinfo, pev(pId, pev_groupinfo) | (MaskEnt(1) | MaskEnt(2)));
сам энтити
Код:
вкл:
set_entvar(ent, var_groupinfo, get_entvar(ent, var_groupinfo) & ~MaskEnt(1));

выкл:
set_entvar(ent, var_groupinfo, get_entvar(ent, var_groupinfo) | MaskEnt(1));
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
А на счет невидимости трейла другим можешь подсказать, как воплотить?
Если через сообщение делаешь, то можно отправлять не всем, а в цикле только нужным игрокам.
 
Сообщения
702
Реакции
475
Помог
10 раз(а)
t3rkecorejz, разве? по-моему его там нет
 

Garey

ninjaCow
Сообщения
411
Реакции
1,051
Помог
10 раз(а)
t3rkecorejz, И то и другое это мессага.

Но никто не запрещает юзать MSG_ONE вместо ALL/BROADCAST.
31 Май 2022
А. В плагине entity но тут зависит от того для чего BEAM будет использоваться. Если к примеру нужно постоянно работать с ними то лучше через энтити. Если же временные то через мессаги.
 
Сообщения
112
Реакции
26
Ребята, снова здравствуйте!
Необычный вопрос.
Есть ли способ загрузить текстовый файл клиенту, когда он уже на сервере или загружать файл при подключении, но после нужному игроку вносить изменения в загруженный файл?
Если есть способ, то подскажите, пожалуйста.
Мне нужно в папку "cstrike" загружать клиенту текстовый файл с подготовленной в нем информацией определенному игроку или вносить изменения в уже загруженный файл на клиент.
 
Сообщения
112
Реакции
26
Доброго времени суток!
Ребята, есть два вопроса:
1. Напишите, пожалуйста, пример как через натив передавать дробное число (искал, но не смог найти решение такого натива).
2. Есть у кого-нибудь лучшее решение такого костыля:
Код:
stock convert_time(Float:fUnixTime) {
    static szTxt[16], iTime, iMinutes, iSeconds, Float:fFraction;

    iTime = floatround(fUnixTime, floatround_floor);
    iMinutes = iTime / 60;
    iSeconds = iTime - iMinutes * 60;
    fFraction = fUnixTime - float(iTime) + float(iSeconds);

    formatex(szTxt, charsmax(szTxt), "%d:%.2f", iMinutes, fFraction);
    return szTxt;
}
 
Сообщения
1,177
Реакции
2,144
Помог
57 раз(а)
MIRDOBRO777
1) Натив (пример передачи возвратом и by reference)
Код:
public plugin_natives() {
    register_native("get_value", "native_get_value")
}

public Float:native_get_value() {
    set_float_byref(1, random_float(0.0, 100.0))
    return random_float(0.0, 100.0)
}
Подключение натива
Код:
#include <amxmodx>

native Float:get_value(&Float:fByrefValue)

public plugin_init() {
    register_srvcmd("print_val", "PrintVal")
}

public PrintVal() {
    new Float:fByrefVal
    new Float:fRetVal = get_value(fByrefVal)
    server_print("%f / %f", fRetVal, fByrefVal)
}
 
Сообщения
112
Реакции
26
Здравия всем!
Подскажите, пожалуйста, есть способ включить/выключить ночное видение игроку, не используя команду "nightvision"?
У меня на данную команду сделано меню и, соответственно, ночное видение в таком случае не включается.
Выдаю прибор НВ командой "cs_set_user_nvg(id, true)"
 
Сообщения
208
Реакции
39
Помог
4 раз(а)
MIRDOBRO777, Приветы ! Мне кажется тут надо использовать что то одно, и проше будет поменять команду для меню да бы не трогать найтвижен предусмотренный движком ( или же отдельно писать выкл вкл ) для игрока, ну зачем.
 
Последнее редактирование:
Сообщения
494
Реакции
340
Помог
11 раз(а)
Через set_member
m_bHasNightVision - наличие.
m_bNightVisionOn - состояние.

Без reapi наверное аналогично можно через set_pdata_*, используя fakemeta.
 
Последнее редактирование:
  • Нравится
Реакции: DEVV
Сообщения
112
Реакции
26
MIRDOBRO777, Приветы ! Мне кажется тут надо использовать что то одно, и проше будет поменять команду для меню да бы не трогать найтвижен предусмотренный движком ( или же отдельно писать выкл вкл ) для игрока, ну зачем.
Уже игроки привыкли, что меню открывается стандартной командой, поэтому мне и надо поменять способ включения/отключения НВ. Добавлю в меню пункт и тоже удобно будет людям.

Читал описание?
Из той информации, что смог найти, то конечно же читал. Данная функция выдает или отбирает прибор НВ. Разве есть еще у нее возможности?

Через set_member

m_bHasNightVision - наличие.

m_bNightVisionOn - состояние.



Без reapi наверное аналогично можно через set_pdata_*, используя fakemeta.
Вот такой код я добавил, но он не включает НВ:
Код:
    g_bPlayerNightVision[id] = !g_bPlayerNightVision[id];

    if(!g_bPlayerNightVision[id]) set_member(id, m_bNightVisionOn, true);
    else set_member(id, m_bNightVisionOn, false);
Или, как я понял, этот мембер только проверяет включено или отключено НВ?
 

Albertio

скриптизёр
Сообщения
336
Реакции
393
Предупреждения
5
Помог
7 раз(а)
MIRDOBRO777, я до сообщения бизона проверил работу мемберов на решке и так же фейкмета оффсеты, ни то и ни другое не включает ночное видение, но состояние включенное, ибо если послушать звуки после выдачи таким образом ночного видения нажать N, то сработает звук выключения. Если нужно кстати, 516 оффсет выдает/забирает ночное видение, а 517 включает/выключает, но как я сказал, работает только выдача, а включение - нет.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу