Ir para conteúdo
  • Cadastre-se

Normal Log de quem entrou e saiu apenas pra quem habilitar.


Posts Recomendados

Boa noite, tibianos. Eu comecei a mexer com Tibia recentemente, e eu resolvi fazer um script igual a um server de SAMP que eu jogava, no qual é o seguinte, quando a pessoa entra no servidor, o log de quem entrou e saiu no default chat está desativado, mas se ela digitar /toggleentrousaiu, ela irá ativar o log, e consequentemente, as pessoas que logarem dali pra diante, aparecerão no chat, e se a pessoa digitar /toggleentrousaiu novamente, ela irá desativar o log. E assim, criando um loop, se quiser ela habilita, se quiser ela desliga.

 

Mas acontece que eu criei um script desse baseado em storage, dessa maneira:

 

Spoiler

function onSay(cid, words, param)

local hasToggled = getPlayerStorageValue(cid, 50514) --Essa variável é atribuída se a pessoa estiver com o comando habilitado.                                                          As duas são desnecessárias,
local hasNotToggled = getPlayerStorageValue(cid, 50513) --Essa variável é atribuída se a pessoa estiver com o comando desabilitado.                                             mas eu achei bacana trazê-las.

    if(param == ' ') then
        if hasToggled == 1 then --Se estiver habilitado
            setPlayerStorageValue(cid, 50514, 0) --Tira o storage de habilitado
            setPlayerStorageValue(cid, 50513, 1) --Coloca o storage de desabilitado
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "O log de quem entrou e saiu foi desativado.")
            doSendMagicEffect(getCreaturePosition(cid), 39)
            return true
        end
        if hasNotToggled == 1 then   --Se estiver desabilitado
            setPlayerStorageValue(cid, 50513, 0) --Tira o storage de desabilitado
            setPlayerStorageValue(cid, 50514, 1) --Coloca o storage de habilitado
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_GREEN, "O log de quem entrou e saiu foi ativado.")
            doSendMagicEffect(getCreaturePosition(cid), 40)
            return true
        end
    return true
    else --Se o comando tiver param, exemplo (/toggleentrousaiu param1 param2 ou /toggleentrousaiu param1).
             doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite apenas /toggleentrousaiu.")
             doSendMagicEffect(getCreaturePosition(cid), 2)
    return false;
    end
return false
end
        

 

Na classe login.lua eu coloquei o seguinte:

Spoiler

setPlayerStorageValue(cid, 50513, 1) -- Quando o player entrar, vai estar desabilitado.

 

Mas acontece que, depois de logar (desabilitado), se eu usar o /toggleentrousaiu, ele vai habilitar normalmente, mas se eu tentar desabilitar novamente, o Tibia fecha dando este erro:

 

58e56641b18f7_Semttulo.png.e185788fcec30a8354bb88ea70537bd2.png

 

E só acontece quando eu o executo novamente, sendo assim, creio eu, o erro por conta do script.

 

Eu gostaria de pedir que me ajudassem com isso, se possível remodelar o código de uma maneira que não crashe, e também, gostaria de saber como faço para fazer a questão do onLogin, ou seja, quando a pessoa entrar, mandar mensagem apenas para quem tem o storage 50514, e no logout também. Obrigado!!!! Rep+ pra quem souber xD

Link para o post
Compartilhar em outros sites

Cometeu alguns erros... mas está no caminho certo!
Não tem necessidade de usar duas storages para habilitar/desabilitar... teste a talkaction assim:
 

function onSay(cid, words, param)
	local stosys = 50514
	if(param == '') then
		if getPlayerStorageValue(cid, stosys) == 1 then -- Se estiver habilitado
			setPlayerStorageValue(cid, stosys, 0) -- Desabilita
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "O log de quem entrou e saiu foi desativado.")
			doSendMagicEffect(getCreaturePosition(cid), 39)
			return true
		end
		if getPlayerStorageValue(cid, stosys) <= 0 then -- Se estiver desabilitado
			setPlayerStorageValue(cid, stosys, 1) -- Habilita
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_GREEN, "O log de quem entrou e saiu foi ativado.")
			doSendMagicEffect(getCreaturePosition(cid), 40)
			return true
		end
	else -- Se o comando tiver param, exemplo (/toggleentrousaiu param1 param2 ou /toggleentrousaiu param1).
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite apenas /toggleentrousaiu.")
		doSendMagicEffect(getCreaturePosition(cid), 2)
		return false
	end
	return false
end

E no login.lua para quando logar ficar desabilitado use assim:
setPlayerStorageValue(cid, 50514, 0)

Editado por luangop
esqueci algo.. (veja o histórico de edições)

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

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

Cometeu alguns erros... mas está no caminho certo!
Não tem necessidade de usar duas storages para habilitar/desabilitar... teste a talkaction assim:
 


function onSay(cid, words, param)
	local stosys = 50514
	if(param == '') then
		if getPlayerStorageValue(cid, stosys) == 1 then -- Se estiver habilitado
			setPlayerStorageValue(cid, stosys, 0) -- Desabilita
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "O log de quem entrou e saiu foi desativado.")
			doSendMagicEffect(getCreaturePosition(cid), 39)
			return true
		end
		if getPlayerStorageValue(cid, stosys) <= 0 then -- Se estiver desabilitado
			setPlayerStorageValue(cid, stosys, 1) -- Habilita
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_GREEN, "O log de quem entrou e saiu foi ativado.")
			doSendMagicEffect(getCreaturePosition(cid), 40)
			return true
		end
	else -- Se o comando tiver param, exemplo (/toggleentrousaiu param1 param2 ou /toggleentrousaiu param1).
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite apenas /toggleentrousaiu.")
		doSendMagicEffect(getCreaturePosition(cid), 2)
		return false
	end
	return false
end

 

Muito obrigado, amigo! :D. E eu tive que remover o "MESSAGE_STATUS_CONSOLE_RED/GREEN/ORANGE", porque os mesmos estavam crashando meu Tibia xD.

E, você poderia me ajudar a como eu faço pra mandar mensagens no default de quem entrou e deslogou só pra quem tem "stosys == 1"? Muito obrigado novamente1

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

Muito obrigado, amigo! :D. E eu tive que remover o "MESSAGE_STATUS_CONSOLE_RED/GREEN/ORANGE", porque os mesmos estavam crashando meu Tibia xD.

E, você poderia me ajudar a como eu faço pra mandar mensagens no default de quem entrou e deslogou só pra quem tem "stosys == 1"? Muito obrigado novamente1

Use MESSAGE_STATUS_CONSOLE_BLUE
Deve funcionar.... quanto ao sistema amanhã posso tentar te ajudar, pois preciso ir dormir já que acordo muito cedo.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Tranquilo. E eu acho que não teria diferença do MESSAGE_STATUS_CONSOLE_BLUE, porque as mensagens que estão sendo mandadas pra mim, é a mesma cor de quando vc envia o pm pra alguem. XD.

Então, até amanhã \O/

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