Jump to content

Scriptinghilfe :(


ReDFoX

Recommended Posts

Halle alle zusammen,

ich hab hier ein Script bei dem ich einfach nicht weiter komme.

Was soll der Script machen ?

Er soll die Nametags im Chat ändern.

also statt dem normalen Username wie hier z.b. [C.J.M. Admin m. V.]:(msg)

Der Script hat schon ettliche Tests hinter sich, aber funtionieren tut er immer noch nicht .

Bei fragen oder meta bitte fragen ;D

Also hier ist der Script:

function nametags ()

if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Console" ) ) then

outputChatBox("#FFA500[C.J.M. Admin m. V.]"..getPlayerName().."#FFFFFF:" ..message, 255, 255, 255, true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "Admin" )) then

outputChatBox("#FFFF00[C.J.M. Admin]"..getPlayerName().."#FFFFFF:"..message, 255, 255 , 255,true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "V.I.P." )) then

outputChatBox("#ECD872[V.I.P.]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "Militaer" )) then

outputChatBox("#C9BE62[Militär]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "S.W.A.T." )) then

outputChatBox("#151B8D[s.W.A.T.]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

end

end

end

end

end

end

addEventHandler("OnPlayerChat",nametags)

Link to comment

Was funktioniert denn nicht daran?

ich vermute mal das 2 chatboxeinträge kommen weil du kein cancelEvent() verwendet hast ;)

und übrigens "onPlayerChat", da muss ein kleines o hin xD

außerdem kannst du die ganzen verschachtelungen von if mit ifelse machen :P schau mal ich hab dein script bisschen überarbeitet:

function nametags ()

cancelEvent()

if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Console" ) ) then

outputChatBox("#FFA500[C.J.M. Admin m. V.]"..getPlayerName().."#FFFFFF:" ..message, 255, 255, 255, true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "Admin" )) then

outputChatBox("#FFFF00[C.J.M. Admin]"..getPlayerName().."#FFFFFF:"..message, 255, 255 , 255,true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "V.I.P." )) then

outputChatBox("#ECD872[V.I.P.]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "Militaer" )) then

outputChatBox("#C9BE62[Militär]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "S.W.A.T." )) then

outputChatBox("#151B8D[s.W.A.T.]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

end

end

addEventHandler("onPlayerChat",nametags)

UNGETESTET!

Link to comment

ok habs nochmal angeschaut und diesmal getestet ;)

function nametags ()

local accName = getPlayerName ( source )

if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Console" ) ) then

cancelEvent()

outputChatBox("#FFA500[C.J.M. Admin m. V.]"..getPlayerName().."#FFFFFF:" ..message, 255, 255, 255, true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "Admin" )) then

cancelEvent()

outputChatBox("#FFFF00[C.J.M. Admin]"..getPlayerName().."#FFFFFF:"..message, 255, 255 , 255,true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "V.I.P." )) then

cancelEvent()

outputChatBox("#ECD872[V.I.P.]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "Militaer" )) then

cancelEvent()

outputChatBox("#C9BE62[Militär]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

elseif isObjectInACLGroup ("user."..accName,aclGetGroup ( "S.W.A.T." )) then

cancelEvent()

outputChatBox("#151B8D[s.W.A.T.]"..getPlayerName().."#FFFFFF:"..massage, 255, 255, 255, true)

end

end

addEventHandler("onPlayerChat", getRootElement(), nametags)

probier am besten selbst nochmal ob es das tut was es soll, weil das mit den acl rechten benutz ich nicht, ich hab mein slebst gescriptetes sql system :P

Link to comment

So

jetzt hab ich nochmal den alten Script ausprobiert und etwas umgescriptet

aber jetzt bekomm ich diese Fehlermeldung im Log:

[2012-12-07 12:13:30] WARNING: CJM/Scripts/Namen/chat.lua:27: Bad argument @ 'addEventHandler' [Expected element at argument 2, got function]

wenn es doch schon eine Funktion hat

warum kommt dann diese Fehlermeldung ?

Oder verstehen ich was Falsch ??

Link to comment

bei

addEventHandler("onPlayerChat",nametags)

muss noch ein element hin, also für welches element die aktion haben willst

in dem fall für alle spieler, aber da andere elemente nicht chatten können kannst du gleich alle nehmen: getRootElement()

addEventHandler("onPlayerChat", getRootElement(), nametags)

:P

Link to comment

ne geht immer noch nicht :

Bad argument @ 'addEventHandler' [Expected function at argument 3, got nil]

ich poste mal den neuen Script hier:

function chatchat ()

if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Console" ) ) then

outputChatBox(getPlayerName().."#FFA500[C.J.M. Admin m. V.]#FFFFFF:" ..message, 255, 255, 255, true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "Admin" )) then

outputChatBox(getPlayerName().."#FFFF00[C.J.M. Admin]#FFFFFF:"..message, 255, 255 , 255,true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "V.I.P." )) then

outputChatBox(getPlayerName().."#ECD872[V.I.P.]#FFFFFF:"..massage, 255, 255, 255, true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "Militaer" )) then

outputChatBox(getPlayerName().."#C9BE62[Militär]#FFFFFF:"..massage, 255, 255, 255, true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "S.W.A.T." )) then

outputChatBox(getPlayerName().."#151B8D[s.W.A.T.]#FFFFFF:"..massage, 255, 255, 255, true)

else

if isObjectInACLGroup ("user."..accName,aclGetGroup ( "Citizen" )) then

outputChatBox(getPlayerName().."#F88017-Bürger-#FFFFFF:"..massage, 255, 255, 255, true)

end

end

end

end

end

end

end

addEventHandler("onPlayerChat", getRootElement(), nametags) -- Das hab ich davor eingefügt

Link to comment
  • Scripting Moderators

Server:

function chatMessage ( message, type ) 
    local accName = getAccountName ( getPlayerAccount ( source ) ) 
    local name = getPlayerName ( source ) 
    if ( type == 0 ) then 
        if isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Console" ) ) then 
            outputChatBox ( name .. "#FFA500[C.J.M. Admin m. V.]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Admin" ) ) then 
            outputChatBox ( name .. "#FFFF00[C.J.M. Admin]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "V.I.P." ) ) then 
            outputChatBox ( name .. "#ECD872[V.I.P.]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Militaer" ) ) then 
            outputChatBox ( name .. "#C9BE62[Militar]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "S.W.A.T." ) ) then 
            outputChatBox ( name .. "#151B8D[s.W.A.T.]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Citizen" ) ) then 
            outputChatBox ( name .. "#F88017-Burger-#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        end 
    end 
end 
addEventHandler ( "onPlayerChat", root, chatMessage ) 

Link to comment
Server:
function chatMessage ( message, type ) 
    local accName = getAccountName ( getPlayerAccount ( source ) ) 
    local name = getPlayerName ( source ) 
    if ( type == 0 ) then 
        if isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Console" ) ) then 
            outputChatBox ( name .. "#FFA500[C.J.M. Admin m. V.]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Admin" ) ) then 
            outputChatBox ( name .. "#FFFF00[C.J.M. Admin]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "V.I.P." ) ) then 
            outputChatBox ( name .. "#ECD872[V.I.P.]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Militaer" ) ) then 
            outputChatBox ( name .. "#C9BE62[Militar]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "S.W.A.T." ) ) then 
            outputChatBox ( name .. "#151B8D[s.W.A.T.]#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        elseif isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Citizen" ) ) then 
            outputChatBox ( name .. "#F88017-Burger-#FFFFFF:" .. message, root, 255, 255, 255, true ) 
        end 
    end 
end 
addEventHandler ( "onPlayerChat", root, chatMessage ) 

fehlt da nicht iwie ein

local root = getRootElement() 

?

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...