28WL Posted February 9, 2014 Posted February 9, 2014 Please, help me. If I write that "/extermination" command ---> only I will see it, other players not? Client script --- Player, who is one the groups, write a command --- only he will see? Server script --- If somebody one of the groups member will write a command, then all players will see these messages? And this is client script, nobody will see it, just who wrote it? addCommandHandler ( "extermination", function ( MissionExtermination ) if isAccountInGroup ( { "Exterminator" "Soldier" }, getAccountName ( getPlayerAccount ( MissionExtermination ) ) ) then outputChatBox("^ ATTENTION WARNING!", MissionExtermination, 255, 0, 0, true) outputChatBox("^ Started mission: Extermination.", MissionExtermination, 255, 0, 0, true) else outputChatBox ("^ You have no acces to that command.", MissionExtermination ) end end ) function isAccountInGroup ( groups, account ) local theGroup = false for _, group in ipairs ( groups ) do if isObjectInACLGroup ( "user.".. account, aclGetGroup ( group ) ) then theGroup = group break end end return theGroup end So I need to create (add) server script? addEvent ( "extermination", true ) addEventHandler ( "MissionExtermination", root, function ( MissionExterminationStart ) outputChatBox("^ ATTENTION WARNING!", MissionExterminationStart, 255, 0, 0, true) outputChatBox("^ Started mission: Extermination.", MissionExterminationStart, 255, 0, 0, true) end ) You can hire me!
ixjf Posted February 9, 2014 Posted February 9, 2014 How is this even possible. This section's name clearly says that it is for NON-HELP MTA discussions. I used to know how to code, but then I took an arrow in the knee. Project Redivivus - Remaking Old School MTA With New Code MTA 0.6 Nightly 1 released
xDrul Posted February 9, 2014 Posted February 9, 2014 Use triggerServerEvent So instead of the outputChatBox @ the client side, you use addCommandHandler ( "extermination", function ( MissionExtermination ) if isAccountInGroup ( { "Exterminator" "Soldier" }, getAccountName ( getPlayerAccount ( MissionExtermination ) ) ) then triggerServerEvent("extermination", getRootElement()) else outputChatBox ("^ You have no acces to that command.", MissionExtermination ) end end ) Server side fixed; function output() outputChatBox("^ ATTENTION WARNING!", 255, 0, 0) outputChatBox("^ Started mission: Extermination.", 255, 0, 0) end addEvent("extermination", true) addEventHandler("extermination", getRootElement(), output)
28WL Posted February 10, 2014 Author Posted February 10, 2014 0% working. I'll use Castillo cooked Sounds Player and also I'll modify to this resource. You can hire me!
Moderators IIYAMA Posted February 12, 2014 Moderators Posted February 12, 2014 Is incorrect. addCommandHandler doesn't return a player at client side. That should be the localPlayer. (localPlayer doesn't have to be defined with the parameters, it is at every place at clientside reach able) triggerServerEvent("extermination", localPlayer) triggerServerEvent("extermination", localPlayer) is source At serverside the player is: source -- this is the element of the event handler.(when this is the player) or client (source doesn't have to be defined with the parameters, nor as client) @xDrul You can't just skip an argument of outputChatBox ...... ( it is serverside, not client side) Do you want to improve your Lua programming skills and make less mistakes? Start with Lua Language Server! Useful functions 3x Spoiler checkPassiveTimer getScreenStartPositionFromBox getPedGender Tutorials 4x Spoiler Scaling DX Events Attach an addEventHandler on a group of elements Debugging
Sasu Posted February 12, 2014 Posted February 12, 2014 You missed a comma on line 3 in the table at argument 1 of 'isAccountInGroup'. State: Inactive
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