-
Posts
2,106 -
Joined
-
Last visited
-
Days Won
6
Everything posted by aka Blue
-
Te habrán baneado permanentemente. En MTA no pueden hacer nada. Debes contactar con el equipo administrativo o el dueño del servidor para pedir una apelación o disculparte y que te desbaneen.
-
Soy más de rol y tal. Si necesitáis alguna ayuda me escribes (siempre y cuando no sea algo que lleve demasiado tiempo porque entre encargos/deberes/exámenes ando corto de tiempo). Me gustaría colaborar en algo a lo que le veo futuro
-
@xRGamingx ----Broth local muteTime = 0 local timerMute = nil local mute = false function drawMuteTime( ) local screenW, screenH = guiGetScreenSize() if muteTime > 0 and mute == true then -----------162 LINE-------- dxDrawText("Muted time: "..muteTime, screenW * 0.0078, screenH * 0.6094, screenW * 0.2727, screenH * 0.6484, tocolor(255, 0, 0, 255), 1.00, "bankgothic", "left", "top", false, false, false, false, false) end end addEventHandler( "onClientRender", root, drawMuteTime ) addEvent( "mute:mutePlayer" ) addEventHandler( "mute:mutePlayer", getRootElement( ), function( time ) mute = true if timerMute then timerMute = nil end timerMute = setTimer( function( ) muteTime = 0 mute = false end, time, 1) muteTime = math.floor(getTimerDetails( timerMute )) end ) addEvent( "mute:unMutePlayer" ) addEventHandler( "mute:unMutePlayer", getRootElement( ), function( ) muteTime = 0 mute = false end )
-
@xRGamingx Try this: --Client local muteTime = 0 local mute = false function drawMuteTime( ) local screenW, screenH = guiGetScreenSize() if muteTime > 0 and mute = true then dxDrawText("Muted time: "..muteTime, screenW * 0.0078, screenH * 0.6094, screenW * 0.2727, screenH * 0.6484, tocolor(255, 0, 0, 255), 1.00, "bankgothic", "left", "top", false, false, false, false, false) end end addEventHandler( "onClientRender", root, drawMuteTime ) addEvent( "mute:mutePlayer" ) addEventHandler( "mute:mutePlayer", getRootElement( ), function( time ) muteTime = time mute = true setTimer( function( ) muteTime = 0 mute = false end, time, 1) end ) addEvent( "mute:unMutePlayer" ) addEventHandler( "mute:unMutePlayer", getRootElement( ), function( ) muteTime = 0 mute = false end ) ----Server function mute (player, time, rz) local times = getRealTime () local day = times.monthday local mes = times.month local yea = times.year local sec = times.second local min = times.minute local hou = times.hour local el = getPlayerFromName (player) local ad = getPlayerName (source) if el and rz then if time and tonumber(time) ~= nil then if getElementData(el, "Lv") <= getElementData(source, "Lv") then if not isPlayerMuted (el) then setPlayerMuted (el, true) local respeto = getPedStat (el, 64) setPedStat (el, 64, respeto-15) if not isGuestAccount (getPlayerAccount(el)) then executeSQLQuery("INSERT INTO Punish (Date, Element, Admin, Time, Reason) VALUES ('["..hou..":"..min..":"..sec.."("..day.."/"..(mes+1).."/"..yea..")]', '"..getAccountName(getPlayerAccount(el)).."', '"..ad.."', '"..time.." Min', '[Mute]"..rz.."')") end outputChatBox (ad.." Muted to "..player.." "..tonumber(time).." Min by: ("..rz..").", root, 255, 0, 0) setElementData (el, "NGtimeMute", time) setElementData(el,"NGGangMute",true) outputDebugString (ad.." Muted to "..player.." "..tonumber(time).." Min by: ("..rz..").") setTimer (desmutar, time*60*1000, 1, el) triggerClientEvent( el, "mute:mutePlayer", el, time*60*1000 ) else setPlayerMuted (el, false) setElementData(el,"NGGangMute",false) outputChatBox (ad.." Break to "..player, root, 255, 0, 0) outputDebugString (ad.." Break to "..player) setElementData (source, "NGTimeMute", 0) end else --outputChatBox (".", source, 255, 0, 0) end end else".", source, 255, 0,0) end end addEvent ("mute", true) addEventHandler ("mute", root, mute) function desmutar (player) if player and isElement(player) then if isPlayerMuted(player) then setPlayerMuted (player, false) setElementData (player, "NGTiempoMute", 0) triggerClientEvent( player, "mute:unMutePlayer", player ) outputChatBox (getPlayerName(player).."(FinISH del Mute)", root, 0, 255, 0) outputDebugString (getPlayerName(player).." It was desmutado (Finish Mute)") end end end -------------------------------------------------------------------------------- Mute Evade Fix addEventHandler ("onPlayerQuit", root, function () if not isGuestAccount(getPlayerAccount(source)) then if isPlayerMuted (source) then setAccountData (getPlayerAccount(source), "NGMuteEvade", getElementData(source, "NGtimeMute")) else setAccountData (getPlayerAccount(source), "NGMuteEvade", 0) end end end) addEventHandler ("onPlayerLogin", root, function () local ismute = getAccountData (getPlayerAccount(source), "NGMuteEvade") if ismute then if tonumber(ismute) >= 1 then setPlayerMuted(source, true) setElementData (source, "NGtimeMute", ismute) setTimer (desmutar, ismute*60*1000, 1, source) triggerClientEvent( el, "mute:mutePlayer", el, ismute*60*1000 ) outputChatBox ("[Console] Muted to "..getPlayerName(source).." "..ismute.." Min by: (Evade the Last Mute).", root, 255, 0, 0) end end end)
-
Podrías utilizar getPedBonePosition para obtener la posición de algún hueso del skin y attachElement, supongo.
-
Put local ping = getPlayerPing(getLocalPlayer()) inside the render. local screenW, screenH = guiGetScreenSize() -- you don't have to get the screen size inside the render function local disappearTime = 10 -- seconds --local ping = getPlayerPing(source) function ping2() if ping then local ping = getPlayerPing(getLocalPlayer()) dxDrawText("Weapons disabled Ping+ 600 ("..ping..")", screenW * 0.0492, screenH * 0.9453, screenW * 0.2281, screenH * 0.9714, tocolor(254, 53, 53, 254), 1.00, "default-bold", "center", "top", false, false, false, false, false) end end function handlePing2Render(state) -- if you want the timer solution then just delete the --[[ and the ]] at the end and delete the code above removeEventHandler("onClientRender",getRootElement(),ping2) -- add this so there won't be errors in debugscript about event is being already handled addEventHandler("onClientRender",getRootElement(),ping2) setTimer(function() removeEventHandler("onClientRender",getRootElement(),ping2) end, disappearTime*1000, 1) end addEvent("ping1", true) addEventHandler("ping1", root, handlePing2Render)
-
No me había fijado del todo. Muy chulo y muy currado. Espero no se quede como muchos proyectos, en la nada. Mucha suerte y éxitos! PD: Para la traducción, quisiera daros una idea que quizás renta más que estar creado un "diccionario" a mano. Utilizad una api del traductor de google. Ahora mismo traduce bastante bien todo.
-
Nunca mejor dicho jajajaja. Actualmente, los scripters con más conocimientos prefieren vender sus servicios para sacarle algo de provecho. No creo que nadie se una a tu comunidad solo por tener x cantidad de usuarios o por un mísero rango. Si estás dispuesto a pagar por servicios de scripting créeme que hay buenas opciones (sin contarme).
-
Estaba haciendo una de mis tonterías probando createLight sobre vehículos y me topé con un problema. local luz = { } addEventHandler( "onClientRender", root, function( ) local veh = getPedOccupiedVehicle( localPlayer ) if veh then local x, y, z = getVehicleComponentPosition( veh, "chassis", "world" ) if not luz[localPlayer] then luz[localPlayer] = createLight( 0, Vector3(x,y,z), getElementRadius( localPlayer )*2, 255, 0, 0 ) end attachElements( luz[localPlayer], veh ) else luz[localPlayer] = nil end end ) No obtiene los valores x, y, z del getVehicleComponentPosition. ¿Alguien podría decirme por qué? Se supone que está bien colocado pero nada, ni con comando. Me tira error en createLight, solicitado Vector3, lo pongo y nada. PD: No sé ni para qué pongo Vector3 porque directamente en el x, y, z no me devuelve nada. Gracias de antemano.
-
No sé, yo sinceramente creo que en lo que es la comunidad Española, sí que ha muerto porque la gente ha migrado o simplemente, se han cansado. No soy tan viejo como algunos, pero sí puedo hablar de cómo estaba antes éste subforo y de como drásticamente ha cambiado. Supongo que también es por la época, algunos están de exámenes, pero no lo sé.
-
Es un método super chorra, pero bueno, creo que ésto debería funcionar dxDrawRectangle( x + width / 4, y + 3, width / 2, line_height - 4, tocolor( 0, 0, 0, 150 ) )
-
No lo dije para montar bardo pero... ¿crees que yo voy a necesitar tu ayuda? jajajajjajajajaja andas muy equivocado. Mi fuente es otra, compañero. Por cosas como estas luego la gente roba scripts y hace lo que hace. Hay que ser también un poco más comprensivo que con nuestros conocimientos algo así no debe cobrarse tan caro. Eso ya es aprovecharse. pd: no hagas que me ría más, porfa jaja
-
[Ayuda] guiCreateStaticImage en Menu Freeroam
aka Blue replied to LimoN>w<'s topic in Recursos y aportes
¿Por qué utilizas guiSetEnabled? Simplemente al crear la ventana, lo dibujas encima de ésta y ya. -
En el apartado español siempre ha estado controlado ese tema. Creo que llevas el suficiente tiempo para saberlo. Yo sigo echando de menos la actividad en el forum que, por paginitas de éstas en las que sus creadores se creen los putos amos (salu2 zorro, 30$ por un script de miras...) ha disminuido considerablemente. Hace un par de años al minuto tenías una respuesta de alguien.
-
Resumen: página de facebook repleta de niños ratas que se creen "hackers" y roban recursos a servidores para venderlos o postearlos. Podrá ser lo más activa que quieras la página pero estas cosas no están bien.
-
Utiliza math.min y math.max. Un ejemplo de cómo utilizarlo es: math.min( exp + 50, 102 ) -- Subira 50 de exp hasta 102 math.max( exp - 100, 0 ) -- Bajara 100 hasta llegar a 0
-
@elcanario Ejemplo de la wiki que hace justamente lo que quieres: -- Setting water properties. height = 40 SizeVal = 2998 -- Defining variables. southWest_X = -SizeVal southWest_Y = -SizeVal southEast_X = SizeVal southEast_Y = -SizeVal northWest_X = -SizeVal northWest_Y = SizeVal northEast_X = SizeVal northEast_Y = SizeVal -- OnClientResourceStart function that creates the water. function thaResourceStarting( ) water = createWater ( southWest_X, southWest_Y, height, southEast_X, southEast_Y, height, northWest_X, northWest_Y, height, northEast_X, northEast_Y, height ) setWaterLevel ( height ) end addEventHandler("onClientResourceStart", resourceRoot, thaResourceStarting)
-
@elcanario Con ésto puedes hacerlo tú mismo: setWaterLevel
-
@Ernesto addEventHandler( "onVehicleExit", getRootElement( ), function( player, seat ) if player and seat == 0 then local veh = getPedOccupiedVehicle( player ) if veh then local data = vehicles[veh] if data then if data.vehicleID > 0 then local idplayer = exports.players:getCharacterID( player ) if idplayer == data.characterID or hasObjectPermissionTo( player, "command.spectate", false ) and not isVehicleJob[ getVehicleName( veh ) ] then local x, y, z = getElementPosition( veh ) local rx, ry, rz = getVehicleRotation( veh ) local success, error = exports.sql:query_free( "UPDATE vehicles SET respawnPosX = " .. x .. ", respawnPosY = " .. y .. ", respawnPosZ = " .. z .. ", respawnRotX = " .. rx .. ", respawnRotY = " .. ry .. ", respawnRotZ = " .. rz .. ", respawnInterior = " .. getElementInterior( veh ) .. ", respawnDimension = " .. getElementDimension( veh ) .. " WHERE vehicleID = " .. data.vehicleID ) if success then setVehicleRespawnPosition( veh, x, y, z, rx, ry, rz ) data.respawnInterior = getElementInterior( veh ) data.respawnDimension = getElementDimension( veh ) saveVehicle( veh ) outputChatBox( "El vehículo " .. data.vehicleID .. " (" .. getVehicleName( veh ) .. ") fue parkeado.", player, 0, 255, 0 ) else outputChatBox( "Parkeo del vehículo fallido.", player, 255, 0, 0 ) end end end end end end end )