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.
addEvent ("sprawdzacl", true)
function DeveloperMode(thePlayer)
local accName = getAccountName ( getPlayerAccount ( thePlayer ) )
if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then
addEventHandler ("sprawdzacl", root, isObjectInACLGroup())
outputChatBox("* Nie posiadasz uprawnie?.", 255, 0, 0)
return
end
if getDevelopmentMode() == false then
setDevelopmentMode ( true )
else
setDevelopmentMode ( false )
end
end
addCommandHandler("devmode", DeveloperMode)
addCommandHandler("showmode", DeveloperMode)
local sx, sy = guiGetScreenSize()
function putPlayerInPosition(timeslice)
local cx,cy,cz,ctx,cty,ctz = getCameraMatrix()
ctx,cty = ctx-cx,cty-cy
timeslice = timeslice*0.1
local tx, ty, tz = getWorldFromScreenPosition(sx / 2, sy / 2, 10)
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,y = 100,200
dxDrawText ("Pozycja: "..abx..", "..aby.." ,"..abz, x, y )
if isPedInVehicle ( getLocalPlayer( ) ) then
local vehicle = getPedOccupiedVehicle( getLocalPlayer( ) )
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?.", 255, 0, 0)
return
end
toggleAirBrake()
end
function toggleAirBrake()
air_brake = not air_brake or nil
if air_brake then
if isPedInVehicle ( getLocalPlayer( ) ) then
local vehicle = getPedOccupiedVehicle( getLocalPlayer( ) )
abx,aby,abz = getElementPosition(vehicle)
Speed,AlingSpeedX,AlingSpeedY = 0,1,1
OldX,OldY,OldZ = 0
setElementCollisionsEnabled ( vehicle, false )
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 ( localPlayer, false )
addEventHandler("onClientPreRender",root,putPlayerInPosition)
end
else
if isPedInVehicle ( getLocalPlayer( ) ) then
local vehicle = getPedOccupiedVehicle( getLocalPlayer( ) )
abx,aby,abz = nil
setElementFrozen(vehicle,false)
setElementCollisionsEnabled ( vehicle, true )
setElementAlpha(getLocalPlayer(),255)
removeEventHandler("onClientPreRender",root,putPlayerInPosition)
else
abx,aby,abz = nil
setElementCollisionsEnabled ( localPlayer, true )
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
addEvent ("sprawdzacl", true)
function DeveloperMode(thePlayer)
local accName = getAccountName ( getPlayerAccount (thePlayer) )
if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then
addEventHandler ("sprawdzacl", root, isObjectInACLGroup())
triggerClientEvent ( thePlayer, "sprawdzacl")
outputChatBox("* Nie posiadasz uprawnie?.", 255, 0, 0)
return
end
if getDevelopmentMode() == false then
setDevelopmentMode ( true )
else
setDevelopmentMode ( false )
end
end
addCommandHandler("devmode", DeveloperMode)
addCommandHandler("showmode", DeveloperMode)
local sx, sy = guiGetScreenSize()
function putPlayerInPosition(timeslice)
local cx,cy,cz,ctx,cty,ctz = getCameraMatrix()
ctx,cty = ctx-cx,cty-cy
timeslice = timeslice*0.1
local tx, ty, tz = getWorldFromScreenPosition(sx / 2, sy / 2, 10)
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,y = 100,200
dxDrawText ("Pozycja: "..abx..", "..aby.." ,"..abz, x, y )
if isPedInVehicle ( getLocalPlayer( ) ) then
local vehicle = getPedOccupiedVehicle( getLocalPlayer( ) )
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?.", 255, 0, 0)
return
end
toggleAirBrake()
end
function toggleAirBrake()
air_brake = not air_brake or nil
if air_brake then
if isPedInVehicle ( getLocalPlayer( ) ) then
local vehicle = getPedOccupiedVehicle( getLocalPlayer( ) )
abx,aby,abz = getElementPosition(vehicle)
Speed,AlingSpeedX,AlingSpeedY = 0,1,1
OldX,OldY,OldZ = 0
setElementCollisionsEnabled ( vehicle, false )
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 ( localPlayer, false )
addEventHandler("onClientPreRender",root,putPlayerInPosition)
end
else
if isPedInVehicle ( getLocalPlayer( ) ) then
local vehicle = getPedOccupiedVehicle( getLocalPlayer( ) )
abx,aby,abz = nil
setElementFrozen(vehicle,false)
setElementCollisionsEnabled ( vehicle, true )
setElementAlpha(getLocalPlayer(),255)
removeEventHandler("onClientPreRender",root,putPlayerInPosition)
else
abx,aby,abz = nil
setElementCollisionsEnabled ( localPlayer, true )
removeEventHandler("onClientPreRender",root,putPlayerInPosition)
end
end
end
bindKey("0","down",toggleAirBrakec)
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."..accName, aclGetGroup ( "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)
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