Jump to content

Scriptinghilfe :(


ReDFoX

Recommended Posts

Posted

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)

Posted

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!

Posted

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

Posted

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

Posted

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

Posted

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

  • Scripting Moderators
Posted

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 ) 

Posted
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() 

?

Posted

Vielen Dank dass es jetzt funktioniert !

Aber jetzt werden die Nachrichten immer wiederholt :S

Thanks that it now work !

But the massages will repeat :S

  • Scripting Moderators
Posted

Ressource 'freeroam' wird ausgeführt?

-> fr_server.lua, löschen event 'onPlayerChat' (line: ~ 402-423)

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