Ir para conteúdo

Featured Replies

Postado

Eu adaptei o script do amigo acima para que tu possa adicionar/remover o número de tps sem fazer quaisquer alterações no código (aí é só tu dar um ctrl c + ctrl v no último item da tabela e somar +1 no uniqueID) e possa mandar uma mensagem ao entrar no tp pela primeira vez.
No RME tu vai configurar assim, vai por o actionID como 7943 e o uniqueID de acordo com o número da tabela config.

Para o último portal (q vai precisar q tu entre em todos os outros antes), é só tu pôr o actionID e não pôr nenhum uniqueID, ou um número aleatório como uniqueID.

 

TAG:

<movevent type="StepIn" actionid="7943" event="script" value="portalInteligente.lua"/>

SCRIPT:

http://hastebin.com/furiwawero.lua (O <code> do site tá um lixo)

 

 

Se der erro, tenta mudar o teleport pra outro item qualquer.

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

Nem todo loop infinito é ruim ;P 

User *eu = new User("otteN");
RepSystem<User> *myRep = new RepSystem<User>("jóinha");
myRep->setAlvo(eu);

/* só por ser criado já sou o melhor membro */ 

while(eu->isMelhorMembro()){
myRep->reputar();
}

 

  • Respostas 36
  • Visualizações 2.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • sim é possível, mas porque não usar uma só storage e mudar o valor)quantidade) delas?   por exemplo:   storage 1001(+1) storage 1001(+2) storage 1001(+3)    

  • Seria interessante parar para pensar em fazer como o @Vodkart mencionou, mas, caso seja do interesse do 'player' o 'script' que utiliza mais 'storages' poderá indicar qual ainda não foi passado.

  • @Xagah Seus scripts me dão dor de cabeça.   local config = { [2001] = {pos={x=1000, y=1000, z=1}, storage=1001}, -- [actionid], pos= aonde que leva, storage [2002] = {pos={x=1000, y=10

Postado

eu acho que voces tao criando esses codigos para tfs 0.4 porque voce tira por essa tag ela é 0.4 <movevent type="StepIn" actionid="7943" event="script" value="portalInteligente.lua"/>

 

 

se foce um codigo 1.2 seria tag <movevent event="StepIn" actionid="24545" script="nomedoarquivo" />

Postado

Eu to criando com os métodos do TFS 1.1, só a tag que eu não sei se é porque eu dei ctrl c + ctrl v na tag do outro aehauehua.

Nem todo loop infinito é ruim ;P 

User *eu = new User("otteN");
RepSystem<User> *myRep = new RepSystem<User>("jóinha");
myRep->setAlvo(eu);

/* só por ser criado já sou o melhor membro */ 

while(eu->isMelhorMembro()){
myRep->reputar();
}

 

Postado

@Liane Maria

 

testa isso aqui..

 

local config = {
	[2001] = {pos = {x=1000, y=1000, z=1}, storage = 1001}, -- [actionid], pos= aonde que leva, storage
	[2002] = {pos = {x=1000, y=1000, z=2}, storage = 1002},
	[2003] = {pos = {x=1000, y=1000, z=3}, storage = 1003},
	[2004] = {pos = {x=1000, y=1000, z=4}, storage = 1004},
	[2005] = {pos = {x=1000, y=1000, z=5}, storage = 1005},
	[2006] = {pos = {x=1000, y=1000, z=6}, storage = 1006},
}

local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva

function onStepIn(player, item, position, fromPosition)

if item.actionid ~= 2007 then
	for _, p in pairs(config) do
		if player:getStorageValue(p.storage) < 1 then
			if _ == item.actionid then
				player:setStorageValue(p.storage, 1)
				player:teleportTo(p.pos)
				player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
			else
				player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa passar pelo teleport anterior.")
				player:teleportTo(fromPosition)
			end
		break
		end
	end
else
	player:teleportTo(ultimoTeleport)
	player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
end

return true
end

 

coloca todas as tags no movements.xml, e coloca a actionid de acada teleporte nos mesmos, igual vc colocou na tag.

download.jpg

Postado

Tenta assim: 

local actionid_tp = 5000
local quantidade_tps = 6

function onStepIn(creature, item, position, fromPosition)
	if item.actionid ~= actionid_tp then
		if player:getStorageValue(item.actionid) < 1 then
			player:setStorageValue(item.actionid, 1)
			player:setStorageValue(actionid_tp, player:getStorageValue(actionid_tp) + 1)
		end
	else
		if player:getStorageValue(item.actionid) < quantidade_tps then
			player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa passar por cima de todos os teleports.")
			return false
		end
	end

	return true
end

 

Essa variavel "actiondid_tp" é do teleport principal, no caso, as actions ids que vocÊ coloca no XML será usada como storage.

A variavel "quantidade_tps" é a quantidade de teleports que ele precisará para passar o teleport principal ...

-- <movevent event="StepIn" actionid="5000" script="teste.lua"/>
-- <movevent event="StepIn" actionid="XXXX" script="teste.lua"/>

Essa segunda tag que tem o actiondid="XXXX" você deve cria-lá a quantidade de teleports que você irá criar e no lugar do XXXX o numero da storage que voce quer usar, pode ser qualquer um.

Eu não testei, qualquer coisa posta ai.

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