Moduł:H2H: Różnice pomiędzy wersjami
Wygląd
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 9: | Linia 9: | ||
-- team2 = przeciwnik | -- team2 = przeciwnik | ||
-- | -- | ||
-- | -- Wykorzystuje: | ||
-- nazwa_statystyki1 | -- nazwa_statystyki1 | ||
-- nazwa_statystyki2 | |||
-- | -- | ||
-- Dzięki temu zmiana nazwy sponsorskiej drużyny | -- Dzięki temu zmiana nazwy sponsorskiej drużyny | ||
| Linia 17: | Linia 18: | ||
-- ZAWIERA: | -- ZAWIERA: | ||
-- 1. Bilans ogółem / dom / wyjazd | -- 1. Bilans ogółem / dom / wyjazd | ||
-- 2. Trenerów team1 | -- 2. Trenerów team1 w rywalizacji | ||
-- 3. Najlepszych strzelców obu drużyn | -- 3. Najlepszych strzelców obu drużyn | ||
-- 4. Rekordy indywidualne team1 | -- 4. Rekordy indywidualne team1 | ||
-- 5. Serie zwycięstw | -- 5. Serie zwycięstw / porażek | ||
-- 6. Analizę kwart | -- 6. Analizę kwart | ||
-- 7 | -- 7. Wszystkie mecze | ||
-- 8. Dogrywkę 1, 2 i 3 | |||
-- | |||
-- ========================================================= | -- ========================================================= | ||
| Linia 32: | Linia 32: | ||
local team1 = mw.text.trim(frame.args.team1 or "") | local team1 = mw.text.trim(frame.args.team1 or "") | ||
local team2 = mw.text.trim(frame.args.team2 or "") | local team2 = mw.text.trim(frame.args.team2 or "") | ||
if team1 == "" then | if team1 == "" then | ||
return "'''Błąd:''' nie podano team1." | return "'''Błąd:''' nie podano team1." | ||
end | end | ||
if team2 == "" then | if team2 == "" then | ||
| Linia 66: | Linia 64: | ||
-- ===================================================== | -- ===================================================== | ||
-- | -- FUNKCJE POMOCNICZE | ||
-- ===================================================== | -- ===================================================== | ||
local function liczba(value) | local function liczba(value) | ||
if value == nil then | if value == nil or value == "" then | ||
return 0 | return 0 | ||
end | end | ||
value = tostring(value) | |||
value = mw.ustring.gsub( | |||
value, | |||
"%s+", | |||
"" | |||
) | |||
return tonumber(value) or 0 | |||
end | end | ||
local function procent(wygrane, mecze) | local function procent(wygrane, mecze) | ||
| Linia 115: | Linia 91: | ||
return "0,0%" | return "0,0%" | ||
end | end | ||
local wynik = | local wynik = | ||
(wygrane / mecze) * 100 | (wygrane / mecze) * 100 | ||
return string.format( | |||
"%.1f%%", | |||
wynik | |||
):gsub( | |||
"%.", | "%.", | ||
"," | "," | ||
| Linia 138: | Linia 107: | ||
-- ===================================================== | -- ===================================================== | ||
-- | -- WARUNEK H2H DLA TABELI MECZE | ||
-- | |||
-- TU NIE MA ALIASU M | |||
-- ===================================================== | -- ===================================================== | ||
local | local whereMecze = | ||
"(" .. | |||
"(Mecze.nazwa_statystyki1='" .. | |||
team1SQL .. | |||
"' AND " .. | |||
"Mecze.nazwa_statystyki2='" .. | |||
team2SQL .. | |||
"')" .. | |||
" OR " .. | |||
"(Mecze.nazwa_statystyki1='" .. | |||
team2SQL .. | |||
"' AND " .. | |||
"Mecze.nazwa_statystyki2='" .. | |||
team1SQL .. | |||
"')" .. | |||
")" | |||
-- ===================================================== | |||
-- WARUNEK H2H DLA TABELI MECZE Z ALIASEM M | |||
-- | |||
-- UWAGA: | |||
-- tutaj używamy WYŁĄCZNIE M.nazwa_statystyki1 | |||
-- i M.nazwa_statystyki2 | |||
-- ===================================================== | |||
local whereM = | |||
"(" .. | |||
"(M.nazwa_statystyki1='" .. | |||
team1SQL .. | |||
"' AND " .. | |||
"M.nazwa_statystyki2='" .. | |||
team2SQL .. | |||
"')" .. | |||
" OR " .. | |||
"(M.nazwa_statystyki1='" .. | |||
team2SQL .. | |||
"' AND " .. | |||
"M.nazwa_statystyki2='" .. | |||
team1SQL .. | |||
"')" .. | |||
")" | |||
-- ===================================================== | |||
-- WYNIK DRUŻYNY | |||
-- ===================================================== | |||
local function wynikDruzyny(row) | |||
local g1 = liczba(row.gole1) | |||
local g2 = liczba(row.gole2) | |||
if row.ns1 == team1 then | |||
return g1, g2 | |||
elseif row.ns2 == team1 then | |||
return g2, g1 | |||
end | |||
return nil, nil | return nil, nil | ||
| Linia 167: | Linia 187: | ||
-- ===================================================== | -- ===================================================== | ||
-- | -- DOM / WYJAZD | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 175: | Linia 195: | ||
return "dom" | return "dom" | ||
end | end | ||
if row.ns2 == team1 then | if row.ns2 == team1 then | ||
return "wyjazd" | return "wyjazd" | ||
end | end | ||
return nil | return nil | ||
| Linia 198: | Linia 216: | ||
local d2 = | local d2 = | ||
row.druzyna2 or "" | row.druzyna2 or "" | ||
local strona = | |||
row.strona_meczu or "" | |||
local tekst = | local tekst = | ||
| Linia 203: | Linia 224: | ||
" – " .. | " – " .. | ||
d2 | d2 | ||
if strona ~= "" then | if strona ~= "" then | ||
return | return "[[" .. | ||
strona .. | strona .. | ||
"|" .. | "|" .. | ||
| Linia 219: | Linia 234: | ||
end | end | ||
return tekst | return tekst | ||
| Linia 232: | Linia 246: | ||
local function parseWynikCzesciowy(value) | local function parseWynikCzesciowy(value) | ||
if value == | if not value or value == "" then | ||
return nil, nil | return nil, nil | ||
end | end | ||
local tekst = | local tekst = | ||
tostring(value) | tostring(value) | ||
local a, b = | local a, b = | ||
| Linia 250: | Linia 257: | ||
"(%d+)%s*:%s*(%d+)" | "(%d+)%s*:%s*(%d+)" | ||
) | ) | ||
if not a or not b then | if not a or not b then | ||
return nil, nil | return nil, nil | ||
end | end | ||
return | return | ||
| Linia 266: | Linia 271: | ||
-- ===================================================== | -- ===================================================== | ||
-- POBRANIE MECZÓW | -- POBRANIE MECZÓW | ||
-- ===================================================== | -- ===================================================== | ||
| Linia 303: | Linia 304: | ||
"Mecze.widzowie=widzowie", | "Mecze.widzowie=widzowie", | ||
"Mecze.sedziowie=sedziowie", | "Mecze.sedziowie=sedziowie", | ||
"Mecze.strona_meczu=strona_meczu" | "Mecze.strona_meczu=strona_meczu" | ||
}, ",") | }, ",") | ||
| Linia 346: | Linia 324: | ||
if not mecze | if not mecze or #mecze == 0 then | ||
return | return | ||
| Linia 369: | Linia 346: | ||
wygrane = 0, | wygrane = 0, | ||
przegrane = 0, | przegrane = 0, | ||
remisy = 0, | |||
punktyZdobyte = 0, | punktyZdobyte = 0, | ||
punktyStracone = 0 | punktyStracone = 0 | ||
| Linia 377: | Linia 355: | ||
wygrane = 0, | wygrane = 0, | ||
przegrane = 0, | przegrane = 0, | ||
remisy = 0, | |||
punktyZdobyte = 0, | punktyZdobyte = 0, | ||
punktyStracone = 0 | punktyStracone = 0 | ||
| Linia 385: | Linia 364: | ||
wygrane = 0, | wygrane = 0, | ||
przegrane = 0, | przegrane = 0, | ||
remisy = 0, | |||
punktyZdobyte = 0, | punktyZdobyte = 0, | ||
punktyStracone = 0 | punktyStracone = 0 | ||
| Linia 511: | Linia 491: | ||
local zdobyte, stracone = | local zdobyte, stracone = | ||
wynikDruzyny(row) | wynikDruzyny(row) | ||
local miejsceMeczu = | local miejsceMeczu = | ||
| Linia 517: | Linia 496: | ||
if zdobyte | if zdobyte and | ||
and | stracone and | ||
miejsceMeczu then | |||
| Linia 544: | Linia 523: | ||
-- ============================================= | -- ============================================= | ||
local b = | |||
bilans.wszystkie | bilans.wszystkie | ||
b.mecze = | |||
b.mecze + 1 | |||
b.punktyZdobyte = | |||
b.punktyZdobyte + | |||
zdobyte | zdobyte | ||
b.punktyStracone = | |||
b.punktyStracone + | |||
stracone | stracone | ||
| Linia 560: | Linia 540: | ||
if wynikMeczu == "W" then | if wynikMeczu == "W" then | ||
b.wygrane = | |||
b.wygrane + 1 | |||
elseif wynikMeczu == "P" then | elseif wynikMeczu == "P" then | ||
b.przegrane = | |||
b.przegrane + 1 | |||
else | |||
b.remisy = | |||
b.remisy + 1 | |||
end | end | ||
| Linia 575: | Linia 560: | ||
-- ============================================= | -- ============================================= | ||
local | local bm = | ||
bilans[miejsceMeczu] | bilans[miejsceMeczu] | ||
bm.mecze = | |||
bm.mecze + 1 | |||
bm.punktyZdobyte = | |||
bm.punktyZdobyte + | |||
zdobyte | zdobyte | ||
bm.punktyStracone = | |||
bm.punktyStracone + | |||
stracone | stracone | ||
| Linia 595: | Linia 577: | ||
if wynikMeczu == "W" then | if wynikMeczu == "W" then | ||
bm.wygrane = | |||
bm.wygrane + 1 | |||
elseif wynikMeczu == "P" then | elseif wynikMeczu == "P" then | ||
bm.przegrane = | |||
bm.przegrane + 1 | |||
else | |||
bm.remisy = | |||
bm.remisy + 1 | |||
end | end | ||
| Linia 607: | Linia 594: | ||
-- ============================================= | -- ============================================= | ||
-- | -- REKORD MECZOWY | ||
-- ============================================= | -- ============================================= | ||