Ir para conteúdo
  • Cadastre-se

Normal Pessoal do help ta floodando - AJUDEM NO SCRIPT? - REP+


Posts Recomendados

Ola, alguns players ficam floodando meu channel HELP. 

Tentei ir na pasta channels e na script e mudar mas nao tive sucesso, por favor vou postar o script alguem me ajuda?

SCRIPT:
 

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
 

Link para o post
Compartilhar em outros sites
4 minutos atrás, EmersonADVOGADOsp disse:

Ola, alguns players ficam floodando meu channel HELP. 

Tentei ir na pasta channels e na script e mudar mas nao tive sucesso, por favor vou postar o script alguem me ajuda?

SCRIPT:
 

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
 

Creio eu que isso e na xml.

data/xml/channels

la vai ter uma lista voce so modifica essa linha!

 

Spoiler

    <channel id="9" name="Ajuda" level="200" muted="30" conditionId="6" conditionMessage="Aguarde 30 segundos para enviar uma mensagem 

muted="30" = 30 segundos

muted="60" = 60 segundos equivale 1 minuto!

muted="120" = 2 minutos e assim por diante, tem laa!

Link para o post
Compartilhar em outros sites
1 minuto atrás, mateusmoretti disse:

Creio eu que isso e na xml.

data/xml/channels

la vai ter uma lista voce so modifica essa linha!

 

  Mostrar conteúdo oculto

    <channel id="9" name="Ajuda" level="200" muted="30" conditionId="6" conditionMessage="Aguarde 30 segundos para enviar uma mensagem 

muted="30" = 30 segundos

muted="60" = 60 segundos equivale 1 minuto!

muted="120" = 2 minutos e assim por diante, tem laa!

O problema que eu também pensei ser no XML, mas não tem o channels no xml rsrsrs

Link para o post
Compartilhar em outros sites
Agora, EmersonADVOGADOsp disse:

O problema que eu também pensei ser no XML, mas não tem o channels no xml rsrsrs

não tem uma channels? bom então ai ferrou, porque todos os ots vem com um bloco de notas chamado Channels

mais espero que o pessoal possa te ajudar então!

Link para o post
Compartilhar em outros sites
Agora, mateusmoretti disse:

não tem uma channels? bom então ai ferrou, porque todos os ots vem com um bloco de notas chamado Channels

mais espero que o pessoal possa te ajudar então!

Ok, obrigado. Infelizmente não tem

Link para o post
Compartilhar em outros sites
1 minuto atrás, EmersonADVOGADOsp disse:

Ok, obrigado. Infelizmente não tem

Se voce quiser testar, 

cria um bloco de notas dentro da xml/channels e coloca tudo isso dentro!

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<channels>
    <!-- README:
        0 - dynamic, reserved for guilds
        1 - always acts as Party channel, only "name" tag available
        3 - always acts as Rule Violations channel
        9 - acts as Help channel- clientsided message
        65535 - DO NOT CHANGE THE ID- only "name", "enabled", "active" and "logged" tags available
     -->
    <channel id="1" name="Party"/>
    <channel id="2" name="Administracao" access="3"/>
    <channel id="3" name="Reportar Bugs" logged="yes"/>
    
    
    <channel id="6" name="Trocas" level="8" muted="60" conditionId="3" conditionMessage="Aguarde 1 minuto para enviar mensagem novamente.">
        <vocation id="1-8"/>
    </channel>
    
    <channel id="9" name="Ajuda" level="200" muted="30" conditionId="6" conditionMessage="Aguarde 30 segundos para enviar uma mensagem novamente." logged="yes"/>
</channels>

 

Link para o post
Compartilhar em outros sites

@mateusmoretti a versão da distro dele é 1.x por isso a diferença. 

 

@EmersonADVOGADOsp use este:

Spoiler

local CHANNEL_HELP = 2 -- id do chat do help
local tempo = 1 -- tempo em minutos que o player irá ficar sem falar no help
local delay = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT)
delay:setParameter(CONDITION_PARAM_SUBID, CHANNEL_ADVERTISING)
delay:setParameter(CONDITION_PARAM_TICKS, tempo*60*1000)

function onSpeak(player, type, message)
	local playerAccountType = player:getAccountType()
	if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_ADVERTISING) then
	player:sendCancelMessage("Você pode falar no Help a cada 1 minuto.")
	return false
end
if playerAccountType == ACCOUNT_TYPE_NORMAL and not(player:getGroup():getId() >= 2) then
	player:addCondition(delay)
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_RD
		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

 

A diferença é que é menor sem aqueles comandos desnecessários, fácil de configurar o time. Huahsuahs, o seu erro era que você talvez não estava com o id do chat corretamente. Afinal o script está correto. haha

 

@Tópico movido para área correta, mas atenção da próxima vez! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
Agora, KotZletY disse:

@mateusmoretti a versão da distro dele é 1.x por isso a diferença. 

 

@EmersonADVOGADOsp use este:

  Mostrar conteúdo oculto


local CHANNEL_HELP = 2 -- id do chat do help
local tempo = 1 -- tempo em minutos que o player irá ficar sem falar no help
local delay = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT)
delay:setParameter(CONDITION_PARAM_SUBID, CHANNEL_ADVERTISING)
delay:setParameter(CONDITION_PARAM_TICKS, tempo*60*1000)

function onSpeak(player, type, message)
	local playerAccountType = player:getAccountType()
	if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_ADVERTISING) then
	player:sendCancelMessage("Você pode falar no Help a cada 1 minuto.")
	return false
end
if playerAccountType == ACCOUNT_TYPE_NORMAL and not(player:getGroup():getId() >= 2) then
	player:addCondition(delay)
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_RD
		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

 

 

@Tópico movido para área correta, mas atenção da próxima vez! 

ai sim, poxa não sabia dessa diferença porem nunca tinha reparado sempre vi pelo channel kkkk

Emerson espero que o Ket ajudará você, e cara e zica nos scripts kkkk

Link para o post
Compartilhar em outros sites
19 minutos atrás, mateusmoretti disse:

não tem uma channels? bom então ai ferrou, porque todos os ots vem com um bloco de notas chamado Channels

mais espero que o pessoal possa te ajudar então!

Ok, obrigado. Infe

 

3 minutos atrás, KotZletY disse:

@mateusmoretti a versão da distro dele é 1.x por isso a diferença. 

 

@EmersonADVOGADOsp use este:

  Ocultar conteúdo


local CHANNEL_HELP = 2 -- id do chat do help
local tempo = 1 -- tempo em minutos que o player irá ficar sem falar no help
local delay = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT)
delay:setParameter(CONDITION_PARAM_SUBID, CHANNEL_ADVERTISING)
delay:setParameter(CONDITION_PARAM_TICKS, tempo*60*1000)

function onSpeak(player, type, message)
	local playerAccountType = player:getAccountType()
	if player:getCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_ADVERTISING) then
	player:sendCancelMessage("Você pode falar no Help a cada 1 minuto.")
	return false
end
if playerAccountType == ACCOUNT_TYPE_NORMAL and not(player:getGroup():getId() >= 2) then
	player:addCondition(delay)
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_RD
		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

 

A diferença é que é menor sem aqueles comandos desnecessários, fácil de configurar o time. Huahsuahs, o seu erro era que você talvez não estava com o id do chat corretamente. Afinal o script está correto. haha

 

@Tópico movido para área correta, mas atenção da próxima vez! 

Vou testar um momento

Agora, EmersonADVOGADOsp disse:

Ok, obrigado. Infe

 

Vou testar um momento

<channel id="7" name="Help" public="1" 

Esta certo, id 7 na linha do xml e no script da 7 tbm

consegui arumar era so colocar uma linha de mute que faltava, obrigado. 

se alguem tiver a mesma duvida e so por a linha

 

        player:addCondition(muted)

 

 

Link para o post
Compartilhar em outros sites

@EmersonADVOGADOsp o meu funciona perfeitamente, afinal é o que eu uso no meu derivado de Narutibia 8.60, otx 1.3.

Em fim, boa noite. 

Fico feliz que tenha arrumado! 

 

xD

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo