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

Wysłany: 2017-12-23, 23:24


MassUUUU

Primary MTA






Wiek: 24
Na forum: 3775 dni
Posty: 123
Nick w MP: CooqieEZ

Piwa: 5082

Respekt: 28,3

Cze??, na serwer mo?e zalogowa? si? jedna osoba, ale druga ju? ni uja. Wtedy pojawia si? co? takiego:
logowanie/s.lua:52attempt to call global 'getTimestamp' (a nil value)


Dobra, teraz wrzuc? kodzik:


    local haslo2 false
local haslo3 false


addEvent("domy"true)
addEventHandler("domy"root, function()
    local result false
    if getElementData(source"organizacja"then
        result exports.mysql:wykonaj("SELECT * FROM domy WHERE (nwlasciciel=? OR organizacja=?)"getPlayerName(source), getElementData(source"organizacja"))
    else
        result exports.mysql:wykonaj("SELECT * FROM domy WHERE nwlasciciel=?"getPlayerName(source))
    end
    if #result > 0 then
        triggerClientEvent(source"domy"sourceresult)
    end
end)

addEvent("sprawdz:pozycje"true)
addEventHandler("sprawdz:pozycje"root, function()
    local result exports.mysql:wykonaj("SELECT * FROM konta WHERE dbid=?"getElementData(source"dbid"))
    if #result > 0 and result[1].pos:len() > 1 then
        local pozycja split(result[1].pos",")
        triggerClientEvent("sprawdz:pozycje"sourcepozycja[1], pozycja[2], pozycja[3])
    else
        triggerClientEvent("sprawdz:pozycje"source1721.72, -1695.6613.50)
    end
end)

addEvent("zaloguj"true)
addEventHandler("zaloguj"root, function(loginhaslo)
    haslo escapeStrings(haslo)
    login escapeStrings(login)
    haslo2 haslo
    local haslo base64Encode(haslo)
    local spr exports.mysql:wykonaj("SELECT * FROM konta WHERE login=? AND haslo=?"loginhaslo)
    if #spr > 1 then
        triggerClientEvent(client"zmienPowiadomienie"client"Dane s? nieprawid?owe b?d? takie konto nie istnieje.")
    return
    end
    if #spr < 1 then
        triggerClientEvent(client"zmienPowiadomienie"client"Dane s? nieprawid?owe b?d? takie konto nie istnieje.")
    return
    end
    for _p in ipairs(getElementsByType("player")) do
    if getElementData(p"dbid") == spr[1].dbid then
    timestamp getTimestamp()
    czas timestamp 14*86400
    time getRealTime(czas)
    data = (time.year+1900).."-"..(time.month+1).."-"..(time.monthday).." "..(time.hour+1)..":"..(time.minute)..":"..(time.second)
    exports.mysql:wykonaj("INSERT INTO bany SET nick=?, serial=?, ip=?, data=?, admin=?, tresc=?"getPlayerName(client),getPlayerSerial(client),getPlayerIP(client),data,'SYSTEM','Wyja?nij co? na forum')
        kickPlayer(client"Zaloguj si? ponownie.")
    return
    end
    end
    local konto getAccount(loginhaslo2)
    if konto then
        logIn(clientkontohaslo2)
    end
    triggerClientEvent(client"usunElementyLogowania"root)
    wczytajDane(clientlogin)
end)

addEvent("zarejestruj"true)
addEventHandler("zarejestruj"root, function(loginhasloemail)
    haslo escapeStrings(haslo)
    login escapeStrings(login)
    local sprxd exports.mysql:wykonaj("SELECT * FROM konta WHERE serial=?"getPlayerSerial(client))
    if sprxd and #sprxd >= 2 then
           triggerClientEvent(client"zmienPowiadomienie"client"Na twoim serialu zarejestrowano ju? maksymaln? liczb? kont (2).")
        return 
    end
    haslo3 haslo
    local haslo base64Encode(haslo)
    local spr exports.mysql:wykonaj("SELECT * FROM konta WHERE login=?"login)
    if #spr > 0 then
        triggerClientEvent(client"zmienPowiadomienie"client"Konto o takim loginie ju? istnieje.")
    return
    end
    local wyk exports.mysql:wykonaj("INSERT INTO konta SET login=?, haslo=?, email=?, serial=?, rejestracja=NOW()"loginhasloemailgetPlayerSerial(client))
    if wyk then
        addAccount(loginhaslo2)
        local konto getAccount(loginhaslo2)
        if konto then
            logIn(clientkontohaslo2)
        end
        triggerClientEvent(client"usunElementyLogowania"roottrue)
        wczytajDane(clientlogin)
    end
end)

addEvent("spawn"true)
addEventHandler("spawn"root, function(lxyz)
    if not l then return end
    if ~= true then
        if == "spawn" then
            spawnPlayer(client, -2671.75, -5.046.130getElementData(client"skin"), 0)
        elseif == "angelpine" then
            spawnPlayer(client, -2108.19, -2448.5630.620getElementData(client"skin"), 0)
        elseif == "urzad" then
            spawnPlayer(client, -2713.565127.124.330getElementData(client"skin"), 0)
    --[[elseif == "pos" then
            local spr exports.mysql:wykonaj("SELECT * FROM konta WHERE dbid=?"getElementData(client"dbid"))
            if spr[1].pos:len() > 1 then
                local pozycja split(spr[1].pos",")
                local xypozycja[1], pozycja[2], pozycja[3]
                spawnPlayer(clientxyz0getElementData(client"skin"), 0)
            else
                spawnPlayer(client1721.72, -1695.6613.500getElementData(client"skin"), 0)
            end]]
        end
    else
        spawnPlayer(clientxyz0getElementData(client"skin"), 0)
    end
    setElementData(client"zalogowany"true)
    setCameraTarget(clientclient)
    toggleControl(client"fire"false)
    toggleControl(client"aim_weapon"false)
end)

function wczytajDane(pl)
    if not p and not l then return end
    local spr exports.mysql:wykonaj("SELECT * FROM konta WHERE login=?"l)
    setPlayerName(pspr[1].login)
    setElementData(p"dbid"spr[1].dbid)
    setElementData(p"pieniadze"spr[1].kasa)
    setElementData(p,'grosze',spr[1].grosze)
    setElementData(p"punkty"spr[1].punkty)
    setElementData(p"bkasa"spr[1].bkasa)
    setElementData(p"online"spr[1].online)
    setElementData(p"rejestracja"spr[1].rejestracja)
    setElementData(p"prawko_a"spr[1].prawko_a)
    setElementData(p"prawko_b"spr[1].prawko_b)
    if spr[1].urzedowka ~= "" then
        setElementData(p"urzedowka"spr[1].urzedowka)
    end
    setElementData(p"prawko_c"spr[1].prawko_c)
    setElementData(p"skin"spr[1].skin)
    local q exports.mysql:wykonaj("SELECT * FROM organizacje WHERE id=?"spr[1].org)
    if #q > 0 then
        setElementData(p"organizacja"q[1].nazwa)
        setElementData(p"oranga"spr[1].oranga)
        setElementData(p"org"spr[1].org)
      else
        setElementData(p"organizacja"false)
        setElementData(p"oranga"false)
        setElementData(p"org"false)
       end
       if spr[1].premium == "0000-00-00" then return end
       if spr[1].premium data() then
        setElementData(p"premium"true)
        setElementData(p"premium:date"spr[1].premium)
        setPlayerNametagColor(p2552550)
    else
        setElementData(p"premium"false)
        setPlayerNametagColor(p255255255)
        exports.mysql:wykonaj("UPDATE konta SET premium=? WHERE dbid=?""0000-00-00"spr[1].dbid)
    end
end

addEventHandler("onPlayerQuit"root, function()
    if getElementData(source"dbid"then
        local kasa getElementData(source"pieniadze")
        local grosze getElementData(source"grosze")
        local online tonumber(getElementData(source"online"))
        local dbid getElementData(source"dbid")
        local pkt getElementData(source"punkty")
        local skin getElementData(source"skin")
        local xygetElementPosition(source)
        local pos x..", "..y..", "..z
        local wyk exports.mysql:wykonaj("UPDATE konta SET kasa=?, grosze=?, online=?, punkty=?, skin=?, pos=? WHERE dbid=?"kasagroszeonlinepktskinposdbid)
        if not wyk then
            outputDebugString("Nie udalo sie zapisac gracza o dbid "..dbid)
        end
    end
end)

function data()
    local t getRealTime()
    local r t.year
    local m t.month
    local t t.monthday
    r r+1900
    m m+1
    local time getRealTime()
    local hours time.hour
    local minutes time.minute
    local c hours..":"..minutes
    return r.."-"..m.."-"..t.." "..c
end

addEvent("sprawdzBana"true)
addEventHandler("sprawdzBana"root, function()
    local g source
    local serial getPlayerSerial(g)
    local spr exports.mysql:wykonaj("SELECT * FROM bany WHERE serial=? AND data>NOW()"serial)
    if #spr > 0 then
        triggerClientEvent(g"oknoZbanowany"rootgspr[1].ipspr[1].serialspr[1].dataspr[1].adminspr[1].nick)
        triggerClientEvent(g"bShowedLogin"root)
    else
        exports.mysql:wykonaj("DELETE FROM bany WHERE serial=?"serial)
    end
end)

addEvent("banWyrzuc"true)
addEventHandler("banWyrzuc"root, function()
    kickPlayer(source"Tw?j serial zosta? zablokowany na tym serwerze.")
end)

function escapeStrings(str)
 local String string.gsub(tostring(str),"'","")
 String string.gsub(String,'"',"")
 String string.gsub(String,';',"")
 String string.gsub(String,"\","")
 String string.gsub(String,"/*","")
 String string.gsub(String,"*/","")
 String string.gsub(String,"'","")
 String string.gsub(String,"`","")
 return String
end


Ostatnio zmieniony przez MassUUUU 2017-12-24, 00:08, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-12-23, 23:33


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4150 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8


Więcej informacji znajdziesz w Wikipedii MTA:

getTimestamp





function isLeapYear(year)
    if year then year math.floor(year)
    else year getRealTime().year 1900 end
    return ((year == and year 100 ~= 0) or year 400 == 0)
end

function getTimestamp(yearmonthdayhourminutesecond)
    -- initiate variables
    local monthseconds = { 267840024192002678400259200026784002592000267840026784002592000267840025920002678400 }
    local timestamp 0
    local datetime getRealTime()
    yearmonthday year or datetime.year 1900month or datetime.month 1day or datetime.monthday
    hourminutesecond hour or datetime.hourminute or datetime.minutesecond or datetime.second
    
    -- calculate timestamp
    for i=1970year-do timestamp timestamp + (isLeapYear(i) and 31622400 or 31536000end
    for i=1month-do timestamp timestamp + ((isLeapYear(year) and == 2) and 2505600 or monthseconds[i]) end
    timestamp timestamp 86400 * (day 1) + 3600 hour 60 minute second
    
    timestamp timestamp 3600 --GMT+1 compensation
    if datetime.isdst then timestamp timestamp 3600 end
    
    return timestamp
end
Wrzu? to na g?r? kodu.

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-12-24, 00:07


MassUUUU

Primary MTA






Wiek: 24
Na forum: 3775 dni
Posty: 123
Nick w MP: CooqieEZ

Piwa: 5082

Respekt: 28,3

marcin778, nope nie dzia?a. Zaktualizowa?em kod o ca?y kod S.lua

[ Dodano: 2017-12-24, 00:36 ]
do zamkni?cia - zapomnia?em wype?niania DBID od 1, 2, 3 etc doda? w sqlu.

Postaw piwo autorowi tego posta
 

 
Tagi: gettimestamp :: zmora :: logowania...
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