Postado Fevereiro 18, 2016 9 anos Olá pessoal, gostaria que me ajudassem, no canal help do meu servidor eu gostaria de colocar um exhausted como o do adverting , de 2 minutos, no script que eu tenho o tutor pode dar mute, e quero continuar assim, só quero mesmo adicionar o exhausted para player, aqui esta meu script abaixo, obs: tfs 1.2 Mostrar conteúdo oculto local CHANNEL_HELP = 7 local muted = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) muted:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) muted:setParameter(CONDITION_PARAM_TICKS, 3600000) function onSpeak(player, type, message) local playerAccountType = player:getAccountType() if player:getLevel() == 1 and playerAccountType == ACCOUNT_TYPE_NORMAL then player:sendCancelMessage("You may not speak into channels as long as you are on level 1.") return false end if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You are muted from the Help channel for using it inappropriately.") return false end if playerAccountType >= ACCOUNT_TYPE_TUTOR then if string.sub(message, 1, 6) == "!mute " then local targetName = string.sub(message, 7) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if not target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:addCondition(muted) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been muted by " .. player:getName() .. " for using Help Channel inappropriately.") else player:sendCancelMessage("That player is already muted.") end else player:sendCancelMessage("You are not authorized to mute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false elseif string.sub(message, 1, 8) == "!unmute " then local targetName = string.sub(message, 9) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:removeCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been unmuted by " .. player:getName() .. ".") else player:sendCancelMessage("That player is not muted.") end else player:sendCancelMessage("You are not authorized to unmute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false end end if type == TALKTYPE_CHANNEL_Y then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O end elseif type == TALKTYPE_CHANNEL_O then if playerAccountType < ACCOUNT_TYPE_TUTOR and not getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_Y end elseif type == TALKTYPE_CHANNEL_R1 then if playerAccountType < ACCOUNT_TYPE_GAMEMASTER and not getPlayerFlagValue(player, PlayerFlag_CanTalkRedChannel) then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O else type = TALKTYPE_CHANNEL_Y end end end return type end
Postado Fevereiro 18, 2016 9 anos Não tenho ideia se vai funcionar.. local CHANNEL_HELP = 7 local muted = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) muted:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) muted:setParameter(CONDITION_PARAM_TICKS, 3600000) local exhausted = Condition(CHANNELEXAUSTTICKS, CONDITIONID_DEFAULT) exhausted:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) exhausted:setParameter(CONDITION_PARAM_TICKS, 120000) function onSpeak(player, type, message) local playerAccountType = player:getAccountType() if player:getLevel() == 1 and playerAccountType == ACCOUNT_TYPE_NORMAL then player:sendCancelMessage("You may not speak into channels as long as you are on level 1.") return false end -- muted por tempo if player:getCondition(CONDITION_CHANNELEXAUSTTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You may only ask a question once every two minutes.") return false end -- muted por tutor if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You are muted from the Help channel for using it inappropriately.") return false end if playerAccountType >= ACCOUNT_TYPE_TUTOR then if string.sub(message, 1, 6) == "!mute " then local targetName = string.sub(message, 7) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if not target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:addCondition(muted) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been muted by " .. player:getName() .. " for using Help Channel inappropriately.") else player:sendCancelMessage("That player is already muted.") end else player:sendCancelMessage("You are not authorized to mute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false elseif string.sub(message, 1, 8) == "!unmute " then local targetName = string.sub(message, 9) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:removeCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been unmuted by " .. player:getName() .. ".") else player:sendCancelMessage("That player is not muted.") end else player:sendCancelMessage("You are not authorized to unmute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false end end if playerAccountType < ACCOUNT_TYPE_TUTOR then player:addCondition(exhausted) end if type == TALKTYPE_CHANNEL_Y then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O end elseif type == TALKTYPE_CHANNEL_O then if playerAccountType < ACCOUNT_TYPE_TUTOR and not getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_Y end elseif type == TALKTYPE_CHANNEL_R1 then if playerAccountType < ACCOUNT_TYPE_GAMEMASTER and not getPlayerFlagValue(player, PlayerFlag_CanTalkRedChannel) then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O else type = TALKTYPE_CHANNEL_Y end end end return type end Discord: vankk #7765 Precisando de ajuda? Entre em contato comigo via Discord. Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.
Postado Fevereiro 18, 2016 9 anos Autor Em 18/02/2016 em 19:15, vankk disse: Não tenho ideia se vai funcionar.. local CHANNEL_HELP = 7 local muted = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) muted:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) muted:setParameter(CONDITION_PARAM_TICKS, 3600000) local exhausted = Condition(CHANNELEXAUSTTICKS, CONDITIONID_DEFAULT) exhausted:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) exhausted:setParameter(CONDITION_PARAM_TICKS, 120000) function onSpeak(player, type, message) local playerAccountType = player:getAccountType() if player:getLevel() == 1 and playerAccountType == ACCOUNT_TYPE_NORMAL then player:sendCancelMessage("You may not speak into channels as long as you are on level 1.") return false end -- muted por tempo if player:getCondition(CONDITION_CHANNELEXAUSTTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You may only ask a question once every two minutes.") return false end -- muted por tutor if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You are muted from the Help channel for using it inappropriately.") return false end if playerAccountType >= ACCOUNT_TYPE_TUTOR then if string.sub(message, 1, 6) == "!mute " then local targetName = string.sub(message, 7) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if not target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:addCondition(muted) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been muted by " .. player:getName() .. " for using Help Channel inappropriately.") else player:sendCancelMessage("That player is already muted.") end else player:sendCancelMessage("You are not authorized to mute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false elseif string.sub(message, 1, 8) == "!unmute " then local targetName = string.sub(message, 9) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:removeCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been unmuted by " .. player:getName() .. ".") else player:sendCancelMessage("That player is not muted.") end else player:sendCancelMessage("You are not authorized to unmute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false end end if playerAccountType < ACCOUNT_TYPE_TUTOR then player:addCondition(exhausted) end if type == TALKTYPE_CHANNEL_Y then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O end elseif type == TALKTYPE_CHANNEL_O then if playerAccountType < ACCOUNT_TYPE_TUTOR and not getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_Y end elseif type == TALKTYPE_CHANNEL_R1 then if playerAccountType < ACCOUNT_TYPE_GAMEMASTER and not getPlayerFlagValue(player, PlayerFlag_CanTalkRedChannel) then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O else type = TALKTYPE_CHANNEL_Y end end end return type end Continua dando pra falar sem parar do mesmo jeito
Postado Fevereiro 18, 2016 9 anos Amigo, tente esse.. Mostrar conteúdo oculto local CHANNEL_HELP = 7 local muted = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) muted:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) muted:setParameter(CONDITION_PARAM_TICKS, 3600000) function onSpeak(player, type, message) local playerAccountType = player:getAccountType() if player:getLevel() == 1 and playerAccountType == ACCOUNT_TYPE_NORMAL then player:sendCancelMessage("You may not speak into channels as long as you are on level 1.") return false end if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You are muted from the Help channel for using it inappropriately.") return false end if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You may only place one ask in one minute.") return false end player:addCondition(muted) if playerAccountType >= ACCOUNT_TYPE_TUTOR then if string.sub(message, 1, 6) == "!mute " then local targetName = string.sub(message, 7) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if not target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:addCondition(muted) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been muted by " .. player:getName() .. " for using Help Channel inappropriately.") else player:sendCancelMessage("That player is already muted.") end else player:sendCancelMessage("You are not authorized to mute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false elseif string.sub(message, 1, 8) == "!unmute " then local targetName = string.sub(message, 9) local target = Player(targetName) if target ~= nil then if playerAccountType > target:getAccountType() then if target:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then target:removeCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been unmuted by " .. player:getName() .. ".") else player:sendCancelMessage("That player is not muted.") end else player:sendCancelMessage("You are not authorized to unmute that player.") end else player:sendCancelMessage(RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) end return false end end if type == TALKTYPE_CHANNEL_Y then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O end elseif type == TALKTYPE_CHANNEL_O then if playerAccountType < ACCOUNT_TYPE_TUTOR and not getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_Y end elseif type == TALKTYPE_CHANNEL_R1 then if playerAccountType < ACCOUNT_TYPE_GAMEMASTER and not getPlayerFlagValue(player, PlayerFlag_CanTalkRedChannel) then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O else type = TALKTYPE_CHANNEL_Y end end end return type end Editado Fevereiro 18, 2016 9 anos por Pandawan. (veja o histórico de edições) pandawan.contatot@gmail.com
Postado Fevereiro 18, 2016 9 anos @Pandawan >> if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_ADVERTISING) then >>> CHANNEL_ADVERTISING >>>> ADVERTISING ??? Queremos checar a condição do muted no channel help e não adversiting. - tópico. local CHANNEL_HELP = 7 local muted = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) muted:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) muted:setParameter(CONDITION_PARAM_TICKS, 120000) function onSpeak(player, type, message) local playerAccountType = player:getAccountType() if player:getLevel() == 1 and playerAccountType == ACCOUNT_TYPE_NORMAL then player:sendCancelMessage("You may not speak into channels as long as you are on level 1.") return false end -- muted por tempo if player:getCondition(CONDITION_CHANNELEXAUSTTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) then player:sendCancelMessage("You may only ask a question once every two minutes.") return false end if playerAccountType < ACCOUNT_TYPE_TUTOR then player:addCondition(muted) end if type == TALKTYPE_CHANNEL_Y then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O end elseif type == TALKTYPE_CHANNEL_O then if playerAccountType < ACCOUNT_TYPE_TUTOR and not getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_Y end elseif type == TALKTYPE_CHANNEL_R1 then if playerAccountType < ACCOUNT_TYPE_GAMEMASTER and not getPlayerFlagValue(player, PlayerFlag_CanTalkRedChannel) then if playerAccountType >= ACCOUNT_TYPE_TUTOR or getPlayerFlagValue(player, PlayerFlag_TalkOrangeHelpChannel) then type = TALKTYPE_CHANNEL_O else type = TALKTYPE_CHANNEL_Y end end end return type end Discord: vankk #7765 Precisando de ajuda? Entre em contato comigo via Discord. Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.