ReDFoX Posted December 1, 2012 Share Posted December 1, 2012 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
ExabyteDE Posted December 2, 2012 Share Posted December 2, 2012 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 außerdem kannst du die ganzen verschachtelungen von if mit ifelse machen 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
ReDFoX Posted December 2, 2012 Author Share Posted December 2, 2012 danke vielmals du hast den ruf eines Server gerettet Link to comment
ReDFoX Posted December 2, 2012 Author Share Posted December 2, 2012 ich hab das ungetestet übersehen und muss sagen ... es geht leider nicht D: Link to comment
ExabyteDE Posted December 2, 2012 Share Posted December 2, 2012 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 Link to comment
ReDFoX Posted December 3, 2012 Author Share Posted December 3, 2012 ne funktioniert immernoch nicht aber auch krass dass du dein eigenes sql system hast Link to comment
ExabyteDE Posted December 3, 2012 Share Posted December 3, 2012 was funktioniert denn nicht dran beschreib mal näher Link to comment
ReDFoX Posted December 7, 2012 Author Share Posted December 7, 2012 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
ExabyteDE Posted December 7, 2012 Share Posted December 7, 2012 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) Link to comment
ReDFoX Posted December 8, 2012 Author Share Posted December 8, 2012 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 Sarrum Posted December 8, 2012 Scripting Moderators Share Posted December 8, 2012 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
ExabyteDE Posted December 8, 2012 Share Posted December 8, 2012 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
Scripting Moderators Sarrum Posted December 8, 2012 Scripting Moderators Share Posted December 8, 2012 fehlt da nicht iwie ein local root = getRootElement() ? https://wiki.multitheftauto.com/wiki/Pre ... ables_list Link to comment
ReDFoX Posted December 8, 2012 Author Share Posted December 8, 2012 Vielen Dank dass es jetzt funktioniert ! Aber jetzt werden die Nachrichten immer wiederholt Thanks that it now work ! But the massages will repeat Link to comment
Scripting Moderators Sarrum Posted December 8, 2012 Scripting Moderators Share Posted December 8, 2012 Ressource 'freeroam' wird ausgeführt? -> fr_server.lua, löschen event 'onPlayerChat' (line: ~ 402-423) Link to comment
ExabyteDE Posted December 8, 2012 Share Posted December 8, 2012 haha zver danke schon wieder was gelernt Link to comment
ReDFoX Posted December 9, 2012 Author Share Posted December 9, 2012 Ja danke es funktioniert und danke auch an dich ExabyteDE dann kann man den Thread hier closen Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now