BI
dúvida

[Encerrado] Problema com alavancas!

Por binhuzinho, 19 de fev. de 2014 em Tópicos Sem Resposta

alavanca
resolvido
11
1.2k
binhuzinhoB
19 de fevereiro de 2014 às 01:05

Estou com dificuldade para criar um sistema de alavancas onde as duas precisam ser ativadas para que os players (4 players na frente de cada uma, estilo anihi) sejam teleportados. Abaixo ta a minha tentativa fracassada.

Me ajudem por favor!

function onUse(cid, item, fromPos, itemEx, toPos)
	local pos = {
	p1 = {x=1042, y=1341, z=10}, -- posições dos jogadores antes da anihi
	p2 = {x=1042, y=1342, z=10},
	p3 = {x=1042, y=1343, z=10},
	p4 = {x=1042, y=1344, z=10},
	p5 = {x=1048, y=1341, z=10}, -- posições dos jogadores antes da anihi
	p6 = {x=1048, y=1342, z=10},
	p7 = {x=1048, y=1343, z=10},
	p8 = {x=1048, y=1344, z=10},
	top1 = {x=1070, y=1217, z=7}, -- posições para onde cada player irá na anihi
	top2 = {x=1069, y=1217, z=7},
	top3 = {x=1068, y=1217, z=7},
	top4 = {x=1067, y=1217, z=7},
	top5 = {x=1149, y=1218, z=7}, -- posições para onde cada player irá na anihi
	top6 = {x=1150, y=1218, z=7},
	top7 = {x=1151, y=1218, z=7},
	top8 = {x=1152, y=1218, z=7},
	}
	
	
	
	local player1group1 = getTopCreature(pos.p1)
	local player2group1 = getTopCreature(pos.p2)
	local player3group1 = getTopCreature(pos.p3)
	local player4group1 = getTopCreature(pos.p4)
	local player1group2 = getTopCreature(pos.p5)
	local player2group2 = getTopCreature(pos.p6)
	local player3group2 = getTopCreature(pos.p7)
	local player4group2 = getTopCreature(pos.p8)
	
	if item.actionid == 8000 and item.itemid == 1945 then	
		if isPlayer(player1group1.uid) and isPlayer(player2group1.uid) and isPlayer(player3group1.uid) and isPlayer(player4group1.uid) then
			local players = {[1] = player1group1.uid, [2] = player2group1.uid, [3] = player3group1.uid, [4] = player4group1.uid}			
				doTransformItem(item.uid, item.itemid+1)
				return true			
		else
			doPlayerSendCancel(cid, 'Você precisa de 4 players.')			
		end	
	elseif item.itemid == 1946 then
		doTransformItem(item.uid, item.itemid-1)
	return true
		if item.actionid == 8001 and item.itemid == 1945 then	
			if isPlayer(player1group2.uid) and isPlayer(player2group2.uid) and isPlayer(player3group2.uid) and isPlayer(player4group2.uid) then
				local players = {[1] = player1group2.uid, [2] = player2group2.uid, [3] = player3group2.uid, [4] = player4group2.uid}		
					doTeleportThing(player1.uid, pos.top1)
					doSendMagicEffect(pos.top1,10)
					doTeleportThing(player2.uid, pos.top2)
					doSendMagicEffect(pos.top2,10)
					doTeleportThing(player3.uid, pos.top3)
					doSendMagicEffect(pos.top3,10)
					doTeleportThing(player4.uid, pos.top4)
					doSendMagicEffect(pos.top4,10)
					doTeleportThing(player5.uid, pos.top5)
					doSendMagicEffect(pos.top5,10)
					doTeleportThing(player6.uid, pos.top6)
					doSendMagicEffect(pos.top6,10)
					doTeleportThing(player7.uid, pos.top7)
					doSendMagicEffect(pos.top7,10)
					doTeleportThing(player8.uid, pos.top8)
					doSendMagicEffect(pos.top8,10)
					doTransformItem(item.uid, item.itemid+1)
					return true	
			else
				doPlayerSendCancel(cid, 'Você precisa de 4 players.')	
			end			
		elseif item.itemid == 1946 then
			doTransformItem(item.uid, item.itemid-1)
		return true
		
	end
	return true
	
	end
end
19 de fevereiro de 2014 às 01:39

coloca pra ganhar storage ao usar a primeira lavanca , dai quando ele usar a segunda verifica se ele tem storage que ganhou na primeira.

binhuzinhoB
19 de fevereiro de 2014 às 01:41

Eu pensei nisso na primeira vez, mas são players diferentes. São dois grupos diferentes, ai fica complicado... :(

Editado Fevereiro 19 por binhuzinho

19 de fevereiro de 2014 às 01:42

usa global storage na primeira, e ao usar na segunda , teleporta os players e depois remove a global storage .

binhuzinhoB
19 de fevereiro de 2014 às 01:44

Não sei como usar, pode me ajudar?

19 de fevereiro de 2014 às 01:49

na primeira:

setGlobalStorageValue(12345, 1)

na segunda :

if getGlobalStorageValue(12345) >= 1 then 

onde ta 12345 coloca a storage que vc quiser .

 

não esquece tb te colcoar pra remover a storage na segunda:

setGlobalStorageValue(12345, 0)

.

Editado Fevereiro 19 por DuuhCarvalho

binhuzinhoB
19 de fevereiro de 2014 às 01:50

Vlw, vo organizar aqui ^^

19 de fevereiro de 2014 às 01:56

Vlw, vo organizar aqui ^^

 

É só fazer tudo certinho que vai funcionar .

binhuzinhoB
19 de fevereiro de 2014 às 02:43

Funcionou ;) vlw, pra quem quiser ver caso precisar:

function onUse(cid, item, fromPos, itemEx, toPos)
	local pos = {
	p1 = {x=1042, y=1341, z=10},
	p2 = {x=1042, y=1342, z=10},
	p3 = {x=1042, y=1343, z=10},
	p4 = {x=1042, y=1344, z=10},
	p5 = {x=1048, y=1341, z=10},
	p6 = {x=1048, y=1342, z=10},
	p7 = {x=1048, y=1343, z=10},
	p8 = {x=1048, y=1344, z=10},
	top1 = {x=1070, y=1217, z=7},
	top2 = {x=1069, y=1217, z=7},
	top3 = {x=1068, y=1217, z=7},
	top4 = {x=1067, y=1217, z=7},
	top5 = {x=1149, y=1218, z=7}, 
	top6 = {x=1150, y=1218, z=7},
	top7 = {x=1151, y=1218, z=7},
	top8 = {x=1152, y=1218, z=7},
	}
	
	
	
	local player1group1 = getTopCreature(pos.p1)
	local player2group1 = getTopCreature(pos.p2)
	local player3group1 = getTopCreature(pos.p3)
	local player4group1 = getTopCreature(pos.p4)
	local player1group2 = getTopCreature(pos.p5)
	local player2group2 = getTopCreature(pos.p6)
	local player3group2 = getTopCreature(pos.p7)
	local player4group2 = getTopCreature(pos.p8)
	
	if item.actionid == 8000 and item.itemid == 1945 then	
		if isPlayer(player1group1.uid) and isPlayer(player2group1.uid) and isPlayer(player3group1.uid) and isPlayer(player4group1.uid) then			
				doTransformItem(item.uid, item.itemid+1)
				setGlobalStorageValue(12345, 1)				
		else
			doPlayerSendCancel(cid, 'Você precisa de 4 players.')			
		end	
	elseif item.itemid == 1946 then
		doTransformItem(item.uid, item.itemid-1)
		setGlobalStorageValue(12345, 0)	
	end	
	
	if item.actionid == 8001 and item.itemid == 1945 and getGlobalStorageValue(12345) >= 1 then 				 
			if isPlayer(player1group2.uid) and isPlayer(player2group2.uid) and isPlayer(player3group2.uid) and isPlayer(player4group2.uid) then				
					doTeleportThing(player1group1.uid, pos.top1)
					doSendMagicEffect(pos.top1,10)
					doTeleportThing(player2group1.uid, pos.top2)
					doSendMagicEffect(pos.top2,10)
					doTeleportThing(player3group1.uid, pos.top3)
					doSendMagicEffect(pos.top3,10)
					doTeleportThing(player4group1.uid, pos.top4)
					doSendMagicEffect(pos.top4,10)
					doTeleportThing(player1group2.uid, pos.top5)
					doSendMagicEffect(pos.top5,10)
					doTeleportThing(player2group2.uid, pos.top6)
					doSendMagicEffect(pos.top6,10)
					doTeleportThing(player3group2.uid, pos.top7)
					doSendMagicEffect(pos.top7,10)
					doTeleportThing(player4group2.uid, pos.top8)
					doSendMagicEffect(pos.top8,10)
					doTransformItem(item.uid, item.itemid+1)
					return true		
			else
				doPlayerSendCancel(cid, 'Você precisa de 4 players.')	
			end		
		elseif item.itemid == 1946 then
			doTransformItem(item.uid, item.itemid-1)
			setGlobalStorageValue(12345, 0)	
		
	end
	return true	
end
zipter98Z
19 de fevereiro de 2014 às 15:11

Tópico movido para a seção de dúvidas e pedidos resolvidos.

4 anos depois...
StigalS
21 de abril de 2018 às 03:24
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.