Przejdź do zawartości

Moduł:H2H: Różnice pomiędzy wersjami

Z Encyklopedia Poznanskiego Sportu
Nie podano opisu zmian
Nie podano opisu zmian
 
Linia 1122: Linia 1122:


     -- =====================================================
     -- =====================================================
    -- NAJLEPSI STRZELCY
  -- =====================================================
    -- OBU DRUŻYN
-- 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 = {
local strzelcy = {
    [team1] = {},
    [team2] = {}
}


        [team1] = {},
        [team2] = {}


     }
local function dodajStrzelca(
     tabela,
    zawodnik,
    punkty
)


    if not zawodnik or zawodnik == "" then
        return
    end


     local function dodajStrzelca(
     tabela[zawodnik] =
         tabela,
         (tabela[zawodnik] or 0)
         zawodnik,
         +
         punkty
         punkty
    )


        if zawodnik == nil or
end
            zawodnik == "" then


            return


        end
-- =====================================================
-- JEDNO ZAPYTANIE DLA OBU DRUŻYN
-- =====================================================


local zawodnicyStrzelcy =
    mw.ext.cargo.query(
        "UdzialZawodnika=U,Mecze=M",


         tabela[zawodnik] =
         table.concat({
            (
                tabela[zawodnik] or 0
            )
            +
            punkty


    end
            "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",
    -- ZAWODNICY OBU DRUŻYN
            "M.nazwa_statystyki2=ns2"
    -- =====================================================


    local zawodnicyWszyscy =
         }, ","),
         mw.ext.cargo.query(
            "UdzialZawodnika=U,Mecze=M",


             table.concat({
        {
             join =
                "U.mecz=M.id",


                "U.zawodnik=zawodnik",
            where =
                 "U.druzyna=druzyna",
                 "(" ..
                "U.gol=gol",
                "U.minuty=minuty",


                 "M.id=mecz",
                "(" ..
                 "M.druzyna1=druzyna1",
                 "M.nazwa_statystyki1='" ..
                 "M.druzyna2=druzyna2",
                team1SQL ..
                "' AND " ..
                 "M.nazwa_statystyki2='" ..
                team2SQL ..
                 "' AND " ..


                 "M.nazwa_statystyki1=ns1",
                 "(" ..
                 "M.nazwa_statystyki2=ns2"
                "U.druzyna=M.druzyna1" ..
                " OR " ..
                 "U.druzyna=M.druzyna2" ..
                ")" ..


            }, ","),
                ")" ..


            {
                 " OR " ..
                 join =
                    "U.mecz=M.id",


                 where =
                 "(" ..
                    "(" ..
                "M.nazwa_statystyki1='" ..
                team2SQL ..
                "' AND " ..
                "M.nazwa_statystyki2='" ..
                team1SQL ..
                "' AND " ..


                    "(" ..
                "(" ..
                    "M.nazwa_statystyki1='" ..
                "U.druzyna=M.druzyna1" ..
                    team1SQL ..
                " OR " ..
                    "' AND " ..
                "U.druzyna=M.druzyna2" ..
                    "M.nazwa_statystyki2='" ..
                ")" ..
                    team2SQL ..
                    "' AND " ..
                    "U.druzyna=M.druzyna1" ..
                    ")" ..


                    " OR " ..
                ")" ..


                    "(" ..
                ")" ..
                    "M.nazwa_statystyki1='" ..
                    team2SQL ..
                    "' AND " ..
                    "M.nazwa_statystyki2='" ..
                    team1SQL ..
                    "' AND " ..
                    "U.druzyna=M.druzyna2" ..
                    ")" ..


                    ")" ..
                " AND U.minuty > 0",


                    " AND U.minuty > 0",
            limit = 20000
        }
    )


                limit = 20000
            }
        )


-- =====================================================
-- PRZYPISANIE ZAWODNIKA DO TEAM1 / TEAM2
-- NA PODSTAWIE STRONY MECZU
-- =====================================================


    if zawodnicyWszyscy then
if zawodnicyStrzelcy then


        for _, row
    for _, row in ipairs(zawodnicyStrzelcy) do
            in ipairs(zawodnicyWszyscy) do


            local druzyna = ""
        local druzynaH2H = nil




            if row.ns1 == team1 and
        -- -------------------------------------------------
                row.druzyna == row.druzyna1 then
        -- Wariant 1:
        -- team1 jest drużyną 1
        -- -------------------------------------------------


                druzyna = team1
        if row.ns1 == team1 and
            row.ns2 == team2 then


             elseif row.ns2 == team1 and
             if row.druzyna == row.druzyna1 then
                row.druzyna == row.druzyna2 then


                 druzyna = team1
                 druzynaH2H = team1


             elseif row.ns1 == team2 and
             elseif row.druzyna == row.druzyna2 then
                row.druzyna == row.druzyna1 then


                 druzyna = team2
                 druzynaH2H = team2


             elseif row.ns2 == team2 and
             end
                row.druzyna == row.druzyna2 then


                druzyna = team2


            end
        -- -------------------------------------------------
        -- Wariant 2:
        -- team2 jest drużyną 1
        -- -------------------------------------------------


        elseif row.ns1 == team2 and
            row.ns2 == team1 then


             if druzyna == team1 then
             if row.druzyna == row.druzyna1 then


                 dodajStrzelca(
                 druzynaH2H = team2
                    strzelcy[team1],
                    row.zawodnik,
                    liczba(row.gol)
                )


            elseif row.druzyna == row.druzyna2 then


            elseif druzyna == team2 then
                druzynaH2H = team1
 
                dodajStrzelca(
                    strzelcy[team2],
                    row.zawodnik,
                    liczba(row.gol)
                )


             end
             end
Linia 1272: Linia 1288:
         end
         end


    end


        -- -------------------------------------------------
        -- Dodanie punktów
        -- -------------------------------------------------


    local function uporzadkujStrzelcow(tablica)
        if druzynaH2H == team1 then


        local wynik = {}
            dodajStrzelca(
                strzelcy[team1],
                row.zawodnik,
                liczba(row.gol)
            )




         for zawodnik, punkty
         elseif druzynaH2H == team2 then
            in pairs(tablica) do


             table.insert(
             dodajStrzelca(
                 wynik,
                 strzelcy[team2],
                 {
                 row.zawodnik,
                    zawodnik = zawodnik,
                 liczba(row.gol)
                    punkty = punkty
                 }
             )
             )


         end
         end


    end


         table.sort(
end
 
 
-- =====================================================
-- SORTOWANIE STRZELCÓW
-- =====================================================
 
local function uporzadkujStrzelcow(
    tablica
)
 
    local wynik = {}
 
 
    for zawodnik, punkty
        in pairs(tab