Jump to content

LPM//Bruno

Members
  • Posts

    94
  • Joined

  • Last visited

Posts posted by LPM//Bruno

  1. On 5/17/2018 at 22:03, Platin - xNikoXD said:

    No creo que 'tab' este definido en el freeroam ya que el ninguna parte del panel existe una sección que usen TABs. Lo mejor que puedes hacer es la ventana a parte y hacer que cuando se aprete el botón se llame a la función que muestra o deja de mostrar esa ventana.

    Igualmente no entiendo el por qué utilizas el panel del freeroam para armar todo eso, pero bueno, suerte.

     

    Haré la ventana aparte entonces, muchas gracias!

  2. Hi all, I'm putting together a section of My Account on my server, I want it to be a little window with a tabpanel that has the following tabs:

    • Start (where it shows the basic statistics, name, type of account, level, etc)
    • Configuration (where it will show buttons to change the password, delete the account, etc)
    • Clan/Gang (where it would show data exported from the gangystem)

    For now I can not think of any other flap, if any one sees a utility to a flap I could also recommend it

    The problem is this, I am creating this through the freeroam resource GUI (since the My Account button is in the freeroam too, then I wanted to do everything together).

    The code is the following:

    wndCuenta = {
    'wnd',
    text = 'LPMV2 - Mi Cuenta',
    x = 380,
    y = 190,
    width = 500,
    height = 800,
    controls = {
    {'tbp', id='tbp1', text='pruebaTabPanel', width=200 , height=200},
    },
    }

     

    The result:

    cca8244735057b69f22af7e332cc2cfe.png

     

    It's strange, but I say ... maybe the tab is missing for it to work, so I add it and the code looks like this:

    wndCuenta = {
    'wnd',
    text = 'LPMV2 - Mi Cuenta',
    x = 380,
    y = 190,
    width = 500,
    height = 800,
    controls = {
    {'tbp', id='tbp1', text='pruebaTabPanel', width=200 , height=200},
    {'tab', id='tab1', text='pruebaTab', width=200 , height=200},
    },
    }

     

    But the result is that when I want to open this section (My Account) it shows the last 2 errors in the debugscript (ignore 'callesgroove' resource)

    a01ec6983b03209ee8ec3a5ee97a0c4c.png

     

    Somebody could help me? From already thank you very much!

  3. Buenas a todos, estoy armando una sección de Mi Cuenta en mi servidor, quiero que sea una ventanita con un tabpanel que tenga las siguientes pestañas:

    • Inicio (donde muestra las estadisticas basicas, nombre, tipo de cuenta, nivel, etc)
    • Configuración (donde mostrara botones para cambiar la clave, eliminar la cuenta, etc)
    • Clan (donde mostraria datos exportados del gangystem)

    Por ahora no se me ocurre ninguna otra solapa, si alguno le ve alguna utilidad a una solapa podría recomendármela también

    El problema es el siguiente, estoy creando esto a través de la GUI del resource freeroam (ya que el botón de Mi Cuenta está en el freeroam también, entonces quería hacer todo junto).

    El código es el siguiente:

    wndCuenta = {
    	'wnd',
    	text = 'LPMV2 - Mi Cuenta',
    	x = 380,
    	y = 190,
    	width = 500,
    	height = 800,
    	controls = {
    	{'tbp', id='tbp1', text='pruebaTabPanel', width=200 , height=200},
    	},
    }

    Y el resultado el siguiente:

    cca8244735057b69f22af7e332cc2cfe.png

     

    Es extraño, pero digo... quizá le faltan las tab para que funcione, entonces la agrego y el codigo queda así:

    wndCuenta = {
    	'wnd',
    	text = 'LPMV2 - Mi Cuenta',
    	x = 380,
    	y = 190,
    	width = 500,
    	height = 800,
    	controls = {
    	{'tbp', id='tbp1', text='pruebaTabPanel', width=200 , height=200},
    	{'tab', id='tab1', text='pruebaTab', width=200 , height=200},
    	},
    }

    Pero el resultado es que cuando quiero abrir esta sección (Mi Cuenta) muestra los ultimos 2 errores en el debugscript (ignoren el de callesgroove)

    a01ec6983b03209ee8ec3a5ee97a0c4c.png

     

    Alguien podría ayudarme? Desde ya, muchas gracias!

  4. Quiero lograr poner un fondo negro transparente para que se logren ver los mensajes del chatBox cuando sea de día, sería algo como ésto (lo hice con PhotoShop) , pero no tengo idea de como hacerlo, alguien podría ayudarme o decirme algunas ideas?

    Como se ve:

    UVdr539.jpg

     

    Como quiero que se vea:

    Tc2tzwB.png

     

     

    Desde ya si pueden ayudarme muchas gracias

  5. Hola estoy intentando hacer un login y todo un sistema estructurado en mi servidor basado en bases de datos y consultas MySQL. El problema es que no sé si incluir el login de MTA en el login de mi servidor, es decir.. un usuario inicia sesion en mi servidor con mi login panel y les pone en los setElementData la cuenta y algunos datos mas de la DB. Pero no se si incluir que tambien inicie sesión en el servidor de MTA (logIn) por que si algun usuario en algun momento cambia su clave no va a coincidir la clave del servidor con la que esta registrada en MySQL. Deberia ignorar el login de MTA y hacer todo mi sistema por separado? Desde ya gracias

  6. 15 minutes ago, alex17" said:

    no, solo baneara al que salio estando en la killcam

    Me mostró este error https://prnt.sc/fkc5uo

    ZR2KbuLtQ9mGDmy80YX9EQ.jpeg

    11 minutes ago, LPM//Bruno said:

    Me mostró este error https://prnt.sc/fkc5uo

    ZR2KbuLtQ9mGDmy80YX9EQ.jpeg

    Lo solucioné cambiando la sintaxis OOP por las tradicionales pero ahora al salirme de killcam se produce un loop y me banea infinitas veces hasta que me desconecto (agrega muchas veces el ban y los chatBox)

    Ya lo solucioné, muchas gracias!

  7. 1 hour ago, alex17" said:
    
    function ban_palyer()
      local killcam = source:getData("killca")
      if not killcam then return end
      local name = source:getName()
      source:ban(false,false,true,root,"Salir de Killcam",14400) 
      outputChatBox ( "#FE2E2E[LPM.KCProtection] "..name.."#FE2E2E ha sido baneado por salir de Killcam (4 horas).", root, 255, 0, 0, true ) 
      outputDebugString ("Jugador "..name.." baneado correctamente por salir de Killcam.")
    end
    addEvenHandler("onPlayerQuit", root, ban_palyer)
    

    prueba con esto ya que veo innecesario usar un trigger

    Creo que con eso kickearia a las 2 personas que están en la Killcam, no solo al reciever que es lo que necesito, de todos modos ahora lo pruebo y te comento como me fué, muchas gracias!

  8. Hola ando necesitando ayuda con un script, el mismo es el de la clasica Killcam (https://community.multitheftauto.com/index.php?p=resources&s=details&id=5362) pero le quise agregar una seguridad para cuando el jugador que recibe el disparo (Reciever) se desconecte, el mismo sea baneado. Pero no logro hacerlo, he hecho esto:

    Client (completo con mi codigo):

    function movecamera()
      x, y, z = getElementPosition(camobj)
      th, tj, tk = getElementPosition(tarobj)
      setCameraMatrix(x, y, z, th, tj, tk)
    end
    function shotfunc()
      if alpha <= 255 and alpha > 0 then
        alpha = alpha - 1
        dxDrawText(text, 576, 544, 778, 601, tocolor(255, 200, 0, alpha), 2, "sans", "center", "top", false, false, false)
      end
    end
    addEventHandler("onClientRender", root, shotfunc)
    text = " "
    alpha = 0
    function goodguy1()
      dxDrawLine3D(th, tj, tk, th + (hx - th - (hx - th + 0.2)), tj + (hy - tj - (hy - tj + 0.2)), tk + (hz - tk - (hz - tk + 0.2)), tocolor(64, 64, 64, 255))
    end
    function goodguy2()
      dxDrawLine3D(tv, tb, tn, tv + (hx - tv - (hx - tv + 0.2)), tb + (hy - tb - (hy - tb + 0.2)), tn + (hz - tn - (hz - tn + 0.2)), tocolor(64, 64, 64, 255))
    end
    function movereciever()
      tv, tb, tn = getElementPosition(target)
      h, j, k = getElementPosition(localPlayer)
      setCameraMatrix(h + 5, j + 5, k + 5, tv, tb, tn)
    
    end
    
    function killcam(tz, tx, tc, hjx, hjy, hjz, bodypart, moving, reciever, weapon) 
      addEventHandler ( "OnClientChatMessage", getRootElement(), function() cancelEvent() end )
      addEventHandler ( "OnClientConsole", getRootElement(), function() cancelEvent() end )
      setGameSpeed(0.05)
      camobj = createObject(327, tz + 2.5, tx + 2.5, tc + 2.5)
      tarobj = createObject(327, tz, tx, tc)
      setElementData(localPlayer,"killca",true)
      setElementAlpha(camobj, 0)
      setElementAlpha(tarobj, 0)
      moveObject(camobj, 4000, hjx + 5, hjy + 5, hjz + 5)
      if bodypart == 9 then
        moveObject(tarobj, 5000, hjx, hjy, hjz + 1)
      else
        moveObject(tarobj, 5000, hjx, hjy, hjz)
      end
      hx = hjx
      hy = hjy
      hz = hjz
      addEventHandler("onClientRender", root, movecamera)
      addEventHandler("onClientRender", root, goodguy1)
      addEventHandler("onClientPlayerQuit", reciever, function ()
    if getElementData(reciever,"killca") == true then
    playerToBan = getPlayerName(reciever)
    triggerServerEvent("banPlayer", getLocalPlayer(), playerToBan)
    end
    end)
      
      function killz()
        triggerServerEvent("onKillCamFinish", root, localPlayer, reciever, weapon)
        fxAddBlood(hjx, hjy, hjz, 0, 0, 0, 5, 1)
    	setElementData(localPlayer,"killca",true)
        removeEventHandler("onClientRender", root, goodguy1)
        setGameSpeed(0.2)
      end
      setTimer(killz, 5000, 1)
      if bodypart == 3 then
        if moving then
          text = "KILL EN MOVIMIENTO"
        else
          text = "KILL"
        end
      elseif bodypart == 4 then
        if moving then
          text = "Kill en movimiento! ¡Le diste en los testiculos a "..getPlayerName(reciever):gsub("#%x%x%x%x%x%x", "")..""
        else
          text = "¡Le diste en los testiculos a "..getPlayerName(reciever):gsub("#%x%x%x%x%x%x", "").."!"
        end
      elseif bodypart == 9 then
        if moving then
          text = "HEADSHOT en movimiento a "..getPlayerName(reciever):gsub("#%x%x%x%x%x%x", "")
        else
          text = "HEADSHOT a "..getPlayerName(reciever):gsub("#%x%x%x%x%x%x", "")
        end
      end
      function setnormalcam()
        removeEventHandler("onClientRender", root, movecamera)
        setCameraTarget(localPlayer)
        destroyElement(camobj)
        setGameSpeed(1.2)
    	setElementData(localPlayer,"killca",false)
        alpha = 255
      end
      setTimer(setnormalcam, 6000, 1)
    end
    addEvent("onSniperHeadshot", true)
    addEventHandler("onSniperHeadshot", root, killcam)
    function recievehs(shx, shy, shz, hitx, hity, hitz)
      setGameSpeed(0.05)
      setElementData(localPlayer,"killca",true)
      target = createObject(327, shx, shy, shz)
      setElementAlpha(target, 0)
      moveObject(target, 5000, hitx, hity, hitz)
      hx = hitx
      hy = hity
      hz = hitz
      addEventHandler("onClientRender", root, movereciever)
      addEventHandler("onClientRender", root, goodguy2)
      function gods()
        removeEventHandler("onClientRender", root, goodguy2)
        setGameSpeed(0.2)
    	setElementData(localPlayer,"killca",true)
      end
      setTimer(gods, 5000, 1)
      function endcam()
        removeEventHandler("onClientRender", root, movereciever)
        destroyElement(target)
        setCameraTarget(localPlayer)
        setGameSpeed(1.2)
    	setElementData(localPlayer,"killca",false)
      end
      setTimer(endcam, 6000, 1)
    end
    addEvent("onRecieveSniperHeadshot", true)
    addEventHandler("onRecieveSniperHeadshot", root, recievehs)
    function bloodhead(weapon, ammo, ammoclip, hx, hy, hz, hitelement, sx, sy, sz)
      if weapon == 34 then
        a = hx
        s = hy
        d = hz
        function bloods()
          fxAddBlood(a, s, d, 0, 0, 0, 5, 1)
        end
        setTimer(fxAddBlood, 3500, 1)
      end
    end
    addEventHandler("onClientWeaponFire", root, bloodhead) 
    
    function godci ()
    if getElementData(localPlayer,"killca") == true then
    cancelEvent()
    end
    end
    addEventHandler("onClientPlayerDamage",root,godci)

    Aqui solo el codigo que agregue yo para que entiendan mejor y no tengan que buscar:

      addEventHandler("onClientPlayerQuit", reciever, function ()
    if getElementData(reciever,"killca") == true then
    playerToBan = getPlayerName(reciever)
    triggerServerEvent("banPlayer", getLocalPlayer(), playerToBan)
    end
    end)

     

    Server:

    
    function banPlr(who) 
    		local targetPlayer = getPlayerFromName ( who )
            banPlayer(targetPlayer,false,false,true,root,"Salir de Killcam",14400) 
    	    outputChatBox ( "#FE2E2E[LPM.KCProtection] "..who.."#FE2E2E ha sido baneado por salir de Killcam (4 horas).", root, 255, 0, 0, true ) 
       	    outputDebugString ("Jugador "..who.." baneado correctamente por salir de Killcam.")
    	end
    addEvent("banPlayer", true) 
    addEventHandler("banPlayer", getRootElement(), banPlr)

    El otro server esta compilado por eso no lo agrego, pero la killcam funciona.

     

    El problema esta en el getPlayerFromName, cuando quiero banear al jugador dice que espera recibir el Player, pero recibe un boolean y no se por que, si yo le estoy pasando el string correctamente (ya que en el ChatBox y el DebugString se imprimen correctamente).

     

    Espero puedan ayudarme, muchas gracias

  9. 10 hours ago, #Dv^ said:

    Sí, de todas formas ese script nunca funcionaría por que está mal hecho, principalmente todo esto
     

    
    function verificarVIP ( )
    	local cuenta = getAccountName( getPlayerAccount(client) )
    	
    	if isObjectInACLGroup("user."..cuenta, aclGetGroup("VIPs")) then
    		triggerClientEvent ( client, "activarUsuarioVip", client )
    	else
    		
    	end
    	
    end
    addEventHandler("onResourceStart", getRootElement(), verificarVIP)
    

     

    Y como podría arreglarlo?

  10. Hola como están , estoy editando el script de realdriveby para que solo pueda ser utilizado por usuarios VIP en mi servidor (ACL: VIPs) el problema es que no sé por qué no funciona la forma en la cual lo estoy haciendo, intente con variables comunes y triggers desde el servidor hacia el cliente y hasta con setElementData y getElementData, nada sirvió, el script se inicia y no muestra ningún error (con debugscript 3 activo) y deniega el acceso al realdriveby todo el tiempo (como si el player no estuviese en el ACL VIPs a comprobar, pero en realidad si está); espero puedan ayudarme.

    driveby_client.lua (Cortado, solo inserte aqui las funciones que yo agrege al script original)

    local driver = false
    local shooting = false
    local helpText,helpAnimation
    lastSlot = 0
    settings = {}
    usuarioVip = false
    
    addEvent ( "activarUsuarioVip", true )
    addEventHandler("activarUsuarioVip",getRootElement(),
    	function()
    	usuarioVip = true
    	end
    )
    
    
    local function setupDriveby( player, seat )
    if usuarioVip == true then
    		outputChatBox("[LPM-VIP] Puedes disparar desde el vehiculo.",0,255,0,true) 
    		bindKey ( "mouse2", "down", "Toggle Driveby", "" )
    		bindKey ( "e", "down", "Next driveby weapon", "1" )
    		bindKey ( "q", "down", "Previous driveby weapon", "-1" )
    		toggleControl ( "vehicle_next_weapon",false )
    		toggleControl ( "vehicle_previous_weapon",false )
    		helpText = dxText:create("",0.5,0.85)
    		helpText:scale(1)
    		helpText:type("stroke",1)
    			--If his seat is 0, store the fact that he's a driver
    	if seat == 0 then 
    		driver = true
    	else
    		driver = false
    	end
    	--By default, we set the player's equiped weapon to nothing.
    	setPedWeaponSlot( localPlayer, 0 )
    	if settings.autoEquip then
    		toggleDriveby()
    	end
    else 
    outputChatBox("[LPM] Si deseas disparar desde el vehiculo compra una cuenta VIP en www.mtalpm.com",255,255,0,true) 
    return end
    end
    addEventHandler( "onClientPlayerVehicleEnter", localPlayer, setupDriveby )

     

     

    driveby_server.lua (Cortado, solo inserte aqui las funciones que yo agrege al script original)

    function verificarVIP ( )
    	local cuenta = getAccountName( getPlayerAccount(client) )
    	
    	if isObjectInACLGroup("user."..cuenta, aclGetGroup("VIPs")) then
    		triggerClientEvent ( client, "activarUsuarioVip", client )
    	else
    		
    	end
    	
    end
    addEventHandler("onClientResourceStart", getRootElement(), verificarVIP)

     

  11. 25 minutes ago, brunitokap said:

    Gracias por el trabajo que te has tomado, ha quedado genial! ES mucho mas simple ahora.. aunque el problema persiste.. comienzo a creer que es otro script el que provoca los problemas, y no logro detectar cual es.

    Me retracto, lo testie bien y funciono a la perfeccion, (lo del daño, lo del hud sigue mostrandolo, nose porque, pero no importa) Muchas gracias!Genio

  12. 38 minutes ago, #Dv^ said:

    Toma, hice tú código más corto posible por que tenías cosas muy innecesarias demás, y parecía muy raro, espero te sea de ayuda
    Si hay algún bug, avísame, lo arreglaré lo antes posible

    Servidor

    
    addEventHandler ("onResourceStart",getResourceRootElement(getThisResource()),function()	local greenzones = getElementsByType ("radararea")	for i,v in ipairs (greenzones) do		local r,g,b,a = getRadarAreaColor (v)		if (r == 0) and (g == 255) and (b == 0) and (a == 127) then			local x,y = getElementPosition (v)			local sx,sy = getRadarAreaSize (v)			local col = createColCuboid (x,y, -50, sx,sy, 7500)			setElementID (col, "radarColShape")			setElementDimension(col,0)			setElementInterior(col,0)		end	endend)addEventHandler ("onColShapeHit", getRootElement(), 	function(player, matchingDimension)		if getElementType (player) == "player" and getElementID (source) == "radarColShape" then 			setElementData(player,"greenzone",true)			outputChatBox("Entraste a una zona segura.", player, 0, 255, 0, true)		end	end)addEventHandler ("onColShapeLeave", getRootElement(), 	function(player, matchingDimension)		if getElementType (player) == "player" and getElementID (source) == "radarColShape" then			setElementData(player,"greenzone",false)			outputChatBox("Saliste de la zona segura.", player, 255, 0, 0, true)		end	end)command = { }timer = 300000function setDm(playerSource)	if (command[playerSource]) then			return outputChatBox ( "Espera 5 minutos para volver a usar el comando DM", source, 225, 0, 0 ,true)	end	if getElementData(playerSource, "greenzone") == false then		if getElementData(playerSource,"DM") == true then			triggerClientEvent (playerSource,"dmOff",playerSource)			setElementData(playerSource, "DM", false)			outputChatBox("Modo DM desactivado, ahora podrás hacer daño y serás vulnerable.", playerSource, 255, 0, 0, true)		else			setElementData(playerSource, "DM", true)			triggerClientEvent (playerSource,"dmOn",playerSource)			outputChatBox("Modo DM activado, no podrás hacer daño y los demás a ti tampoco.", playerSource, 0, 255, 0, true)		end	else		outputChatBox("No puedes activar o desactivar el DM dentro de una zona segura.",playerSource, 255, 0, 0, true)	end	command[playerSource] = true	setTimer( function()		command[playerSource] = false	end, timer, 1)endaddCommandHandler ("dm",setDm)

    Cliente
     

    
    function cancelDamageDm (attacker)	if getElementData(attacker, "DM") == true or getElementData(source, "DM") == true then		cancelEvent()	endendaddEventHandler ("onClientPlayerDamage", root, cancelDamageDm)addEventHandler ("onClientPlayerStealthKill", root, cancelDamageDm)function cancelDamageGreenzone (attacker)	if getElementData(attacker, "greenzone") == true or getElementData(source, "greenzone") == true then		cancelEvent()	endendaddEventHandler ("onClientPlayerDamage", root, cancelDamageGreenzone)addEventHandler ("onClientPlayerStealthKill", root, cancelDamageGreenzone)hud ={	"radar",	"weapon",	"crosshair"	}	addEvent("dmOn", true)addEventHandler("dmOn",root,	function() 		for k, v in ipairs(hud) do			showPlayerHudComponent(v,false) 		end	end)addEvent("dmOff", true)addEventHandler("dmOff",root,	function() 		for k, v in ipairs(hud) do			showPlayerHudComponent(v,true) 		end	end)

     

    Gracias por el trabajo que te has tomado, ha quedado genial! ES mucho mas simple ahora.. aunque el problema persiste.. comienzo a creer que es otro script el que provoca los problemas, y no logro detectar cual es.

  13. On 8/12/2016 at 4:00 AM, brunitokap said:

    Clientside:

    
    --- by BRUNO
    setElementData (getLocalPlayer(), "DmActivado", false)
    
    addEvent ("entra",true)
    addEventHandler ("entra",getRootElement(),
    function()
     if (getElementData (getLocalPlayer(), "DmActivado") == true) then
     outputDebugString ( "Entro desde Clientside (Dm activo)" )
    	else
    		addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopDamage )
    		addEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), stopDamage )
    		addEventHandler ( "onClientPedDamage", getLocalPlayer(), stopDamage )
    		toggleControl ("fire", false)
    		toggleControl ("aim_weapon", false)
    		toggleControl ("vehicle_fire", false)
    		toggleControl ("vehicle_secondary_fire ", false)
    		setPlayerHudComponentVisible ("weapon", false)
    		setPlayerHudComponentVisible ("crosshair", false)
    		setPlayerHudComponentVisible ("ammo", false)
    		toggleControl ("next_weapon", false)
            toggleControl ("previous_weapon", false)
    		outputDebugString ( "Entro desde Clientside (Dm inactivo)" )
    	end
    	end
    )
    
    
    addEvent ("sale",true)
    addEventHandler ("sale",getRootElement(),
    function()
     if (getElementData (getLocalPlayer(), "DmActivado") == true) then
     outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verdee!")
    	else
    		removeEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopDamage )
    		removeEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), stopDamage )
    		removeEventHandler ( "onClientPedDamage", getLocalPlayer(), stopDamage )
    		toggleControl ("fire", true)
    		toggleControl ("aim_weapon", true)
    		toggleControl ("vehicle_fire", true)
    		toggleControl ("vehicle_secondary_fire ", true)
    		setPlayerHudComponentVisible ("weapon", true)
    		setPlayerHudComponentVisible ("crosshair", true)
    		setPlayerHudComponentVisible ("ammo", true)
    		toggleControl ("next_weapon", true)
            toggleControl ("previous_weapon", true)
    		outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verde!")
    	end
    	end
    )
    
        anti_pasivo_abuse = false
         
        function pasivo()
            if anti_pasivo_abuse then 
    		triggerServerEvent("MensajeAntiAbuse", getLocalPlayer(), getLocalPlayer())
    		return end
            anti_pasivo_abuse = true
            setTimer(function() anti_pasivo_abuse = false end, 
    3000, 1)
    		if (getElementData (getLocalPlayer(), "DmActivado") == false) then
    			setElementData (getLocalPlayer(), "DmActivado", true)
                addEventHandler ("onClientPlayerDamage", getLocalPlayer(), stopDamage)
                addEventHandler ("onClientPlayerStealthKill", getLocalPlayer(), stopDamage)
                addEventHandler ("onClientPedDamage", getLocalPlayer(), stopDamage)
                toggleControl ("fire", false)
                toggleControl ("aim_weapon", false)
                toggleControl ("vehicle_fire", false)
                toggleControl ("vehicle_secondary_fire ", false)
                toggleControl ("next_weapon", false)
                toggleControl ("previous_weapon", false)
                setPlayerHudComponentVisible ("weapon", false)
                setPlayerHudComponentVisible ("crosshair", false)
                setPlayerHudComponentVisible ("ammo", false)
                triggerServerEvent("DmON", getLocalPlayer(), getLocalPlayer())
    			outputDebugString ( "Dm activado desde ClientSide" )
            else
    			setElementData (getLocalPlayer(), "DmActivado", false)
                removeEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopDamage )
                removeEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), stopDamage )
                removeEventHandler ( "onClientPedDamage", getLocalPlayer(), stopDamage )
                setElementAlpha (getLocalPlayer(), 155)
                toggleControl ("fire", true)
                toggleControl ("aim_weapon", true)
                toggleControl ("vehicle_fire", true)
                toggleControl ("vehicle_secondary_fire ", true)
                toggleControl ("next_weapon", true)
                toggleControl ("previous_weapon", true)
                setPlayerHudComponentVisible ("weapon", true)
                setPlayerHudComponentVisible ("crosshair", true)
                setPlayerHudComponentVisible ("ammo", true)
                toggleControl ("next_weapon", true)
                toggleControl ("previous_weapon", true)
                triggerServerEvent("DmOFF", getLocalPlayer(), getLocalPlayer())
    			outputDebugString ( "Dm desactivado desde ClientSide" )
            end
        end
    addEvent ("pasivo",true)
    addEventHandler ("pasivo",getLocalPlayer(),pasivo)
    
    function NoKill()
    	if (getElementData (getLocalPlayer(), "DmActivado") == true) then
    		addEventHandler ("onClientPlayerDamage", getLocalPlayer(), stopDamage)
    		addEventHandler ("onClientPlayerStealthKill", getLocalPlayer(), stopDamage)
    		addEventHandler ("onClientPedDamage", getLocalPlayer(), stopDamage)
    		setElementAlpha (getLocalPlayer(), 255)
    		toggleControl ("fire", false)
    		toggleControl ("aim_weapon", false)
    		toggleControl ("vehicle_fire", false)
    		toggleControl ("vehicle_secondary_fire ", false)
    		setPlayerHudComponentVisible ("weapon", false)
    		setPlayerHudComponentVisible ("crosshair", false)
    		setPlayerHudComponentVisible ("ammo", false)
    		toggleControl (hitElement, "next_weapon", false)
            toggleControl (hitElement, "previous_weapon", false)
    	end
    end
    addEventHandler("onClientPlayerWasted", getLocalPlayer(), NoKill)
    
    function stopDamage ()
    		cancelEvent()
    end
    

    Serverside:

    
    addEventHandler ("onResourceStart",getResourceRootElement(getThisResource()),
    function()
      local allGreenzones = getElementsByType ("radararea")
      for i,v in ipairs (allGreenzones) do
        local r,g,b,a = getRadarAreaColor (v)
        if (r == 0) and (g == 255) and (b == 0) and (a == 127) then
          local x,y = getElementPosition (v)
          local sx,sy = getRadarAreaSize (v)
          local col = createColCuboid (x,y, -50, sx,sy, 7500)
          setElementID (col, "greenzoneColshape")
    	  setElementDimension(col,0)
    	  setElementInterior(col,0)
        end
      end
    end)
    
    zonaverde = false
    
    addEventHandler ("onPlayerWasted", getRootElement(), 
    function(hitElement)
    zonaverde = true
    end
    )
    
    addEventHandler ("onColShapeHit", getRootElement(), 
    function(hitElement, matchingDimension)
      if (isElement(hitElement)) and (getElementType (hitElement) == "player") and (getElementID (source) == "greenzoneColshape") then
      if getElementData(hitElement,"DmActivado") == true then
      zonaverde = true  
      triggerClientEvent (hitElement, "entra", hitElement)
      setElementData(hitElement,"EstaDentroDeUnaZonaVerde",true)
      outputChatBox("#ffffff[#00f5ffLPM#ffffff] Entrando a una zona verde.", hitElement, 255, 255, 255, true)
      outputDebugString ( "Entro desde Serverside (Dm activo)" )
      else
    			outputDebugString ( "Entro desde Serverside (Dm inactivo)" )
    			triggerClientEvent (hitElement, "entra", hitElement)
    			zonaverde = true
    			outputChatBox("#ffffff[#00f5ffLPM#ffffff] Entrando a una zona verde.", hitElement, 255, 255, 255, true)
    			setElementData(hitElement,"EstaDentroDeUnaZonaVerde",true)
    	        toggleControl (hitElement,"fire", false)
                toggleControl (hitElement,"aim_weapon", false)
                toggleControl (hitElement,"vehicle_fire", false)
                toggleControl (hitElement,"vehicle_secondary_fire ", false)
                toggleControl (hitElement,"next_weapon", false)
                toggleControl (hitElement,"previous_weapon", false)
                setPlayerHudComponentVisible (hitElement,"weapon", false)
                setPlayerHudComponentVisible (hitElement,"crosshair", false)
                setPlayerHudComponentVisible (hitElement,"ammo", false)
                toggleControl (hitElement,"next_weapon", false)
                toggleControl (hitElement,"previous_weapon", false)
    			setPedWeaponSlot(hitElement,0)
    			end
    			end
      end
      )
    
    addEventHandler ("onColShapeLeave", getRootElement(), 
    function(leaveElement, matchingDimension)
       if (isElement(leaveElement)) and (getElementType (leaveElement) == "player") and (getElementID (source) == "greenzoneColshape") then
       if (getElementData (leaveElement, "DmActivado") == true) then
      zonaverde = false
      setElementData(leaveElement,"EstaDentroDeUnaZonaVerde",false)
      triggerClientEvent (leaveElement, "sale", leaveElement)
      outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verdee.", leaveElement, 255, 255, 255, true)
      outputDebugString ( "Salio desde Serverside (Dm activo)" )
      else
    	outputDebugString ( "Salio desde Serverside (Dm inactivo)" )
    	setElementAlpha ( leaveElement, 255 )
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verde.", leaveElement, 255, 255, 255, true)
    	zonaverde = false
    	setElementData(leaveElement,"EstaDentroDeUnaZonaVerde",false)
    	toggleControl (leaveElement,"fire", true)
        toggleControl (leaveElement,"aim_weapon", true)
        toggleControl (leaveElement,"vehicle_fire", true)
        toggleControl (leaveElement,"vehicle_secondary_fire ", true)
        toggleControl (leaveElement,"next_weapon", true)
        toggleControl (leaveElement,"previous_weapon", true)
        setPlayerHudComponentVisible (leaveElement,"weapon", true)
        setPlayerHudComponentVisible (leaveElement,"crosshair", true)
        setPlayerHudComponentVisible (leaveElement,"ammo", true)
        toggleControl (leaveElement,"next_weapon", true)
        toggleControl (leaveElement,"previous_weapon", true)
    	setPedWeaponSlot(leaveElement,0)
    	triggerClientEvent (leaveElement, "sale", leaveElement)
      end
      end
    end)
    
    function comando(source)
    if getElementData(source,"EstaDentroDeUnaZonaVerde") == false then
    triggerClientEvent ("pasivo",source)
    else
    outputChatBox("[LPM] Para desactivar/activar el Modo DM tenes que estar afuera de una zona verde.",source,255,0,0)
    end
    end
    addCommandHandler ("dm",comando)
    
    
    --------------- coemienza script dm
    function on()
    	local name = getPlayerName(source)
    	setElementData(source,"DmActivado",true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Desactivaste el Modo DeathMatch MTA-LPM.", source, 255, 255, 255, true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] #00ff00"..name.."#FFFFFF Se retiro del deathmatch MTA-LPM (#00ff00/dm#ffffff)", getRootElement(), 255, 255, 255, true)
    end
    addEvent("DmON", true)
    addEventHandler("DmON",getRootElement(),on)
    
    function off()
    	local name = getPlayerName(source)
    	setElementData(source,"DmActivado",false)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Activaste el Modo DeathMatch MTA-LPM.", source, 255, 255, 255, true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] #00ff00"..name.."#FFFFFF Esta ahora jugando al deathmatch MTA-LPM (#00ff00/dm#ffffff)", getRootElement(), 255, 255, 255, true)
    end
    addEvent("DmOFF", true)
    addEventHandler("DmOFF",getRootElement(),off)
    
    
    function off2()
    	local name = getPlayerName(source)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Tu deathmatch ha sido activado automaticamente (Zona Verde).", source, 255, 255, 255, true)
    end
    addEvent("DmOFF2", true)
    addEventHandler("DmOFF2",getRootElement(),off2)
    
    
    function MensajeAntiAbuse()
    	outputChatBox("[LPM] Tenes que esperar antes de usar nuevamente el comando /dm.", source, 255, 255, 0, true)
    end
    addEvent("MensajeAntiAbuse", true)
    addEventHandler("MensajeAntiAbuse",getRootElement(),MensajeAntiAbuse)
    

     

     

  14. 2 hours ago, #Dv^ said:

    Eso es por seguro estás usando toggleControl en ambos scripts
    Un ejemplo:

    Al entrar a la greenzone 

    
    toggleControl (hitElement,"aim_weapon", false)

    Al salir de la greezone
     

    
    toggleControl (hitElement,"aim_weapon", true)

    Y con el script de deathmath si estás usando toggleControl sería lo mismo que greenzone
    Al activar el dm
     

    
    toggleControl (hitElement,"aim_weapon", false)

    Al desactivar el dm
     

    
    toggleControl (hitElement,"aim_weapon", true)

    Entonces, si tienes dm activado y estás dentro de la greenzone, el jugador al salir de la greenzone con el dm ya activado pasaría esto
     

    
    toggleControl (hitElement,"aim_weapon", true)

    El jugador podrá apuntar con su arma, pero no le podrán hacer daño por que tiene el "dm" aún activado y ese sería el bug, no le podrán hacer daño por que seguro estás cancelando el evento onClientPlayerDamage para que el jugador local no reciba daño
    En un post anterior tuyo tienes el mismo problema parecido a este, por eso pensé que estás usando toggleControl en ambos scripts: https://forum.multitheftauto.com/topic/67918-ayuda-script-dm/ 

     

    No tengo ningun otro script que realice la activacion de Greenzones ( ni siquiera el script Greenzones ) ; es más, probé eliminando todos los toggleControl de este script y al salir sigue fallando, ¿será otro script que está en conflicto y no se cuál es? ¿cómo podría detectarlo? Es que tengo muchos!

  15. Tengo otro problema, ya cambie eso que me dijeron en el código y funciona, muchas gracias, pero cuando salgo de una Zona Verde me vuelve a activar las armas y se puede matar y te vuelves invencible. (La funcion del script es un activador/desactivador de Deathmatch, al estar activo, todas tus armas son desactivadas y no te pueden matar, al entrar en zonas verdes en el script supuestamente no deberia haber ningun efecto cuando lo tienes activo, ya que lo hago con setElementData y getElementData tanto en servidor como cliente, pero cuando esta inactivo, al entrar en las zonas verdes, se tiene que desactivar las armas y ser invencible para evitar el Pvp) pero por alguna razon no funciona cuando el Dm esta activo y sales de la zona verde, se reactivan las armas y te vuelves inmortal.

  16. 4 hours ago, Tomas said:

    En ese caso el evento solo se adheriría a la última col creada, hay que usar resourceRoot.

    Entonces quedaría así? , Perdon por preguntar tanto, solo quiero estar seguro! gracias desde ya jeje

     

    addEventHandler ("onResourceStart",getResourceRootElement(getThisResource()),
    function()
      local allGreenzones = getElementsByType ("radararea")
      for i,v in ipairs (allGreenzones) do
        local r,g,b,a = getRadarAreaColor (v)
        if (r == 0) and (g == 255) and (b == 0) and (a == 127) then
          local x,y = getElementPosition (v)
          local sx,sy = getRadarAreaSize (v)
          col = createColCuboid (x,y, -50, sx,sy, 7500)
          setElementID (col, "greenzoneColshape")
    	  setElementDimension(col,0)
    	  setElementInterior(col,0)
        end
      end
    end)
    zonaverde = false
    addEventHandler ("onPlayerWasted", getRootElement(), 
    function(hitElement)
    zonaverde = true
    end
    )
    addEventHandler ("onColShapeHit", resourceRoot(), 
    function(hitElement, matchingDimension)
      if (isElement(hitElement)) and (getElementType (hitElement) == "player") and (getElementID (source) == "greenzoneColshape") then
      if getElementData(hitElement,"DmActivado") == true then
      zonaverde = true  
      triggerClientEvent (hitElement, "entra", hitElement)
      setElementData(hitElement,"EstaDentroDeUnaZonaVerde",true)
      outputChatBox("#ffffff[#00f5ffLPM#ffffff] Entrando a una zona verde.", hitElement, 255, 255, 255, true)
      outputDebugString ( "Entro desde Serverside (Dm activo)" )
      else
    			outputDebugString ( "Entro desde Serverside (Dm inactivo)" )
    			triggerClientEvent (hitElement, "entra", hitElement)
    			zonaverde = true
    			outputChatBox("#ffffff[#00f5ffLPM#ffffff] Entrando a una zona verde.", hitElement, 255, 255, 255, true)
    			setElementData(hitElement,"EstaDentroDeUnaZonaVerde",true)
    	        toggleControl (hitElement,"fire", false)
                toggleControl (hitElement,"aim_weapon", false)
                toggleControl (hitElement,"vehicle_fire", false)
                toggleControl (hitElement,"vehicle_secondary_fire ", false)
                toggleControl (hitElement,"next_weapon", false)
                toggleControl (hitElement,"previous_weapon", false)
                setPlayerHudComponentVisible (hitElement,"weapon", false)
                setPlayerHudComponentVisible (hitElement,"crosshair", false)
                setPlayerHudComponentVisible (hitElement,"ammo", false)
                toggleControl (hitElement,"next_weapon", false)
                toggleControl (hitElement,"previous_weapon", false)
    			setPedWeaponSlot(hitElement,0)
    			end
    			end
      end
      )
    addEventHandler ("onColShapeLeave", resourceRoot(), 
    function(leaveElement, matchingDimension)
       if (isElement(leaveElement)) and (getElementType (leaveElement) == "player") and (getElementID (source) == "greenzoneColshape") then
       if (getElementData (leaveElement, "DmActivado") == true) then
      zonaverde = false
      setElementData(leaveElement,"EstaDentroDeUnaZonaVerde",false)
      triggerClientEvent (leaveElement, "sale", leaveElement)
      outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verdee.", leaveElement, 255, 255, 255, true)
      outputDebugString ( "Salio desde Serverside (Dm activo)" )
      else
    	outputDebugString ( "Salio desde Serverside (Dm inactivo)" )
    	setElementAlpha ( leaveElement, 255 )
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verde.", leaveElement, 255, 255, 255, true)
    	zonaverde = false
    	setElementData(leaveElement,"EstaDentroDeUnaZonaVerde",false)
    	toggleControl (leaveElement,"fire", true)
        toggleControl (leaveElement,"aim_weapon", true)
        toggleControl (leaveElement,"vehicle_fire", true)
        toggleControl (leaveElement,"vehicle_secondary_fire ", true)
        toggleControl (leaveElement,"next_weapon", true)
        toggleControl (leaveElement,"previous_weapon", true)
        setPlayerHudComponentVisible (leaveElement,"weapon", true)
        setPlayerHudComponentVisible (leaveElement,"crosshair", true)
        setPlayerHudComponentVisible (leaveElement,"ammo", true)
        toggleControl (leaveElement,"next_weapon", true)
        toggleControl (leaveElement,"previous_weapon", true)
    	setPedWeaponSlot(leaveElement,0)
    	triggerClientEvent (leaveElement, "sale", leaveElement)
      end
      end
    end)
    function comando(source)
    if getElementData(source,"EstaDentroDeUnaZonaVerde") == false then
    triggerClientEvent ("pasivo",source)
    else
    outputChatBox("[LPM] Para desactivar/activar el Modo DM tenes que estar afuera de una zona verde.",source,255,0,0)
    end
    end
    addCommandHandler ("dm",comando)
    --------------- coemienza script dm
    function on()
    	local name = getPlayerName(source)
    	setElementData(source,"DmActivado",true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Desactivaste el Modo DeathMatch MTA-LPM.", source, 255, 255, 255, true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] #00ff00"..name.."#FFFFFF Se retiro del deathmatch MTA-LPM (#00ff00/dm#ffffff)", getRootElement(), 255, 255, 255, true)
    end
    addEvent("DmON", true)
    addEventHandler("DmON",getRootElement(),on)
    function off()
    	local name = getPlayerName(source)
    	setElementData(source,"DmActivado",false)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Activaste el Modo DeathMatch MTA-LPM.", source, 255, 255, 255, true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] #00ff00"..name.."#FFFFFF Esta ahora jugando al deathmatch MTA-LPM (#00ff00/dm#ffffff)", getRootElement(), 255, 255, 255, true)
    end
    addEvent("DmOFF", true)
    addEventHandler("DmOFF",getRootElement(),off)
    function off2()
    	local name = getPlayerName(source)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Tu deathmatch ha sido activado automaticamente (Zona Verde).", source, 255, 255, 255, true)
    end
    addEvent("DmOFF2", true)
    addEventHandler("DmOFF2",getRootElement(),off2)
    function MensajeAntiAbuse()
    	outputChatBox("[LPM] Tenes que esperar antes de usar nuevamente el comando /dm.", source, 255, 255, 0, true)
    end
    addEvent("MensajeAntiAbuse", true)
    addEventHandler("MensajeAntiAbuse",getRootElement(),MensajeAntiAbuse)

     

  17. 5 hours ago, MarkFlash said:

    Quizás sea los argumentos o la forma que lo scripteaste

     

    o al menos que publiques tu código para que te puedan ayudar.

    Clientside:

    --- by BRUNO
    setElementData (getLocalPlayer(), "DmActivado", false)
    
    addEvent ("entra",true)
    addEventHandler ("entra",getRootElement(),
    function()
     if (getElementData (getLocalPlayer(), "DmActivado") == true) then
     outputDebugString ( "Entro desde Clientside (Dm activo)" )
    	else
    		addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopDamage )
    		addEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), stopDamage )
    		addEventHandler ( "onClientPedDamage", getLocalPlayer(), stopDamage )
    		toggleControl ("fire", false)
    		toggleControl ("aim_weapon", false)
    		toggleControl ("vehicle_fire", false)
    		toggleControl ("vehicle_secondary_fire ", false)
    		setPlayerHudComponentVisible ("weapon", false)
    		setPlayerHudComponentVisible ("crosshair", false)
    		setPlayerHudComponentVisible ("ammo", false)
    		toggleControl ("next_weapon", false)
            toggleControl ("previous_weapon", false)
    		outputDebugString ( "Entro desde Clientside (Dm inactivo)" )
    	end
    	end
    )
    
    
    addEvent ("sale",true)
    addEventHandler ("sale",getRootElement(),
    function()
     if (getElementData (getLocalPlayer(), "DmActivado") == true) then
     outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verdee!")
    	else
    		removeEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopDamage )
    		removeEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), stopDamage )
    		removeEventHandler ( "onClientPedDamage", getLocalPlayer(), stopDamage )
    		toggleControl ("fire", true)
    		toggleControl ("aim_weapon", true)
    		toggleControl ("vehicle_fire", true)
    		toggleControl ("vehicle_secondary_fire ", true)
    		setPlayerHudComponentVisible ("weapon", true)
    		setPlayerHudComponentVisible ("crosshair", true)
    		setPlayerHudComponentVisible ("ammo", true)
    		toggleControl ("next_weapon", true)
            toggleControl ("previous_weapon", true)
    		outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verde!")
    	end
    	end
    )
    
        anti_pasivo_abuse = false
         
        function pasivo()
            if anti_pasivo_abuse then 
    		triggerServerEvent("MensajeAntiAbuse", getLocalPlayer(), getLocalPlayer())
    		return end
            anti_pasivo_abuse = true
            setTimer(function() anti_pasivo_abuse = false end, 
    3000, 1)
    		if (getElementData (getLocalPlayer(), "DmActivado") == false) then
    			setElementData (getLocalPlayer(), "DmActivado", true)
                addEventHandler ("onClientPlayerDamage", getLocalPlayer(), stopDamage)
                addEventHandler ("onClientPlayerStealthKill", getLocalPlayer(), stopDamage)
                addEventHandler ("onClientPedDamage", getLocalPlayer(), stopDamage)
                toggleControl ("fire", false)
                toggleControl ("aim_weapon", false)
                toggleControl ("vehicle_fire", false)
                toggleControl ("vehicle_secondary_fire ", false)
                toggleControl ("next_weapon", false)
                toggleControl ("previous_weapon", false)
                setPlayerHudComponentVisible ("weapon", false)
                setPlayerHudComponentVisible ("crosshair", false)
                setPlayerHudComponentVisible ("ammo", false)
                triggerServerEvent("DmON", getLocalPlayer(), getLocalPlayer())
    			outputDebugString ( "Dm activado desde ClientSide" )
            else
    			setElementData (getLocalPlayer(), "DmActivado", false)
                removeEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopDamage )
                removeEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), stopDamage )
                removeEventHandler ( "onClientPedDamage", getLocalPlayer(), stopDamage )
                setElementAlpha (getLocalPlayer(), 155)
                toggleControl ("fire", true)
                toggleControl ("aim_weapon", true)
                toggleControl ("vehicle_fire", true)
                toggleControl ("vehicle_secondary_fire ", true)
                toggleControl ("next_weapon", true)
                toggleControl ("previous_weapon", true)
                setPlayerHudComponentVisible ("weapon", true)
                setPlayerHudComponentVisible ("crosshair", true)
                setPlayerHudComponentVisible ("ammo", true)
                toggleControl ("next_weapon", true)
                toggleControl ("previous_weapon", true)
                triggerServerEvent("DmOFF", getLocalPlayer(), getLocalPlayer())
    			outputDebugString ( "Dm desactivado desde ClientSide" )
            end
        end
    addEvent ("pasivo",true)
    addEventHandler ("pasivo",getLocalPlayer(),pasivo)
    
    function NoKill()
    	if (getElementData (getLocalPlayer(), "DmActivado") == true) then
    		addEventHandler ("onClientPlayerDamage", getLocalPlayer(), stopDamage)
    		addEventHandler ("onClientPlayerStealthKill", getLocalPlayer(), stopDamage)
    		addEventHandler ("onClientPedDamage", getLocalPlayer(), stopDamage)
    		setElementAlpha (getLocalPlayer(), 255)
    		toggleControl ("fire", false)
    		toggleControl ("aim_weapon", false)
    		toggleControl ("vehicle_fire", false)
    		toggleControl ("vehicle_secondary_fire ", false)
    		setPlayerHudComponentVisible ("weapon", false)
    		setPlayerHudComponentVisible ("crosshair", false)
    		setPlayerHudComponentVisible ("ammo", false)
    		toggleControl (hitElement, "next_weapon", false)
            toggleControl (hitElement, "previous_weapon", false)
    	end
    end
    addEventHandler("onClientPlayerWasted", getLocalPlayer(), NoKill)
    
    function stopDamage ()
    		cancelEvent()
    end

    Serverside:

    addEventHandler ("onResourceStart",getResourceRootElement(getThisResource()),
    function()
      local allGreenzones = getElementsByType ("radararea")
      for i,v in ipairs (allGreenzones) do
        local r,g,b,a = getRadarAreaColor (v)
        if (r == 0) and (g == 255) and (b == 0) and (a == 127) then
          local x,y = getElementPosition (v)
          local sx,sy = getRadarAreaSize (v)
          local col = createColCuboid (x,y, -50, sx,sy, 7500)
          setElementID (col, "greenzoneColshape")
    	  setElementDimension(col,0)
    	  setElementInterior(col,0)
        end
      end
    end)
    
    zonaverde = false
    
    addEventHandler ("onPlayerWasted", getRootElement(), 
    function(hitElement)
    zonaverde = true
    end
    )
    
    addEventHandler ("onColShapeHit", getRootElement(), 
    function(hitElement, matchingDimension)
      if (isElement(hitElement)) and (getElementType (hitElement) == "player") and (getElementID (source) == "greenzoneColshape") then
      if getElementData(hitElement,"DmActivado") == true then
      zonaverde = true  
      triggerClientEvent (hitElement, "entra", hitElement)
      setElementData(hitElement,"EstaDentroDeUnaZonaVerde",true)
      outputChatBox("#ffffff[#00f5ffLPM#ffffff] Entrando a una zona verde.", hitElement, 255, 255, 255, true)
      outputDebugString ( "Entro desde Serverside (Dm activo)" )
      else
    			outputDebugString ( "Entro desde Serverside (Dm inactivo)" )
    			triggerClientEvent (hitElement, "entra", hitElement)
    			zonaverde = true
    			outputChatBox("#ffffff[#00f5ffLPM#ffffff] Entrando a una zona verde.", hitElement, 255, 255, 255, true)
    			setElementData(hitElement,"EstaDentroDeUnaZonaVerde",true)
    	        toggleControl (hitElement,"fire", false)
                toggleControl (hitElement,"aim_weapon", false)
                toggleControl (hitElement,"vehicle_fire", false)
                toggleControl (hitElement,"vehicle_secondary_fire ", false)
                toggleControl (hitElement,"next_weapon", false)
                toggleControl (hitElement,"previous_weapon", false)
                setPlayerHudComponentVisible (hitElement,"weapon", false)
                setPlayerHudComponentVisible (hitElement,"crosshair", false)
                setPlayerHudComponentVisible (hitElement,"ammo", false)
                toggleControl (hitElement,"next_weapon", false)
                toggleControl (hitElement,"previous_weapon", false)
    			setPedWeaponSlot(hitElement,0)
    			end
    			end
      end
      )
    
    addEventHandler ("onColShapeLeave", getRootElement(), 
    function(leaveElement, matchingDimension)
       if (isElement(leaveElement)) and (getElementType (leaveElement) == "player") and (getElementID (source) == "greenzoneColshape") then
       if (getElementData (leaveElement, "DmActivado") == true) then
      zonaverde = false
      setElementData(leaveElement,"EstaDentroDeUnaZonaVerde",false)
      triggerClientEvent (leaveElement, "sale", leaveElement)
      outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verdee.", leaveElement, 255, 255, 255, true)
      outputDebugString ( "Salio desde Serverside (Dm activo)" )
      else
    	outputDebugString ( "Salio desde Serverside (Dm inactivo)" )
    	setElementAlpha ( leaveElement, 255 )
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Saliendo de una zona verde.", leaveElement, 255, 255, 255, true)
    	zonaverde = false
    	setElementData(leaveElement,"EstaDentroDeUnaZonaVerde",false)
    	toggleControl (leaveElement,"fire", true)
        toggleControl (leaveElement,"aim_weapon", true)
        toggleControl (leaveElement,"vehicle_fire", true)
        toggleControl (leaveElement,"vehicle_secondary_fire ", true)
        toggleControl (leaveElement,"next_weapon", true)
        toggleControl (leaveElement,"previous_weapon", true)
        setPlayerHudComponentVisible (leaveElement,"weapon", true)
        setPlayerHudComponentVisible (leaveElement,"crosshair", true)
        setPlayerHudComponentVisible (leaveElement,"ammo", true)
        toggleControl (leaveElement,"next_weapon", true)
        toggleControl (leaveElement,"previous_weapon", true)
    	setPedWeaponSlot(leaveElement,0)
    	triggerClientEvent (leaveElement, "sale", leaveElement)
      end
      end
    end)
    
    function comando(source)
    if getElementData(source,"EstaDentroDeUnaZonaVerde") == false then
    triggerClientEvent ("pasivo",source)
    else
    outputChatBox("[LPM] Para desactivar/activar el Modo DM tenes que estar afuera de una zona verde.",source,255,0,0)
    end
    end
    addCommandHandler ("dm",comando)
    
    
    --------------- coemienza script dm
    function on()
    	local name = getPlayerName(source)
    	setElementData(source,"DmActivado",true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Desactivaste el Modo DeathMatch MTA-LPM.", source, 255, 255, 255, true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] #00ff00"..name.."#FFFFFF Se retiro del deathmatch MTA-LPM (#00ff00/dm#ffffff)", getRootElement(), 255, 255, 255, true)
    end
    addEvent("DmON", true)
    addEventHandler("DmON",getRootElement(),on)
    
    function off()
    	local name = getPlayerName(source)
    	setElementData(source,"DmActivado",false)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Activaste el Modo DeathMatch MTA-LPM.", source, 255, 255, 255, true)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] #00ff00"..name.."#FFFFFF Esta ahora jugando al deathmatch MTA-LPM (#00ff00/dm#ffffff)", getRootElement(), 255, 255, 255, true)
    end
    addEvent("DmOFF", true)
    addEventHandler("DmOFF",getRootElement(),off)
    
    
    function off2()
    	local name = getPlayerName(source)
    	outputChatBox("#ffffff[#00f5ffLPM#ffffff] Tu deathmatch ha sido activado automaticamente (Zona Verde).", source, 255, 255, 255, true)
    end
    addEvent("DmOFF2", true)
    addEventHandler("DmOFF2",getRootElement(),off2)
    
    
    function MensajeAntiAbuse()
    	outputChatBox("[LPM] Tenes que esperar antes de usar nuevamente el comando /dm.", source, 255, 255, 0, true)
    end
    addEvent("MensajeAntiAbuse", true)
    addEventHandler("MensajeAntiAbuse",getRootElement(),MensajeAntiAbuse)

     

  18. 3 hours ago, aka Blue said:

     

    El problema es que no pasa solo con el mensaje, sino con los eventos, es como que el script se ejecuta 2 veces en su totalidad, pero si pongo en stop todos los script excepto el , funciona bien.

×
×
  • Create New...