-Rex-

Members
  • Content count

    215
  • Joined

  • Last visited

Community Reputation

4 Neutral

3 Followers

About -Rex-

  • Rank
    Chump

Details

  • Location
    Ecuador
  • Interests
    Powerlifting
  1. MODO LINEAGE2

    Algo parecido al LOL.
  2. Tapleto Host es de fiar?

    Ya lo probe, tiene Mala ping.
  3. JOB - (2 personas) <AYUDA

    Explicate mejor ?) Ah, un consejo... Podrias usar tablas en vez de variables.
  4. [Ayuda] Tengo una duda!

    Podría servirte esa función https://wiki.multitheftauto.com/wiki/FetchRemote
  5. POR DONDE EMPIEZO?

    Todos aqui empezamos en Lua, Jeje. Es más facil de aprender, Podrias empezar creando scripts basicos y de ahi poco a poco poniendote retos; Pero si lo que quieres es empezar de lleno en la programación, Pues C# es un buen lenguaje. Zysharp suena mas zukulemto 7w7
  6. [Ayuda] Tengo una duda!

    Podrías sizas descargar el archivo desde servidor y mandarlo al lado del cliente para que se carge.
  7. Es necesario que veas esto!......

    http://mtaz.wikiforum.net/ Ve a la seccion tutoriales y busca.
  8. [APORTE] Sistema básico de grupos

    No es necesario que instales nada a tu servidor
  9. Es necesario que veas esto!......

    En el foro brasileño encuentras tutoriales de todo eso
  10. Buscando entre las cosas antiguas que tenia en mi PC, encontré un script que habia desarrollado hace algún tiempo y decidí por aportarlo a la comunidad. El script es simple, funciona por niveles de conquista, es decir cuando empiezas a conquistar un territorio comenzará desde 0 y cada siertos segundos irá aumentando de 1 en 1 los niveles. Server side --------------------------------------------------------------------- -- Desarrollador/Developer: -Rex- -- Proyecto/Proyect: N/A -- Contacto/Contact: https://www.facebook.com/rexscripting/ -- -- Libre uso y modificacion, No borrar los creditos, Gracias --------------------------------------------------------------------- local base = dbConnect( "sqlite", "base.db" ) local deleteOnStop = false function crearBaseDeDatos( ) if deleteOnStop then local qh = dbQuery( base,"DROP TABLE turfs" ) dbFree( qh ) end local cc = base:query( "CREATE TABLE IF NOT EXISTS turfs ( idturf INT, gangOwner STRING, color STRING )") dbFree( cc ) if isDbTableEmpty( base, "turfs" ) then for i=1,#zonePositions do dbExec( base,"INSERT INTO turfs ( idturf, gangOwner, color) VALUES(?,?,?)", i, "none", "#00ff00" ) end end for i, playerG in ipairs( getElementsByType( "player" )) do playerG:setData( "isInTurf", nil ) playerG:setData( "turfNivel", nil ) end for i,v in ipairs( zonePositions ) do local PosX = v.x local PosY = v.y local ancho = v.w local largo = v.h local col = createColRectangle( PosX, PosY, ancho, largo ) local radar = createRadarArea( PosX, PosY, ancho, largo, 0, 255, 0, 155 ) local testQuery = dbQuery( base, "SELECT * FROM turfs WHERE idturf=?", i ) local poll = dbPoll( testQuery, -1 ) for _, columna in ipairs( poll ) do local turfOwner = columna["gangOwner"] local turfColor = columna["color"] col:setData ( "turfID", i ) col:setData ( "turfOwner", turfOwner ) col:setData ( "turfColor", turfColor ) local colors = { getColorFromString( turfColor ) } local r = colors[1] local g = colors[2] local b = colors[3] setRadarAreaColor( radar, r, g, b, 155 ) end col:setData ( "turfC", true ) col:setData ( "turfRadar", radar ) end end addEventHandler( "onResourceStart", getRootElement(), crearBaseDeDatos ) function hill_Enter ( thePlayer ) if getElementData( source, "turfC" ) and getElementType( thePlayer ) == "player" then if not isPedInVehicle( thePlayer ) then local groupPlayer = getElementData( thePlayer, "Group" ) if not gangs[groupPlayer] then gangs[groupPlayer] = { } end if groupPlayer and groupPlayer ~= "N/A" then local turfID = source:getData( "turfID" ) local turfOwner = source:getData( "turfOwner" ) local radarArea = source:getData( "turfRadar" ) if turfOwner ~= "none" then outputChatBox( "Este territorio pertenece a "..turfOwner, thePlayer, 255, 255, 255, true ) end if turfOwner ~= groupPlayer then thePlayer:setData( "theTurf", source ) if not isRadarAreaFlashing( radarArea ) then setRadarAreaFlashing( radarArea, true ) end if not gangs[groupPlayer]["turf_"..tostring( turfID ) ] then if isTimer( gangs[groupPlayer]["timerturf_"..tostring( turfID ) ] ) then killTimer( gangs[groupPlayer]["timerturf_"..tostring( turfID ) ] ) end gangs[groupPlayer]["turf_"..tostring( turfID ) ] = 0 gangs[groupPlayer]["timerturf_"..tostring( turfID ) ] = setTimer( function ( col, thePlayer ) local groupPlayer = thePlayer:getData( "Group" ) local turfID = col:getData( "turfID" ) local turfOwner = col:getData( "turfOwner" ) local radarArea = col:getData( "turfRadar" ) local otrosGrupos = 0 local miGrupo = 0 local otrosGTable = groupPlayer for i,v in ipairs( getElementsWithinColShape( col, "player" ) ) do if getElementData( v, "Group" ) == groupPlayer then miGrupo = miGrupo + 1 end if v ~= thePlayer then if getElementData( v, "Group" ) ~= groupPlayer then if gruposOficiales[getElementData( v, "Group" )] then otrosGrupos = otrosGrupos + 1 otrosGTable = otrosGTable..", "..getElementData( v, "Group" ) end end end end if otrosGrupos == 0 then if miGrupo == 0 then local contador = gangs[groupPlayer]["turf_"..tostring( turfID ) ] if contador > 0 then gangs[groupPlayer]["turf_"..tostring( turfID ) ] = math.max( gangs[groupPlayer]["turf_"..tostring( turfID ) ] - 1, 0 ) else for i,v in ipairs( getElementsByType( "player" ) ) do if getElementData( v, "Group" ) == groupPlayer then outputChatBox( "Perdieron la conquista del territorio "..getTurfName( tonumber( turfID ) ), v, 255, 255, 255, true ) end end resetTurf( col ) resetGTimer( groupPlayer, turfID ) end return end gangs[groupPlayer]["turf_"..tostring( turfID ) ] = gangs[groupPlayer]["turf_"..tostring( turfID ) ] + 1 local contador = gangs[groupPlayer]["turf_"..tostring( turfID ) ] for i,v in ipairs( getElementsWithinColShape( col, "player" ) ) do if getElementData( v, "Group" ) == groupPlayer then setElementData ( v, "nivelTturf", contador ) end end if contador >= niveles then setTurfOwner( col, groupPlayer ) resetGTimer( groupPlayer, turfID ) darPremio( col, groupPlayer ) outputChatBox( groupPlayer.." Conquisto el territorio "..getTurfName( tonumber( turfID ) ), root, 255, 255, 255, true ) end else gangs[groupPlayer]["turf_"..tostring( turfID ) ] = math.max( gangs[groupPlayer]["turf_"..tostring( turfID ) ] - 1, 0 ) local value = aleatorio( ) if value then outputChatBox ( "#0000FF"..otrosGTable.." #00FF00Están en guerra por el territorio #0000FF"..getTurfName( tonumber( turfID ) ), root, 255, 255, 255, true ) end end end, segundosNivel*1000, 0, source, thePlayer ) end end end end end end addEventHandler ( "onColShapeHit", root, hill_Enter ) function hill_Leave ( thePlayer ) setElementData ( thePlayer, "theTurf", nil ) setElementData ( thePlayer, "nivelTturf", nil ) end addEventHandler ( "onColShapeLeave", root, hill_Leave ) function resetGTimer( group, turfID ) killTimer( gangs[group]["timerturf_"..tostring( turfID ) ] ) gangs[group]["turf_"..tostring( turfID ) ] = nil for i,v in ipairs( getElementsByType( "player" ) ) do if getElementData( v, "Group" ) == group then setElementData ( v, "theTurf", nil ) setElementData ( v, "nivelTturf", nil ) end end end function darPremio( col, group ) for i, player in ipairs( getElementsWithinColShape( col, "player" ) ) do if getElementData( player, "Group" ) == group then givePlayerMoney( player, 6000 ) end end end function toboolean(value) if type(value) == "string" or type(value) == "number" or type(value) == "table" then return true end return false end function dbTableExists( name ) if ( type( name ) == "string" ) then local qh = base:query( "SELECT * FROM "..name ) local tabla = qh:poll( -1 ) return toboolean ( tabla ) end return false end function isDbTableEmpty( database, tabla ) local testQuery = dbQuery( database, "SELECT * FROM "..tabla ) local poll = dbPoll( testQuery, -1 ) if #poll == 0 then return true end return false end function getTurfOwner( col ) if not getElementData ( col, "turfC" ) then return "none" end local data = getElementData ( col, "turfOwner" ) if data and data ~= "none" then return data end return "none" end function getTurfName( id ) if turfNames[id] then return turfNames[id] end return "Territorio Desconocido" end function aleatorio( ) local a = { [0] = false, [1] = true, [2] = false, [3] = false, } return a[math.random( 0, 3)] end function setTurfOwner( col, grupo ) local radarArea = col:getData( "turfRadar" ) local groupColor = exports.gpsystem:getGroupColor( grupo ) local colors = { getColorFromString( groupColor ) } local r = colors[1] local g = colors[2] local b = colors[3] col:setData ( "turfOwner", grupo ) col:setData ( "turfColor", turfColor ) setRadarAreaFlashing( radarArea, false ) setRadarAreaColor( radarArea, r, g, b, 155 ) dbExec( base, "UPDATE turfs SET gangOwner=?, color=? WHERE idturf=?", grupo, groupColor, col:getData( "turfID" ) ) end function resetTurf( col ) local radarArea = getElementData( col, "turfRadar" ) setRadarAreaFlashing( radarArea, false ) end Client side --------------------------------------------------------------------- -- Desarrollador/Developer: -Rex- -- Proyecto/Proyect: N/A -- Contacto/Contact: https://www.facebook.com/rexscripting/ -- -- Libre uso y modificacion, No borrar los creditos, Gracias --------------------------------------------------------------------- local x, y = guiGetScreenSize( ) local bool = false local parpadeo = 255 addEventHandler("onClientRender", root, function() if not bool then if parpadeo > 0 then parpadeo = parpadeo - 5 else bool = true end else if parpadeo < 255 then parpadeo = parpadeo + 5 else bool = false end end local turfCol = localPlayer:getData( "theTurf" ) if turfCol then local turfNivel = localPlayer:getData( "nivelTturf" ) dxDrawText("Conquista "..( turfNivel or 0 ).."/"..tostring( niveles ), 0 + 1, ( y-36 ) + 1, 1280 + 1, 590 + 1, tocolor(24, 24, 24, parpadeo), 1.00, "bankgothic", "center", "top", false, false, false, false, false) dxDrawText("Conquista "..( turfNivel or 0 ).."/"..tostring( niveles ), 0, ( y-36 ), 1280, 590, tocolor(247, 19, 19, parpadeo), 1.00, "bankgothic", "center", "top", false, false, false, false, false) end end ) Shared gangs = { } segundosNivel = 15 niveles = 10 zonePositions = { { x = -1347.57421875, y = 87.8779296875, w = 200, h = 200 }, { x = -1330.7109375, y = -162.4765625, w = 100, h = 100 }, { x = -1219.8310546875, y = -136.3349609375, w = 100, h = 100 }, } turfNames = { [1] = "Territorio 1", [2] = "Territorio 2", [3] = "Territorio 3", } No te olvides de agregar esto al meta.xml <oop>true</oop>
  11. Server y Client comandos

    Hablas del runcode ?
  12. ¿Cuanto cobrar?

    Yo preferi abandonar MTA para aprender lenguajes como C#, JavaScript y PHP. En MTA me ha tocado clientes los cuales pagan bien y otros que te ofrecen una miseria, Lo maximo que he llegado a cobrar son 50 dólares.
  13. [APORTE] Sistema básico de grupos

    Nuevas mejoras Bug de las alianzas fixeado Agregado sistema de confirmación al salir del grupo. Al intentar expulsar un jugador se deberá poner una razón por la cual fue expulsado ( Tipo como cuando te dan ban ) Pequeñas mejoras. https://mega.nz/#!iJhCUaLR!8lbnE9epFLox9y9CvVg019qAu2ao_mPcxezziezZ7gg El sistema aún se encuentra en versión beta por lo que seguire desarrollandolo conforme tenga tiempo
  14. [APORTE] Sistema básico de grupos

    Nueva versión disponible! https://mega.nz/#!7MQUkAyR!N8bbwjIHyvh-5I4l3ZLe0DmRDXTrF8s1WlWltkA7PxI