Jump to content

Ayuda Resource


Flipi

Recommended Posts

hola, tengo un problema con el script, la cosa es que funciona todo bien, pero cuando dejo el comando activado y me desconecto del server, en el mtaserver me aparece un error:

Error: WARNING: Resource\server.lua:11: Bad 'vehicle' pointer @ 'setVehicleHeadLightColor'(1)

Server-side:

local discoTimer = {} 
local discoState = {} 
  
function Disco(player,command) 
    local vehicle = getPedOccupiedVehicle(player) 
  if (vehicle) then 
    if discoState[player] == false then 
      discoState[player] = true 
      discoTimer[player] = setTimer(  
              function ( playerVehicle ) 
                  setVehicleHeadLightColor( playerVehicle, math.random(0,255), math.random(0,255), math.random(0,255) ) 
              end 
          , 150, 0, vehicle ) 
          outputChatBox( "* #0080FFDisco light Activado!", player, 255, 255, 255, true ) 
    elseif   
          outputChatBox( "* #0080FFDisco light Desactivado!", player, 255, 255, 255, true ) then 
      if discoTimer[player] then 
        killTimer( discoTimer[player] ) 
          discoTimer[player] = nil 
        discoState[player] = false 
        setVehicleHeadLightColor( playerVehicle, 255, 255, 255 ) 
      end 
    end 
    else 
        outputChatBox( "* #0080FFNecesitas un vehiculo para usar el comando!", player, 255, 255, 255, true ) 
    end 
end 
addCommandHandler("disco",Disco) 
  
function setStateOnStart() 
  for _, players in ipairs( getElementsByType( "player" ) ) do 
    discoState[players] = false 
  end 
end 
addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), setStateOnStart ); 
  
function setStateOnJoin() 
  discoState[player] = false 
end 
addEventHandler( "onPlayerJoin", getRootElement(), setStateOnJoin ) 
  
function removeStateOnQuit() 
  discoState[player] = false 
end 
addEventHandler( "onPlayerQuit", getRootElement(), setStateOnJoin ) 

Link to comment

Hola!

El error esta en

  
local vehicle = getPedOccupiedVehicle(player)--Acá estas definiendo la varible con vehicle y  en setVehicle... poners playerVehicle 
function (playerVehicle) -- Acá no hace falta poner playerVehicle ya que no estas poniendo el argumento en ningun otro lado, esto te da errores 
    setVehicleHeadLightColor(vehicleSource --Acá poné vehicle, math.random(0,255), math.random(0,255), math.random(0,255) ) 
end 
  

También en esta líneas

 

  
function removeStateOnQuit() 
  discoState[player] = false 
  killTimer( discoTimer[player] ) --Acá puse que cuando salga destruya el timer así no se ejecuta mas 
end 
addEventHandler( "onPlayerQuit", getRootElement(), setStateOnJoin -- Acá debría ir removeStateOnQuit) 

y también tenés que agregar la función para que se prendan las luces, sino nunca se van a ver los colores xD

Acá te dejo el script arreglado(Agregá la función para que se prendan las luces que no las agregué )

local discoTimer = {} 
local discoState = {} 
  
function Disco(player,command) 
    local vehicle = getPedOccupiedVehicle(player) 
    if (vehicle) then 
        if discoState[player] == false then 
            discoState[player] = true 
            discoTimer[player] = setTimer( 
                function () 
                    setVehicleHeadLightColor(vehicle, math.random(0,255), math.random(0,255), math.random(0,255) ) 
                end, 
            150, 0, vehicle 
            ) 
            outputChatBox( "* #0080FFDisco light Activado!", player, 255, 255, 255, true ) 
        else 
            outputChatBox( "* #0080FFDisco light Desactivado!", player, 255, 255, 255, true ) 
            if discoTimer[player] then 
                killTimer( discoTimer[player] ) 
                discoState[player] = false 
                setVehicleHeadLightColor(vehicle, 255, 255, 255 ) 
            end 
        end 
    else 
        outputChatBox( "* #0080FFNecesitas un vehiculo para usar el comando!", player, 255, 255, 255, true ) 
    end 
end 
addCommandHandler("disco",Disco) 
  
function setStateOnStart() 
  for _, players in ipairs( getElementsByType( "player" ) ) do 
    discoState[players] = false 
  end 
end 
addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), setStateOnStart ); 
  
function setStateOnJoin() 
  discoState[player] = false 
end 
addEventHandler( "onPlayerJoin", getRootElement(), setStateOnJoin ) 
  
function removeStateOnQuit() 
  discoState[player] = false 
  killTimer( discoTimer[player] ) 
end 
addEventHandler( "onPlayerQuit", getRootElement(), removeStateOnQuit) 

Link to comment
Hola!

El error esta en

  
local vehicle = getPedOccupiedVehicle(player)--Acá estas definiendo la varible con vehicle y  en setVehicle... poners playerVehicle 
function (playerVehicle) -- Acá no hace falta poner playerVehicle ya que no estas poniendo el argumento en ningun otro lado, esto te da errores 
    setVehicleHeadLightColor(vehicleSource --Acá poné vehicle, math.random(0,255), math.random(0,255), math.random(0,255) ) 
end 
  

También en esta líneas

 

  
function removeStateOnQuit() 
  discoState[player] = false 
  killTimer( discoTimer[player] ) --Acá puse que cuando salga destruya el timer así no se ejecuta mas 
end 
addEventHandler( "onPlayerQuit", getRootElement(), setStateOnJoin -- Acá debría ir removeStateOnQuit) 

y también tenés que agregar la función para que se prendan las luces, sino nunca se van a ver los colores xD

Acá te dejo el script arreglado(Agregá la función para que se prendan las luces que no las agregué )

local discoTimer = {} 
local discoState = {} 
  
function Disco(player,command) 
    local vehicle = getPedOccupiedVehicle(player) 
    if (vehicle) then 
        if discoState[player] == false then 
            discoState[player] = true 
            discoTimer[player] = setTimer( 
                function () 
                    setVehicleHeadLightColor(vehicle, math.random(0,255), math.random(0,255), math.random(0,255) ) 
                end, 
            150, 0, vehicle 
            ) 
            outputChatBox( "* #0080FFDisco light Activado!", player, 255, 255, 255, true ) 
        else 
            outputChatBox( "* #0080FFDisco light Desactivado!", player, 255, 255, 255, true ) 
            if discoTimer[player] then 
                killTimer( discoTimer[player] ) 
                discoState[player] = false 
                setVehicleHeadLightColor(vehicle, 255, 255, 255 ) 
            end 
        end 
    else 
        outputChatBox( "* #0080FFNecesitas un vehiculo para usar el comando!", player, 255, 255, 255, true ) 
    end 
end 
addCommandHandler("disco",Disco) 
  
function setStateOnStart() 
  for _, players in ipairs( getElementsByType( "player" ) ) do 
    discoState[players] = false 
  end 
end 
addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), setStateOnStart ); 
  
function setStateOnJoin() 
  discoState[player] = false 
end 
addEventHandler( "onPlayerJoin", getRootElement(), setStateOnJoin ) 
  
function removeStateOnQuit() 
  discoState[player] = false 
  killTimer( discoTimer[player] ) 
end 
addEventHandler( "onPlayerQuit", getRootElement(), removeStateOnQuit) 

SAbes que no me funciona :/, pongo el comando y me dice solo cuando se desactiva, pero no realiza la funcion :/

cuando pongo esto en la linea 16 funciona, pero aparece el mismo error al desconectarme del servidor :|

elseif 
            outputChatBox( "* #0080FFDisco light Desactivado!", player, 255, 255, 255, true ) then 

Link to comment

El script lo hiciste vos? o no tenés ni idea de como scriptear?

Acá te dejo el script con lo de las luces, no lo puedo probar por que no estoy en mi pc. Probalo y decime que tal

local discoTimer = {} 
local discoState = {} 
  
function Disco(player,command) 
    local vehicle = getPedOccupiedVehicle(player) 
    if (vehicle) then 
        if discoState[player] == false then 
            discoState[player] = true 
            discoTimer[player] = setTimer( 
                function () 
                    setVehicleOverrideLights(vehicle, 2) 
                    setVehicleHeadLightColor(vehicle, math.random(0,255), math.random(0,255), math.random(0,255) ) 
                end, 
            150, 0, vehicle 
            ) 
            outputChatBox( "* #0080FFDisco light Activado!", player, 255, 255, 255, true ) 
        else 
            outputChatBox( "* #0080FFDisco light Desactivado!", player, 255, 255, 255, true ) 
            if discoTimer[player] then 
                killTimer( discoTimer[player] ) 
                discoState[player] = false 
                setVehicleOverrideLights(vehicle, 1) 
                setVehicleHeadLightColor(vehicle, 255, 255, 255 ) 
            end 
        end 
    else 
        outputChatBox( "* #0080FFNecesitas un vehiculo para usar el comando!", player, 255, 255, 255, true ) 
    end 
end 
addCommandHandler("disco",Disco) 
  
function setStateOnStart() 
  for _, players in ipairs( getElementsByType( "player" ) ) do 
    discoState[players] = false 
  end 
end 
addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), setStateOnStart ); 
  
function setStateOnJoin() 
  discoState[player] = false 
end 
addEventHandler( "onPlayerJoin", getRootElement(), setStateOnJoin ) 
  
function removeStateOnQuit() 
  discoState[player] = false 
  killTimer( discoTimer[player] ) 
end 
addEventHandler( "onPlayerQuit", getRootElement(), removeStateOnQuit) 

Link to comment
El script lo hiciste vos? o no tenés ni idea de como scriptear?

Acá te dejo el script con lo de las luces, no lo puedo probar por que no estoy en mi pc. Probalo y decime que tal

local discoTimer = {} 
local discoState = {} 
  
function Disco(player,command) 
    local vehicle = getPedOccupiedVehicle(player) 
    if (vehicle) then 
        if discoState[player] == false then 
            discoState[player] = true 
            discoTimer[player] = setTimer( 
                function () 
                    setVehicleOverrideLights(vehicle, 2) 
                    setVehicleHeadLightColor(vehicle, math.random(0,255), math.random(0,255), math.random(0,255) ) 
                end, 
            150, 0, vehicle 
            ) 
            outputChatBox( "* #0080FFDisco light Activado!", player, 255, 255, 255, true ) 
        else 
            outputChatBox( "* #0080FFDisco light Desactivado!", player, 255, 255, 255, true ) 
            if discoTimer[player] then 
                killTimer( discoTimer[player] ) 
                discoState[player] = false 
                setVehicleOverrideLights(vehicle, 1) 
                setVehicleHeadLightColor(vehicle, 255, 255, 255 ) 
            end 
        end 
    else 
        outputChatBox( "* #0080FFNecesitas un vehiculo para usar el comando!", player, 255, 255, 255, true ) 
    end 
end 
addCommandHandler("disco",Disco) 
  
function setStateOnStart() 
  for _, players in ipairs( getElementsByType( "player" ) ) do 
    discoState[players] = false 
  end 
end 
addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), setStateOnStart ); 
  
function setStateOnJoin() 
  discoState[player] = false 
end 
addEventHandler( "onPlayerJoin", getRootElement(), setStateOnJoin ) 
  
function removeStateOnQuit() 
  discoState[player] = false 
  killTimer( discoTimer[player] ) 
end 
addEventHandler( "onPlayerQuit", getRootElement(), removeStateOnQuit) 

El script lo hice yo, pero a lo que me refiero es que no tiene nada que ver lo de las luces, ya que el problema es que cuando dejo el comando activado y me desconecto del server aparece este error: Resource\server.lua:11: Bad 'vehicle' pointer @ 'setVehicleHeadLightColor'(1).

Entonce nose cual es el problema, ya que con el killtimer tampoco funciona :/...

Link to comment

El script lo hice yo, pero a lo que me refiero es que no tiene nada que ver lo de las luces, ya que el problema es que cuando dejo el comando activado y me desconecto del server aparece este error: Resource\server.lua:11: Bad 'vehicle' pointer @ 'setVehicleHeadLightColor'(1).

Entonce nose cual es el problema, ya que con el killtimer tampoco funciona :/...

está mal discoState[player] = false en onPlayerJoin y en onPlayerQuit, reemplaza player por source.

Link to comment

El script lo hice yo, pero a lo que me refiero es que no tiene nada que ver lo de las luces, ya que el problema es que cuando dejo el comando activado y me desconecto del server aparece este error: Resource\server.lua:11: Bad 'vehicle' pointer @ 'setVehicleHeadLightColor'(1).

Entonce nose cual es el problema, ya que con el killtimer tampoco funciona :/...

está mal discoState[player] = false en onPlayerJoin y en onPlayerQuit, reemplaza player por source.

Me sigue apareciendo el mismo error cuando dejo el comando activado y me desconecto del server:

Error: WARNING: script\server.lua:12: Bad 'vehicle' pointer @ 'setVehicleHeadLightColor'(1)

Link to comment
  • Recently Browsing   0 members

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