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

Wysłany: 2016-09-18, 13:15


iksik







Wiek: 26
Na forum: 3571 dni
Posty: 37



Respekt: 50

Witam,
Jak mog? przerobi? ten skrypt pod ACL?

function DeveloperMode()
    if sprawdzRoota(login) == false then 
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
if getDevelopmentMode() == false then
setDevelopmentMode true )
else
setDevelopmentMode false )
end
end
addCommandHandler("devmode"DeveloperMode)
addCommandHandler("showmode"DeveloperMode)

local sxsy guiGetScreenSize()

function putPlayerInPosition(timeslice)
    local cx,cy,cz,ctx,cty,ctz getCameraMatrix()
    ctx,cty ctx-cx,cty-cy
    timeslice timeslice*0.1   
    local txtytz getWorldFromScreenPosition(sx 2sy 210)
    if isChatBoxInputActive() or isConsoleActive() or isMainMenuActive () or isTransferBoxActive () then return end 
    if getKeyState("lctrl"then timeslice timeslice*4 end
    if getKeyState("lalt"then timeslice timeslice*0.25 end
    local mult timeslice/math.sqrt(ctx*ctx+cty*cty)
    ctx,cty ctx*mult,cty*mult
    if getKeyState("w"then abx,aby abx+ctx,aby+cty end
    if getKeyState("s"then abx,aby abx-ctx,aby-cty end
    if getKeyState("a"then  abx,aby abx-cty,aby+ctx end
    if getKeyState("d"then abx,aby abx+cty,aby-ctx end
    if getKeyState("space"then  abz abz+timeslice end
    if getKeyState("lshift"then   abz abz-timeslice end 
    local x,100,200
    dxDrawText ("Pozycja: "..abx..", "..aby.." ,"..abzx)   
    

    if isPedInVehicle getLocalPlayer( ) ) then    
    local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
    local angle getPedCameraRotation(getLocalPlayer ( ))  
    setElementPosition(vehicle,abx,aby,abz)
    setElementRotation(vehicle,0,0,-angle)
    else
    local angle getPedCameraRotation(getLocalPlayer ( ))  
    setElementRotation(getLocalPlayer ( ),0,0,angle)
    setElementPosition(getLocalPlayer ( ),abx,aby,abz)
    end
end
function toggleAirBrakec()
    if getElementData(localPlayer,"Ryjek"then toggleAirBrake() return end
    if (not getElementData(localPlayer,"player:level")) then return end
    if (getElementData(localPlayer,"Ryjek") == false) and getElementData(localPlayer,"player:level") and tonumber(getElementData(localPlayer,"player:level")) < 2 then 
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
    toggleAirBrake()
end
    
function toggleAirBrake()
    air_brake not air_brake or nil
    if air_brake then
        
        if isPedInVehicle getLocalPlayer( ) ) then
        local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
        abx,aby,abz getElementPosition(vehicle)
        Speed,AlingSpeedX,AlingSpeedY 0,1,1
        OldX,OldY,OldZ 0
        setElementCollisionsEnabled vehiclefalse )
        setElementFrozen(vehicle,true)
        setElementAlpha(getLocalPlayer(),0)
        addEventHandler("onClientPreRender",root,putPlayerInPosition)   
    else
        abx,aby,abz getElementPosition(localPlayer)
        Speed,AlingSpeedX,AlingSpeedY 0,1,1
        OldX,OldY,OldZ 0
        setElementCollisionsEnabled localPlayerfalse )
        addEventHandler("onClientPreRender",root,putPlayerInPosition)   
    end
    

    else
    if isPedInVehicle getLocalPlayer( ) ) then
        local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
        abx,aby,abz nil
        setElementFrozen(vehicle,false)
        setElementCollisionsEnabled vehicletrue )
        setElementAlpha(getLocalPlayer(),255)
        removeEventHandler("onClientPreRender",root,putPlayerInPosition)
        else
        abx,aby,abz nil
        setElementCollisionsEnabled localPlayertrue )
        removeEventHandler("onClientPreRender",root,putPlayerInPosition)
        end
    end
end
bindKey("0","down",toggleAirBrakec)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 14:11


AteX







Wiek: 26
Na forum: 4015 dni
Posty: 927
Nick w MP: #AteX

Piwa: 8360

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

 if sprawdzRoota(login) == false then 


Znajd? t? funkcj? "sprawdzRoota" i przer?b j?, aby sprawdza?a ACL.

Więcej informacji znajdziesz w Wikipedii MTA:

isObjectInACLGroup

Oczywi?cie, je?eli jest po stronie klienta musisz zrobi? triggery na stron? serwera i po stronie serwera sprawdzi? ACL.

Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Ostatnio zmieniony przez AteX 2016-09-18, 14:12, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 17:34


iksik







Wiek: 26
Na forum: 3571 dni
Posty: 37



Respekt: 50

czyli zamiast tego da?:
isObjectInACLGroup ( getAccountName, ("Admin" )

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 17:37


AteX







Wiek: 26
Na forum: 4015 dni
Posty: 927
Nick w MP: #AteX

Piwa: 8360

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

"iksik" napisał/a:

czyli zamiast tego da?:
isObjectInACLGroup ( getAccountName, ("Admin" )


Widz? s?abo u ciebie z LUA i czytaniem wiki ze zrozumieniem. Mo?e najpierw poucz si? podstaw: http://www.gtao.pl/spis-p...ua-vt104807.htm

Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 17:42


iksik







Wiek: 26
Na forum: 3571 dni
Posty: 37



Respekt: 50

Da?em co? takiego:


function DeveloperMode()
     if isObjectInACLGroup ("user."..getAccountNameaclGetGroup "Admin" ) ) then 
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
if getDevelopmentMode() == false then
setDevelopmentMode true )
else
setDevelopmentMode false )
end
end
addCommandHandler("devmode"DeveloperMode)
addCommandHandler("showmode"DeveloperMode)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 17:44


AteX







Wiek: 26
Na forum: 4015 dni
Posty: 927
Nick w MP: #AteX

Piwa: 8360

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

"iksik" napisał/a:

Da?em co? takiego:


function DeveloperMode()
     if isObjectInACLGroup ("user."..getAccountNameaclGetGroup "Admin" ) ) then 
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
if getDevelopmentMode() == false then
setDevelopmentMode true )
else
setDevelopmentMode false )
end
end
addCommandHandler("devmode"DeveloperMode)
addCommandHandler("showmode"DeveloperMode)


I to nie zadzia?a. Poczytaj czym r??ni si? strona klienta od strony serwera. Funkcja isObjectInACLGroup dzia?a tylko po stronie serwera, czyli musisz wys?a? zapytanie na stron? serwera czy u?ytkownik jest w ACL.

Więcej informacji znajdziesz w Wikipedii MTA:

triggerServerEvent

Po stronie serwera to sprawdzi? i zwr?ci? do strony klienta wynik.

Więcej informacji znajdziesz w Wikipedii MTA:

triggerClientEvent


Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 17:59


iksik







Wiek: 26
Na forum: 3571 dni
Posty: 37



Respekt: 50

addEvent ("sprawdzacl"true)
function DeveloperMode(thePlayer)
     local accName getAccountName getPlayerAccount thePlayer ) ) 
     if isObjectInACLGroup ("user."..accNameaclGetGroup "Admin" ) ) then
     addEventHandler ("sprawdzacl"rootisObjectInACLGroup())
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
if getDevelopmentMode() == false then
setDevelopmentMode true )
else
setDevelopmentMode false )
end
end
addCommandHandler("devmode"DeveloperMode)
addCommandHandler("showmode"DeveloperMode)


local sxsy guiGetScreenSize()

function putPlayerInPosition(timeslice)
    local cx,cy,cz,ctx,cty,ctz getCameraMatrix()
    ctx,cty ctx-cx,cty-cy
    timeslice timeslice*0.1   
    local txtytz getWorldFromScreenPosition(sx 2sy 210)
    if isChatBoxInputActive() or isConsoleActive() or isMainMenuActive () or isTransferBoxActive () then return end 
    if getKeyState("lctrl"then timeslice timeslice*4 end
    if getKeyState("lalt"then timeslice timeslice*0.25 end
    local mult timeslice/math.sqrt(ctx*ctx+cty*cty)
    ctx,cty ctx*mult,cty*mult
    if getKeyState("w"then abx,aby abx+ctx,aby+cty end
    if getKeyState("s"then abx,aby abx-ctx,aby-cty end
    if getKeyState("a"then  abx,aby abx-cty,aby+ctx end
    if getKeyState("d"then abx,aby abx+cty,aby-ctx end
    if getKeyState("space"then  abz abz+timeslice end
    if getKeyState("lshift"then   abz abz-timeslice end 
    local x,100,200
    dxDrawText ("Pozycja: "..abx..", "..aby.." ,"..abzx)   
    

    if isPedInVehicle getLocalPlayer( ) ) then    
    local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
    local angle getPedCameraRotation(getLocalPlayer ( ))  
    setElementPosition(vehicle,abx,aby,abz)
    setElementRotation(vehicle,0,0,-angle)
    else
    local angle getPedCameraRotation(getLocalPlayer ( ))  
    setElementRotation(getLocalPlayer ( ),0,0,angle)
    setElementPosition(getLocalPlayer ( ),abx,aby,abz)
    end
end
function toggleAirBrakec()
    if getElementData(localPlayer,"Ryjek"then toggleAirBrake() return end
    if (not getElementData(localPlayer,"player:level")) then return end
    if (getElementData(localPlayer,"Ryjek") == false) and getElementData(localPlayer,"player:level") and tonumber(getElementData(localPlayer,"player:level")) < 2 then 
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
    toggleAirBrake()
end
    
function toggleAirBrake()
    air_brake not air_brake or nil
    if air_brake then
        
        if isPedInVehicle getLocalPlayer( ) ) then
        local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
        abx,aby,abz getElementPosition(vehicle)
        Speed,AlingSpeedX,AlingSpeedY 0,1,1
        OldX,OldY,OldZ 0
        setElementCollisionsEnabled vehiclefalse )
        setElementFrozen(vehicle,true)
        setElementAlpha(getLocalPlayer(),0)
        addEventHandler("onClientPreRender",root,putPlayerInPosition)   
    else
        abx,aby,abz getElementPosition(localPlayer)
        Speed,AlingSpeedX,AlingSpeedY 0,1,1
        OldX,OldY,OldZ 0
        setElementCollisionsEnabled localPlayerfalse )
        addEventHandler("onClientPreRender",root,putPlayerInPosition)   
    end
    

    else
    if isPedInVehicle getLocalPlayer( ) ) then
        local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
        abx,aby,abz nil
        setElementFrozen(vehicle,false)
        setElementCollisionsEnabled vehicletrue )
        setElementAlpha(getLocalPlayer(),255)
        removeEventHandler("onClientPreRender",root,putPlayerInPosition)
        else
        abx,aby,abz nil
        setElementCollisionsEnabled localPlayertrue )
        removeEventHandler("onClientPreRender",root,putPlayerInPosition)
        end
    end
end
bindKey("0","down",toggleAirBrakec


Pokazuje blad w 3 linii

[ Dodano: 2016-09-18, 18:54 ]
ERROR: OL-Admin/devmode.lua:3:attempt to call global 'getPlayerAccount'(a nil value)

Ostatnio zmieniony przez iksik 2016-09-18, 18:49, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 20:48


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

No jak to ma dzia?a?? ACL dzia?a po stronie servera tylko i wy??cznie. A ten kod jest po stronie clienta. Musisz u?y?
Więcej informacji znajdziesz w Wikipedii MTA:

triggerClientEvent


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

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

 
Wysłany: 2016-09-18, 21:37


iksik







Wiek: 26
Na forum: 3571 dni
Posty: 37



Respekt: 50


addEvent ("sprawdzacl"true)
function DeveloperMode(thePlayer)
     local accName getAccountName getPlayerAccount (thePlayer) ) 
     if isObjectInACLGroup ("user."..accNameaclGetGroup "Admin" ) ) then
     addEventHandler ("sprawdzacl"rootisObjectInACLGroup())
     triggerClientEvent thePlayer"sprawdzacl")
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
if getDevelopmentMode() == false then
setDevelopmentMode true )
else
setDevelopmentMode false )
end
end
addCommandHandler("devmode"DeveloperMode)
addCommandHandler("showmode"DeveloperMode)


local sxsy guiGetScreenSize()

function putPlayerInPosition(timeslice)
    local cx,cy,cz,ctx,cty,ctz getCameraMatrix()
    ctx,cty ctx-cx,cty-cy
    timeslice timeslice*0.1   
    local txtytz getWorldFromScreenPosition(sx 2sy 210)
    if isChatBoxInputActive() or isConsoleActive() or isMainMenuActive () or isTransferBoxActive () then return end 
    if getKeyState("lctrl"then timeslice timeslice*4 end
    if getKeyState("lalt"then timeslice timeslice*0.25 end
    local mult timeslice/math.sqrt(ctx*ctx+cty*cty)
    ctx,cty ctx*mult,cty*mult
    if getKeyState("w"then abx,aby abx+ctx,aby+cty end
    if getKeyState("s"then abx,aby abx-ctx,aby-cty end
    if getKeyState("a"then  abx,aby abx-cty,aby+ctx end
    if getKeyState("d"then abx,aby abx+cty,aby-ctx end
    if getKeyState("space"then  abz abz+timeslice end
    if getKeyState("lshift"then   abz abz-timeslice end 
    local x,100,200
    dxDrawText ("Pozycja: "..abx..", "..aby.." ,"..abzx)   
    

    if isPedInVehicle getLocalPlayer( ) ) then    
    local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
    local angle getPedCameraRotation(getLocalPlayer ( ))  
    setElementPosition(vehicle,abx,aby,abz)
    setElementRotation(vehicle,0,0,-angle)
    else
    local angle getPedCameraRotation(getLocalPlayer ( ))  
    setElementRotation(getLocalPlayer ( ),0,0,angle)
    setElementPosition(getLocalPlayer ( ),abx,aby,abz)
    end
end
function toggleAirBrakec()
    if getElementData(localPlayer,"Ryjek"then toggleAirBrake() return end
    if (not getElementData(localPlayer,"player:level")) then return end
    if (getElementData(localPlayer,"Ryjek") == false) and getElementData(localPlayer,"player:level") and tonumber(getElementData(localPlayer,"player:level")) < 2 then 
        outputChatBox("* Nie posiadasz uprawnie?."25500)
        return
    end
    toggleAirBrake()
end
    
function toggleAirBrake()
    air_brake not air_brake or nil
    if air_brake then
        
        if isPedInVehicle getLocalPlayer( ) ) then
        local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
        abx,aby,abz getElementPosition(vehicle)
        Speed,AlingSpeedX,AlingSpeedY 0,1,1
        OldX,OldY,OldZ 0
        setElementCollisionsEnabled vehiclefalse )
        setElementFrozen(vehicle,true)
        setElementAlpha(getLocalPlayer(),0)
        addEventHandler("onClientPreRender",root,putPlayerInPosition)   
    else
        abx,aby,abz getElementPosition(localPlayer)
        Speed,AlingSpeedX,AlingSpeedY 0,1,1
        OldX,OldY,OldZ 0
        setElementCollisionsEnabled localPlayerfalse )
        addEventHandler("onClientPreRender",root,putPlayerInPosition)   
    end
    

    else
    if isPedInVehicle getLocalPlayer( ) ) then
        local vehicle getPedOccupiedVehiclegetLocalPlayer( ) )
        abx,aby,abz nil
        setElementFrozen(vehicle,false)
        setElementCollisionsEnabled vehicletrue )
        setElementAlpha(getLocalPlayer(),255)
        removeEventHandler("onClientPreRender",root,putPlayerInPosition)
        else
        abx,aby,abz nil
        setElementCollisionsEnabled localPlayertrue )
        removeEventHandler("onClientPreRender",root,putPlayerInPosition)
        end
    end
end
bindKey("0","down",toggleAirBrakec)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-09-18, 23:16


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

ehh, nadal u?ywasz funkcji acl kt?ra dziala tylko po s side i funkcji np gui ktore dzialaja tylko na c side W jednym pliku. Poczytaj przyklady triggerow na wiki. Musisz prztruggerowac acl z s side czyli jednego pliku do c side czyli drugiego pliku. Popatrz na przyklady na wiki.

A zreszta masz server

function trigger(plr)
     local accName getAccountName getPlayerAccount plr ) )
     if isObjectInACLGroup ("user."..accNameaclGetGroup "Admin" ) ) then 
          triggerClientEvent(plr"jest"plr)
end
end
addCommandHandler("devmode",trigger


client


addEvent("jest",true)
addEventHandler("jest",getRootElement(),function()
if getDevelopmentMode() == false then
setDevelopmentMode(true)
else
setDevelopmentMode(false)
end
end)


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

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Ostatnio zmieniony przez marcin778 2016-09-18, 23:54, w całości zmieniany 3 razy  
Postaw piwo autorowi tego posta
 

 
Tagi: przerobienie :: skryptu :: pod :: acl
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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