Moduł:H2H: Różnice pomiędzy wersjami
Wygląd
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 1122: | Linia 1122: | ||
-- ===================================================== | -- ===================================================== | ||
-- ===================================================== | |||
-- NAJLEPSI STRZELCY | |||
-- OBU DRUŻYN | |||
-- | |||
-- Drużyna jest ustalana na podstawie strony meczu: | |||
-- | |||
-- ns1 = team1: | |||
-- druzyna1 = team1 | |||
-- druzyna2 = team2 | |||
-- | |||
-- ns2 = team1: | |||
-- druzyna2 = team1 | |||
-- druzyna1 = team2 | |||
-- | |||
-- Dzięki temu działa również przy zmianach nazw sponsorskich. | |||
-- ===================================================== | |||
local strzelcy = { | |||
[team1] = {}, | |||
[team2] = {} | |||
} | |||
local function dodajStrzelca( | |||
tabela, | |||
zawodnik, | |||
punkty | |||
) | |||
if not zawodnik or zawodnik == "" then | |||
return | |||
end | |||
tabela[zawodnik] = | |||
tabela | (tabela[zawodnik] or 0) | ||
+ | |||
punkty | punkty | ||
end | |||
-- ===================================================== | |||
-- JEDNO ZAPYTANIE DLA OBU DRUŻYN | |||
-- ===================================================== | |||
local zawodnicyStrzelcy = | |||
mw.ext.cargo.query( | |||
"UdzialZawodnika=U,Mecze=M", | |||
table.concat({ | |||
"U.zawodnik=zawodnik", | |||
"U.druzyna=druzyna", | |||
"U.gol=gol", | |||
"U.minuty=minuty", | |||
"M.id=mecz", | |||
"M.druzyna1=druzyna1", | |||
"M.druzyna2=druzyna2", | |||
"M.nazwa_statystyki1=ns1", | |||
"M.nazwa_statystyki2=ns2" | |||
}, ","), | |||
{ | |||
join = | |||
"U.mecz=M.id", | |||
where = | |||
" | "(" .. | ||
"M. | "(" .. | ||
"M. | "M.nazwa_statystyki1='" .. | ||
" | team1SQL .. | ||
"' AND " .. | |||
"M.nazwa_statystyki2='" .. | |||
team2SQL .. | |||
"' AND " .. | |||
"M. | "(" .. | ||
"M. | "U.druzyna=M.druzyna1" .. | ||
" OR " .. | |||
"U.druzyna=M.druzyna2" .. | |||
")" .. | |||
")" .. | |||
" OR " .. | |||
"(" .. | |||
"M.nazwa_statystyki1='" .. | |||
team2SQL .. | |||
"' AND " .. | |||
"M.nazwa_statystyki2='" .. | |||
team1SQL .. | |||
"' AND " .. | |||
"(" .. | |||
"U.druzyna=M.druzyna1" .. | |||
" OR " .. | |||
"U.druzyna=M.druzyna2" .. | |||
")" .. | |||
")" .. | |||
")" .. | |||
" AND U.minuty > 0", | |||
limit = 20000 | |||
} | |||
) | |||
-- ===================================================== | |||
-- PRZYPISANIE ZAWODNIKA DO TEAM1 / TEAM2 | |||
-- NA PODSTAWIE STRONY MECZU | |||
-- ===================================================== | |||
if zawodnicyStrzelcy then | |||
for _, row in ipairs(zawodnicyStrzelcy) do | |||
local druzynaH2H = nil | |||
-- ------------------------------------------------- | |||
-- Wariant 1: | |||
-- team1 jest drużyną 1 | |||
-- ------------------------------------------------- | |||
if row.ns1 == team1 and | |||
row.ns2 == team2 then | |||
if row.druzyna == row.druzyna1 then | |||
druzynaH2H = team1 | |||
elseif | elseif row.druzyna == row.druzyna2 then | ||
druzynaH2H = team2 | |||
end | |||
-- ------------------------------------------------- | |||
-- Wariant 2: | |||
-- team2 jest drużyną 1 | |||
-- ------------------------------------------------- | |||
elseif row.ns1 == team2 and | |||
row.ns2 == team1 then | |||
if druzyna == | if row.druzyna == row.druzyna1 then | ||
druzynaH2H = team2 | |||
elseif row.druzyna == row.druzyna2 then | |||
druzynaH2H = team1 | |||
end | end | ||
| Linia 1272: | Linia 1288: | ||
end | end | ||
-- ------------------------------------------------- | |||
-- Dodanie punktów | |||
-- ------------------------------------------------- | |||
if druzynaH2H == team1 then | |||
dodajStrzelca( | |||
strzelcy[team1], | |||
row.zawodnik, | |||
liczba(row.gol) | |||
) | |||
elseif druzynaH2H == team2 then | |||
dodajStrzelca( | |||
strzelcy[team2], | |||
row.zawodnik, | |||
liczba(row.gol) | |||
) | ) | ||
end | end | ||
end | |||
table. | end | ||
-- ===================================================== | |||
-- SORTOWANIE STRZELCÓW | |||
-- ===================================================== | |||
local function uporzadkujStrzelcow( | |||
tablica | |||
) | |||
local wynik = {} | |||
for zawodnik, punkty | |||
in pairs(tab | |||