Jump to content

Tengo un problema. Por favor ayuda


depato123

Recommended Posts

Hola tengo un problema con esto

  
modShops[ 1 ] = { } 
--modShops[ 1 ].colShape = createColTube( -2723.7060, 217.2689, 4.0, 200, 1000 ) 
modShops[ 1 ].veh = false 
modShops[ 1 ].marker = createMarker( -2275.7241210938, 2413.0808105469, 4.4324097633362, "cylinder", 4.5, 255, 0, 0, 100 ) 
modShops[ 1 ].name = "Wheel Arch Angles" 
--createBlipAttachedTo( modShops[ 1 ].colShape, 27 ) 
createBlipAttachedTo( modShops[ 1 ].marker, 27, 2, 0,0,0,255, 0, 180 ); 
  
  
function markerHit (hitPlayer, matchingDimension) 
  if dimension and getElementType( player ) == "player" then 
    outputChatBox ("Para mejorar el auto decir /mejorarcoche", hitPlayer, 255, 0, 0, false) 
    addCommandHandler( "an", HitMarker ) 
  end 
end 
addEventHandler ("onMarkerHit", getRootElement(), markerHit) 
  
function markerHit (leavePlayer, matchingDimension) 
  if dimension and getElementType( player ) == "player" then 
    removeCommandHandler ( "an", HitMarker ) 
  end 
end 
addEventHandler ("onMarkerLeave", getRootElement(), markerHit) 
  
  
function HitMarker(thePlayer, commandName, ...) 
    if dimension and getElementType( player ) == "player" then 
        local vehicle = getPedOccupiedVehicle( player ) 
        if vehicle then 
            local driver = getVehicleController( vehicle ) 
            if driver == player and not getVehicleInModShop( source ) then 
                for k,v in ipairs( modShops ) do 
                    if modShops[ k ].marker == source and getElementType( vehicle ) == "vehicle" then 
                        timers[ vehicle ] = setTimer( unfreezeVehicleInModShop, 60000 * TIME_IN_MODSHOP, 1, vehicle ) 
                        timersClient[ vehicle ] = setTimer( triggerClientEvent, 60000 * TIME_IN_MODSHOP - 200, 1, driver, "modShop_clientResetVehicleUpgrades", driver ) 
                        setModShopBusy( source, vehicle ) 
                        freezVehicleInModShop( vehicle, modShops[ k ].marker ) 
                        triggerClientEvent( driver, "onClientPlayerEnterModShop", player, vehicle, getPlayerMoney( player ), modShops[ k ].name ) 
                    end 
                end 
            end 
        end 
    end 
end 
addEventHandler( "onMarkerHit", getResourceRootElement( getThisResource( ) ),) 

Lo que tendria que pasar en el script es que al pasar con un auto por arriba del marker apareciera un mensaje diciendo

"Para mejorar el auto decir /mejorarcoche" y apareciera un comando /mejorarcoche. y al salir del marker el comando desapareciera. El problema es que cuando quise probar el resource no se crea el marker y aparece esto en el debug script

[2013-11-12 18:02:24] SCRIPT ERROR: modshop\server.lua:103: unexpected symbol near ')'

[2013-11-12 18:02:24] ERROR: Loading script failed: modshop\server.lua:103: unexpected symbol near ')'

ayudaaa por favor

Link to comment

Ya lo cambie por

if (source == modShops[ 1 ].marker) then 

¿Para que sirve esto?

if dimension and getElementType( player ) == "player" then 

Pero no ocurre la funcion esta al usar el comando

function HitMarker(thePlayer, commandName, ...) 
    if dimension and getElementType( player ) == "player" then 
        local vehicle = getPedOccupiedVehicle( player ) 
        if vehicle then 
            local driver = getVehicleController( vehicle ) 
            if driver == player and not getVehicleInModShop( source ) then 
                for k,v in ipairs( modShops ) do 
                    if modShops[ k ].marker == source and getElementType( vehicle ) == "vehicle" then 
                        timers[ vehicle ] = setTimer( unfreezeVehicleInModShop, 60000 * TIME_IN_MODSHOP, 1, vehicle ) 
                        timersClient[ vehicle ] = setTimer( triggerClientEvent, 60000 * TIME_IN_MODSHOP - 200, 1, driver, "modShop_clientResetVehicleUpgrades", driver ) 
                        setModShopBusy( source, vehicle ) 
                        freezVehicleInModShop( vehicle, modShops[ k ].marker ) 
                        triggerClientEvent( driver, "onClientPlayerEnterModShop", player, vehicle, getPlayerMoney( player ), modShops[ k ].name ) 
                    end 
                end 
            end 
        end 
    end 
end 

PD: el resource original venia así

  
addEventHandler( "onMarkerHit", getResourceRootElement( getThisResource( ) ),) 
    function( player, dimension ) 
        if dimension and getElementType( player ) == "player" then 
            local vehicle = getPlayerOccupiedVehicle( player ) 
            if vehicle then 
                local driver = getVehicleController( vehicle ) 
                if driver == player and not getVehicleInModShop( source ) then 
                    for k,v in ipairs( modShops ) do 
                        if modShops[ k ].marker == source and getElementType( vehicle ) == "vehicle" then 
                            timers[ vehicle ] = setTimer( unfreezeVehicleInModShop, 60000 * TIME_IN_MODSHOP, 1, vehicle ) 
                            timersClient[ vehicle ] = setTimer( triggerClientEvent, 60000 * TIME_IN_MODSHOP - 200, 1, driver, "modShop_clientResetVehicleUpgrades", driver ) 
                            setModShopBusy( source, vehicle ) 
                            freezVehicleInModShop( vehicle, modShops[ k ].marker ) 
                            triggerClientEvent( driver, "onClientPlayerEnterModShop", player, vehicle, getPlayerMoney( player ), modShops[ k ].name ) 
                        end 
                    end 
                end 
            end 
        end 
    end 
) 

Yo lo cambie para que al pasar por el marker se creara un comando y al usar ese comando se ejecutara las funciones pero al usar el comando no ejecuta las funciones

Edited by Guest
Link to comment

Intenté poner la funcion por comandos envez de marcador y al poner el comando no funciona

function HitMarker(player, dimension) 
    if dimension and getElementType( player ) == "player" then 
        local vehicle = getPedOccupiedVehicle( player ) 
        if vehicle then 
            local driver = getVehicleController( vehicle ) 
            if driver == player and not getVehicleInModShop( source ) then 
                for k,v in ipairs( modShops ) do 
                    if modShops[ k ].marker == source and getElementType( vehicle ) == "vehicle" then 
                        timers[ vehicle ] = setTimer( unfreezeVehicleInModShop, 60000 * TIME_IN_MODSHOP, 1, vehicle ) 
                        timersClient[ vehicle ] = setTimer( triggerClientEvent, 60000 * TIME_IN_MODSHOP - 200, 1, driver, "modShop_clientResetVehicleUpgrades", driver ) 
                        setModShopBusy( source, vehicle ) 
                        freezVehicleInModShop( vehicle, modShops[ k ].marker ) 
                        triggerClientEvent( driver, "onClientPlayerEnterModShop", player, vehicle, getPlayerMoney( player ), modShops[ k ].name ) 
                    end 
                end 
            end 
        end 
    end 
end 
addCommandHandler( "mejorarcoche", HitMarker ) 

Link to comment
  • Recently Browsing   0 members

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