Narutimmy Posted March 14, 2016 Share Posted March 14, 2016 Buenas estoy haciendo un resource sencillo minigun pegada a un auto funciona bien y todo el problema es que ... bueno primero lo tenia todo cliente entonces solo lo veia 1 osea yo pero los demas no lo escuchaban disparar ni ni veia ni nada, ademas si estoy solo y disparo a un auto u objeto explota todo bien, pero si ahi otro usuario cercas no los explota ni nada. Creo yo es un error por estar todo cliente. Despues cambie el evento que hace que dispare a server ahora ya los demas lo escuchan incluso el pasajero del auto, pero aun asi no causa daño ni a autos ni nada amenos que este solo o la otra persona este en el mismo auto. CL: addEvent ( "Crear", true ) addEventHandler ( "Crear", root, function (veh) w5 = createWeapon ( "minigun", 0, 0, 0 ) w6 = createWeapon ( "minigun", 0, 0, 0 ) setElementAlpha(w5,0) setElementAlpha(w6,0) --- setWeaponAmmo( w, 999999999999999 ) attachElements ( w5, veh, .4, 0.7, 0, 0, 0, 90) attachElements ( w6, veh, .2, 0.9, 0, 0, 0, 90) end) local Firing2 = false addEvent ( "Disparos", true ) addEventHandler ( "Disparos", root, function (veh) if Firing2 == false then local v = getPedOccupiedVehicle(getLocalPlayer()) if v and getElementModel( v ) == 424 then setWeaponState ( w5, "firing") setWeaponState ( w6, "firing") muzzleX, muzzleY, muzzleZ = getPedWeaponMuzzlePosition(localPlayer) sound = playSound3D("M60.wav", muzzleX, muzzleY, muzzleZ, true) setSoundMaxDistance(sound, 500) attachElements (sound,v,0,0,0) Firing2 = true ---outputChatBox("Miniguns Actived!", getLocalPlayer(), 171, 205, 239, true) end elseif Firing2 == true then local v = getPedOccupiedVehicle(getLocalPlayer()) if v and getElementModel( v ) == 424 then setWeaponState ( w5, "ready") setWeaponState ( w6, "ready") stopSound( sound ) Firing2 = false ---outputChatBox("Miniguns Desactived!", getLocalPlayer(), 171, 205, 239, true) end end end) SV: local deathnaru = {} ---CREAR AUTO--- function crearautoss (thePlayer) if deathnaru[thePlayer] then destroyElement(deathnaru[thePlayer]) outputChatBox("#6002B1[VSC]#FF0000-Tu anterior Auto a sido Destruido!", thePlayer, 171, 205, 239, true) end local x, y, z = getElementPosition ( thePlayer ) -- retrive the player's position deathnaru[thePlayer] = createVehicle ( 424, x + 5, y , z + 3 ) -- create the tank 10 units above them setVehicleDamageProof(deathnaru[thePlayer], true) addVehicleUpgrade ( deathnaru[thePlayer], 1010 ) outputChatBox("#6002B1[VSC]#FF0000- DeahtCar Spawn!", thePlayer, 171, 205, 239, true) setVehicleHandling(deathnaru[thePlayer], "driveType", "awd") setVehicleHandling(deathnaru[thePlayer], "engineAcceleration", 15) ---setVehicleHandling (deathnaru[thePlayer], "tractionLoss", 5) setVehicleHandling(deathnaru[thePlayer], "maxVelocity", 400) Spawneed5 = true triggerClientEvent ( "Crear", thePlayer , deathnaru[thePlayer] ) bindKey(thePlayer,"lshift","down",checkVehicles2) end addCommandHandler( "deathcar", crearautoss) addEventHandler( 'onPlayerQuit', root, function() if (Spawneed5 == true) then if deathnaru[source] then destroyElement(deathnaru[source]) deathnaru[source] = nil end end end ) function checkVehicles2(thePlayer) triggerClientEvent ( "Disparos", getRootElement() , deathnaru[thePlayer] ) end Link to comment
Sasu Posted March 14, 2016 Share Posted March 14, 2016 A lo mejor sea porque las variables w5 y w6 cambian al utilizar el comando /deathcar, y por lo tanto el setWeaponState se ejecutan en las ultimas armas que han sido creadas. Lo que puedes hacer es utilizar una tabla y emplear el jugador o el vehiculo como indice, algo asi como weapon[element][1] = createWeapon(...) Link to comment
Narutimmy Posted March 15, 2016 Author Share Posted March 15, 2016 A lo mejor sea porque las variables w5 y w6 cambian al utilizar el comando /deathcar, y por lo tanto el setWeaponState se ejecutan en las ultimas armas que han sido creadas. Lo que puedes hacer es utilizar una tabla y emplear el jugador o el vehiculo como indice, algo asi como weapon[element][1] = createWeapon(...) Pruebs ya probe y nada solo lo escucho yo y solo lo veo disparar yo local w5 = {} local w6 = {} ------- NARU addEvent ( "Crear", true ) addEventHandler ( "Crear", root, function (veh) w5[veh] = createWeapon ( "minigun", 0, 0, 0 ) w6[veh] = createWeapon ( "minigun", 0, 0, 0 ) setElementAlpha(w5[veh],0) setElementAlpha(w6[veh],0) --- setWeaponAmmo( w, 999999999999999 ) attachElements ( w5[veh], veh, .4, 0.7, 0, 0, 0, 90) attachElements ( w6[veh], veh, .2, 0.9, 0, 0, 0, 90) end) local Firing2 = false addEvent ( "Disparos", true ) addEventHandler ( "Disparos", root, function (veh) if Firing2 == false then local v = getPedOccupiedVehicle(getLocalPlayer()) if v and getElementModel( v ) == 424 then setWeaponState ( w5[veh], "firing") setWeaponState ( w6[veh], "firing") muzzleX, muzzleY, muzzleZ = getPedWeaponMuzzlePosition(localPlayer) sound = playSound3D("M60.wav", muzzleX, muzzleY, muzzleZ, true) setSoundMaxDistance(sound, 500) attachElements (sound,v,0,0,0) Firing2 = true ---outputChatBox("Miniguns Actived!", getLocalPlayer(), 171, 205, 239, true) end elseif Firing2 == true then local v = getPedOccupiedVehicle(getLocalPlayer()) if v and getElementModel( v ) == 424 then setWeaponState ( w5[veh], "ready") setWeaponState ( w6[veh], "ready") stopSound( sound ) Firing2 = false ---outputChatBox("Miniguns Desactived!", getLocalPlayer(), 171, 205, 239, true) end end end) Link to comment
Sasu Posted March 15, 2016 Share Posted March 15, 2016 Linea 30: prueba con if w5[veh] and getElementModel(veh) == 424 then Link to comment
Narutimmy Posted March 17, 2016 Author Share Posted March 17, 2016 Linea 30: prueba con if w5[veh] and getElementModel(veh) == 424 then Nada solo funciona cliente, solo se oye y dispara para el que esta menejando y el copiloto Link to comment
Recommended Posts