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 Spoiler 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
Postado Fevereiro 18, 2016 9 anos Autor 7 minutos atrás, 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.. Spoiler 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)
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
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.