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

Wysłany: 2020-12-28, 01:02


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60

Witam chcia?em doda? do panelu frakcyjnego by pokazywa?o Nick lecz nie pokazuje podejrzewam go

PS jest on z pystories 3.0


local wm={
    window={},
    added={},
    edit={},
    close={},
    delete={},
    gridlist={},
    faction=nil,
}



-- Panel cz?onk?w
wm.window[1]=guiCreateWindow(0.180.230.640.57"Panel frakcji"true)
guiWindowSetMovable(wm.window[1], false)
guiWindowSetSizable(wm.window[1], false)
guiSetVisible(wm.window[1], false)
wm.gridlist[1]=guiCreateGridList(0.020.050.970.73truewm.window[1])
guiGridListAddColumn(wm.gridlist[1], "Nick"0.3)
guiGridListAddColumn(wm.gridlist[1], "SID"0.3)
guiGridListAddColumn(wm.gridlist[1], "Ranga"0.3)
guiGridListAddColumn(wm.gridlist[1], "Aktywny"0.3)
wm.added[1]=guiCreateButton(0.020.800.260.16"Dodaj"truewm.window[1])
wm.edit[1]=guiCreateButton(0.380.800.260.16"Edytuj"truewm.window[1])
wm.delete[1]=guiCreateButton(0.730.800.260.16"Wyrzu?"truewm.window[1])

-- Dodawanie cz?onka/edycja jego
wm.window[2]=guiCreateWindow(0.350.430.300.22"Dodawanie cz?onka - wpisz nick i kliknij dodaj"true)
guiWindowSetMovable(wm.window[2], false)
guiWindowSetSizable(wm.window[2], false)
guiSetVisible(wm.window[2], false)
wm.edit[2]=guiCreateEdit(0.090.210.810.20""truewm.window[2])
wm.close[1]=guiCreateButton(0.550.520.360.31"Zamknij"truewm.window[2])
wm.added[2]=guiCreateButton(0.090.520.360.31"Dodaj"truewm.window[2])

function fillUsersData(result)
    guiGridListClear(wm.gridlist[1])
    for i,v in pairs(result) do
        local row=guiGridListAddRow(wm.gridlist[1])
        guiGridListSetItemText(wm.gridlist[1], row1v["login"], falsefalse)
        guiGridListSetItemText(wm.gridlist[1], row2v["sid"], falsefalse)
        guiGridListSetItemText(wm.gridlist[1], row3v["rank"], falsefalse)
        guiGridListSetItemText(wm.gridlist[1], row4v["actived"], falsefalse)
        
    end
end

addEventHandler("onClientMarkerLeave"resourceRoot, function(el,md)
    if el~=localPlayer then return end
    if guiGetVisible(wm.window[1]) == true then
        showCursor(false)
        guiSetVisible(wm.window[1], false)
        guiSetVisible(wm.window[2], false)
    end
end)

addEventHandler("onClientGUIClick"resourceRoot, function()
    if source == wm.added[1then
        guiSetVisible(wm.window[2], true)
        guiMoveToBack(wm.window[1])
        guiSetText(wm.added[2],"Dodaj")
        guiSetText(wm.window[2],"Dodawanie cz?onka - wpisz SID gracza i kliknij dodaj")
    end
    if source == wm.edit[1then
        local selectedRow=guiGridListGetSelectedItem(wm.gridlist[1])
        if not selectedRow or selectedRow 0 then return end
        local rank=guiGridListGetItemText(wm.gridlist[1], selectedRow2)
        if tonumber(rank) == 99 then outputChatBox("* Nie mo?esz edytowa? tego U?ytkownika, poniewa? posiada On Lidera !",255,0,0) return end
        guiSetVisible(wm.window[2], true)
        guiMoveToBack(wm.window[1])
        guiSetText(wm.added[2],"Edycja")
        guiSetText(wm.window[2],"Edycja cz?onka - wpisz ID rangi (0-98) i kliknij edycja")
    end
    if source == wm.close[1then
        guiSetVisible(wm.window[2], false)
    end
    if source == wm.added[2then
        local text=guiGetText(wm.edit[2])
        if guiGetText(wm.added[2]) ~= "Dodaj" then
            local selectedRow=guiGridListGetSelectedItem(wm.gridlist[1])
            if not selectedRow or selectedRow 0 then return end
            local name=guiGridListGetItemText(wm.gridlist[1], selectedRow1)
            if not name then return end
            if not text then return end
            if tonumber(text) and tonumber(text) <= 98 then
                triggerServerEvent("lider:editUser"resourceRootnametextwm.faction)
            else
                guiSetText(wm.window[2], "Podaj range w liczbach! Maksymalna to 98!")
            end
        else
            if not text then return end
            triggerServerEvent("lider:addUser"resourceRoottextwm.faction)
        end
    end
    if source == wm.delete[1then
        local selectedRow=guiGridListGetSelectedItem(wm.gridlist[1])
        if not selectedRow or selectedRow 0 then return end
        local rank=guiGridListGetItemText(wm.gridlist[1], selectedRow2)
        if tonumber(rank) == 99 then outputChatBox("* Nie mo?esz usun?? tego U?ytkownika, poniewa? posiada On Lidera !",255,0,0) return end
        local name=guiGridListGetItemText(wm.gridlist[1], selectedRow1)
        if not name then return end
        triggerServerEvent("lider:deleteUser"resourceRootnamewm.faction)
    end
    if source == wm.gridlist[1then
        local selectedRow=guiGridListGetSelectedItem(wm.gridlist[1])
        if not selectedRow or selectedRow 0 then
            guiSetEnabled(wm.edit[1], false)
            guiSetEnabled(wm.delete[1], false)
        else
            guiSetEnabled(wm.edit[1], true)
            guiSetEnabled(wm.delete[1], true)
        end
    end
end)

addEvent("lider:showGUI"true)
addEventHandler("lider:showGUI"resourceRoot, function(fid,result)
    if guiGetVisible(wm.window[1]) == false then
        -- Ustawienia
        showCursor(true,false)
        guiSetVisible(wm.window[1], true)

        guiSetEnabled(wm.edit[1], false)
        guiSetEnabled(wm.delete[1], false)


        wm.faction=fid -- deklarujemy frakcj?

        -- Sprawdzamy cz?onk?w
        fillUsersData(result)
    end
end)

addEvent("lider:refresh"true)
addEventHandler("lider:refresh"resourceRootfillUsersData)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-28, 07:01


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Poka? to, co przekazujesz w evencie lider:refresh. W bazie masz te wszystkie 4 kolumny?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-28, 17:16


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60


addEvent("lider:editUser"true)
addEventHandler("lider:editUser"resourceRoot, function(text,rank,faction)
    local result1=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE id=?"text)
    if not result1 or #result1 < 0 then outputChatBox("* Podany u?ytkownik nie istnieje w bazie danych.", client, 255, 0, 0) return end 
    local result2=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=? AND sid=? LIMIT 1;"factiontext) -- pobieramy tylko JEDEN rekord
    if not result2 or #result2 < 0 then outputChatBox("*Podany u?ytkownik nie znajduje si? w tej frakcji !",client,255,0,0) return end
    local query1=exports["pystories-db"]:dbSet("UPDATE `pystories_factions` SET `rank`=? WHERE `sid`=? AND `code`=?"ranktextfaction)
    if query1 then
    local resulted=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=?"faction)
        triggerClientEvent(client,"lider:refresh",resourceRoot,resulted)
        outputChatBox("* Pomy?lnie zmieniono rang? graczowi "..result1[1].login.." we frakcji o id: "..faction.." na "..rankclient)
    end
end)
addEvent("lider:addUser"true)
addEventHandler("lider:addUser"resourceRoot, function(text,faction)
    local result1=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE id=?"text)
    if not result1 or #result1 < 0 then outputChatBox("* Podany u?ytkownik nie istnieje w bazie danych.", client, 255, 0, 0) return end
    local result2=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE sid=? and code=?"textfaction)
    if result2 and #result2 > 0 then outputChatBox("* Podany u?ytkownik ju? znajduje si? w tej frakcji.", client, 255, 0, 0) return end
    local result3=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE sid=?"text)
    if result3 and #result3 > 0 then outputChatBox("* Podany u?ytkownik ju? znajduje si? w innej frakcji.", client, 255, 0, 0) return end
    outputDebugString("Faction: "..faction)
    outputDebugString("Text: "..text)
    local query1=exports["pystories-db"]:dbSet("INSERT pystories_factions (sid,code) VALUES (?,?)",textfaction)
    if query1 then
    local resulted=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=?"faction)
        triggerClientEvent(client,"lider:refresh",resourceRoot,resulted)
        outputChatBox("* Pomy?lnie dodano gracza "..result1[1].login.." o SID: "..text.." we frakcji na 1 poziom."client)
    end
end)
addEvent("lider:deleteUser"true)
addEventHandler("lider:deleteUser"resourceRoot, function(text,faction)
    local result1=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE id=?"text)
    if not result1 or #result1 < 0 then outputChatBox("* Podany u?ytkownik nie istnieje w bazie danych.", client, 255, 0, 0) return end 
    local result2=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=? AND sid=? LIMIT 1;"factiontext) -- pobieramy tylko JEDEN rekord
    if not result2 or #result2 < 0 then outputChatBox("* Podany u?ytkownik nie znajduje si? w tej frakcji !",client,255,0,0) return end
    local query1=exports["pystories-db"]:dbSet("DELETE FROM pystories_factions WHERE sid=? AND code=?",textfaction)
    if query1 then
    local resulted=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=?"faction)
    triggerClientEvent(client,"lider:refresh",resourceRoot,resulted)
        outputChatBox("* Pomy?lnie usunieto gracza "..result1[1].login.." o SID: "..text.." z frakcji." client)
    end
end)




a tu masz ss z bazy danych pystories_factions

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-28, 21:34


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

No, i z tego co widz? to brakuje kolumny 'login' - musisz ow? doda? w bazie danych bo rzekomo j? wykorzystujesz w LUA - co nie ma efektu bo ona nie istnieje.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-29, 14:31


NoNamik







Wiek: 35
Na forum: 2185 dni
Posty: 289
Nick w MP: JestemNoNamem

Piwa: 374

Respekt: 60

Wilq, a nie da sie zrobic tak by pobieralo t? kolumne login z pystories_users?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-29, 14:56


TheSebaPL

Mod-team






Wiek: 21
Na forum: 3098 dni
Posty: 964

Piwa: 3102

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

NoNamik, lepiej jest zrobi? ow? struktur? te same warto?ci wez jakie s? w pystories_users

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-12-29, 19:30


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Nie trzeba tworzy?, nie chc? kopiowa? s?owo w s?owo wi?c podrzuc? linka:
https://stackoverflow.com/questions/5446778/select-from-one-table-matching-criteria-in-another

Postaw piwo autorowi tego posta
 

 
Tagi: panel :: frakcji
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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