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

Wysłany: 2020-01-15, 16:41


Fl!k







Wiek: 26
Na forum: 3592 dni
Posty: 162

Piwa: 18

Respekt: 50

Witam posiadam problem z logowaniem poniewa? loguje sie wszysko okej ale gdy sie zaloguje i wybiore spawn to mnie nie tepa i mam czarny ekran (w konsoli nie ma ?adnych b??d?w)
client.lua
--[[
    Developers:
    Query (darecky02@gmail.com)
    Resource ac-logowanie
    Corypight(c2018 Query
        Note (PL): Nie mo?esz kopiowai udost?pniatego kodu bez mojej zgody.
        Zasoby zezwolone na u?ycie dla serwera AttractiveRPG i autora zasobu Query Nie stosowanie si? do notki w zasobie mo?e sko?czysi?
        procedurs?dow?.
        ]]
        
        -- tu sie zaczyna powolutku kod

if getElementData(localPlayer"player:uid"then return end

local tick222=getTickCount()

editBox = {}
editBox.__index editBox
editBox.instances = {}

sx,sy guiGetScreenSize()
x,=  (sx/1366), (sy/768)

local root getRootElement()
local resourceRoot getResourceRootElement(getThisResource())
local screenWidthscreenHeight guiGetScreenSize()
local sw,sh=guiGetScreenSize()
local w,h=(sw/1680), (sh/1050)
local font dxCreateFont("f.ttf"12*w)
local fontt=dxCreateFont("f.ttf"10*w)
local font2=dxCreateFont("f.ttf"23*w)
local tick=getTickCount()
local logo=false
local reg=false
local zmiana=false

local sx,sy=guiGetScreenSize()
local data={ showed=nilbutton={}, info=nil}

local miejscaspawn={
{"Spawn urz?d"1129.01, -1488.7022.77},
{"Przechowalnia"1021.95, -1344.7213.55},
}



function isMouseIn(psx,psy,pssx,pssy,abx,aby)
    if not isCursorShowing() then return end
    cx,cy=getCursorPosition()
    cx,cy=cx*sx,cy*sy
    if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
        return true,cx,cy
    else
        return false
    end
end


local sm = {}
sm.moov 0
sm.object1,sm.object2 nil,nil
 
local function removeCamHandler()
    if(sm.moov == 1)then
        sm.moov 0
    end
end
 
local function camRender()
    if (sm.moov == 1then
        local x1,y1,z1 getElementPosition(sm.object1)
        local x2,y2,z2 getElementPosition(sm.object2)
        setCameraMatrix(x1,y1,z1,x2,y2,z2)
    end
end
addEventHandler("onClientPreRender",root,camRender)
 
function smoothMoveCamera(x1,y1,z1,x1t,y1t,z1t,x2,y2,z2,x2t,y2t,z2t,time)
    if(sm.moov == 1)then return false end
    sm.object1 createObject(1337,x1,y1,z1)
    sm.object2 createObject(1337,x1t,y1t,z1t)
    setElementAlpha(sm.object1,0)
    setElementAlpha(sm.object2,0)
    setObjectScale(sm.object1,0.01)
    setObjectScale(sm.object2,0.01)
    moveObject(sm.object1,time,x2,y2,z2,0,0,0,"InOutQuad")
    moveObject(sm.object2,time,x2t,y2t,z2t,0,0,0,"InOutQuad")
    sm.moov 1
    setTimer(removeCamHandler,time,1)
    setTimer(destroyElement,time,1,sm.object1)
    setTimer(destroyElement,time,1,sm.object2)
    return true
end

function math.round(numberdecimalsmethod)
    decimals decimals or 0
    local factor 10 decimals
    if (method == "ceil" or method == "floor"then return math[method](number factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end

function wyborPanelu()
        dxDrawRectangle(0*w0*h1680*w1050*htocolor(000150), false)
        if muzyka then
            local bit getSoundFFTData(muzyka20483)
            for i,v in ipairs(bit) do
                rytm math.round((v*320),0)>100 and 100 or math.round((v*320),0)
                dxDrawImage(626*w0*h415*w415*h"i/light.png"000tocolor(255255255rytm), false)
            end
        end
        local a=interpolateBetween(00025500, (getTickCount()-tick)/1000,"Linear")
        
        dxDrawImage(636*w0*h395*w395*h"i/logo.png"000tocolor(255255255a), false)
        --dxDrawImage(641*w200*h396*w55*h"i/wtls.png"000tocolor(255255255a), false)
        
    
end


function renderLoginBox()
        if data.info then dxDrawText(data.info592*w778*h1098*w821*htocolor(24400255), 1.00fontt"center""center"falsefalsefalsefalsefalseend
    if logo == true then
    
    
        local a =interpolateBetween(00025500, (getTickCount()-tick)/1000"Linear")
        dxDrawImage(625*w367*h426*w402*h"i/panel.png"000tocolor(255255255a), false)
        
        
        dxDrawText("Logowanie"704*w371*h970*w425*htocolor(255255255a), 1.00font2"center""center"falsefalsefalsefalsefalse)
        
       --dxDrawRectangle(683*w461*h312*w45*htocolor(02955a), false) --editbox
        
        --dxDrawRectangle(683*w574*h312*w45*htocolor(255255255a), false) --editbox
        
        --dxDrawText("Je?eli nie masz jeszcze konta, to"693*w633*h880*w657*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
                if isMouseIn(31*w643*h219*w154*hthen
                dxDrawImage(31*w643*h219*w154*h,"i/bglog.png"0,0,0tocolor(255255255a), false)
                else
                    dxDrawImage(31*w643*h219*w154*h,"i/rejestracja.png"0,0,0tocolor(255255255a), false)
                end
                if isMouseIn(20*w364*h219*w154*hthen
                dxDrawImage(20*w364*h219*w154*h,"i/bgreg.png"000tocolor(255255255a), false)
                else
                    dxDrawImage(20*w364*h219*w154*h,"i/logowanie.png"000tocolor(255255255a), false)
                end
                
                if isMouseIn(774*w695*h129*w39*hthen
                    dxDrawImage(774*w695*h129*w39*h"i/buttonhover.png"000tocolor(255255255a), false)
                    else
                        dxDrawImage(774*w695*h129*w39*h"i/button.png"000tocolor(255255255a), false)
                    end
        
        dxDrawText("U?ytkownik"773*w435*h903*w459*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
        
        dxDrawText("Has?o"773*w550*h903*w574*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
        
        dxDrawText("Zaloguj"773*w695*h903*w734*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
        
                dxDrawImage(682*w460*h308*w44*h"i/box.png"000tocolor(255255255a), false)
        dxDrawImage(682*w575*h308*w44*h"i/box.png"000tocolor(255255255a), false)
        
    end
        
    for k,self in pairs(editBox.instances) do
      if self.visible then
        local px,py,pw,ph self:getPosition()
        local text self.masked and string.gsub(self.text,".","&#8226;") or self.text
        local alignX dxGetTextWidth(text,self.scale,self.font) <= pw and "left" or "right"
        --roundedRectangle(pxpypwphtocolor(unpack(self.color)), false)
        dxDrawText(text,px+x*5py,px-x*5+pwpy+ph,tocolor(255255255alph),self.scale,self.fontalignX"center",true)   
        if self.input and dxGetTextWidth(text,self.scale,self.font) <= pw then
          local lx dxGetTextWidth(text,self.scale,self.font)+px+x*8
          local lx dxGetTextWidth(text,self.scale,self.font)+px+x*8
          dxDrawLine(lxpy+y*10lxpy+ph-y*10tocolor(255,255,255,math.abs(math.sin(getTickCount()/300))*200), 2)
        end
      end
    end
    ---
      if getKeyState("backspace"then
    for k,self in pairs(editBox.instances) do
      if self.visible and self.input then
        if not keyState then
          keyState getTickCount() + 400
          self.text string.sub(self.text,1,string.len(self.text)-1)
        elseif keyState and keyState getTickCount() then
          keyState getTickCount()+100
          self.text string.sub(self.text,1,string.len(self.text)-1)
        end
        return
      end
    end
        keyState nil
    end
        
        
end


function renderRegisterBox()
        if data.info then dxDrawText(data.info592*w778*h1098*w821*htocolor(24400255), 1.00fontt"center""center"falsefalsefalsefalsefalseend
    if reg then        
        local a =interpolateBetween(00025500, (getTickCount()-tick)/1000"Linear")
        dxDrawImage(625*w367*h426*w402*h"i/panel.png"000tocolor(255255255a), false)
        
        
        dxDrawText("Rejestracja"704*w371*h970*w425*htocolor(255255255a), 1.00font2"center""center"falsefalsefalsefalsefalse)
        
   --     dxDrawRectangle(683*w461*h312*w45*htocolor(255255255a), false) --editbox
        
     --   dxDrawRectangle(683*w574*h312*w45*htocolor(255255255a), false) --editbox
    
         if isMouseIn(31*w643*h219*w154*hthen
            dxDrawImage(31*w643*h219*w154*h,"i/bglog.png"0,0,0tocolor(255255255a), false)
            else
                dxDrawImage(31*w643*h219*w154*h,"i/rejestracja.png"0,0,0tocolor(255255255a), false)
            end
            if isMouseIn(20*w364*h219*w154*hthen
            dxDrawImage(20*w364*h219*w154*h,"i/bgreg.png"000tocolor(255255255a), false)
            else
                dxDrawImage(20*w364*h219*w154*h,"i/logowanie.png"000tocolor(255255255a), false)
            end
        
        
        --dxDrawText("Je?eli masz ju? konto, to"713*w634*h859*w656*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
                if isMouseIn(774*w695*h129*w39*hthen
                    dxDrawImage(774*w695*h129*w39*h"i/buttonhover.png"000tocolor(255255255a), false)
                    else
                        dxDrawImage(774*w695*h129*w39*h"i/button.png"000tocolor(255255255a), false)
                    end
        
        dxDrawText("U?ytkownik"773*w435*h903*w459*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
        
        dxDrawText("Has?o"773*w550*h903*w574*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
        
        dxDrawText("Rejestruj"773*w695*h903*w734*htocolor(255255255a), 1.00fontt"center""center"falsefalsefalsefalsefalse)
        
        
        dxDrawImage(682*w460*h308*w44*h"i/box.png"000tocolor(255255255a), false)
        dxDrawImage(682*w575*h308*w44*h"i/box.png"000tocolor(255255255a), false)
        
        
    end
    
     for k,self in pairs(editBox.instances) do
      if self.visible then
        local px,py,pw,ph self:getPosition()
        local text self.masked and string.gsub(self.text,".","&#8226;") or self.text
        local alignX dxGetTextWidth(text,self.scale,self.font) <= pw and "left" or "right"
        --roundedRectangle(pxpypwphtocolor(unpack(self.color)), false)
        dxDrawText(text,px+x*5py,px-x*5+pwpy+ph,tocolor(255255255alph),self.scale,self.fontalignX"center",true)   
        if self.input and dxGetTextWidth(text,self.scale,self.font) <= pw then
          local lx dxGetTextWidth(text,self.scale,self.font)+px+x*8
          local lx dxGetTextWidth(text,self.scale,self.font)+px+x*8
          dxDrawLine(lxpy+y*10lxpy+ph-y*10tocolor(255,255,255,math.abs(math.sin(getTickCount()/300))*200), 2)
        end
      end
    end
    ---
      if getKeyState("backspace"then
    for k,self in pairs(editBox.instances) do
      if self.visible and self.input then
        if not keyState then
          keyState getTickCount() + 400
          self.text string.sub(self.text,1,string.len(self.text)-1)
        elseif keyState and keyState getTickCount() then
          keyState getTickCount()+100
          self.text string.sub(self.text,1,string.len(self.text)-1)
        end
        return
      end
    end
    keyState nil
    end

    
end


function spawngui()
        dxDrawImage(50*w244*h329*w527*h"i/background_spawn.png"000tocolor(255255255255), false)
        
        for iv in ipairs(miejscaspawn) do
            local sx=(59*h)*(i-1)
            local sx2=(118*h)*(i-1)
            
            if isMouseIn(115*w321*h+sx209*w42*hthen
                dxDrawImage(115*w321*h+sx209*w42*h"i/buttonhover.png"000tocolor(255255255255), false)
            else
                dxDrawImage(115*w321*h+sx209*w42*h"i/button.png"000tocolor(255255255255), false)
            end
            dxDrawText(v[1], -500*w320*h+sx2943*w363*htocolor(255255255255), 1.00font"center""center"falsefalsefalsefalsefalse)
        end
end


local fontsenon dxCreateFont("f.ttf"13)

function onClientClick(button,state,cX,cY)
  if not isCursorShowing() then
    return
  end
  if button == "left" and state == "up" then
    for k,self in pairs(editBox.instances) do
      if self.visible then
        if self.input then
          self.input nil
          self.onOutput()
        end
        local x,y,w,self:getPosition()
        if isMouseIn(x,y,w,hthen
          self.input true
          self.onInput()
          tick222 getTickCount()
        end
      end
    end
  end
end
addEventHandler("onClientClick"rootonClientClick)



addEventHandler("onClientClick"root, function(btn,state)
    if logowanko and btn == "left" and state == "down" then
    if isMouseIn(31*w643*h219*w154*hthen
            tick=getTickCount()
            g.nick.visible=false
            g.haslo.visible=false
            setTimer(function()
                register=true
    --[[            guiSetVisible(data.button[3], true)
                guiSetVisible(data.button[4], true)]]
                g.rnick.visible=true
                g.rhaslo.visible=true
            end11001)
            reg=true
--[[            guiSetVisible(data.button[1], false)
            guiSetVisible(data.button[2], false)]]
            logo=false
            logowanko=false
            addEventHandler("onClientRender"rootrenderRegisterBox)
            removeEventHandler("onClientRender"rootrenderLoginBox)
    end
    end
    if register and btn == "left" and state == "down" then
        if isMouseIn(20*w364*h219*w154*hthen
            tick=getTickCount()  
            g.rnick.visible=false
            g.rhaslo.visible=false
            setTimer(function()
                logowanko=true
--[[                guiSetVisible(data.button[1], true)
                guiSetVisible(data.button[2], true)]]
                g.nick.visible=true
                g.haslo.visible=true
            end11001)
            register=false
    --[[        guiSetVisible(data.button[3], false)
            guiSetVisible(data.button[4], false)]]
            reg=false
            logo=true
            removeEventHandler("onClientRender"rootrenderRegisterBox)
            addEventHandler("onClientRender"rootrenderLoginBox)
    end
    end
    if register and btn=="left" and state=="down" then
        if isMouseIn(774*w695*h129*w39*h) and data.showed then
            local login=g.rnick.text
            local pass=g.rhaslo.text
            if string.len(login) > 22 or string.len(pass) > 22 and string.len(login) < or string.len(pass) < 3 then
                data.info="Login oraz has?o powinno zawiera? od 3 do 22 znak?w."
                return
            end
            triggerServerEvent("logging:newAccount"resourceRootloginpass)
        end
    end
    if logowanko and btn=="left" and state=="down" then
        if isMouseIn(774*w695*h129*w39*h) and data.showed then
            local login=g.nick.text
            local pass=g.haslo.text
            if string.len(login) < or string.len(pass) < 2 then
                data.info="Wszystkie pola musz? zosta? wype?nione."
                return
            end
            triggerServerEvent("logging:checkAccount"resourceRootloginpass)
        end
    end
    for iv in ipairs(miejscaspawn) do
    if wyborspawn and btn =="left" and state == "down" then
            local sx=(59*h)*(i-1)
            local sx2=(118*h)*(i-1)
            if isMouseIn(115*w321*h+sx209*w42*hthen
                fadeCamera(false)
                triggerServerEvent("core:spawnPlayer"localPlayerv[2], v[3], v[4])
                wyborspawn=false
                showCursor(false)
                sm.moov=0
                stopSound(muzyka)
                wyborspawn=false
                removeEventHandler("onClientRender"rootspawngui)
            end
        end
    end
end)


addEvent("logging:result"true)
addEventHandler("logging:result"resourceRoot, function(value,info)
    if not info then info="" end
    if value then
        g.nick.visible=false
        g.haslo.visible=false
        g.rnick.visible=false
        g.rhaslo.visible=false
        removeEventHandler("onClientRender"rootrenderLoginBox)
        removeEventHandler("onClientRender"rootwyborPanelu) 
--[[        destroyElement(data.button[1])
        destroyElement(data.button[2])
        destroyElement(data.button[3])
        destroyElement(data.button[4])]]
        data.showed=false
        logowanko=false
        reg=false
        register=false
        wyborspawn=true
        addEventHandler("onClientRender"rootspawngui)
        else
            data.info=tostring(info)
            setTimer(function() data.info=nil end30001)
        end
end)

local fff=dxCreateFont("f.ttf"16*w)
addEvent("oknoZbanowany",true)
addEventHandler("oknoZbanowany"getRootElement(), function(gzbanowanyserialczasprzezkogopowod)
    addEventHandler("onClientRender"getRootElement(), function()
        dxDrawRectangle(0*w0*h1680*w1050*htocolor(000179), false)
        dxDrawImage(540*w96*h600*w200*h"i/logo.png"000tocolor(255255255255), false)
        dxDrawText("Jeste? zbanowany/a na tym #06910dserwerze!\n\n#FFFFFFTwoja nazwa: #06910d"..zbanowany.."\n#FFFFFFSerial zbanowanego: #06910d"..serial.."\n#FFFFFFZbanowany do: #06910d"..czas.."\n#FFFFFFBan na?o?ony przez: #06910d"..przezkogo.."\n#FFFFFFPow?d: #06910d"..powod.."\n\n\n#FFFFFFOd bana mo?esz zaapelowa? na naszym forum #06910dattractive-rpg.pl"570*w322*h1115*w741*htocolor(255255255255), 1.00fff"center""top"falsefalsefalsetruefalse)
    end)
end)



addEvent("bShowedLogin"true)
addEventHandler("bShowedLogin"getRootElement(), function()
            sm.moov=0
        g.nick.visible=false
        g.haslo.visible=false
        removeEventHandler("onClientRender"rootrenderLoginBox)
        removeEventHandler("onClientRender"rootwyborPanelu)
--[[        destroyElement(data.button[1])
        destroyElement(data.button[2])
        destroyElement(data.button[3])
        destroyElement(data.button[4])]] 
        local tick=false
        logo=false
        reg=false
        register=false
        logowanko=false
end)


addEventHandler("onClientResourceStart"resourceRoot, function()
--    triggerServerEvent("sprawdzBana"localPlayer)
    showCursor(true)
    fadeCamera(true)
    showChat(false)
    setElementData(localPlayer"hud:visible"false)
    data.showed=true
    setElementAlpha(localPlayer,0)
    guiSetInputMode("no_binds_when_editing")
    setPlayerHudComponentVisible("radar"false)
    muzyka=playSound("intro.mp3",true)
    addEventHandler("onClientRender"rootwyborPanelu)
    addEventHandler("onClientRender"rootrenderLoginBox)
    logowanko=true
    logo=true
    local nick getPlayerNamelocalPlayer )
     = {}
  g.nick editBox.new()
  g.nick:setPosition(683*w461*h312*w45*h)
  g.nick.color = {26177133130}
  g.nick.font font
  g.nick.text loadLoginFromXML()
  g.nick.onInput = function()
  g.nick.color = {26177133220}
  end
  g.nick.onOutput = function()
  g.nick.color = {26177133130}
  end

  g.haslo editBox.new()
  g.haslo:setPosition(683*w574*h312*w45*h)
  g.haslo.color = {26177133130}
  g.haslo.font font
  g.haslo.text loadLoginFromXML2()
  g.haslo.masked true
  g.haslo.onInput = function()
  g.haslo.color = {26177133220}
  end
  g.haslo.onOutput = function()
  g.haslo.color = {26177133130}
  end
  g.nick.visible true
  g.haslo.visible true
  
  g.rnick editBox.new()
  g.rnick:setPosition(683*w461*h312*w45*h)
  g.rnick.color = {26177133130}
  g.rnick.font font
  g.rnick.text loadLoginFromXML()
  g.rnick.onInput = function()
  g.rnick.color = {26177133220}
  end
  g.rnick.onOutput = function()
  g.rnick.color = {26177133130}
  end

  g.rhaslo editBox.new()
  g.rhaslo:setPosition(683*w574*h312*w45*h)
  g.rhaslo.color = {26177133130}
  g.rhaslo.font font
  g.rhaslo.text loadLoginFromXML2()
  g.rhaslo.masked true
  g.rhaslo.onInput = function()
  g.rhaslo.color = {26177133220}
  end
  g.rhaslo.onOutput = function()
  g.rhaslo.color = {26177133130}
  end
  g.rnick.visible false
  g.rhaslo.visible false
    
    
--[[    data.button[1]=guiCreateEdit(683*w462*h312*w42*h""false)
    data.button[2]=guiCreateEdit(683*w576*h312*w42*h""false)  
    data.button[3]=guiCreateEdit(683*w462*h312*w42*h""false)
    data.button[4]=guiCreateEdit(683*w576*h312*w42*h""false)  
    guiSetVisible(data.button[3], false)
    guiSetVisible(data.button[4],false)
    guiEditSetMasked(data.button[2], true)
    guiEditSetMasked(data.button[4], true)]]
    smoothMoveCamera(1639.97, -1018.10104.01,1600.37, -1609.5364.61,1600.37, -1609.5364.61,1519.21, -1626.0850.51,60000)
end)

function onClientCharacter(character)
  if not isCursorShowing() then
    return
  end
  for k,self in pairs(editBox.instances) do
    if self.visible and self.input then
      if (string.len(self.text)) < self.maxLength then
        self.text self.text..character
      end
    end
  end
end
addEventHandler("onClientCharacter"rootonClientCharacter)

function editBox.new()
  local self setmetatable({}, editBox)
  self.text ""
  self.maxLength 20
  self.scale x*0.8
  self.state "normal"
  self.font "sans"
  self.color = {255,255,255,220}
  self.textColor = {255,255,255,220}
  table.insert(editBox.instancesself)
  return self
end

function editBox:getPosition()
  return self.xself.yself.wself.h
end

function editBox:setPosition(x,y,w,h)
  self.xself.yself.wself.x,y,w,h
  return true
end

function loadLoginFromXML()
    local XML xmlLoadFile ("zapis.xml")
    if not XML then
        XML xmlCreateFile("zapis.xml""konto")
    end
    
    local usernameNode xmlFindChild (XML"login"0)
    if usernameNode then
        return xmlNodeGetValue(usernameNode)
    else
        return ""
    end
    xmlUnloadFile XML )
end

function loadLoginFromXML2()
    local XML xmlLoadFile ("zapis.xml")
    if not XML then
        XML xmlCreateFile("zapis.xml""konto")
    end
    
    local hasloNode xmlFindChild (XML"haslo"0)
    if hasloNode then
        return xmlNodeGetValue(hasloNode)
    else
        return ""
    end
    xmlUnloadFile XML )
end

function saveLoginToXML(usernamehasloo)
    local XML xmlLoadFile ("zapis.xml")
    if not XML then
        XML xmlCreateFile("zapis.xml""konto")
    end
    if (username ~= ""then
        local usernameNode xmlFindChild (XML"login"0)
        if not usernameNode then
            usernameNode xmlCreateChild(XML"login")
        end
        xmlNodeSetValue (usernameNodetostring(username))
    end
    if (hasloo ~= ""then
        local haslo xmlFindChild (XML"haslo"0)
        if not haslo then
            haslo xmlCreateChild(XML"haslo")
        end
        xmlNodeSetValue (haslotostring(hasloo))
    end
    xmlSaveFile(XML)
    xmlUnloadFile (XML)
end
addEvent("saveLoginToXML"true)
addEventHandler("saveLoginToXML"rootsaveLoginToXML)

server.lua
--[[
    Developers:
    Query (darecky02@gmail.com)
    Resource ac-logowanie
    Corypight(c2018 Query
        Note (PL): Nie mo?esz kopiowai udost?pniatego kodu bez mojej zgody.
        Zasoby zezwolone na u?ycie dla serwera AttractiveRPG i autora zasobu Query Nie stosowanie si? do notki w zasobie mo?e sko?czysi?
        procedurs?dow?.
        ]]
addEvent("core:spawnPlayer"true)
addEventHandler("core:spawnPlayer"root, function(x,y,z)
    local player source
    setTimer(function()
        if player and isElement(player) and and and z then
            local q exports["srpg-db"]:dbGet("SELECT * FROM srpg_konta WHERE login=?"getPlayerName(player))
            if and #q > 0 then
                
                fadeCamera(playertrue)
                spawnPlayer(playerxyz0q[1].skin)
                toggleControl(player"fire"false)
                toggleControl(player"aim_weapon"false)
                toggleControl(player"action"false)
                setCameraTarget(playerplayer)
                setElementData(player"player:logged"true)
                setElementData(player"hud:visible"true)
                setPlayerHudComponentVisible(player,"radar",true)
                showChat(playertrue)
            
                local load=exports["srpg-core"]:loadPlayerData(player)
                if load then outputChatBox("#D7CFCF[#ff7c00&#10004;#D7CFCF] #D7CFCFTwoje konto #ff7c00"..getPlayerName(player):gsub("#%x%x%x%x%x%x","").."#D7CFCF zosta?o pomy?lnie wczytane."player255255255trueend
                setElementData(player"player:online"0)
                if getElementData(player,"player:premium"then
                    local queryA=string.format("SELECT * FROM srpg_konta WHERE id=%d AND premiumdate>NOW() LIMIT 1"getElementData(player,"player:uid"))
                    local resultA=exports["srpg-db"]:pobierzWyniki(queryA)
                    if (resultAthen outputChatBox("#D7CFCF[#ff7c00&#10004;#D7CFCF] #D7CFCFPosiadasz status premium wa?ny do: #ff7c00"..resultA["premiumdate"].."#C7C7C7."player255255255trueend
                    setPlayerNametagColor(player24423566)
                end
                triggerClientEvent(player,"core:blipyaut",root,player)    
            end
        end
    end20001)
end)

addEvent("logging:checkAccount"true)
addEventHandler("logging:checkAccount"resourceRoot, function(login,pass)
    local result=exports["srpg-db"]:dbGet("SELECT * FROM srpg_konta WHERE login=?"login)
    if result and #result > 0 then
        if result[1].login == login and result[1].haslo == md5(passthen
            for i,player in pairs(getElementsByType("player")) do
                if getElementData(player,"player:uid") == result[1].id then
                triggerClientEvent(client"logging:result"resourceRootfalse"Aktualnie kto? jest zalogowany ju? na to konto!","blad")
                return
            end
    end
            setPlayerName(clientlogin)
            setElementData(client"player:uid"result[1].id)
            setElementData(client"player:logged"true)
            setElementAlpha(client255)
            triggerClientEvent(client"logging:result"resourceRoottrue"Zalogowano si? pomy?lnie.","git")
            --triggerEvent("SprawdzDom",root,client)
            if result[1].serial == false then
            local query=exports["srpg-db"]:dbSet("UPDATE srpg_konta SET serial=? WHERE login=?",getPlayerSerial(client),login)
            end
            local logs=exports["srpg-db"]:dbSet("INSERT INTO srpg_logs_login (name,serial,data) VALUES (?,?,NOW())"string.format(login.."("..result[1].id..")"),getPlayerSerial(client))
        else
            triggerClientEvent(client"logging:result"resourceRootfalse"Podane dane s? nie prawid?owe.","blad")
        end
    else
        triggerClientEvent(client"logging:result"resourceRootfalse"Podane dane s? nie prawid?owe.","blad")
    end
end)
local makskont=1
addEvent("logging:newAccount"true)
addEventHandler("logging:newAccount"resourceRoot, function(login,pass)
    local result=exports["srpg-db"]:dbGet("SELECT * FROM srpg_konta WHERE serial=?"getPlayerSerial(client))
    if result and #result >= makskont then
        triggerClientEvent(client"logging:result"resourceRootfalse"Osi?gn??e?/a? ju? limit kont.","blad")
    return end
    local result=exports["srpg-db"]:dbGet("SELECT * FROM srpg_konta WHERE login=?"login)
    if result and #result > 0 then
        triggerClientEvent(client"logging:result"resourceRootfalse"Podany login ju? istnieje w bazie danych. Wymy?l inny.","blad")
    else
        local query=exports["srpg-db"]:dbSet("INSERT INTO srpg_konta (login,haslo,serial) VALUES (?,?,?)"loginmd5(pass),getPlayerSerial(client))
        if query then
            triggerClientEvent(client"logging:result"resourceRootfalse"Pomy?lnie zarejestrowano konto o nazwie "..login..".","git")
        end
    end
end)


--[[addEvent("sprawdzBana"true)
addEventHandler("sprawdzBana"root, function()
    local g source
    local serial getPlayerSerial(g)--
    local spr=exports["srpg-db"]:dbGet("SELECT * FROM ogrpg_ban WHERE serial=? AND time>NOW()"serial)
    if #spr > 0 then
        triggerClientEvent(g"oknoZbanowany"rootgspr[1].bannedspr[1].serial,spr[1].timespr[1].who_addspr[1].reason)
        triggerClientEvent(g"bShowedLogin"root)
    else
        exports["srpg-db"]:dbSet("DELETE FROM ogrpg_ban WHERE serial=?"serial)
    end
end)]]

addEvent("banWyrzuc"true)
addEventHandler("banWyrzuc"root, function()
    kickPlayer(source"Twoje konto zosta?o zbanowane 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

lecz wklei?em z pystories poniewa? mam postawiony serwer na pystories dlatego zmieni?em na to :
--[[
     Panel Logowania by Kurianusz @2016 . 
     Regulamin /Licencja
     Korzystanie z tego kodu tylko je?eli posiadasz tzwcopyrightsZakaz usuwania tej notatki!
     Pami?taj ?e nielegalne korzystanie z kodu podpada pod kodeks karny :> Tak samo jak usuni?cie tej notatki!
]]



function sprawdzorganizacje(plr)
local x exports['pystories-db']:dbGet("SELECT spawn from pystories_organization_list join pystories_organizations on pystories_organizations.code = pystories_organization_list.id WHERE sid=? and not(spawn=?)",getElementData(plr,"player:sid"),"0,0,0")
if and #x > 0 then
local t split(x[1].spawn",")
    return t
end
return false
end


addEvent("logging:checkAccount"true)
addEventHandler("logging:checkAccount"resourceRoot, function(login,pass)
    local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE login=?"login)
    if result and #result > 0 then
        serial=getPlayerSerial(client)
        if result[1].register_serial~=serial then
            tak=true
                for i,v in ipairs(split(result[1].register_serial,",")) do
                if v==serial then tak=false end
            end
            if tak then
                return triggerClientEvent(client"logging:result"resourceRootfalse"Error: Wykryto inny serial logowania konta. Napisz na forum","nope")
            end
        end
        if result[1].login == login and result[1].pass == md5(passthen
            local query=exports["pystories-db"]:dbSet("UPDATE pystories_users SET pass=? WHERE login=?",teaEncode(pass,"Trujeczka"),login)
            triggerClientEvent(client"logging:result"resourceRootfalse"Zaaktualizowano twoj profil! Zaloguj sie ponownie!.","git")
            return
        end
        if result[1].login == login and result[1].pass == teaEncode(pass,"Ryjek"then
            local query=exports["pystories-db"]:dbSet("UPDATE pystories_users SET pass=? WHERE login=?",teaEncode(pass,"Trujeczka"),login)
            triggerClientEvent(client"logging:result"resourceRootfalse"Zaaktualizowano twoj profil! Zaloguj sie ponownie!.","git")
            return
        end
        if result[1].login == login and result[1].pass == teaEncode(pass,"Trujeczka"then
            local query=exports["pystories-db"]:dbSet("UPDATE pystories_users SET pass=? WHERE login=?",teaEncode(pass,"*****"),login)
            triggerClientEvent(client"logging:result"resourceRootfalse"Zaaktualizowano twoj profil! Zaloguj sie ponownie!.","git")
            return
        end
        if result[1].login == login and result[1].pass == teaEncode(pass,"*****"then
            for i,player in pairs(getElementsByType("player")) do
                if getElementData(player,"player:sid") == result[1].id then
                triggerClientEvent(client"logging:result"resourceRootfalse"Kto? jest zalogowany na to konto!!!!!.","blad")
                return
            end
            end
            if not result[1].login2 == false then
            setPlayerName(clientresult[1].login2)
            else
            setPlayerName(clientlogin)
            end
            setElementData(client"player:sid"result[1].id)
            exports['pystories-core']:loadPlayerData(client)
            triggerClientEvent(client"logging:result"resourceRoottrue"Zalogowa?e? si? pomyslnie","git")
            triggerEvent("SprawdzDom",root,client)
            setElementData(client,"player:organization:spawn",sprawdzorganizacje(client))
            setElementData(client,"player:logged",true)
            if result[1].register_serial == false then
            local query=exports["pystories-db"]:dbSet("UPDATE pystories_users SET register_serial=? WHERE login=?",getPlayerSerial(client),login)
            end
            local logs=exports["pystories-db"]:dbSet("INSERT INTO pystories_logs_login (name,serial,data) VALUES (?,?,NOW())"string.format(login.."("..result[1].id..")"),getPlayerSerial(client))
        else
            triggerClientEvent(client"logging:result"resourceRootfalse"Podane dane s? nieprawid?owe.","blad")
        end
    else
        triggerClientEvent(client"logging:result"resourceRootfalse"Podany login nie istnieje w bazie.","blad")
    end
end)
local maks_ilosc_kont -- Maksymalna ilosc kont do rejestracji
addEvent("logging:newAccount"true)
addEventHandler("logging:newAccount"resourceRoot, function(login,pass)
    local login escapeStrings(login)
    local pass escapeStrings(pass)
    local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE register_serial=?"getPlayerSerial(client))
    if result and #result >= maks_ilosc_kont then
        triggerClientEvent(client"logging:result"resourceRootfalse"Na ten serial zostala utworzona maksymalna ilosc kont.","blad")
    return end
    local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE login=?"login)
    if result and #result > 0 then
        triggerClientEvent(client"logging:result"resourceRootfalse"Podany login ju? istnieje w bazie.","blad")
    else
        local query=exports["pystories-db"]:dbSet("INSERT INTO pystories_users (login,pass,register_serial,changedpw) VALUES (?,?,?,??)"loginteaEncode(pass,"*****"),getPlayerSerial(client),1)
        if query then
            triggerClientEvent(client"logging:result"resourceRootfalse"Pomy?lnie zarejestrowa?e?(a?) si?","git")
            setElementData(client"player:logged"true)
        end
    end
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"`""")
    String string.gsub(String" """)
    String string.gsub(String" """)
    return String
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-01-15, 17:47


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Wystarczy u?y? wyszukiwarki...
https://gtao.pl/logowanie-pys-30-vt132266.htm
https://gtao.pl/problemy-po-logowaniu-na-serwer-vt131453.htm

Reszt? sam sobie znajd? jak nadal to nie to z czym masz problem.

Postaw piwo autorowi tego posta
 

 
Tagi: logowanie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

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