Jump to content

Problema


JuegosPato

Recommended Posts

Prueba así (client)

local vehicles = {"BMX", "Bike", "Mountain Bike"} 
local bikes = createMarker(1183.2487792969, -1314.9769287109, 12.546875, 'cylinder', 1.5, 255, 255, 255, 255) 
  
    MainGui = guiCreateWindow(408,203,240,349,"Vehicle",false) 
    VehGrid = guiCreateGridList(17,32,200,256,false,MainGui) 
    guiGridListSetSelectionMode(VehGrid,2) 
    _bikes = guiGridListAddColumn(VehGrid,"Vehicle name:",0.85) 
    Spawn = guiCreateButton(15,305,96,35,"Use",false,MainGui) 
    guiSetFont(Spawn,"clear-normal") 
    Cancel = guiCreateButton(128,305,96,35,"Close",false,MainGui) 
    guiSetFont(Cancel,"clear-normal") 
    for index, vehicle in ipairs ( vehicles ) do 
    local row = guiGridListAddRow ( VehGrid ) 
    guiGridListSetItemText ( VehGrid, row, _bikes, tostring ( vehicle ), false, false ) 
    end 
    guiSetVisible(MainGui, false) 
  
addEventHandler("onClientMarkerHit", bikes, 
    function ( hitElement ) 
        if (hitElement == localPlayer) then 
            if (MainGui ~= nil) then 
                if not isPedInVehicle(localPlayer) then 
                guiSetVisible(MainGui, true) 
                showCursor(true) 
                guiSetInputEnabled(true) 
            else 
                outputChatBox ("Error: Please Re-enter in the marker to get your vehicle.", 255, 0, 0) 
            end 
        end 
        end 
end 
) 
  
addEventHandler("onClientGUIClick", root, 
    function () 
        if (source == Spawn) then 
            guiSetVisible(MainGui, false) 
            showCursor(false) 
            guiSetInputEnabled(false) 
            local row,col = guiGridListGetSelectedItem(VehGrid) 
            if (row and col and row ~= -1 and col ~= -1) then 
                local vehicleName = guiGridListGetItemText(VehGrid, row, 1) 
                if vehicleName then 
                    triggerServerEvent("spawnBike",localPlayer,vehicleName) 
                end 
            else 
                outputChatBox("Erro: Please select a vehicle from the list.",255,0,0) 
            end 
        elseif (source == Cancel) then 
            guiSetVisible(MainGui, false) 
            showCursor(false) 
            guiSetInputEnabled(false) 
        end 
    end 
) 
  
addEventHandler("onClientPlayerWasted", root, 
function () 
            guiSetVisible(MainGui, false) 
            showCursor(false) 
            guiSetInputEnabled(false) 
end) 

Edited by Guest
Link to comment
local vehicles = {"BMX", "Bike", "Mountain Bike"} 
local bikes = createMarker(1183.2487792969, -1314.9769287109, 12.546875, 'cylinder', 1.5, 255, 255, 255, 255) 
  
    MainGui = guiCreateWindow(408,203,240,349,"Vehicle",false) 
    VehGrid = guiCreateGridList(17,32,200,256,false,MainGui) 
    guiGridListSetSelectionMode(VehGrid,2) 
    _bikes = guiGridListAddColumn(VehGrid,"Vehicle name:",0.85) 
    Spawn = guiCreateButton(15,305,96,35,"Use",false,MainGui) 
    guiSetFont(Spawn,"clear-normal") 
    Cancel = guiCreateButton(128,305,96,35,"Close",false,MainGui) 
    guiSetFont(Cancel,"clear-normal") 
    for index, vehicle in ipairs ( vehicles ) do 
    local row = guiGridListAddRow ( VehGrid ) 
    guiGridListSetItemText ( VehGrid, row, _bikes, tostring ( vehicle ), false, false ) 
    end 
    guiSetVisible(MainGui, false) 
  
addEventHandler("onClientMarkerHit", bikes, 
    function ( hitElement ) 
        if (hitElement == localPlayer) then 
            if isPedInVehicle ( localPlayer ) then 
                return 
            end 
  
            if (MainGui ~= nil) then 
                guiSetVisible(MainGui, true) 
                showCursor(true) 
                guiSetInputEnabled(true) 
            else 
                outputChatBox ("Error: Please Re-enter in the marker to get your vehicle.", 255, 0, 0) 
            end 
        end 
end 
) 
  
addEventHandler("onClientGUIClick", root, 
    function () 
        if (source == Spawn) then 
            guiSetVisible(MainGui, false) 
            showCursor(false) 
            guiSetInputEnabled(false) 
            local row,col = guiGridListGetSelectedItem(VehGrid) 
            if (row and col and row ~= -1 and col ~= -1) then 
                local vehicleName = guiGridListGetItemText(VehGrid, row, 1) 
                if vehicleName then 
                    triggerServerEvent("spawnBike",localPlayer,vehicleName) 
                end 
            else 
                outputChatBox("Erro: Please select a vehicle from the list.",255,0,0) 
            end 
        elseif (source == Cancel) then 
            guiSetVisible(MainGui, false) 
            showCursor(false) 
            guiSetInputEnabled(false) 
        end 
    end 
) 
  
addEventHandler("onClientPlayerWasted", root, 
function () 
            guiSetVisible(MainGui, false) 
            showCursor(false) 
            guiSetInputEnabled(false) 
end) 

Link to comment

Ahora tengo otro problema D:, cuando vas corriendo y tocas el marker te aparece el GUI y si sigues corriendo te sigue apareciendo el GUI D:

Me pueden arreglar esto?? puse cosas mal definidas D:, me lo pueden arreglar? D:

addEventHandler("onClientMarkerLeave", bikes, 
    function ( leftPlayer,matchingDimension ) 
        if (leaveElement == localPlayer) then 
                guiSetVisible(MainGui, false) 
                showCursor(false) 
                guiSetInputEnabled(false) 
            end 
end 
) 

Link to comment

¿Te refieres que cuando salgas del marker se te quite el GUI? Prueba así

addEventHandler("onClientMarkerLeave", bikes, 
    function ( leftPlayer,matchingDimension ) 
        if (leftPlayer == localPlayer) then 
                guiSetVisible(MainGui, false) 
                showCursor(false) 
                guiSetInputEnabled(false) 
            end 
end 
) 

Edited by Guest
Link to comment
addEventHandler ( "onClientMarkerLeave", bikes, 
    function ( leaveElement, matchingDimension ) 
        if ( leaveElement == localPlayer ) then 
            guiSetVisible ( MainGui, false ) 
            showCursor ( false ) 
            guiSetInputEnabled ( false ) 
        end 
    end 
) 

Estabas usando dos variables: leftPlayer y leaveElement.

Link to comment
addEventHandler ( "onClientMarkerLeave", bikes, 
    function ( leaveElement, matchingDimension ) 
        if ( leaveElement == localPlayer ) then 
            guiSetVisible ( MainGui, false ) 
            showCursor ( false ) 
            guiSetInputEnabled ( false ) 
        end 
    end 
) 

Estabas usando dos variables: leftPlayer y leaveElement.

Tengo un nuevo problema!

-Como ago para que el GUI es exclusivamente para un clan/team?

-Si pasas con el JetPack desde arriba del marker desde una altura muy alta aparece el GUI

Link to comment
Para lo del jetpack, ¿te refieres que quieres que el GUI solo se abra si estás en una coordenada Z concreta? Y para solo para un team, usa:
local elteam = getPlayerTeam(localPlayer) 
if getTeamName(elteam) == "El Team" then 

Gracias me Funciono :D sobre el Team !!

Segun SolidSnake14 dice que es un bug del MTA, :S Si tu me das las funciones de como hacer eso yo lo aria...

El problema de que se habra a una altura indefinida es un bug del MTA con los markers client side, si lo creas server side, el problema no existira.

Como ago para arreglar ese bug ?

Link to comment
  • Recently Browsing   0 members

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