Gandhi
Active User
- Joined
- Aug 7, 2013
- Messages
- 80
- Reaction score
- 19
Siemka. Podziel? si? z wami moimi dodatkowymi funkcjami do liba tabel. Opis funkcji pod skryptem.
Doda? na sam sp?d pliku data/lib/012-table.lua:
[lua]function table.unpack(t, sep, sepLast)
local str = ''
for i, v in ipairs(t) do
str = str .. (i > 1 and (i == #t and sepLast or sep) or '') .. v
end
return str
end
function table.merge(f, s)
for k, v in pairs(s) do
f[k] = v
end
end
function table.shuffle(t)
math.randomseed(os.time())
local j = 0
for i = #t, 2, -1 do
j = math.random(i)
t, t[j] = t[j], t
end
end
[/lua]
table.unpack, to stuningowana wersja table.concat, kt?ra pozwala poda? separator mi?dzy przedostatnim a ostatnim elementem tablicy! Przyk?ad w praktyce:
[lua]
local tbl = {"magic plate armor", "magic longsword", "demon legs"}
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Give me " .. table.unpack(tbl, ', ', ' and ') .. " so I'll give you some shitty item!")[/lua]
Wiadomo??, kt?ra si? wy?wietli graczowi:
Give me magic plate armor, magic longsword and demon legs so I'll give you some shitty item!
Uwaga: je?li chcecie u?ywa? ostatniego separatora, jako wyraz, musicie doda? spacje na pocz?tku i ko?cu dla dobrego wygl?du.
table.merge to zwyk?a funkcja ??cz?ca dwie tabele (po wywo?uaniu funkcji tabela z pierwszego parametru jest tabel? z po??czonymi warto?ciami)
table.shuffle to czasami bardzo przydatna funkcja, kt?ra po prostu losowo miesza kolejno?? warto?ci w tabeli.
Zastosowa? nie b?d? wymienia?, kreatywni skrypterzy powinni widzie? sporo mo?liwo?ci z ich wykorzystania. Enjoy.
Doda? na sam sp?d pliku data/lib/012-table.lua:
[lua]function table.unpack(t, sep, sepLast)
local str = ''
for i, v in ipairs(t) do
str = str .. (i > 1 and (i == #t and sepLast or sep) or '') .. v
end
return str
end
function table.merge(f, s)
for k, v in pairs(s) do
f[k] = v
end
end
function table.shuffle(t)
math.randomseed(os.time())
local j = 0
for i = #t, 2, -1 do
j = math.random(i)
t, t[j] = t[j], t
end
end
[/lua]
table.unpack, to stuningowana wersja table.concat, kt?ra pozwala poda? separator mi?dzy przedostatnim a ostatnim elementem tablicy! Przyk?ad w praktyce:
[lua]
local tbl = {"magic plate armor", "magic longsword", "demon legs"}
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Give me " .. table.unpack(tbl, ', ', ' and ') .. " so I'll give you some shitty item!")[/lua]
Wiadomo??, kt?ra si? wy?wietli graczowi:
Give me magic plate armor, magic longsword and demon legs so I'll give you some shitty item!
Uwaga: je?li chcecie u?ywa? ostatniego separatora, jako wyraz, musicie doda? spacje na pocz?tku i ko?cu dla dobrego wygl?du.
table.merge to zwyk?a funkcja ??cz?ca dwie tabele (po wywo?uaniu funkcji tabela z pierwszego parametru jest tabel? z po??czonymi warto?ciami)
table.shuffle to czasami bardzo przydatna funkcja, kt?ra po prostu losowo miesza kolejno?? warto?ci w tabeli.
Zastosowa? nie b?d? wymienia?, kreatywni skrypterzy powinni widzie? sporo mo?liwo?ci z ich wykorzystania. Enjoy.