Tonyx97 Posted August 29, 2012 Share Posted August 29, 2012 Hola tengo una duda, quiero hacer aparecer un pickup cualiquiera en distintas zonas por ejemplo, SERVER: function TimerOfSpawn () setTimer ( spawnBag, 10000, 1 ) end addEventHandler ("onResourceStart", getRootElement(), TimerOfSpawn) function spawnBag () bag = createPickup (x, y, z, 3, 1550) end function enterBag () if (source == bag) then destroyElement ( bag ) setTimer ( TimerOfSpawn, 5000, 1 ) end end addEventHandler ("onPickupUse", getRootElement(), enterBag) en las coordenadas quiero x, y, z quiero que cada vez que se repita la funcion sea una coordenada distinta de las que yo ponga pero no se como hacerlo, ayudenme plz Link to comment
NodZen Posted August 29, 2012 Share Posted August 29, 2012 Tienes que usar: 'math.random' o tambien 'else' Link to comment
Tonyx97 Posted August 29, 2012 Author Share Posted August 29, 2012 un math.random no es lo que me refiero, es como esto: dropPosicion = { {-688.069,938.0789,13.6328}, {-2350.32,-1646.42,483.703}, {2536.47,-1669.60,15.1673}, } pero quiero mas, osea ponerle mas posiciones y en vez de aparecer asi: function soltar () randomDrop = math.random(#dropPosicion) dropX,dropY,dropZ = dropPosicion[randomDrop][1],dropPosicion[randomDrop][2],dropPosicion[randomDrop][3] tarjeta = createPickup (dropX, dropY, dropZ, 3, 1581) end addCommandHandler ("dropear", soltar) quiero ponerle mas posiciones a esta funcion Link to comment
Mimimiguel Posted August 29, 2012 Share Posted August 29, 2012 Es decir, ¿quieres hacer posiciones aleatorias? Link to comment
Tonyx97 Posted August 29, 2012 Author Share Posted August 29, 2012 Es decir, ¿quieres hacer posiciones aleatorias? Has dado en el clavo tio, eso mismo quiero hacer, ayudame porfa Link to comment
Mimimiguel Posted August 29, 2012 Share Posted August 29, 2012 Es decir, ¿quieres hacer posiciones aleatorias? Has dado en el clavo tio, eso mismo quiero hacer, ayudame porfa Justamente me has pillado mientras hacía algo así, échale un vistazo a esto que te paso: spawn = {} spawn[1] = {-394.46, 2214.62, 42.42} spawn[2] = {-389.33, 2231.05, 42.42} spawn[3] = {-386.41, 2217.57, 42.42} spawn[4] = {-348.27, 2221.9, 42.49} spawn[5] = {-374.64, 2250.79, 42.48} spawn[6] = {-376.41, 2265.95, 42.48} spawn[7] = {-437.09, 2244.11, 42.42} function randomSpawn( element ) number = math.random( 1, #spawn ) -- #spawn es el total de columnas de la tabla, en este caso 7, así, si agregas, no tienes que cambiar nada setElementPosition( element, unpack( spawn[number] ) ) -- unpack lo que hace es "desempaquetar" las cosas de la tabla, como si pusiesemos setElementPosition( element, x, y, z ), pues lo mismo. end Esto cada vez que llamas a la función randomSpawn(), te pone la posición del element en uno de esos spawns al azar. Saludos. Link to comment
Tonyx97 Posted August 29, 2012 Author Share Posted August 29, 2012 entonces esto estaria bien: SERVER: function TimerOfSpawn () setTimer ( spawnBag, 10000, 1 ) end addEventHandler ("onResourceStart", getRootElement(), TimerOfSpawn) function spawnBag () number = math.random( 1, #spawn ) --createBlipAttachedTo ( bag, 37 ) bag = createPickup ( unpack( spawn[number] ), 3, 1550 ) end Link to comment
Mimimiguel Posted August 29, 2012 Share Posted August 29, 2012 SERVER: spawn = {} spawn[1] = {-394.46, 2214.62, 42.42} spawn[2] = {-389.33, 2231.05, 42.42} spawn[3] = {-386.41, 2217.57, 42.42} spawn[4] = {-348.27, 2221.9, 42.49} spawn[5] = {-374.64, 2250.79, 42.48} spawn[6] = {-376.41, 2265.95, 42.48} spawn[7] = {-437.09, 2244.11, 42.42} function TimerOfSpawn () setTimer ( spawnBag, 10000, 1 ) end addEventHandler ("onResourceStart", getRootElement(), TimerOfSpawn) function spawnBag () number = math.random( 1, #spawn ) --createBlipAttachedTo ( bag, 37 ) bag = createPickup ( unpack( spawn[number] ), 3, 1550 ) end Te faltaba la tabla con las posiciones, editala a tu gusto y ya, pero el createPickup me parece que está mal porque no hay un custom pickup con la id 1550. Link to comment
Tonyx97 Posted August 29, 2012 Author Share Posted August 29, 2012 entonces que tengo que hacer para que funcione pork no me funciona, una cosa he creado muchos pickup custom con la ID 150 y funcionaban de puta madre y asi lo hice: spawnBagC = {} spawnBagC[1] = {1, 2, 4} spawnBagC[2] = {1, 1, 4} spawnBagC[3] = {1, 2, 4} spawnBagC[4] = {1, 1, 4} spawnBagC[5] = {1, 2, 4} spawnBagC[6] = {1, 1, 4} spawnBagC[7] = {1, 2, 4} function TimerOfSpawn () setTimer ( spawnBag, 10000, 1 ) end addEventHandler ("onResourceStart", getRootElement(), TimerOfSpawn) function spawnBag () numero = math.random ( 1, #spawnBagC ) x,y,z = unpack ( spawnBagC[numero] ) bag = createPickup ( x, y, z, 3, 1550 ) end function enterBag (player) if (source == bag) then money = math.random (2000,4000) givePlayerMoney ( player, money ) outputChatBox ("*Has encontrado $"..(money).."", player, 0, 200, 0) destroyElement ( bag ) setTimer ( TimerOfSpawn, 5000, 1 ) end end addEventHandler ("onPickupUse", getRootElement(), enterBag) Link to comment
Recommended Posts