Ir para conteúdo

Featured Replies

Postado

Estava procurando um sistema de proteção de houses para implementar em meu servidor, até que consegui achar, porém precisa adicionar a função na source, eu sei adicionar, o que eu não sei é como fazer pra puxar essa função da source, (o código), e nem qual arquivo modificar. Se alguém se dispor a me ajudar, ficarei muito grato. Obrigado desde já, rep+ para quem ajudar.

 

A função para adicionar na source é esta aqui: onMoveItem(moveItem, frompos, position, cid)

 

Script criado pelo @Storm

function onMoveItem(moveItem, frompos, position, cid)

         if getHouseFromPos(frompos) then
            if getPlayerGUID(cid) == getHouseOwner(getHouseFromPos(frompos)) then
              return true
            else
            doPlayerSendTextMessage(cid, 27, "Voce nao pode mover itens desta house")
            doSendMagicEffect(getCreaturePosition(cid), 3)
            return false
            end 
         end
end 

 

O script consiste em proibir qualquer player de arrastar os itens da house, deixando apenas o dono (quem comprou) da house mover, pegar, os itens.

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Resolvido por WooX

Ir para solução
  • Respostas 26
  • Visualizações 2.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Qual source está utilizando? Se você está usando 0.x e não possui essa função provavelmente está utilizando TFS Exclusive Edition, ela não é necessária pois já existe a função onThrow, que faz o que a

  • Possui sim. config.lua houseProtection = true  

  • @GabrieldsadaxasJá tem,   

Posted Images

Postado

Curti esta idea, ate seria interessante mais para frente de implementar uma funcionalidade semelhante desta para guild houses, onde definiria cada `quarto` para uma pessoa e so a pessoa responsavel do quarto poderia retirar os itens e colocar no chao rsrs.

 

REP+

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Postado
55 minutos atrás, Skydangerous disse:

Curti esta idea, ate seria interessante mais para frente de implementar uma funcionalidade semelhante desta para guild houses, onde definiria cada `quarto` para uma pessoa e so a pessoa responsavel do quarto poderia retirar os itens e colocar no chao rsrs.

 

REP+

bacana isso também, achei interessante

Postado
  • Solução

Qual source está utilizando? Se você está usando 0.x e não possui essa função provavelmente está utilizando TFS Exclusive Edition, ela não é necessária pois já existe a função onThrow, que faz o que a onMoveItem faz e até permite fazer coisas que a onMoveItem não consegue.

 

Abaixo está um script com a função onThrow, porem antes quero dizer sobre um problema que ambos os scripts não cobrem. Este script não vai impedir o convidado na casa de usar items, se tiver uma mana potion na casa por exemplo, ele não vai conseguir pegar e nem mover, mas vai poder usar em si ou em outros, por isso o correto para uma sistema como este é fazer diretamente na source.

--<event type="login" name="HouseProtectionRegister" event="script" value="house_protection.lua"/>
--<event type="throw" name="HouseProtection" event="script" value="house_protection.lua"/>

function onThrow(cid, item, fromPosition, toPosition)
	if fromPosition.x ~= 65535 and getHouseFromPos(fromPosition) then
		if getHouseOwner(getHouseFromPos(fromPosition)) ~= getPlayerGUID(cid) then
			doPlayerSendCancel(cid, "You can't take nor move someone else's stuff on their own house.")
			return false
		end
	elseif toPosition.x ~= 65535 and getHouseFromPos(toPosition) then
		if getHouseOwner(getHouseFromPos(toPosition)) ~= getPlayerGUID(cid) then
			doPlayerSendCancel(cid, "You can't throw things on someone else's house.")
			return false
		end
	end
	return true
end


function onLogin(cid)
	registerCreatureEvent(cid, "HouseProtection")
	return true
end

 

Ps: se mais pessoas se interessarem eu posso escrever em C++ depois.

Editado por WooX (veja o histórico de edições)

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo