local function findFreeValue(tablica_id)
table.sort(tablica_id)
local wolne_id=0
for i,v in ipairs(tablica_id) do
if (v==wolne_id) then wolne_id=wolne_id+1 end
if (v>wolne_id) then return wolne_id end
end
return wolne_id
end
function assignPlayerID(plr)
local gracze=getElementsByType("player")
local tablica_id = {}
for i,v in ipairs(gracze) do
local lid=getElementData(v, "id")
if (lid) then
table.insert(tablica_id, tonumber(lid))
end
end
local free_id=findFreeValue(tablica_id)
setElementData(plr,"id", free_id)
setElementID(plr, "p" .. free_id)
return free_id
end
function getPlayerID(plr)
if not plr then return "" end
local id=getElementData(plr,"id")
if (id) then
return id
else
return assignPlayerID(plr)
end
end
addEventHandler ("onPlayerJoin", getRootElement(), function()
assignPlayerID(source)
end)
w sumie, w tym systemie to nie masz wiele do zmiany oprocz nazw zmiennych bo i tak jego dzialanie bedzie takie same, nawet najwieksze serwery uzywaja tego systemu
A potrzebuje zrobi? tylko ?eby znale?? gracza z tym ID. Mo?e co? wymy?le.
[ Dodano: 2017-11-10, 22:23 ]
No dobra. Jak u?ywam DB2 z xyzzy to i ID te?, no to radar,scoreboard,id,db. Jako? du?a lista nieautorskich skrypt?w nie jest.
Podpis
Aktualny najlepszy kontakt do mnie: Szydlo#8134 (Discord)
local id=getElementData(plr,"id")
function pmS(id, cmd, target, ...)
[ Dodano: 2017-11-10, 22:38 ]
Pokazuje ?e nie ma takiego id.
[ Dodano: 2017-11-10, 22:42 ]
A z licznikiem jest taki problem: pokazuje ?e jest 60kmh, a tak na prawd? jest 47/50 kmh. Mam zmieni? potengi czy mno?enie.
Podpis
Aktualny najlepszy kontakt do mnie: Szydlo#8134 (Discord)
function findPlayerFromID(id)
for key,plr in ipairs(getElementsByType("player")) do
if getElementData(plr, "id") and getElementData(plr,"id") == tonumber(id) then
return plr
break
end
end
return false
end
function pmS(player, cmd, target, ...)
if tonumber(target) and not tostring(target) then
recipient = findPlayerFromID(target)
else
recipient = getPlayerFromName(target)
end
if recipient then
local message = table.concat({...}, " ")
local recipientName = getPlayerName(recipient)
local playerName = getPlayerName(player)
outputChatBox("[PM > " .. recipientName .. "]: #FFFFFF " .. message, player, 255, 255, 0, true)
outputChatBox("[PM < " .. playerName .. "]: #FFFFFF " .. message, recipient, 255, 255, 0, true)
else
outputChatBox("Nie znalezino tego nicku/id", player, 255, 0, 0)
end
end
addCommandHandler("pm", pmS)
I u?ywasz id z xyzzyrp? Bo nic mi teraz nie pokazuje.
A z licznikiem jest taki problem: pokazuje ?e jest 60kmh, a tak na prawd? jest 47/50 kmh. Mam zmieni? potengi czy mno?enie?
To nie jest z xyyzyrp, te funkcj? findPlayerFromID sam pisa?em przed chwil?. Co do licznika to kwestia dok?adno?ci pomiaru, sk?d wiesz, ?e jest inna pr?dko?? ni? wskazuje licznik?
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach