Jump to content

Nie potrafie setelementdata


Recommended Posts

w poprzednim temacie niejasno się wyraziłem mam skrypt Panelu Urzędu lecz kiedy wyjde z servera i wejde niestety trzeba całą procedure ,,dania prawa jazdy powtórzyć''

próbowałem użyć Setelementdata i getelementdata ale coś źle robie oto skrypt:

function GivePassport 
( player, commandName, nick 
) 
local targetPlayer = 
getPlayerFromName ( tostring 
( nick )) 
local team = 
getTeamFromName ( "Urzad" ) 
if getPlayerTeam( player) == 
team then 
  
if targetPlayer == false 
then 
outputChatBox ( "Gracz nie 
jest podłączony do 
serwera" , player) 
return 
end 
  
setElementData (targetPlayer, 
"prawo" , true ) 
outputChatBox ( "Gracz .. 
nick .. otrzymał prawo 
jazdy" , player ) 
else 
outputChatBox ( "Nie jestes 
pracownikiem urzedu!" , 
player ) 
end 
end 
  
function CheckPassport 
( player, commandName, nick 
) 
local targetPlayer = 
getPlayerFromName ( tostring 
( nick )) 
local team = 
getTeamFromName ( "Urzad" ) 
if getPlayerTeam( player) == 
team then 
  
if targetPlayer == false 
then 
outputChatBox ( "Gracz nie 
jest podłączony do 
serwera" , player) 
return 
end 
  
if getElementData 
( targetPlayer, "prawo" ) 
then 
outputChatBox ( "Gracz posiada 
prawo jazdy" , player) 
 else 
outputChatBox ( "Gracz nie 
posiada prawa jazdy" , 
player ) 
end 
else 
outputChatBox ( "Nie jestes 
pracownikiem urzedu!" , 
player ) 
end 
end 
addCommandHandler 
( "zobaczprawko 
CheckPassport) 
 

Link to comment

Zamień wszystko tym

function GivePassport ( player, commandName, nick ) 
    if ( not nick ) then return end 
    local targetPlayer = getPlayerFromName( nick ) 
    local team = getTeamFromName ( "Urzad" ) 
    if ( getPlayerTeam ( player ) == team ) then 
        if ( not targetPlayer ) then 
            outputChatBox("Gracz nie jest podłączony do serwera", player) 
            return 
        end 
  
        setElementData ( targetPlayer, "prawo", true ) 
        outputChatBox ( "Gracz " .. nick .. " otrzymał prawo jazdy.", player ) 
    else 
        outputChatBox("Nie jestes pracownikiem urzedu!", player) 
    end 
end 
addCommandHandler ( "dajprawko", GivePassport ) 
  
function CheckPassport ( player, commandName, nick ) 
    if ( not nick ) then return end 
    local targetPlayer = getPlayerFromName ( nick ) 
    local team = getTeamFromName ( "Urzad" ) 
    if getPlayerTeam(player) == team then 
        if ( not targetPlayer ) then 
            outputChatBox("Gracz nie jest podłączony do serwera", player) 
            return 
        end 
  
        local prawo = getElementData ( targetPlayer, "prawo" ) and "Gracz posiada prawo jazdy." or "Gracz nie posiada prawa jazdy" 
        outputChatBox ( prawo, player ) 
    else 
        outputChatBox("Nie jestes pracownikiem urzedu!", player) 
    end 
end 
addCommandHandler ( "zobaczprawko", CheckPassport ) 
  
addEventHandler ( "onPlayerLogin", root, 
    function ( _, account ) 
        local prawo = getAccountData ( account, "prawo" ) or false 
        setElementData ( source, "prawo", prawo ) 
    end 
) 
  
addEventHandler ( "onPlayerLogout", root, 
    function ( account ) 
        local prawo = getElementData ( source, "prawo" ) or false 
        setAccountData ( account, "prawo", prawo ) 
    end 
) 
  
addEventHandler ( "onPlayerQuit", root, 
    function ( ) 
        local account = getPlayerAccount ( source ) 
        if ( not isGuestAccount ( account ) ) then 
            local prawo = getElementData ( source, "prawo" ) or false 
            setAccountData ( account, "prawo", prawo ) 
        end 
    end 
) 

BTW: słyszałeś kiedyś o /debugscript 3?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...