Jump to content

Problema con CreateProjectile


Alexs

Recommended Posts

Veran, estoy intentando crear un vehiculo que sirva de lanzemisiles, pero hay un problema, el vehiculo no me deja entrar, el debugscript no me dice nada, este es el script:

local misilero = createVehicle ( 411, 2224.51, 2459.16, 10.168 ) 
  
function lanzamisiles (source) 
        if ( source == misilero ) then 
         
if not createProjectile(getLocalPlayer(),19,getElementPosition(getLocalPlayer()),70) then  
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles", source )  
        end 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 

y este el meta.xml

    "Alexs_Steel" version="1.0" type="script" /> 
    

Por que no me deja entrar al Infernus?? Nota: Si lo crea, pero no me deja entrar, y el problema no es el PC ni el juego, por que a otros autos si puedo... :S

Link to comment
tienes que hacer el vehiculo en server-side, creo osino lo ases en un archivo .map , a mi me pasaba el mismo problema porq avia echo el vehiculo en client-side

ya pude entrar, pero no lanza el misil, q podra ser? intente cambiar el bindkey por un addcommand pero nada :S

Link to comment

"source" no esta definido, tenes que obtener el vehiculo del jugador y luego compararlo.

local misilero = createVehicle ( 411, 2224.51, 2459.16, 10.168 ) 
  
function lanzamisiles ( ) 
    local vehicle = getPedOccupiedVehicle ( localPlayer ) 
    if ( vehicle and vehicle == misilero ) then 
        if ( not createProjectile ( localPlayer, 19, getElementPosition ( localPlayer ), 70) ) then 
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles" ) 
        end 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 

Link to comment

Aca hay errores de fundamentos :

https://wiki.multitheftauto.com/wiki/BindKey

Donde pusiste source, en realidad seria "key"...Osea esta mal el parametro usado

  
  
local misilero = createVehicle ( 411, 2224.51, 2459.16, 10.168 ) 
  
function lanzamisiles () 
        local auto = getPedOccupiedVehicle(localPlayer) -- Con esto detectamos el auto que esta adentro el localPlayer. Si no esta devuelve false 
    if auto == misilero then 
      proyectil = createProjectile(localPlayer,19,getElementPosition(localPlayer),70) 
         if not proyectil then 
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles") -- Outputchat box va sin el destinatario, si se sabe que es el localPlayer 
        end 
else 
outputChatBox("No estas dentro del misilero") 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 
  
  

JAJAJAJAJ ME GANASTEEEEEEE CASTILLOO

Link to comment

-- client side:

function lanzamisiles ( ) 
    local vehicle = getPedOccupiedVehicle ( localPlayer ) 
    if ( vehicle and vehicle == getElementByID ( "misilero" ) ) then 
        if ( not createProjectile ( localPlayer, 19, getElementPosition ( localPlayer ), 70) ) then 
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles" ) 
        end 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 

-- server side:

local misilero = createVehicle ( 411, 2224.51, 2459.16, 10.168 ) 
setElementID ( misilero, "misilero" ) 

Link to comment
-- client side:
function lanzamisiles ( ) 
    local vehicle = getPedOccupiedVehicle ( localPlayer ) 
    if ( vehicle and vehicle == getElementByID ( "misilero" ) ) then 
        if ( not createProjectile ( localPlayer, 19, getElementPosition ( localPlayer ), 70) ) then 
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles" ) 
        end 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 

-- server side:

local misilero = createVehicle ( 411, 2224.51, 2459.16, 10.168 ) 
setElementID ( misilero, "misilero" ) 

Gracias, eso sirve, una ultima cosa, algun consejo para no explotar al pulsar la B?

Link to comment
function lanzamisiles ( ) 
    local vehicle = getPedOccupiedVehicle ( localPlayer ) 
    local x, y, z = getElementPosition (localPlayer) 
    if ( vehicle and vehicle == getElementByID ( "misilero" ) ) then 
        if ( not createProjectile ( localPlayer, 19, x, y, z + 15 ( localPlayer ), 70) ) then 
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles" ) 
        end 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 

Asi sirve?

Link to comment

Me explicas para que dejaste esto?

( localPlayer ) 

function lanzamisiles ( ) 
    local vehicle = getPedOccupiedVehicle ( localPlayer ) 
    local x, y, z = getElementPosition (localPlayer) 
    if ( vehicle and vehicle == getElementByID ( "misilero" ) ) then 
        if ( not createProjectile ( localPlayer, 19, x, y, z + 15, 70) ) then 
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles" ) 
        end 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 

Link to comment
Me explicas para que dejaste esto?
( localPlayer ) 

function lanzamisiles ( ) 
    local vehicle = getPedOccupiedVehicle ( localPlayer ) 
    local x, y, z = getElementPosition (localPlayer) 
    if ( vehicle and vehicle == getElementByID ( "misilero" ) ) then 
        if ( not createProjectile ( localPlayer, 19, x, y, z + 15, 70) ) then 
            outputChatBox ( "Ha ocurrido un problema, deja descansar el lanzamisiles" ) 
        end 
    end 
end 
bindKey ( "B", "down", lanzamisiles ) 

crei que serviria, entonces como le hago para q dispare hacia el frente y no a mi?

Link to comment
Exacto.

Queria sacarme la duda porque yo le dije "y + 5" pensando como algo 2D....y en realidad lo que queria decir era Z :D:D

Jajaj lo note, pero me se lo de X Y Z, pueden cerrar el tema, todo resuelto, me falta agregar el modelo del cañon, pero eso es mas simple, gracias a todos ;)

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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