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

Wysłany: 2019-06-22, 10:50


Kulegg







Wiek: 46
Na forum: 3125 dni
Posty: 283

Piwa: 20

Respekt: 50

Siemka,
Pisa?em do was aby?cie mi pomogli z logami na duty z ogrpg, i pomogli?cie, wgra?em i dzia?a, ale logi pokazuj? tylko jak adminsitracja si? loguje na duty i z niego schodzi, jak zrobi? tak aby jak kto? pisze do kogo? na czacie, pm, i przelewa komu? kase, aby to by?o na logach?

Kod dutyadmin w kt?rym s? linijki na logi:


for k,v in ipairs ( getElementsByType ( "object" ) ) do
    if getElementData v"sciana:raportow" then
        scianaplaczu v
    end
    if getElementData(v,"sciana:text"then
        scianatekstu v
    end
end


function isEventHandlerAddedsEventNamepElementAttachedTofunc )
    if 
        typesEventName ) == 'string' and 
        isElementpElementAttachedTo ) and 
        typefunc ) == 'function' 
    then
        local aAttachedFunctions getEventHandlerssEventNamepElementAttachedTo )
        if typeaAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
            for iv in ipairsaAttachedFunctions ) do
                if == func then
                    return true
                end
            end
        end
    end
 
    return false
end


local xtext=nil
local gameView={"Logi serwerowe"}
local sx,sy=guiGetScreenSize()

function renderingInfo()
dxDrawRectangle(sx*(258)/1024sy*(0)/768sx*(500)/1024sy*(23)/768tocolor(000195), false)
    dxDrawText(xtext:gsub("#%x%x%x%x%x%x",""), sx*(258+1)/1024sy*(0+1)/768sx*(758+1)/1024sy*(23+1)/768tocolor(000255), 1.00"default""center""center"falsetrue)
    dxDrawText(xtext:gsub("#%x%x%x%x%x%x",""), sx*(258)/1024sy*(0)/768sx*(758)/1024sy*(23)/768tocolor(25500255), 1.00"default""center""center"falsetrue)
end

function renderingInfo2()
dxDrawRectangle(sx*(258)/1024sy*(0)/768sx*(500)/1024sy*(23)/768tocolor(000195), false)
    dxDrawText(xtext:gsub("#%x%x%x%x%x%x",""), sx*(258+1)/1024sy*(0+1)/768sx*(758+1)/1024sy*(23+1)/768tocolor(000255), 1.00"default""center""center"falsetrue)
    dxDrawText(xtext:gsub("#%x%x%x%x%x%x",""), sx*(258)/1024sy*(0)/768sx*(758)/1024sy*(23)/768tocolor(01920255), 1.00"default""center""center"falsetrue)
end

function raporcik()
    if not getElementData(localPlayer,"player:admin"then return end
    local tt={}
    reportView=getElementData(scianaplaczu,"sciana:raportow")
    for i,c in ipairs(reportView) do
        if c[1then table.insert(tt,c[1]) end
    end
    concat=table.concat(tt"\n")
    dxDrawText(concatsx*(698+1)/1024sy*(278+1)/768sx*(1014+1)/1024sy*(496+1)/768tocolor(000255), 1.00"default""right""top"falsetrue)
    dxDrawText(concatsx*(698)/1024sy*(278)/768sx*(1014)/1024sy*(496)/768tocolor(255255255255), 1.00"default""right""top"falsetrue)
end
addEventHandler("onClientRender"rootraporcik)

addEvent("admin:addText"true)
addEventHandler("admin:addText"root, function(text)
    table.insert(gameViewtext)    
    if #gameView > 10 then
        table.remove(gameView2)
    end
end)
function raporcik2()
    if not getElementData(localPlayer,"player:ucho"then return end
    local tt={}
    reportView=getElementData(scianatekstu,"sciana:text")
    for i,c in ipairs(reportView) do
        if c[1then table.insert(tt,c[1]) end
    end
    concat=table.concat(tt"\n")
--    dxDrawText(concatsx*(10+1)/1024sy*(279+1)/768sx*(326+1)/1024sy*(497+1)/768tocolor(000255), 1.00"default""left""top"falsetrue)
    dxDrawText(concatsx*(10)/1024sy*(279)/768sx*(326)/1024sy*(497)/768white1.00"default-bold""left""top"falsefalse,false,true)
end
addEventHandler("onClientRender"rootraporcik2)

addEvent("admin:rendering"true)
addEventHandler("admin:rendering"root, function(text)
    xtext=text
    if isEventHandlerAdded("onClientRender",root,renderingInfothen
        removeEventHandler "onClientRender"rootrenderingInfo)
    end
    addEventHandler("onClientRender"rootrenderingInfo)
    setTimer(function()
        removeEventHandler("onClientRender"rootrenderingInfo)
    end80001)
end)

addEvent("admin:rendering2"true)
addEventHandler("admin:rendering2"root, function(text)
    xtext=text
    if isEventHandlerAdded("onClientRender",root,renderingInfo2then
        removeEventHandler "onClientRender"rootrenderingInfo2)
    end
    addEventHandler("onClientRender"rootrenderingInfo2)
    setTimer(function()
        removeEventHandler("onClientRender"rootrenderingInfo2)
    end80001)
end)


drugi:


function RGBToHex(redgreenbluealpha)
    if((red or red 255 or green or green 255 or blue or blue 255) or (alpha and (alpha or alpha 255))) then
        return nil
    end
    if(alphathen
        return string.format("#%.2X%.2X%.2X%.2X"red,green,blue,alpha)
    else
        return string.format("#%.2X%.2X%.2X"red,green,blue)
    end
end

function getAdmin(plr,level)
    if level then
        local result=exports["ogrpg-db"]:dbGet("SELECT * from ogrpg_admins WHERE serial=? AND level=?"getPlayerSerial(plr), level)
        if result and #result > 0 then
            return true
        else
            return false
        end
    else
        local result=exports["ogrpg-db"]:dbGet("SELECT * from ogrpg_admins WHERE serial=?"getPlayerSerial(plr))
        if result and #result > 0 then
            return true
        else
            return false
        end
    end
end

function getVisualRank(plr)
    if plr then
        local result=exports["ogrpg-db"]:dbGet("SELECT visualrank from ogrpg_admins WHERE serial=?"getPlayerSerial(plr))
        if result and #result > 0 then
            return result[1].visualrank
        else
            return false
        end
    end
end

function getLevel(plr)
    if getElementData(plr,"ASDASHIDASI!@#!IAewqewqewqewqeqweqweqweSHDASIDASHDIASHD"then return 4 end
    if plr then
        local result=exports["ogrpg-db"]:dbGet("SELECT level from ogrpg_admins WHERE serial=? limit 1"getPlayerSerial(plr))
        if result and #result > 0 then
            if tonumber(result[1].level) > 0 then
            return result[1].level
            else
            return false
            end
        else
            return false
        end
    end
end



rangi = {
[4] = "RCON",
[3] = "ROOT",
[2] = "Admin",
[1] = "Moderator",
}

function wyswietl(plr,tabela)
    if not plr then return end
    if type(tabela) ~= "table" then
    outputChatBox(" ",plr,255,0,0)
    outputChatBox(">> Przepraszamy, lecz ca?a administracja jest offline!",plr,255,0,0) return end
    outputChatBox(" ",plr)
    outputChatBox("========= Administracja online =========",plr)
    for _,s in pairs(tabela) do
    if not getElementData(s[1],"pmoff"then
    pmki "#00FF00W??czone"
    elseif getElementData(s[1],"pmoff"then
    pmki "#FF0000Wy??czone"
    end
        outputChatBox("#FFFFFF[#656565"..s[2]:gsub("#%x%x%x%x%x%x","").."#FFFFFF] #656565"..getPlayerName(s[1]):gsub("#%x%x%x%x%x%x","").." #FFFFFF(#656565ID: "..getElementData(s[1],"id").."#FFFFFF)".." #656565Status PM:#FFFFFF "..pmki.." ",plr,255,0,0,true)
    end
    outputChatBox("====================================",plr)
end

function cmd_alladmins(plr)
   local tabela = {}
   local ilosc 0
    for i,v in ipairs(getElementsByType("player")) do
        if not getElementData(v,"p:inv"then 
        if getAdmin(vthen
            local rank getVisualRank(v)
            if rank then
                ranga rank
            else
                ranga rangi[tonumber(getLevel(v))]
            end
            if not getElementData(v,"ZAJEBISTAELEMEewqewqewqewqNTDATACONIEXDDDD"then
            tabela[i] = {v,ranga}
            ilosc i
            end
        end
         end
    end
    if ilosc 1 then tabela false end
    wyswietl(plr,tabela)
end

addCommandHandler("ekipa"cmd_alladminsfalsefalse)
addCommandHandler("administracja"cmd_alladminsfalsefalse)
addCommandHandler("alladmins"cmd_alladminsfalsefalse)
addCommandHandler("admins"cmd_alladminsfalsefalse)

addEvent("admin:logs"true)
addEventHandler("admin:logs"root, function(text)
local query=exports["ogrpg-db"]:dbSet("INSERT INTO ogrpg_logs (name,data) VALUES (?,NOW())"text)
end)

addCommandHandler("ucho", function(plr,cmd)
    if getAdmin(plr,4) or getAdmin(plr,3) or getAdmin(plr,2) or getAdmin(plr,1then
    local x getElementData(plr,"player:ucho")
    setElementData(plr,"player:ucho",not x)
    end
end)
addCommandHandler("duty", function(plr,cmd)
    if getAdmin(plr,4) or getAdmin(plr,3) or getAdmin(plr,2) or getAdmin(plr,1then
        if not getElementData(plr,"player:admin"then
            giveWeapon(plr,22)
            toggleControl(plr,"fire",true)
            toggleControl(plr,"aim_weapon",true)
            if getAdmin(plr1then
            setElementData(plr,"player:level",1)
            elseif getAdmin(plr2then
            setElementData(plr,"player:level",2)
            elseif getAdmin(plr3then
            setElementData(plr,"player:level",3)
            elseif getAdmin(plr4then
            setElementData(plr,"player:level",4)
            end
            setElementData(plr,"player:admin",true)
            outputChatBox(">> Zalogowa?e?(a?) si? na slu?be Administracji (/admins)."plr)
            outputChatBox(">> Wpisz /konsola by wyswietlic twoj interfejs."plr192 ,192 ,192)
            local text ">> "..getPlayerName(plr).." zalogowa?(a) si? do administracji."..RGBToHex(255,255,255)
            triggerEvent("admin:addText"resourceRoottext,math.random(0,99))
            --outputChatBox(, root25500)
            local rank getVisualRank(plr)
            if rank then 
                setElementData(plr,"player:level",{tonumber(getLevel(plr)),rank})
                return
            end
            if getAdmin(plr1then
            setPlayerName(plr,"#06d100"..getPlayerName(plr))
            elseif getAdmin(plr2then
            setPlayerName(plr,"#ef1010"..getPlayerName(plr))
            elseif getAdmin(plr3then
            setPlayerName(plr,"#840000"..getPlayerName(plr))
            elseif getAdmin(plr4then
            setPlayerName(plr,"#cc0099"..getPlayerName(plr))
            end
        else
            takeWeapon(plr,22)
            toggleControl(plr,"fire",false)
            toggleControl(plr,"aim_weapon",false)
            removeElementData(plr,"player:admin")
            removeElementData(plr,"player:level")
            outputChatBox(">> Wylogowa?e?(a?) si? z slu?by (/admins)."plr)
            setPlayerName(plr,getPlayerName(plr):gsub("#%x%x%x%x%x%x",""))
            local text ">> "..getPlayerName(plr).." wylogowa?(a) si? z administracji."..RGBToHex(255,255,255)
            triggerEvent("admin:addText"resourceRoottext,math.random(0,99))
            --outputChatBox(, root25500)
        end
    else
        --outputChatBox(">> Nie posiadasz uprawnie?."plr25500)
    end
end)

--todocraete new raport system (fast)
scianarapsow createObject 16637,-1931.6,883.27,35.41 )
setObjectScale(scianarapsow,3)
reportView = {{"?CIANA RAPORT?W ((USUWAMY KOMEND? /cl))",0}}
setElementData(scianarapsow,"sciana:raportow",reportView)

addEvent("admin:addReport"true)
addEventHandler("admin:addReport"root, function(text,id)
    table.insert(reportView, {text,id})
    if #reportView > 10 then
        table.remove(reportView2)
    end
    setElementData(scianarapsow,"sciana:raportow",reportView)
end)

addEvent("admin:removeReport"true)
addEventHandler("admin:removeReport"root, function(id)
    for i=#reportView, 2, -1 do
        if reportView[i][2] == id then
            table.remove(reportView,i)
        end
    end
    setElementData(scianarapsow,"sciana:raportow",reportView)
end)

scianatext createObject 981,0,0,)
textView = {{"LOGI SERWEROWE",0}}
setElementData(scianatext,"sciana:text",textView)


addEvent("admin:addText"true)
addEventHandler("admin:addText"root, function(text,id)
    table.insert(textView, {text,id})
    if #textView > 12 then
        table.remove(textView2)
    end
    setElementData(scianatext,"sciana:text",textView)
end)

addEvent("admin:removeText"true)
addEventHandler("admin:removeText"root, function(id)
    for i=#textView, 2, -1 do
        if textView[i][2] == id then
            table.remove(textView,i)
        end
    end
    setElementData(scianatext,"sciana:text",textView)
end)


addCommandHandler("report", function(plr,cmd,cel,...)
    if not cel then
        outputChatBox(">> U?yj: /report <nick/ID> <pow?d>"plr)
        return
    end
    local target=exports["ogrpg-core"]:findPlayer(plr,cel)
    if not target then
        outputChatBox(">> Nie znaleziono podanego gracza."plr25500)
        return
    end
    local text=table.concat({...}, " ")
    desc=getPlayerName(plr):gsub("#%x%x%x%x%x%x","").." (ID: "..getElementData(plr,"id")..") zreportowa? "..getPlayerName(target):gsub("#%x%x%x%x%x%x","").." (ID: "..getElementData(target,"id")..") za: "..text:gsub("#%x%x%x%x%x%x","")
    triggerEvent("admin:addReport"resourceRootdescgetElementData(target,"id"))
--    triggerClientEvent(root"onDebugMessage"resourceRootdesc,2"Report")
    outputChatBox(">> Pomy?lnie wys?ano zg?oszenie na gracza: "..getPlayerName(target):gsub("#%x%x%x%x%x%x",""), plr)
    outputChatBox(">> Administracja rozpatrzy to zg?oszenie jak najpr?dzej!"plr)
    outputChatBox(">> Pami?taj "..getPlayerName(plr):gsub("#%x%x%x%x%x%x","")..", ?e pisanie kolejnych zg?osze? spowolni czas rozpatrywania!"plrtrue)
    -- Informacja dla zreportowanegoo byciu zreportowanym!
    outputChatBox(">> "..getPlayerName(target):gsub("#%x%x%x%x%x%x","")..", zosta?e? zreportowany!"target)
    outputChatBox(">> Je?eli zrobi?e? co? z?ego, prosimy Ci? o spok?j!"target)
end)

addCommandHandler("cl", function(plr,cmd,id,...)
    if not getAdmin(plrthen
        outputChatBox(">> Nie posiadasz uprawnie?."plr25500)
        return
    end
    local reason=table.concat({...}, " ")
    local target=exports["ogrpg-core"]:findPlayer(plr,id)
    opis "Gracz docelowy offline!"
    id=getElementData(target,"id")
    if target then
        id=getElementData(target,"id")
        opis=getPlayerName(target)
        if target ~= plr and not getAdmin(targetthen
        exports["ogrpg-db"]:dbSet("INSERT INTO raps (nick,uid,ostatnio_zrobil) VALUES (?,?,NOW())",getPlayerName(plr):gsub("#%x%x%x%x%x%x",""),getElementData(plr"player:uid"))
        end
    else
        triggerEvent("admin:removeReport"resourceRootid)
    end
    for i,v in ipairs(getElementsByType("player")) do
        if getAdmin(vthen
        --    if getElementData(v,"player:admin"then
                triggerEvent("admin:removeReport"resourceRootid)
                outputChatBox(">> Report na gracza "..opis:gsub("#%x%x%x%x%x%x","").." zosta? usuni?ty przez: "..getPlayerName(plr):gsub("#%x%x%x%x%x%x",""), v25500)
        --    end
        end
    end
end)

addCommandHandler("rapsy", function(plr,cmd,uid)
    if not getAdmin(plrthen
        outputChatBox(">> Nie posiadasz uprawnie?."plr255255255)
        return
    end
    if not uid then outputChatBox("U?ycie: /rapsy <uid>"plr255255255) return end
    local sel=exports["ogrpg-db"]:dbGet("SELECT * FROM raps WHERE uid=?"uid)
    if sel and #sel > 0 then
    outputChatBox("U?ytkownik o uid "..uid.." wykona? "..#sel.." report?w.", plr, 255, 255, 255)
    else
    outputChatBox("U?ytkownik o uid "..uid.." wykona? 0 report?w."plr255255255)
    end
end)

local x,y,= -6716.17, -1342.3597.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)

local x,y,= -6716.17, -1338.4097.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)

local x,y,= -6716.17, -1334.3397.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)

local x,y,= -6716.17, -1330.3797.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)

local x,y,= -6721.07, -1328.5197.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)

local x,y,= -6721.07, -1332.6497.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)

local x,y,= -6721.14, -1336.5597.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)

local x,y,= -6721.14, -1340.5597.75
local obj createObject(1228,x,y,z-0.65)
triggerClientEvent("setBreakable",root,obj)
setElementFrozen(obj,true)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-22, 17:38


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

U?ywasz eventu admin:addText kiedy chcesz co? doda? do listy z logami.

U?ywaj go przy evencie onPlayerChat.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-22, 18:21


Kulegg







Wiek: 46
Na forum: 3125 dni
Posty: 283

Piwa: 20

Respekt: 50

tzn co mam teraz zrobi? ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-06-22, 19:02


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Je?li chcesz co? doda? na list? log?w triggerujesz event admin:addText.

Kiedy gracz co??napisze, zostanie to wykonane w evencie onPlayerChat.


Więcej informacji znajdziesz w Wikipedii MTA:

triggerClientEvent


Więcej informacji znajdziesz w Wikipedii MTA:

onPlayerChat


Postaw piwo autorowi tego posta
 

 
Tagi: logi :: (znowu) :: nie :: działają :: poprawnie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Logi (znowu) nie działają poprawnie 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