Jump to content

Me presento


Edikosh9998

Recommended Posts

Hola a todos,

me presento, mi nickname es Edikosh y bueno, estoy en MTA hace muy poco (1 mes aproximadamente). Igualmente, a pesar de haber estado tan poco, me ha interesado tanto saber mas sobre este Mod que decidi entrar al mundo del scripteo.

Ademas, yo jugue al SAMP ya muchos años, y les juro que me entere hace un mes que existia esto, y la verdad creo que es mucho mejor.

Me presento con una duda, estoy scripteando un script que prende y apaga el motor. Ya eso funciono. Luego, quize poner que cuando prende el motor, aparezca la barra de gasolina. Con la ayuda de castillo, lo puse hacer. Ahora el problema es que quiero saber es si esta bien el script. Quize agregar, una lista de lugares donde se crearia un Marker y que en ese marker, puedas llenar tanque a traves de un comando SOLO si tocas ese Marker.

PERDONEN, capaz puede llegar a ser una burrada el script, soy nuevo asi que plis no se burlen :):) :

  
-------------Client  Side ------------------------------ 
puestosGasolina : {{1937.4731,-1772.6284,12.7925,0}} 
  
function Gasolina (bool) 
    if bool then 
        ------------------------Label----------------------------------------- 
        combustibleLbl = guiCreateLabel (0.775, 0.85,0.18,0.04,"Gasolina",true) 
        guiLabelSetColor(combustibleLbl,255,255,255) 
        guiLabelSetVerticalAlign(combustibleLbl,"center") 
        guiLabelSetHorizontalAlign(combustibleLbl,"center",false) 
        guiSetFont(combustibleLbl,"default-small") 
        ------------------------Barra de proceso------------------------------- 
        combustibleBarra = guiCreateProgressBar(0.775,0.85,0.18,0.04,true) 
        guiMoveToBack (combustibleBarra) 
        guiProgressBarSetProgress(combustibleBarra,100) 
    else 
        if isElement(combustibleLbl) then destroyElement(combustibleLbl) end 
        if isElement(combustibleBarra) then destroyElement(combustibleBarra) end 
            for i,v in ipairs (puestosGasolina) do 
            gasolinaMarker = createMarker (v[1],v[2],v[3],"cylinder",2,255,255,0,177) 
            setElementData(gasolinaMarker,"FUEL",true) 
            setElementInterior(gasolinaMarker(v[4]) 
            end 
        end 
    end 
end 
addEvent("cuandoEntraAlAuto",true) 
addEventHandler("cuandoEntraAlAuto",getRootElement(),Gasolina) 
  
  
function bajarFuel(vehiculo) 
        if (vehiculo == getPedOccupiedVehicle(getLocalPlayer()) then 
        guiProgressBarSetProgress(combustibleBarra,guiProgressBarGetProgress(combustibleBarra) -5) 
            if (guiProgressBarGetProgress(combustibleBarra) == 0) then 
            toggleControl("accelerate",false) 
            toggleControl("brake_reverse",false)     
            guiSetText(combustibleLbl,"Sin combustible") 
            end 
        end 
    end 
end 
setTimer(bajarFuel,10000,0,getLocalPlayer()) 
  
  
function llenartanque(vehiculo) 
    if (vehiculo == getPedOccupedVehicle == true) and (getElementData (vehicle, "FUEL") == true)) then 
    if (guiProgressBarGetProgress(combustibleBarra) <80) then 
    guiProgressBarSetProgress(combustibleBarra,100) 
    toggleControl("accelerate",false) 
    toggleControl("brake_reverse",false) 
    elseif (guiProgressBarGetProgress(combustibleBarra) <90) then 
    outPutChatBox ("No necesitas cargar combustible!") 
    end 
end 
addCommandHandler("llenartanque",llenartanque) 
  
function timerCombustible(enabled) 
    if(isPlayerInVehicle(getLocalPlayer())) then 
        if(enabled == true) then 
            tanqueTimer = setTimer(llenartanque,10000,0) 
        else 
            killTimer(refillTimer) 
        end 
    else 
        outputChatBox("Necesitas estar en un vehiculo!") 
    end 
end 
addEventHandler("cuandoEstaRefilleando",true) 
addEventHandler("cuandoEstaRefilleando",getRootElement(),timerCombustible) 
  
  

  
-------------Server Side-------------------------------- 
function Motor (playerSource,commandName) 
    local theVehicle = getPedOccupiedVehicle (playerSource) 
    local motor = getVehicleEngineState (theVehicle) 
    if motor == false then 
        setVehicleEngineState(theVehicle,true) 
        triggerClientEvent(playerSource,"cuandoEntraAlAuto",playerSource,true) 
        elseif motor == true then 
        setVehicleEngineState(theVehicle,false) 
        triggerClientEvent(playerSource,"cuandoEntraAlAuto",playerSource,false) 
        end 
    end 
addCommandHandler("motor",Motor) 
  
function cuandoEntraAlMarker(player,sDimension) 
    triggerClientEvent("cuandoEstaRefilleando",getRootElement(),true) 
end 
addEventHandler("onMarkerHit",getRootElement(),cuandEntraAlMarker) 
  
function cuandoSaleDelMarker(player,sDimension) 
        triggerClientEvent("cuandoEstaRefilleando",getRootElement(),false) 
end 
addEventHandler("onMarkerLeave",getRootElement(),cuandoSaleDelMarker) 
  
  

Muchas gracias por leer, espero no tenga problemas en el foro porque la verdad siempre hay alguno que quiere armar bardo, burlando, criticando o algo por el estilo.

Saludos.

Link to comment

Ok, te explico, lo que estas intentando es crear una tabla por lo que veo, pero esta mal, te dire como es.

-------------Client  Side ------------------------------ 
function Gasolina (bool) 
    if bool then 
        ------------------------Label----------------------------------------- 
        combustibleLbl = guiCreateLabel (0.775, 0.85,0.18,0.04,"Gasolina",true) 
        guiLabelSetColor(combustibleLbl,255,255,255) 
        guiLabelSetVerticalAlign(combustibleLbl,"center") 
        guiLabelSetHorizontalAlign(combustibleLbl,"center",false) 
        guiSetFont(combustibleLbl,"default-small") 
        ------------------------Barra de proceso------------------------------- 
        combustibleBarra = guiCreateProgressBar(0.775,0.85,0.18,0.04,true) 
        guiMoveToBack (combustibleBarra) 
        guiProgressBarSetProgress(combustibleBarra,100) 
    else 
        if isElement(combustibleLbl) then destroyElement(combustibleLbl) end 
        if isElement(combustibleBarra) then destroyElement(combustibleBarra) end 
      end 
end 
addEvent("cuandoEntraAlAuto",true) 
addEventHandler("cuandoEntraAlAuto",getRootElement(),Gasolina) 
  
function bajarFuel() 
        if (isPedInVehicle(getLocalPlayer())) then 
        guiProgressBarSetProgress(combustibleBarra,guiProgressBarGetProgress(combustibleBarra) -5) 
            if (guiProgressBarGetProgress(combustibleBarra) == 0) then 
            toggleControl("accelerate",false) 
            toggleControl("brake_reverse",false)   
            guiSetText(combustibleLbl,"Sin combustible") 
        end 
    end 
end 
setTimer(bajarFuel,10000,0) 
  
function llenartanque() 
    if (isPedInVehicle(getLocalPlayer()) and getElementData(getPedOccupedVehicle(getLocalPlayer()), "FUEL") == true) then 
    if (guiProgressBarGetProgress(combustibleBarra) < 80) then 
    guiProgressBarSetProgress(combustibleBarra,100) 
    toggleControl("accelerate",false) 
    toggleControl("brake_reverse",false) 
    elseif (guiProgressBarGetProgress(combustibleBarra) < 90) then 
    outPutChatBox ("No necesitas cargar combustible!") 
          end 
     end 
end 
addCommandHandler("llenartanque",llenartanque) 
  
function timerCombustible(enabled) 
    if(isPedInVehicle(getLocalPlayer())) then 
        if(enabled == true) then 
            tanqueTimer = setTimer(llenartanque,10000,0) 
        else 
            killTimer(refillTimer) 
        end 
    else 
        outputChatBox("Necesitas estar en un vehiculo!") 
    end 
end 
addEvent("cuandoEstaRefilleando",true) 
addEventHandler("cuandoEstaRefilleando",getRootElement(),timerCombustible) 

-------------Server Side-------------------------------- 
local puestosGasolina = { 
{1937.4731, -1772.6284, 12.7925, 0}, 
} 
  
addEventHandler("onResourceStart",resourceRoot, 
function () 
    for i,v in ipairs (puestosGasolina) do 
        local gasolinaMarker = createMarker (v[1],v[2],v[3],"cylinder",2,255,255,0,177) 
        if gasolinaMarker then 
            setElementData(gasolinaMarker,"FUEL",true) 
            setElementInterior(gasolinaMarker,v[4]) 
            addEventHandler("onMarkerHit",gasolinaMarker,cuandoEntraAlMarker) 
            addEventHandler("onMarkerLeave",gasolinaMarker,cuandoSaleDelMarker) 
        end 
    end 
end) 
  
function Motor (playerSource,commandName) 
    local theVehicle = getPedOccupiedVehicle (playerSource) 
    local motor = getVehicleEngineState (theVehicle) 
    if motor == false then 
        setVehicleEngineState(theVehicle,true) 
        triggerClientEvent(playerSource,"cuandoEntraAlAuto",playerSource,true) 
        elseif motor == true then 
        setVehicleEngineState(theVehicle,false) 
        triggerClientEvent(playerSource,"cuandoEntraAlAuto",playerSource,false) 
        end 
    end 
addCommandHandler("motor",Motor) 
  
function cuandoEntraAlMarker(player,sDimension) 
    triggerClientEvent(player,"cuandoEstaRefilleando",player,true) 
end 
  
function cuandoSaleDelMarker(player,sDimension) 
    triggerClientEvent(player,"cuandoEstaRefilleando",player,false) 
end 

Ok, arregle varios errores en tu script, proba a ver que tal.

Link to comment

Gracias por tu ayuda, pero igual hay algo que falta, que seguramente yo no puse.

Porque cuando lo pruebo, no esta apareciendo el GUI. Esta el marker, anda el motor, pero no esta el GUI. Sabes alguna forma de saber cual puede llegar a ser el error o algo?. Yo habia entendido con un tal "debugscript 3" pero no entiendo como usarlo.

Saludos.

Link to comment
  • Recently Browsing   0 members

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