Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá, tem vários comandos !eject pelo fórum, porém nenhum dos que encontrei funcionou comigo, talvez pelo fato de eu usar SQLITE.
Precisava muito desse comando no meu servidor, alguém possui um que funcione com SQLITE?

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

!eject no caso e para sair da house certo ??

vai em talkactions.xml e adicione isso la:

<talkaction words="!eject" filter="word-spaced" event="script" value="eject.lua"/>

e em talkactions/scripts

crie um arquivo chamado eject.lua e adicione dentro:

function onSay(cid, words, param, channel)
	local house = getHouseFromPos(getCreaturePosition(cid))
	if(not house) then
		doPlayerSendCancel(cid, "You are not inside a house.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return false
	end

	local owner = getHouseInfo(house).owner
	if(owner ~= getPlayerGUID(cid) and (owner ~= getPlayerGuildId(cid) or getPlayerGuildLevel(cid) ~= GUILDLEVEL_LEADER)) then
		doPlayerSendCancel(cid, "You are not the owner of this house.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return false
	end

	setHouseOwner(house, 0)
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
	return false
end

 

Link para o post
Compartilhar em outros sites
28 minutos atrás, WhiteBubble disse:

!eject no caso e para sair da house certo ??

vai em talkactions.xml e adicione isso la:


<talkaction words="!eject" filter="word-spaced" event="script" value="eject.lua"/>

e em talkactions/scripts

crie um arquivo chamado eject.lua e adicione dentro:


function onSay(cid, words, param, channel)
	local house = getHouseFromPos(getCreaturePosition(cid))
	if(not house) then
		doPlayerSendCancel(cid, "You are not inside a house.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return false
	end

	local owner = getHouseInfo(house).owner
	if(owner ~= getPlayerGUID(cid) and (owner ~= getPlayerGuildId(cid) or getPlayerGuildLevel(cid) ~= GUILDLEVEL_LEADER)) then
		doPlayerSendCancel(cid, "You are not the owner of this house.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return false
	end

	setHouseOwner(house, 0)
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
	return false
end

 

Não é isso amigo, !eject funciona assim:
Um player encontra uma house já ocupada por outro player, vira para a porta e fala !eject
Se o dono da house não loga a mais de 10 dias, os items dentro da mesma vão para o depot do atual dono da house, e a house se torna "À venda".

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:

Não é isso amigo, !eject funciona assim:
Um player encontra uma house já ocupada por outro player, vira para a porta e fala !eject
Se o dono da house não loga a mais de 10 dias, os items dentro da mesma vão para o depot do atual dono da house, e a house se torna "À venda".

Bom nisso não posso te ajudar, mas tenho um MOD parecido que o tanto de dias que esta configurado ele verifica as houses e automaticamente poe elas a venda sem o player precisar usar o eject.

cri um arquivo com nome Clean Houses.xml em mods e adicione isso dentro:

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Cleanhouses" version="1.03" author="nsanee" contact="tibiaking.com" enabled="yes">
    <description>
        v.1.03 - Added 'onlyNonPremium' configurable.
                 Removed modlib, since the script is run once anyway we don't need it loaded at all times.
                 It shouldn't now stop execution when a house is nameless.
				
		v.1.02 - now uses only one sql query, removed multiworld configurable  since it's not needed anymore
        v.1.01 - small fixes, optimized query + multiworld support.
       
		
        This mod will clean houses of inactive players and move their items to the depot.
        
        config explained:
            
            days - If the player hasn't logged in for this number of days his house will be freed.
            log - true/false, whether to enable logging of which houses have been cleaned.
            file - path to the log file, where logs will be stored. Ignored if 'log' set to false
            onlyNonPremium - if set to 'true', the script will clean only the houses of players who don't have any pacc days left.
			
		other notes:
			DO NOT remove doSaveServer() at the end, otherwise if your server happens to crash before the nearest server save you will regret it =)
    </description>

    <globalevent name="cleanhouses" type="start" event="buffer"><![CDATA[
	
	
        local config = { 
            days = 7,
            log = true,
            file = getDataDir() .. "/logs/cleanhouses.txt",
	    onlyNonPremium = true
        }
		
		
		
        local ns_query =[[ SELECT houses.owner, houses.id as hid, houses.name as house_name ,players.name FROM houses
            LEFT JOIN players ON players.id=houses.owner
            LEFT JOIN accounts ON players.account_id=accounts.id
            WHERE players.lastlogin < (UNIX_TIMESTAMP() - ]] ..config.days.. [[*24*60*60)
            ]] ..(config.onlyNonPremium and ' AND accounts.premdays=0 ' or '')..[[
            AND	players.world_id =]] .. getConfigValue("worldId")
		
        local house = db.getResult(ns_query)
        local logs = " :: Houses cleaned:\n\n"
        if house:getID() ~= -1 then
            repeat
                logs = logs .. house:getDataString('house_name') ..", owned by " .. house:getDataString('name') .. "\n"
                setHouseOwner(house:getDataInt('hid'), 0)
            until not house:next()
            house:free()
        else
            logs = logs .. "There were no houses to clean."
        end
        if config.log then
            doWriteLogFile(config.file, logs)
        end
        addEvent(doSaveServer, 1000)
		
    ]]></globalevent>
</mod>

Em local config em days você coloca quantos dias offline vai ter que ficar para perder a house.

Link para o post
Compartilhar em outros sites
48 minutos atrás, WhiteBubble disse:

Bom nisso não posso te ajudar, mas tenho um MOD parecido que o tanto de dias que esta configurado ele verifica as houses e automaticamente poe elas a venda sem o player precisar usar o eject.

cri um arquivo com nome Clean Houses.xml em mods e adicione isso dentro:


<?xml version="1.0" encoding="UTF-8"?>
<mod name="Cleanhouses" version="1.03" author="nsanee" contact="tibiaking.com" enabled="yes">
    <description>
        v.1.03 - Added 'onlyNonPremium' configurable.
                 Removed modlib, since the script is run once anyway we don't need it loaded at all times.
                 It shouldn't now stop execution when a house is nameless.
				
		v.1.02 - now uses only one sql query, removed multiworld configurable  since it's not needed anymore
        v.1.01 - small fixes, optimized query + multiworld support.
       
		
        This mod will clean houses of inactive players and move their items to the depot.
        
        config explained:
            
            days - If the player hasn't logged in for this number of days his house will be freed.
            log - true/false, whether to enable logging of which houses have been cleaned.
            file - path to the log file, where logs will be stored. Ignored if 'log' set to false
            onlyNonPremium - if set to 'true', the script will clean only the houses of players who don't have any pacc days left.
			
		other notes:
			DO NOT remove doSaveServer() at the end, otherwise if your server happens to crash before the nearest server save you will regret it =)
    </description>

    <globalevent name="cleanhouses" type="start" event="buffer"><![CDATA[
	
	
        local config = { 
            days = 7,
            log = true,
            file = getDataDir() .. "/logs/cleanhouses.txt",
	    onlyNonPremium = true
        }
		
		
		
        local ns_query =[[ SELECT houses.owner, houses.id as hid, houses.name as house_name ,players.name FROM houses
            LEFT JOIN players ON players.id=houses.owner
            LEFT JOIN accounts ON players.account_id=accounts.id
            WHERE players.lastlogin < (UNIX_TIMESTAMP() - ]] ..config.days.. [[*24*60*60)
            ]] ..(config.onlyNonPremium and ' AND accounts.premdays=0 ' or '')..[[
            AND	players.world_id =]] .. getConfigValue("worldId")
		
        local house = db.getResult(ns_query)
        local logs = " :: Houses cleaned:\n\n"
        if house:getID() ~= -1 then
            repeat
                logs = logs .. house:getDataString('house_name') ..", owned by " .. house:getDataString('name') .. "\n"
                setHouseOwner(house:getDataInt('hid'), 0)
            until not house:next()
            house:free()
        else
            logs = logs .. "There were no houses to clean."
        end
        if config.log then
            doWriteLogFile(config.file, logs)
        end
        addEvent(doSaveServer, 1000)
		
    ]]></globalevent>
</mod>

Em local config em days você coloca quantos dias offline vai ter que ficar para perder a house.

Esse mod me retorna esse erro quando inicio o servidor:

[28/11/2016 21:41:16] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such function: UNIX_TIMESTAMP ( SELECT houses.owner, houses.id as hid, houses.name as house_name ,players.name FROM houses
[28/11/2016 21:41:16]             LEFT JOIN players ON players.id=houses.owner
[28/11/2016 21:41:16]             LEFT JOIN accounts ON players.account_id=accounts.id
[28/11/2016 21:41:16]             WHERE players.lastlogin < (UNIX_TIMESTAMP() - 7*24*60*60)
[28/11/2016 21:41:16]              AND accounts.premdays=0             AND    players.world_id =0)

OBS: usando tfs 0.3.6

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
5 minutos atrás, luangop disse:

Esse mod me retorna esse erro quando inicio o servidor:

[28/11/2016 21:41:16] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such function: UNIX_TIMESTAMP ( SELECT houses.owner, houses.id as hid, houses.name as house_name ,players.name FROM houses
[28/11/2016 21:41:16]             LEFT JOIN players ON players.id=houses.owner
[28/11/2016 21:41:16]             LEFT JOIN accounts ON players.account_id=accounts.id
[28/11/2016 21:41:16]             WHERE players.lastlogin < (UNIX_TIMESTAMP() - 7*24*60*60)
[28/11/2016 21:41:16]              AND accounts.premdays=0             AND    players.world_id =0)

OBS: usando tfs 0.3.6

Fala que não tem a função vai ver e a versão do seu server, tenta esse : 

Link para o post
Compartilhar em outros sites

Esse mod só funciona para quem usa MYSQL, caso contrário resultara em erro como mostrou acima.

Em fim, por ser SQLITE, complica muito, por ser muito limitado. Sugiro trocar para mysql pois é melhor, muitas scripts e sistema funcionarão, e não estará limitada a evolução do seu server! 

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

Link para o post
Compartilhar em outros sites

Mas a database está enorme, 3000+ accs cadastradas, players então... :/

10 minutos atrás, KotZletY disse:

Esse mod só funciona para quem usa MYSQL, caso contrário resultara em erro como mostrou acima.

Em fim, por ser SQLITE, complica muito, por ser muito limitado. Sugiro trocar para mysql pois é melhor, muitas scripts e sistema funcionarão, e não estará limitada a evolução do seu server! 

Eu ja testei esse script, ele expulsa o player inativo, porém os items ficam dentro da house :/

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

Bom, o que o membro acima mostrou, ele manda os itens do player para o depot quando expulsa o player, é como se fosse um !leavehouse.

Para sqlite não conheço nenhum. 

Troque para MySQL é bem melhor, e assim seu server irá longe! 

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

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

Bom, o que o membro acima mostrou, ele manda os itens do player para o depot quando expulsa o player, é como se fosse um !leavehouse.

Para sqlite não conheço nenhum. 

Troque para MySQL é bem melhor, e assim seu server irá longe! 

Tem como fazer isso sem resetar o servidor?

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

Não, SQLITE é um tipo de banco de dados, MYSQL é outro tipo de banco de dados, ambos são bem diferentes, tabelas, colunas e etc...

Se seu server estiver on, será ruim você mudar, por outro lado, será bem melhor, poderá usar sistemas, scripts(como o da house), sem precisar se preocupar, e principalmente um lindo site. Rsrsrs!

 

xD

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

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

Não, SQLITE é um tipo de banco de dados, MYSQL é outro tipo de banco de dados, ambos são bem diferentes, tabelas, colunas e etc...

Se seu server estiver on, será ruim você mudar, por outro lado, será bem melhor, poderá usar sistemas, scripts(como o da house), sem precisar se preocupar, e principalmente um lindo site. Rsrsrs!

 

xD

Pois é.. porém se eu resetar a essa altura, perco 75% dos players :/ servidor online a 5 meses e resetar e tenso.

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

Compreendo. Caso eu ache algo para isso em sqlite eu entro em contato aqui no tópico, no entanto não desista, o fórum é grande deve ter algo para sqlite! 

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

Link para o post
Compartilhar em outros sites

dá pra converter sqlite em mysql tranquilamente, só jogar no google q vc acha tutoriais

no geral, as querys são extremamente parecidas, mas alguns sistemas podem dar problemas

 

em todo caso, troque para mysql que só tem benefício

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