Platin Posted May 21, 2015 Share Posted May 21, 2015 Hice un conteo y para que no se spammeará tuve la genial idea de crear un Cuboid en el centro del jugador que ejecuto el conteo, entonces todos los que esten en el mismo lo tendrían en su chat. El problema se produjo en que no funciona el segundo Cuboid, tengo uno de prueba, pero el segundo no lo detecta. Otra cosa, el script no esta terminado, por lo cual el Cuboid una vez creado al segundo no se elimina como anti-bug. server-side: colConteo = createColCuboid(0, 0, 0, 30, 30, 30) function conteo(thePlayer) if not isTimer(antiSpamConteo) then local x, y, z = getElementPosition(thePlayer) local dim = getElementDimension(thePlayer) local int = getElementInterior(thePlayer) local nombre = getPlayerName(thePlayer) outputDebugString("Conteo iniciado por: "..nombre) destroyElement(colConteo) colConteo = createColCuboid(x-15, y-15, z-15, 30, 30, 30) elContador = getPlayerName(thePlayer) antiSpamConteo = setTimer(function() outputDebugString("Anti-Spam finalizado. Creador: "..nombre) end, 15000, 1) else outputChatBox("Ya hay un conteo en marcha.", thePlayer, 255,0,0,true) end end addCommandHandler("conteo", conteo) function contar(thePlayer) outputChatBox("#FFFFFF== #00FF00CONTEO #FFFFFF==",thePlayer,0,0,0,true) --outputChatBox("#FFFFFF== #00FF00Iniciado por "..elContador.." #FFFFFF==",thePlayer,0,0,0,true) setTimer(function() outputChatBox("#FFFFFF== #FFFF005 #FFFFFF==",thePlayer,0,0,0,true) end, 1000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF004 #FFFFFF==",thePlayer,0,0,0,true) end, 2000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF003 #FFFFFF==",thePlayer,0,0,0,true) end, 3000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF002 #FFFFFF==",thePlayer,0,0,0,true) end, 4000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF001 #FFFFFF==",thePlayer,0,0,0,true) end, 5000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF00¡YA! #FFFFFF==",thePlayer,0,0,0,true) outputDebugString("Conteo finalizado. Creador: "..nombre) end, 6000, 1) end addEventHandler("onColShapeHit", colConteo, contar) Link to comment
Enargy, Posted May 22, 2015 Share Posted May 22, 2015 Cuando dos personas ejecutan el conteo pues como estan definidas con el mismo nombre se interconectan y uno hace todo el funcionamiento y el otro regresara false a todo. prueba mark = {} count = {} function conteo(thePlayer) if (not isTimer(count[thePlayer])) then local x, y, z = getElementPosition(thePlayer) local dim = getElementDimension(thePlayer) local int = getElementInterior(thePlayer) mark[thePlayer] = createColCuboid(x-15, y-15, z-15, 30, 30, 30) count[thePlayer] = setTimer(function() outputDebugString("Anti-Spam finalizado. Creador: "..getPlayerName(thePlayer)) killTimer(count[thePlayer]) end, 15000, 1) else outputChatBox("Ya hay un conteo en marcha.", thePlayer, 255,0,0,true) return end outputDebugString("Conteo iniciado por: "..getPlayerName(thePlayer)) end addCommandHandler("conteo", conteo) Link to comment
Platin Posted May 22, 2015 Author Share Posted May 22, 2015 Cuando dos personas ejecutan el conteo pues como estan definidas con el mismo nombre se interconectan y uno hace todo el funcionamiento y el otro regresara false a todo.prueba mark = {} count = {} function conteo(thePlayer) if (not isTimer(count[thePlayer])) then local x, y, z = getElementPosition(thePlayer) local dim = getElementDimension(thePlayer) local int = getElementInterior(thePlayer) mark[thePlayer] = createColCuboid(x-15, y-15, z-15, 30, 30, 30) count[thePlayer] = setTimer(function() outputDebugString("Anti-Spam finalizado. Creador: "..getPlayerName(thePlayer)) killTimer(count[thePlayer]) end, 15000, 1) else outputChatBox("Ya hay un conteo en marcha.", thePlayer, 255,0,0,true) return end outputDebugString("Conteo iniciado por: "..getPlayerName(thePlayer)) end addCommandHandler("conteo", conteo) No lo probe (lo voy a hacer), pero creo que no me entendiste en algo. No es que se intercorten, es que simplemente no funciona, no me detecta cuando toco el Cuboid. Quizá te expresaste mal, en un rato te digo si me funco. EDIT: No me funciono. Link to comment
Enargy, Posted May 23, 2015 Share Posted May 23, 2015 Puedes comprobar de que haya algún jugador dentro del cuboid usando getElementsWithinColShape y luego hacer un loop como te lo indica la wiki. Link to comment
Platin Posted May 23, 2015 Author Share Posted May 23, 2015 Puedes comprobar de que haya algún jugador dentro del cuboid usando getElementsWithinColShape y luego hacer un loop como te lo indica la wiki. Luego me fijo, gracias. EDIT: ¡Funciona! Link to comment
Recommended Posts