Jump to content

[Ayuda] Trabajo de pescador


Recommended Posts

Hola gente de la Forum de MTA SA, en esta ocasión vengo a pedir ayuda porque no se cómo hacer esta parte de un script que he descargado desde la Community.

El resource que descargué fue trabajo-de-pesquero ( Link en la Community )

El resource funciona de maravilla, sólo le he echo unos ajustes a mi gusto, el problema es que cuando se spawnea un barco puedes volver a spawnearlo nuevamente las veces que quieras y temo que bugeen y hagan mucho lag en mi servidor con ese problemita.

¿Me podrán ayudar?

Aquí el serverside:

local join = createMarker( -2975.974609375, 504.951171875, 1.3, "cylinder", 1.3, 255, 255, 0, 150) 
  
function joinjob(localPlayer) 
if (getElementType(localPlayer) == "player") and not ( isPedInVehicle( localPlayer ) ) then 
triggerClientEvent (localPlayer,"pesquero",getRootElement(),localPlayer) 
end 
end 
addEventHandler ("onMarkerHit", join, joinjob) 
  
createBlip( -2975.974609375, 504.951171875, 2.4296875, 56, 3, 0, 0, 255, 255, 0, 250) 
  
local Barcos = 
    { 
        [ 453 ] = true, 
        [ 453 ] = true 
    } 
local BarcosSkins = 
    { 
        [ 210 ] = true, 
        [ 225 ] = true 
    } 
  
local barcoTable = 
   { 
        { -3038.4482421875, 604.1875, -0.340974599123 }, 
        { -3095.3408203125, 766.5185546875, -0.31019884347916 }, 
        { -3161.6103515625, 903.453125, -0.35642492771149 }, 
        { -3094.2880859375, 998.7802734375, -0.32000458240509 }, 
        { -3027.7529296875, 922.7392578125, -0.34394550323486 }, 
        { -3041.1240234375, 856.3134765625, -0.3497366309166 }, 
        { -3053.4599609375, 750.5791015625, -0.33944514393806 }, 
        { -3045.521484375, 643.712890625, -0.375756919384 }, 
        { -3057.8583984375, 549.732421875, -0.36067345738411 }, 
        { -3143.16796875, 504.248046875, -0.39858004450798 }, 
        { -3198.35546875, 605.2978515625, -0.35631018877029 }, 
        { -3306.8505859375, 744.03125, -0.32741913199425 }, 
        { -3430.1376953125, 963.283203125, -0.37901026010513 }, 
        { -3384.814453125, 1068.4091796875, -0.32916113734245 }, 
        { -3278.1748046875, 1114.71875, -0.3424257338047 }, 
  } 
  
function getRandombarcoTable ( ) 
    return unpack ( barcoTable [ math.random ( #barcoTable ) ] ) 
end 
  
function createbarcoTeam ( ) 
    theTeam = createTeam ( "Pesquero", 255, 255, 0 ) 
end 
addEventHandler ( "onResourceStart", resourceRoot, createbarcoTeam ) 
  
addEventHandler ( "onVehicleStartEnter", root, 
    function ( player, seat, jacked, door ) 
        if ( Barcos [ getElementModel ( source ) ] ) and ( not BarcosSkins [ getElementModel ( player ) ] ) and ( seat == 0 ) then 
            cancelEvent ( ) 
        end 
    end 
) 
  
spawned = false 
vehiculo = createVehicle ( 453, 0, 0, 0 )  
  
function joinBarco( skin ) 
local x, y, z = getElementPosition ( source ) 
    if vehiculo and (spawned == false) then 
    setElementPosition ( vehiculo, x+5, y+4, z+2 ) 
    setPlayerTeam ( source, theTeam ) 
    setElementModel ( source, skin ) 
    setElementData ( source, "Ocupacion", "Trabajo de Pesquero", true ) 
    outputChatBox ( "[LPM] Subite al barco y anda hacia los marcadores para pescar y recibir dinero.",source, 0, 255, 0 ) 
    destroyElement ( vehiculo2 ) 
    spawned = true 
    else 
    spawned = false 
    destroyElement ( vehiculo ) 
    setPlayerTeam ( source, theTeam ) 
    setElementModel ( source, skin ) 
    setElementData ( source, "Ocupacion", "Trabajo de Pesquero", true ) 
    outputChatBox ( "[LPM-2] Subite al barco y anda hacia los marcadores para pescar y recibir dinero.",source, 0, 255, 0 ) 
end 
end 
addEvent ( "setBarco", true ) 
addEventHandler ( "setBarco", root, joinBarco ) 
  
function getNewBarcoLocation ( thePlayer ) 
    local x, y, z = getRandombarcoTable ( ) 
    triggerClientEvent ( thePlayer, "barco_set_location", thePlayer, x, y, z ) 
end 
  
function onVehicleEnter ( thePlayer ) 
    if ( not Barcos [ getElementModel ( source ) ] ) then 
        return 
    end 
    if ( not getPlayerTeam ( thePlayer ) ) then 
        return 
    end 
    if ( getTeamName ( getPlayerTeam ( thePlayer ) ) == "Pesquero" ) then 
        getNewBarcoLocation ( thePlayer ) 
    end 
end 
addEventHandler ( "onVehicleEnter", root, onVehicleEnter ) 
  
addEvent ( "pizza_finish", true ) 
addEventHandler("pizza_finish", root, 
    function ( ) 
        if ( not isPedInVehicle ( source ) ) then 
            return 
        end 
        local vehicle = getPedOccupiedVehicle ( source ) 
        if ( not Barcos [ getElementModel ( vehicle ) ] ) then 
            return 
        end  
        local money = math.random ( 800, 1600 ) 
        givePlayerMoney ( source, money ) 
        setElementFrozen ( vehicle, true ) 
        fadeCamera(source, false, 1.-- s8) -->
        setTimer(fadeCamera, 1500, 1, source, true) 
        setElementFrozen ( vehicle, false ) 
        getNewBarcoLocation ( source ) 
    end 
) 
  

Espero que puedan ayudarme :D

Saludos.

Link to comment

Podrías ser un poco mas especifico y decir en que momentos spawnea un barco, ya que con 100 lineas de codigo podría estar 1 hora mirando y no saber como responderte.

Segundo no pude evitar leer un mensaje que decía: "[LPM-2] Subite al barco y anda hacia los marcadores para pescar y recibir dinero." , se que es tu servidor y puedes hacer lo que quieras con el pero podrías ser un tanto mas formal al momento de escribir mensajes, es solo un consejo, ve tu si lo tomas o lo dejas.

Link to comment
Podrías ser un poco mas especifico y decir en que momentos spawnea un barco, ya que con 100 lineas de codigo podría estar 1 hora mirando y no saber como responderte.

Segundo no pude evitar leer un mensaje que decía: "[LPM-2] Subite al barco y anda hacia los marcadores para pescar y recibir dinero." , se que es tu servidor y puedes hacer lo que quieras con el pero podrías ser un tanto mas formal al momento de escribir mensajes, es solo un consejo, ve tu si lo tomas o lo dejas.

Perdon no me di cuenta a la hora de ponerlo, lo mismo con el mensaje, era una forma de ponerlo para que funcione si notas he puesto [LPM-2] y en la primera [LPM] solo para verificar si funcionaba el "else" esque nunca lo había echo.

Link to comment
  • Recently Browsing   0 members

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