как получить количество игроков на сервере? [raksamp]

demon44482

Участник
Автор темы
16
3
Версия MoonLoader
Другое
хотел написать код что если на сервере больше 300 игроков то он будет реконектится пока не получит айди выше 300, но проблема в том что когда я пытаюсь получить всех игроков через getPlayerCount() он выводит числа не больше 10 так же если поставить false и true внутри


Lua:
function sampev.onSendSpawn()
    if getPlayerCount() > 300 then
            needid = true
        end
        if needid then
            if getBotId() < 300 then
                reconnect()
            else
                needid = false
            end
        end
    end
 
Решение
нужно его пропинговать ввести в браузере айпи без порта вот например 80.66.82.55 когда появится эта фигня то можно будет зайти главное браузер не закрыватьПосмотреть вложение 260789


да и лучше с лаунчера зайти


Вероятно, это ошибка в коде раксампа, которая не показывает правильное количество игроков.
C++:
sampev = require("libs/samp/events")
local players = 0

function sampev.onSendChat()
print(players)
end
    
    
function sampev.onPlayerJoin(id)
players = players + 1
end
function sampev.onPlayerQuit(id)
if players ~= 0 then players = players - 1 end
end

function sampev.onSendClientJoin()
players = 0
end

1735814731728.png

horacy

Известный
110
95
хотел написать код что если на сервере больше 300 игроков то он будет реконектится пока не получит айди выше 300, но проблема в том что когда я пытаюсь получить всех игроков через getPlayerCount() он выводит числа не больше 10 так же если поставить false и true внутри


Lua:
function sampev.onSendSpawn()
    if getPlayerCount() > 300 then
            needid = true
        end
        if needid then
            if getBotId() < 300 then
                reconnect()
            else
                needid = false
            end
        end
    end
неверная реализация, функция содержит логическое условие.

int count = getPlayerCount(bool stream = false)

Lua:
sampev = require("libs/samp/events")

function sampev.onSendSpawn()
players = getPlayerCount(false)
print(players)
    if players > 300 then
            needid = true
        end
        if needid then
            if getBotId() < 300 then
                reconnect()
            else
                needid = false
            end
        end
    end
 

horacy

Известный
110
95

IlyaFontonov

Активный
172
37
Попробуй так мб
Lua:
local sampev = require('samp.events')
local needid = false

function getPlayers()
    local count = 0

    for index, value in ipairs(getAllPlayers()) do
        count = count+1
    end
    return count
end

function sampev.onSendSpawn()
    if getPlayers() > 300 then
        needid = true
    end
        
    if needid then
        if getBotId() < 300 then
            reconnect()
        else
            needid = false
        end
    end
end
 

horacy

Известный
110
95
возможно другая реализация, но сомневаюсь, что это что-то изменит

Lua:
sampev = require("libs/samp/events")

function sampev.onSendSpawn()
players = 0
for i=0,1000 do
if isPlayerConnected(i) then players = players +1 end
end
print(players)

    if players > 300 then
            needid = true
        end
        if needid then
            if getBotId() < 300 then
                reconnect()
            else
                needid = false
            end
        end
    end
 

demon44482

Участник
Автор темы
16
3

demon44482

Участник
Автор темы
16
3
по какой-то причине сервер Rodin не отображается в sa-mp, поэтому я не могу войти и проверить его
Посмотреть вложение 260788
нужно его пропинговать ввести в браузере айпи без порта вот например 80.66.82.55 когда появится эта фигня то можно будет зайти главное браузер не закрывать
1735813219685.png


нужно его пропинговать ввести в браузере айпи без порта вот например 80.66.82.55 когда появится эта фигня то можно будет зайти главное браузер не закрывать
1735813219685.png
да и лучше с лаунчера зайти
 

horacy

Известный
110
95
нужно его пропинговать ввести в браузере айпи без порта вот например 80.66.82.55 когда появится эта фигня то можно будет зайти главное браузер не закрыватьПосмотреть вложение 260789


да и лучше с лаунчера зайти


Вероятно, это ошибка в коде раксампа, которая не показывает правильное количество игроков.
C++:
sampev = require("libs/samp/events")
local players = 0

function sampev.onSendChat()
print(players)
end
    
    
function sampev.onPlayerJoin(id)
players = players + 1
end
function sampev.onPlayerQuit(id)
if players ~= 0 then players = players - 1 end
end

function sampev.onSendClientJoin()
players = 0
end

1735814731728.png
 
  • Нравится
Реакции: IlyaHL2 и demon44482