eclipse909 Posted February 10, 2013 Share Posted February 10, 2013 клиент function greetingHandler ( message ) outputChatBox ( "The server says: " .. message ) end addEvent( "onGreeting", true ) addEventHandler( "onGreeting", getRootElement(), greetingHandler ) сервре function greetingCommandOne ( playerSource, commandName, playerName ) if playerName then local thePlayer = getPlayerFromName ( playerName ) if thePlayer then triggerClientEvent ( thePlayer, "onGreeting", getRootElement(), "Превед медвед!" ) else -- указано неправильное имя end else -- не указано имя end end addCommandHandler ( "greet_one", greetingCommandOne ) Куда и как прописать ник игрока который сможет выполнять данный запрос, подскажите плз Link to comment
Vamp1r Posted February 10, 2013 Share Posted February 10, 2013 Если я правильно понял, ты хочешь, чтобы данную команду мог использовать только игрок с определенным ником? Если да, то получится у тебя вот так (на серверной стороне): function greetingCommandOne ( playerSource, commandName, playerName ) if playerName then if getPlayerName(playerSource) ~= "Ололош" then return outputChatBox("Ты не Ололош!", thePlayerSource) end local thePlayer = getPlayerFromName ( playerName ) if thePlayer then triggerClientEvent ( thePlayer, "onGreeting", getRootElement(), "Превед медвед!" ) else -- указано неправильное имя end else -- не указано имя end end addCommandHandler ( "greet_one", greetingCommandOne ) Link to comment
eclipse909 Posted February 11, 2013 Author Share Posted February 11, 2013 Сделал проще, если не ошибаюсь в твоём варианте нет смыслаа в строке с "Ты не Ололош" - т.к. ответ придёт челу с указанным ником, даже если комманду введёт другой. Хотя хз я не проверял. Спасибо за ответ, но я его не дождался и решил проблему сам: function greetingCommandOne ( playerSource, commandName, playerName ) local thePlayer = getPlayerFromName ( "НИК" ) if thePlayer then triggerClientEvent ( thePlayer, "onGreeting", getRootElement(), "Превед медвед!" ) else end end addCommandHandler ( "blabla", greetingCommandOne ) Link to comment
Flaker Posted February 11, 2013 Share Posted February 11, 2013 Твой вариант не совсем то, что ты хотел... Ты не проверяешь этот ли игрок ввел команду, ты проверяешь существует ли игрок с таким ником... В варианте Vamp1r'а, есть проверка на валидность игрока... Link to comment
eclipse909 Posted February 12, 2013 Author Share Posted February 12, 2013 Проверил ваш вариант, ничего не происходит при вводе команды.. Спасибо за помощь. Я не ясно наверное объяснил что хочу сделать, нужно было сделать что бы команда выполнялась только для одного человека. Возможно я сделал что-то неправильно, но главное что работает. Link to comment
Flaker Posted February 13, 2013 Share Posted February 13, 2013 Проверил ваш вариант, ничего не происходит при вводе команды.. Спасибо за помощь. Я не ясно наверное объяснил что хочу сделать, нужно было сделать что бы команда выполнялась только для одного человека. Возможно я сделал что-то неправильно, но главное что работает. Ну ладно, пусть работает) А вобще вот посмотри: -- SERVER local tPlayerHasAccess = { --['PLAYER_NICK'] = true; ['Vaca'] = true; ['Lol'] = true; } function commandHandler( thePlayer, cmd, targetPlayerName ) if ( targetPlayerName and targetPlayerName ~= "" ) then local targetPlayerElem = getPlayerFromName( targetPlayerName ); if ( tPlayerHasAccess[getPlayerName( thePlayer )] and isElement(targetPlayerElem) ) then triggerClientEvent ( targetPlayerName, "clientCommandHandler", thePlayer, "Привет, Медведев!" ); else outputChatBox("Error: Игрока, с таким ником, не существует или вы не имеете доступа!", thePlayer, 255, 0, 0); end else outputChatBox("Error: Игрока, с таким ником, не существует!", thePlayer, 255, 0, 0); end end addCommandHandler ( "COMMAND_NAME", greetingCommand ) --CLIENT addEvent( "clientCommandHandler", true ) addEventHandler( "clientCommandHandler", root, function (msg) outputChatBox ( "The server says: "..msg ); end ) Link to comment
eclipse909 Posted February 16, 2013 Author Share Posted February 16, 2013 Спасибо, это классный вариант. 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