Jump to content

Ayuda Resource


Flipi

Recommended Posts

Posted

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 ) 

Posted

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) 

Posted
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 

Posted

Poné el tiempo en el server de noche masomenos las 00:00 hs

Como te dije antes, tenes que agregar la funcion para que se prendan las luces!

Usá setVehicleOverrideLights(vehicle theVehicle, int value)

Posted
Poné el tiempo en el server de noche masomenos las 00:00 hs

Como te dije antes, tenes que agregar la funcion para que se prendan las luces!

Usá setVehicleOverrideLights(vehicle theVehicle, int value)

no entiendo :/

Posted

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) 

Posted
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 :/...

Posted

Copiá el código que te di yo y usalo en tu script, el problema del setVehicleHeadLightColor() ya te lo solucioné.

Y te solucioné un par de errores mas que tenía el script.

Posted
Copiá el código que te di yo y usalo en tu script, el problema del setVehicleHeadLightColor() ya te lo solucioné.

Y te solucioné un par de errores mas que tenía el script.

probé el que me diste y tampoco me funciona :|

Posted
:shock: que raro, yo lo probé y me andubo.

Mañana lo reviso bien, es que estoy en una netbook y se traba mucho xD

ah dle, jeje no te preocupes, igual gracias :)

Posted

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.

Posted

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)

  • Recently Browsing   0 members

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