Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2021-06-21, 23:59


killercycDDS

Migacz






Wiek: 25
Na forum: 4512 dni
Posty: 629
Nick w MP: killer_cyc[DDS]

Piwa: 1659

Respekt: 22

Witam mam pewien problem w pracy ot?? nie mog? odczyta? topki

--Strona S pracy


addEvent("onPlayerGetTopData"true)
addEventHandler("onPlayerGetTopData"resourceRoot, function()
    if client and source == resourceRoot then
        local data exports["pystories-ustawienia-praca"]:getTopJobData("streetview")
        triggerClientEvent(client"onClientGetTopData"resourceRootdata)
    end
end)


-- Strona C pracy

local sWsH guiGetScreenSize()

local zoom 1
local baseX 1920
local minZoom 2

if sW baseX then
    zoom math.min(minZoombaseX/sW)
end
local textures = {}
local topka 

function gui_sv()
    
    toggleAllControls(false)
textures.scroll dxCreateTexture(":psrpg-praca-streetview/img/gui_scrollbar.png")
textures.scroll_point dxCreateTexture(":psrpg-praca-streetview/img/gui_scrollbar_point.png")
dxDrawImage(675/zoom309/zoom664/zoom617/zoom":psrpg-praca-streetview/img/gui.png"000tocolor(255255255255), false)
dxDrawImage(675/zoom864/zoom178/zoom62/zoom":psrpg-praca-streetview/img/button.png"000tocolor(255255255255), false)
dxDrawText("Rozpocznij Prace"675/zoom864/zoom847/zoom926/zoomtocolor(255255255255), 1.00"default""center""center"falsefalsefalsefalsefalse)
dxDrawImage(1161/zoom864/zoom178/zoom62/zoom":psrpg-praca-streetview/img/button.png"000tocolor(255255255255), false)
dxDrawText("Zamknij Panel"1161/zoom864/zoom1333/zoom926/zoomtocolor(255255255255), 1.00"default""center""center"falsefalsefalsefalsefalse)
topka exports["pystories-ustawienia-praca"]:createGridlist(1074/zoom319/zoom265/zoom535/zoom, {background=textures.scrollgrip=textures.scroll_point})
    exports["pystories-ustawienia-praca"]:addGridlistColumn(topka"Gracz"0.6)
    exports["pystories-ustawienia-praca"]:addGridlistColumn(topka"Wynik"0.2)
    --exports["pystories-ustawienia-praca"]:addGridlistItem(topka"Gracz" ,"Gracz")
    exports["pystories-ustawienia-praca"]:setGridlistFont(topkaexports["pystories-ustawienia-praca"]:getGUIFont("normal_small"), 0.9/zoom)
    exports["pystories-ustawienia-praca"]:setGridlistSelectionMode(topka"none")
    exports["pystories-ustawienia-praca"]:renderGridlist(topka)
end



local m1 createMarker(-1871.171427.907.18-0.9"cylinder"1.20122255,50)

addEventHandler("onClientMarkerHit",m1, function(el,md)
    if el~=localPlayer then return end
        if getPedOccupiedVehicle(elthen return end
        showCursor(true)
        triggerServerEvent("onPlayerGetTopData"resourceRoot)
        addEventHandler("onClientRender"rootgui_sv)
end)




addEventHandler("onClientClick"root, function(btnstate)
        if btn == "left" and state == "down" then
            if cursorPosition(675/zoom864/zoom178/zoom62/zoom) and isEventHandlerAdded("onClientRender"rootgui_svthen
            triggerServerEvent ("startpraca",rootlocalPlayerlocalPlayer)
            removeEventHandler("onClientRender"rootgui_sv)
            exports["pystories-ustawienia-praca"]:destroyGridlist(topka)
            showCursor(false)
            toggleAllControls(true)
            for kv in pairs(textures) do 
                if isElement(vthen 
                    destroyElement(v)
                end
            end
            textures = {}

        elseif cursorPosition(1161/zoom864/zoom178/zoom62/zoom) and isEventHandlerAdded("onClientRender"rootgui_svthen
            removeEventHandler("onClientRender"rootgui_sv)
            exports["pystories-ustawienia-praca"]:destroyGridlist(topka)
            showCursor(false)
            toggleAllControls(true)
            for kv in pairs(textures) do 
                if isElement(vthen 
                    destroyElement(v)
                end
            end
            textures = {}
        end
    end
end)

addEvent("onClientGetTopData"true)
addEventHandler("onClientGetTopData"resourceRoot, function(data)
        if isElement(topkathen 
        for i=1do
            --local playerscore = (data[i] and data[i].name or "---"), (data[i] and data[i].stats or "---")
            exports["pystories-ustawienia-praca"]:addGridlistItem(topka"Gracz", (data[i] and data[i].name or "---"))
            exports["pystories-ustawienia-praca"]:addGridlistItem(topka"Wynik", (data[i] and data[i].stats or "---"))
        end
    end
end)


-- Strona S skryptu odpowiedzialnego za ogarnianie topek

    -- ?adowanie topek
    setTimer(function()
        local query exports["pystories-db"]:dbGet("SELECT id, login, topki_prac FROM `pystories_users`")
        local data = {}
        for kv in ipairs(query) do 
            local stats fromJSON(v.topki_prac)
            if stats then
                for accJobscore in pairs(stats) do 
                    if not data[accJobthen data[accJob] = {} end
                    table.insert(data[accJob], {name=v.loginuid=v.idstats=score})
                end
            end
        end
    
        for kv in pairs(data) do
            table.sort(data[k], function(ab)
                return a.stats b.stats
            end)
        end 
        topData data
    end,1000,0)
---


function addPlayerTopData(playerjobvalue)
    if isElement(player) and job and value then
        local uid getElementData(player"player:sid")
        local query exports["pystories-db"]:dbGet("SELECT `topki_prac` FROM `pystories_users` WHERE id=? LIMIT 1"uid)[1]
        local stats fromJSON(query.topki_prac) or {}
        if stats[jobthen 
            stats[job] = stats[job]+value
            
            -- sporo statystyk
            Async:foreach(topData[job], function(playerDataindex)
                if playerData.id == uid then 
                    topData[job][index].stats topData[job][index].stats+value
                    table.sort(topData[job], function(ab)
                        return a.stats b.stats
                    end)
                end
            end)
        else 
            stats[job] = value
            
            if not topData[jobthen topData[job] = {} end
            table.insert(topData[job], {name=getPlayerName(player), uid=uidstats=value})
        end
        
        exports["pystories-db"]:dbSet("UPDATE `pystories_users` SET `topki_prac`=? WHERE id=?"toJSON(stats), uid)
        return true
    end 
    
    return false
end 

function getPlayerTopData(playerjob)
    if isElement(player) and job then
        local uid getElementData(player"player:sid")
        local query exports["pystories-db"]:dbGet("SELECT `topki_prac` FROM `pystories_users` WHERE id=? LIMIT 1"uid)[1]
        local stats fromJSON(query.topki_prac) or {}
        if stats[jobthen 
            return stats[job]
        else 
            return 0
        end
    end 
    
    return false
end 

function getTopJobData(job)
    return topData[job] or {}
end


[ Dodano: 2021-06-22, 00:01 ]
ps b??dy db3 brak

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-06-22, 15:11


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193

Sprawdz, czy pobiera jakiekolwiek dane z tej tabeli ponizej. :P

Cytat:

local query = exports["pystories-db"]:dbGet("SELECT id, login, topki_prac FROM `pystories_users`")

Poza tym, tutaj zrobilbym osobna tabele do prac i toplist graczy, ktora by sie resetowala co dany okres czasu np. 7 dni. Anizeli przechowywac wszystkie dane w tabeli gracza, zawsze mozesz polaczyc JOIN'em dwie tabele i osiagnac to samo, a nawet miec porzadek w kodzie jak i tabelach w bazie danych.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-06-22, 22:09


killercycDDS

Migacz






Wiek: 25
Na forum: 4512 dni
Posty: 629
Nick w MP: killer_cyc[DDS]

Piwa: 1659

Respekt: 22

"Tey" napisał/a:

Sprawdz, czy pobiera jakiekolwiek dane z tej tabeli ponizej. :P

Cytat:

local query = exports["pystories-db"]:dbGet("SELECT id, login, topki_prac FROM `pystories_users`")

Poza tym, tutaj zrobilbym osobna tabele do prac i toplist graczy, ktora by sie resetowala co dany okres czasu np. 7 dni. Anizeli przechowywac wszystkie dane w tabeli gracza, zawsze mozesz polaczyc JOIN'em dwie tabele i osiagnac to samo, a nawet miec porzadek w kodzie jak i tabelach w bazie danych.

Przerobi?em i dzia?a lecz posiadam kolejny problem


PEŁNY EKRAN Odnośnik YouTube



C praca
 
local textures = {}
local topGridlist = {}

textures.scrolltextures.scroll_point dxCreateTexture("img/gui_scrollbar.png"),dxCreateTexture("img/gui_scrollbar_point.png")

function gui_sv()
    triggerServerEvent("topka2",resourceRoot)
    exports["psrpg-gui"]:renderGridlist(topGridlist)
topGridlist exports["psrpg-gui"]:createGridlist(1074/zoom,319/zoom265/zoom535/zoom, {background=textures.scrollgrip=textures.scroll_point})
exports["psrpg-gui"]:addGridlistColumn(topGridlist"Gracz"0.6)
exports["psrpg-gui"]:addGridlistColumn(topGridlist"Wynik"0.2)
exports["psrpg-gui"]:setGridlistFont(topGridlistexports["psrpg-gui"]:getGUIFont("normal_small"), 0.9/zoom)
exports["psrpg-gui"]:setGridlistSelectionMode(topGridlist"none")
--dxDrawImage(675/zoom309/zoom664/zoom617/zoom":psrpg-praca-streetview/img/gui.png"000tocolor(255255255255), false)
dxDrawImage(675/zoom864/zoom178/zoom62/zoom":psrpg-praca-streetview/img/button.png"000tocolor(255255255255), false)
dxDrawText("Rozpocznij Prace"675/zoom864/zoom847/zoom926/zoomtocolor(255255255255), 1.00"default""center""center"falsefalsefalsefalsefalse)
dxDrawImage(1161/zoom864/zoom178/zoom62/zoom":psrpg-praca-streetview/img/button.png"000tocolor(255255255255), false)
dxDrawText("Zamknij Panel"1161/zoom864/zoom1333/zoom926/zoomtocolor(255255255255), 1.00"default""center""center"falsefalsefalsefalsefalse)


--exports["psrpg-gui"]:setGridlistSelectionMode(topGridlist"none")


end


local m1 createMarker(-1871.171427.907.18-0.9"cylinder"1.20122255,50)

addEventHandler("onClientMarkerHit",m1, function(el,md)
    if el~=localPlayer then return end
        if getPedOccupiedVehicle(elthen return end
        showCursor(true)
        addEventHandler("onClientRender"rootgui_sv)

end)




addEventHandler("onClientClick"root, function(btnstate)
        if btn == "left" and state == "down" then
            if cursorPosition(675/zoom864/zoom178/zoom62/zoom) and isEventHandlerAdded("onClientRender"rootgui_svthen
            triggerServerEvent ("startpraca",rootlocalPlayerlocalPlayer)
            removeEventHandler("onClientRender"rootgui_sv)
            exports["psrpg-gui"]:destroyGridlist(topGridlist)
            showCursor(false)
            toggleAllControls(true)
            for kv in pairs(textures) do 
                if isElement(vthen 
                    destroyElement(v)
                end
            end
            textures = {}

        elseif cursorPosition(1161/zoom864/zoom178/zoom62/zoom) and isEventHandlerAdded("onClientRender"rootgui_svthen
            removeEventHandler("onClientRender"rootgui_sv)
            exports["psrpg-gui"]:destroyGridlist(topGridlist)
            showCursor(false)
            toggleAllControls(true)
            for kv in pairs(textures) do 
                if isElement(vthen 
                    destroyElement(v)
                end
            end
            textures = {}
        end
    end
end)

addEvent("topka1"true)
addEventHandler("topka1"resourceRoot, function(data)
        if isElement(topGridlistthen 
        for i=1,do
            --local playerscore = (data[i] and data[i].name or "---"), (data[i] and data[i].stats or "---")
            exports["psrpg-gui"]:addGridlistItem(topGridlist"Gracz", (data[i] and data[i].name or "---"))
            exports["psrpg-gui"]:addGridlistItem(topGridlist"Wynik", (data[i] and data[i].stats or "---"))
        end
    end
end)

S praca


addEvent("topka2"true)
addEventHandler("topka2"resourceRoot, function()
    if client and source == resourceRoot then
        local data exports["pystories-ustawienia-praca"]:getTopJobData("streetview")
        triggerClientEvent(client"topka1"resourceRootdata)
    end
end)

grandlista

addEvent("onClientClickGridlist"true)
addEvent("onClientHoverGridlist"true)
addEvent("onClientSelectGridlistItem"true)

local listID 0
local activeGridlist false 

local previousRowpreviousRowData nilnil -- do hovera i kliku

function createGridlist(xywhscrollTextures)
    if and and and h then 
        listID listID 1
        
        local swsh dxGetMaterialSize(scrollTextures.background)
        local gripSize dxGetMaterialSize(scrollTextures.grip)
        local scroll createScroll(math.floor(x+w+sw/zoom/2), ymath.floor(sw/zoom), hscrollTextures, (gripSize*0.8)/zoom)
        
        local listData = {  
            x=x, 
            y=y,
            w=w, 
            h=h,
            font="default-bold",
            fontSize=1.0,
            columns={},
            columnsSize={},
            columnsOffsets={},
            sortedColumns={},
            selectionMode="single", -- lub many
            scroll=scroll,
            maxRows=0,
        }
        
        local maxRows 0
        local itemH dxGetFontHeight(listData.fontSizelistData.font)*1.5+dxGetFontHeight(listData.fontSizelistData.font)
        repeat 
            maxRows maxRows+1
            itemH itemH+dxGetFontHeight(listData.fontSizelistData.font)*1.5
        until itemH >= h
        listData.maxRows maxRows
        
        local el createElement("pd_gridlist""pd_gridlist"..tostring(listID)) 
        setElementData(el"data"listDatafalse)
        
        activeGridlist el

        return el
    end
end 

function destroyGridlist(list)
    if isElement(list) and getElementType(list) == "pd_gridlist" then 
        local data getElementData(list, "data")
        destroyScroll(data.scroll)
        
        if list == activeGridlist then 
            activeGridlist false
        end 
        
        destroyElement(list)
    end
end

function addGridlistColumn(list, columnsize)
    if isElement(list) and getElementType(list) == "pd_gridlist" then 
        local data getElementData(list, "data")
        data.columns[column] = {}
        
        local offset 0 
        for kv in pairs(data.columnsSize) do 
            offset offset + (data.w)
        end
        
        data.columnsSize[column] = size
        data.columnsOffsets[column] = offset
        
        table.insert(data.sortedColumnscolumn)
        setElementData(list, "data"datafalse)
        
        return true
    end
    
    return false
end 

function addGridlistItem(list, columnitem)
    if isElement(list) and getElementType(list) == "pd_gridlist" and item then
        local data getElementData(list, "data")
        if data.columns[columnthen
            
            table.insert(data.columns[column], {title=itemselected=falsecolor={255255255255}})
            setElementData(list, "data"datafalse)
            
            return #data.columns[column]
        end
    end
    
    return false
end

function setGridlistFont(list, fontfontSize)
    if isElement(list) and getElementType(list) == "pd_gridlist" and font and fontSize then
        local data getElementData(list, "data")
        data.font font 
        data.fontSize fontSize
        
        local maxRows 0
        local itemH dxGetFontHeight(fontSizefont)*1.5+dxGetFontHeight(data.fontSizedata.font)
        repeat 
            maxRows maxRows+1
            itemH itemH+dxGetFontHeight(fontSizefont)*1.5
        until itemH >= data.h
        data.maxRows maxRows 
        
        setElementData(list, "data"datafalse)
    end
end

function setGridlistSelectionMode(list, type)
    if isElement(list) and getElementType(list) == "pd_gridlist" and type then 
        local data getElementData(list, "data")
        data.selectionMode type 
        setElementData(list, "data"datafalse)
    end
end 

function setGridlistItemSelected(list, columnitembool)
    if isElement(list) and getElementType(list) == "pd_gridlist" and item then
        local data getElementData(list, "data")
        if data.columns[columnthen
            data.columns[column][item].selected bool
            setElementData(list, "data"datafalse)
            return true
        end
    end
    
    return false
end

function setGridlistItemColor(list, columnitemcolor)
    if isElement(list) and getElementType(list) == "pd_gridlist" and item then
        local data getElementData(list, "data")
        if data.columns[columnthen
            data.columns[column][item].color color
            setElementData(list, "data"datafalse)
            return true
        end
    end
    
    return false
end 

function moveGridlistScroll(list, directionvalue)
    if isElement(list) and getElementType(list) == "pd_gridlist" and direction and value then
        local data getElementData(list, "data")
        moveScroll(data.scrolldirectionvalue)
        return true
    end
    
    return false
end

function getGridlistSelectedItems(list, outputNames)
    if isElement(list) and getElementType(list) == "pd_gridlist" then 
        local data getElementData(list, "data")
        local items = {} 
        for kitem in ipairs(data.columns[data.sortedColumns[1]]) do
            if item.selected == true then 
                if outputNames then 
                    table.insert(itemsitem.title)
                else
                    table.insert(itemsk)
                end
            end
        end 
        
        return items
    end
    
    return false
end 

function clearGridlistItems(list)
    if isElement(list) and getElementType(list) == "pd_gridlist" then 
        local data getElementData(list, "data")
        for kv in pairs(data.columns) do 
            data.columns[k] = {}
        end
        setElementData(list, "data"datafalse)
    
        return true
    end
    
    return false
end

local prevSelectedItem false
function renderGridlist(list)
    if isElement(list) and getElementType(list) == "pd_gridlist" then 
        local data getElementData(list, "data")
        if isCursorOnElement(data.xdata.ydata.wdata.hthen 
            activeGridlist = list
        end 
        
        -- itemy 
        local scrollProgress getScrollProgress(data.scroll)
        
        local offsetX 0
        local itemH dxGetFontHeight(data.fontSizedata.font)*1.5
        
        for icolumnName in ipairs(data.sortedColumns) do 
            offsetX data.columnsOffsets[columnName]
            offsetY dxGetFontHeight(data.fontSizedata.font)
            
            dxDrawText(columnNamedata.x+offsetX+10data.y0data.y+dxGetFontHeight(data.fontSize*0.85data.font), tocolor(220220220255), data.fontSize*0.85data.font"left""center")
                
            -- wy?wietlamy teraz itemsy 
            local selectedRow 1
            local visibleRows data.maxRows
            if #data.columns[data.sortedColumns[1]] > data.maxRows then 
                selectedRow math.ceil(scrollProgress * (#data.columns[data.sortedColumns[1]]-data.maxRows+1))
                visibleRows math.max(data.maxRowsselectedRow+data.maxRows-1)
                        
                renderScroll(data.scroll)
            end 
            
            for kitem in ipairs(data.columns[columnName]) do 
                if >= selectedRow and <= visibleRows then 
                    local xywdata.x+offsetXdata.y+offsetYdata.witemH
                    if == 1 then
                        if isCursorOnElement(xywhthen 
                            if item.selected then
                                dxDrawRectangle(xywhtocolor(25551204150))
                            else 
                                dxDrawRectangle(xywhtocolor(000100))
                            end 
                            
                            if (prevSelectedItem and prevSelectedItem.item ~= kthen 
                                playHoverSound()
                            end 
                            
                            prevSelectedItem = {title=item.titleitem=kcolumn=columnNamex=xy=yw=wh=h}
                        else 
                            if item.selected then 
                                dxDrawRectangle(xywhtocolor(25551204150))
                            else 
                                dxDrawRectangle(xywhtocolor(000150))
                            end
                        end
                    end
                    
                    if item.selected then 
                        dxDrawText(item.titlex+10yx+wy+htocolor(255255255255), data.fontSizedata.font"left""center")
                    else    
                        dxDrawText(item.titlex+10yx+wy+htocolor(item.color[1], item.color[2], item.color[3], item.color[4]), data.fontSizedata.font"left""center")
                    end 
                    
                    offsetY math.floor(offsetY+itemH+itemH*0.06)
                end
            end
        end
    end
end

function onClientClickGridlist(buttonstate)
    if button == "mouse1" and state then 
        if activeGridlist then 
            if prevSelectedItem and isCursorOnElement(prevSelectedItem.xprevSelectedItem.yprevSelectedItem.wprevSelectedItem.hthen 
                local data getElementData(activeGridlist"data")
                if not data.columns[prevSelectedItem.column] or not data.columns[prevSelectedItem.column][prevSelectedItem.itemthen return end 
                
                if data.selectionMode == "single" then 
                    for kitem in ipairs(data.columns[prevSelectedItem.column]) do 
                        local s = (== prevSelectedItem.item) and (not item.selected) or false
                        if ~= item.selected then 
                            triggerEvent("onClientSelectGridlistItem"activeGridlistprevSelectedItem.titleprevSelectedItem.item== false)
                        end
                        item.selected s
                    end
                    setElementData(activeGridlist"data"datafalse)
                elseif data.selectionMode == "many" then 
                    local s not data.columns[prevSelectedItem.column][prevSelectedItem.item].selected
                    data.columns[prevSelectedItem.column][prevSelectedItem.item].selected s
                    setElementData(activeGridlist"data"datafalse)
                    
                    triggerEvent("onClientSelectGridlistItem"activeGridlistprevSelectedItem.titleprevSelectedItem.item== false)
                elseif data.selectionMode == "none" then 
                    return
                end
                
                triggerEvent("onClientClickGridlist"activeGridlist)
                playClickSound()
            end
        end
    elseif button == "mouse_wheel_up" then 
        if activeGridlist then 
            local data getElementData(activeGridlist"data")
            moveScroll(data.scroll"up"data.h/(#data.columns[data.sortedColumns[1]]-data.maxRows))
        end
    elseif button == "mouse_wheel_down" then 
        if activeGridlist then 
            local data getElementData(activeGridlist"data")
            moveScroll(data.scroll"down"data.h/(#data.columns[data.sortedColumns[1]]-data.maxRows))
        end
    end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-06-22, 23:17


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193

Koniecznie wywal triggerServerEvent z onClientRender i przenie? go tam gdzie gracz wchodzi w marker i z tego co pamietam bo widze ze u?ywasz gui paradajsa tworzysz tylko raz gridliste czyli w tym przypadku w onClientMarkerHit i usuwasz gridliste destroyGridlist po wyj?ciu :p

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-06-23, 21:55


killercycDDS

Migacz






Wiek: 25
Na forum: 4512 dni
Posty: 629
Nick w MP: killer_cyc[DDS]

Piwa: 1659

Respekt: 22

"Tey" napisał/a:

Koniecznie wywal triggerServerEvent z onClientRender i przenie? go tam gdzie gracz wchodzi w marker i z tego co pamietam bo widze ze u?ywasz gui paradajsa tworzysz tylko raz gridliste czyli w tym przypadku w onClientMarkerHit i usuwasz gridliste destroyGridlist po wyj?ciu :p


Niestety po zrobieniu triggera zamiast w gui doda?em tak jak napisa?e? czyli kiedy wchodzi w marker. Gdy zrobi?em tak:

triggerServerEvent("topka2",resourceRoot)

Nie pokazywa?o si? nic.
Po zrobieniu
triggerServerEvent("topka2",resourceRoot,localPlayer)

wyskoczy?o na mniej ni? 1 sek i znikn??o a po ponownym wej?ciu wywali?o taki b??d



Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-09-03, 14:06


_jvneczek







Wiek: 22
Na forum: 4326 dni
Posty: 1513
Nick w MP: _jvneczek

Piwa: 3949

Respekt: 337,5
Respekt: 337,5Respekt: 337,5Respekt: 337,5

Czy problem zosta? rozwi?zany?

Postaw piwo autorowi tego posta
 

 
Tagi: nie :: wczytuje :: topki
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » nie wczytuje topki Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku