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) 

~ProtoN!

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)

~ProtoN!

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) 

~ProtoN!

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.

~ProtoN!

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...