Jump to content

[Duda] createWeapon solo funciona en cliente


Narutimmy

Recommended Posts

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

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
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...