Функция sampGetPlayerNickname()

Looney_Koldyin

Новичок
Автор темы
3
2
Доброго времени суток. Я столкнулся с проблемой в функции sampGetPlayerNickname(), она заключается в том, что эта функция не возвращает моего ника в цикле, если я пробегаюсь по всем игрокам.

Идет такой код:

Примерная суть:
for i=0, 1000 do
    if sampIsPlayerConnected(i) then
        -- далее не важно, напрмер хочу вывести ники игроков в маске, не важно
        if sampGetPlayerColor(i) == "Цвет маска (не помню) не суть" then
            sampAddChatMessage(sampGetPlayerNickname(i),-1)
        end
    end
end

Так вот если я буду в маске, она не подсчитает меня, и не выводит мой ник, но остальных выводит. Что делать? Есть функция которая выдает ИМЕННО МОЙ айди, тогда я просто добавлю частное условие и всё будет норм, есть такая функция? Кстати, если вы знаете функцию "Пока не введен пароль" не загружать скрипт, типа что бы мне айдишник выдался а потом только скрипт загрузился, то дайте знать
 
Последнее редактирование:

Vintik

Через тернии к звёздам
Проверенный
1,528
1,011
Некорректный вывод у тебя.
Функция получения никнейма работает для тебя тоже. Не работает функция проверки, подключен ли игрок, на тебя. Для этого надо узнать свой ID с помощью хендла и добавить условие "или айди == мой айди"
 
  • Нравится
Реакции: Looney_Koldyin

Looney_Koldyin

Новичок
Автор темы
3
2
Некорректный вывод у тебя.
Функция получения никнейма работает для тебя тоже. Не работает функция проверки, подключен ли игрок, на тебя. Для этого надо узнать свой ID с помощью хендла и добавить условие "или айди == мой айди"
понял! А я то думаю чё за рофл, спасибо братан, через
if sampIsPlayerConnected(i) or i == select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)) then
эту частную функцию допроверяю верно?
 
  • Влюблен
  • Нравится
Реакции: Vintik и ADscripts

ADscripts

Известный
37
13
  • Нравится
Реакции: Vintik и Looney_Koldyin

Adrian G.

Известный
Проверенный
519
458
понял! А я то думаю чё за рофл, спасибо братан, через
if sampIsPlayerConnected(i) or i == select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)) then
эту частную функцию допроверяю верно?
Как то сложно, getAllChars() же есть, там ненужны никакие проверки на коннект
Lua:
for k, v in ipairs(getAllChars()) do
        result, id = sampGetPlayerIdByCharHandle(v)
        if sampGetPlayerColor(id) == 4293920000 then --какой-то красный цвет
        sampAddChatMessage(sampGetPlayerNickname(id), -1)
        end
    end
Выведет и твой ник тоже, если цвет совпадает
 
  • Влюблен
Реакции: Looney_Koldyin

Vintik

Через тернии к звёздам
Проверенный
1,528
1,011
Как то сложно, getAllChars() же есть, там ненужны никакие проверки на коннект
Lua:
for k, v in ipairs(getAllChars()) do
        result, id = sampGetPlayerIdByCharHandle(v)
        if sampGetPlayerColor(id) == 4293920000 then --какой-то красный цвет
        sampAddChatMessage(sampGetPlayerNickname(id), -1)
        end
    end
Выведет и твой ник тоже, если цвет совпадает
getAllChars() подходит для игроков, находящихся в зоне прорисовки (кстати, надо проверять result, id = sampGetPlayerIdByCharHandle(v), потому что может быть NPC). автору, вероятно, надо среди всех игроков.