Jump to content

aka Blue

Members
  • Posts

    2,106
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by aka Blue

  1. Buenas. Bueno, tras acabar unas cuantas cosas importantes de mi servidor, he decidido hacer una pequeña combinación con el EXP_System de la comunidad. Bien, lo que quiero hacer es que, al matar a alguien, le suba el nivel al atacador. ¿Es eso posible? Y si es así, ¿cómo podría hacerlo? Gracias de antemano.
  2. No vendría mal algo de información sobre los scripts que tiene el servidor, fotos del servidor... pero aun así, suerte.
  3. No, no lo está. Mira el link nuevamente PD: Es porque entrabas con index.html
  4. Actualizaciones de la página Arrelgado un pequeño error que había en uno de los apartados de tutoriales en el cual, el código salía todo junto. Cambiado el formato del índex de la página a php. Añadidas funciones a los botones de puntuar que antes estaban inactivos. Créditos a @venadHD
  5. Hemos intentado innovar lo máximo posible añadiendo, pequeñas cosas, que, mejoran la experiencia de juego dentro del servidor. También estamos editando lo máximo posible el GM para que no sea lo mismo, es decir, cambiando paneles y demás. Gracias PD: Ésto no tiene nada que ver, pero... Viva Windows 10 .
  6. Solucionado. Gracias @Tomas, tiene unos segundos de retraso pero funciona perfectamente
  7. ¿Cómo podría hacer eso?
  8. Yo uso un tema para notepad++ que está super bien. Tiene un fondo así más oscuro. PD: Sublime Text 2 es para html y páginas web (hasta donde sé).
  9. No me di cuenta jaja. Ya lo corrijo. PD: Ahora arreglo eso, alex PD2: Sobre las tabulaciones, si te soy sincero, no sé cómo hacerlas en HTML ya que yo si lo tabulo en el código, no se mueve. Es decir, no lo lee.
  10. Bueno pues como podéis ver en el título, en ésta web que he creado iré publicando pequeños tutoriales sobre scripting en MTA. Algo sencillo para hacerse una idea de cómo va todo éste tema. Actualmente solo hay dos tutoriales los cuales añadí para tener algo de contenido en la página. También hay dos apartados, uno es el inicio y otro es el apartado de contacto para los que me quieran contactar. Bueno, sin más, abajo está el link de la página, espero que os sirva PD: He usado html y Bootstrap para hacer la página. Elegí bootstrap por su estilo. http://tutorialesmta.esy.es
  11. Osea, retiro el onClientResourceStart (estúpido por mi parte ) y meto un setTimer(paga, 60000, 0)?
  12. Bueno, hace una semana o así publiqué una duda sobre el PayDay. @Tomas pudo ayudarme y me pasó un código que funciona a la perfección pero el problema que tengo actualmente es el siguiente: Yo quiero hacer que a la hora indicada por hour y minutes, se ejecute 1 vez el payday para que le envíe el sueldo a los jugadores, Algo como if hour==15 and minutes == 10 then, osea, como lo tengo abajo. El código que tengo abajo no hace nada, @venadHD me dijo que añadiera un setTimer que no pare pero el problema de eso es que cuando llega la hora indicada, no para de hacer ticks y a enviar el payday. Osea, un desastre ya que se forran en 10 segundos (). ¿Hay alguna solución?  function paga ( ) local hour, minutes = getTime() for index, value in ipairs ( getElementsByType("player") ) do if hour == 15 and minutes == 18 then if ( exports.players:getCharacterID(value) ) then if ( exports.factions:isPlayerInFaction(value, 5) ) then if ( getFactionRank(value) == 1 ) then exports.players:giveMoney(value, 25) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Gobierno: #00FF00$25", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 2) then exports.players:giveMoney (value, 50) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Gobierno: #00FF00$50", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 3) then exports.players:giveMoney (value, 100) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Gobierno: #00FF00$100", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 4) then exports.players:giveMoney(value, 150) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Gobierno: #00FF00$150", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 5) then exports.players:giveMoney(value, 200) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Gobierno: #00FF00$200", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 6) then exports.players:giveMoney(value, 250) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Gobierno: #00FF00$250", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) end end elseif ( exports.factions:isPlayerInFaction(value, 4) ) then if ( getFactionRank(value) == 1 ) then exports.players:giveMoney(value, 0) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Taller: #00FF00$0", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 2) then exports.players:giveMoney (value, 25) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Taller: #00FF00$25", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 3) then exports.players:giveMoney (value, 50) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Taller: #00FF00$50", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 4) then exports.players:giveMoney(value, 80) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Taller: #00FF00$80", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 5) then exports.players:giveMoney(value, 120) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Taller: #00FF00$120", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 6) then exports.players:giveMoney(value, 150) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Taller: #00FF00$150", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) end end elseif ( exports.factions:isPlayerInFaction(value, 7) ) then if ( getFactionRank(value) == 1 ) then exports.players:giveMoney(value, 59) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Concesionario: #00FF00$50", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 2) then exports.players:giveMoney (value, 70) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Concesionario: #00FF00$70", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 3) then exports.players:giveMoney (value, 90) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Concesionario: #00FF00$90", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 4) then exports.players:giveMoney(value, 110) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Concesionario: #00FF00$110", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 5) then exports.players:giveMoney(value, 130) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Concesionario: #00FF00$130", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) elseif (getFactionRank(value) == 6) then exports.players:giveMoney(value, 150) outputChatBox ( "----------------------", value, 0, 255, 120, true) outputChatBox ( "Concesionario: #00FF00$150", value, 255, 193, 37, true) outputChatBox ( "----------------------", value, 0, 255, 120, true) end end end end addEventHandler("onClientResourceStart", getRootElement(), paga) function getFactionRank(player) db_call = exports.sql:query_assoc( "SELECT factionRank FROM character_to_factions WHERE characterID = " .. exports.players:getCharacterID(player) ) if ( db_call and #db_call >= 1 ) then for _, data in ipairs ( db_call ) do if ( data.factionRank ) then return data.factionRank else outputDebugString("Something went wrong, failing on looping "..getPlayerName(player).."'s data.") end end else outputDebugString("Something went wrong, failing on getting "..getPlayerName(player).."'s faction rank.") end end
  13. Solucionado gracias a Sasu PD: Pueden cerrar ésto.
  14. Porque no tienes acceso MySQL que sino, contrataba un hosting. Suerte
  15. Bueno pues como dije en el post de mi servidor, he implementado un nuevo sistema de muebles en el mismo muy sencillito. El problema que tengo, que se lo comenté a @venadHD es que los muebles no se guardan a la primera al ser puestos y al hacer restart vuelven a la posición en la cual pusiste dicho mueble. Quisiera saber si alguien está interesado en echarme una mano con ello y que me envíe un MP. Tengo un video privado en YouTube en el cual se puede ver el proceso el cual debes realizar para que se guarde el mueble.
  16. Bueno, estoy buscando un handling que sea compatible con coches de tracción trasera y que no cambie mucho su conducción. Quiero que aumente simplemente la velocidad y que le sea más fácil a la hora de girar en una curva, osea, que no se vaya mucho. He probado un montón de combinaciones y ninguna me ha salido como quería :c
  17. Para hacer ese panel usé guieditor, marqué cada panel y texto como relative. PD: Me salió ahora un problemilla. No funciona bien, es decir, cuando clickeo donde tendría que funcionar, no va. local screenW, screenH = guiGetScreenSize() renderizado = false function panelsito () dxDrawRectangle(screenW * 0.3896, screenH * 0.3529, screenW * 0.2285, screenH * 0.4023, tocolor(0, 0, 0, 100), false) dxDrawRectangle(screenW * 0.3896, screenH * 0.3034, screenW * 0.2285, screenH * 0.0495, tocolor(0, 255, 120, 150), false) dxDrawText("Panel Mecánico", screenW * 0.3896, screenH * 0.3008, screenW * 0.6182, screenH * 0.3529, tocolor(255, 255, 255, 255), 1.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(441, 297, 146, 32, tocolor(0, 255, 120, 44), false) dxDrawText("Reparar", screenW * 0.4307, screenH * 0.3854, screenW * 0.5742, screenH * 0.4284, tocolor(255, 255, 255, 255), 1.50, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(440, 349, 146, 32, tocolor(0, 255, 120, 44), false) dxDrawRectangle(441, 406, 146, 32, tocolor(0, 255, 120, 44), false) dxDrawText("Ruedas", screenW * 0.4297, screenH * 0.5273, screenW * 0.5732, screenH * 0.5703, tocolor(255, 255, 255, 255), 1.50, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(screenW * 0.4297, screenH * 0.6055, screenW * 0.1426, screenH * 0.0417, tocolor(0, 255, 120, 44), false) dxDrawRectangle(screenW * 0.4307, screenH * 0.6849, screenW * 0.1426, screenH * 0.0417, tocolor(0, 255, 120, 44), false) dxDrawText("Luces", screenW * 0.4307, screenH * 0.6849, screenW * 0.5742, screenH * 0.7279, tocolor(255, 255, 255, 255), 1.50, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(screenW * 0.3896, screenH * 0.7552, screenW * 0.2285, screenH * 0.0313, tocolor(0, 255, 120, 150), false) dxDrawText("Cerrar", screenW * 0.3896, screenH * 0.7552, screenW * 0.6182, screenH * 0.7865, tocolor(255, 255, 255, 255), 1.40, "default-bold", "center", "top", false, false, false, false, false) dxDrawLine(screenW * 0.3896, screenH * 0.3034, screenW * 0.3896, screenH * 0.7852, tocolor(0, 0, 0, 200), 1, false) dxDrawLine(screenW * 0.6182, screenH * 0.3047, screenW * 0.6182, screenH * 0.7865, tocolor(0, 0, 0, 200), 1, false) dxDrawText("Pintar", screenW * 0.4307, screenH * 0.4544, screenW * 0.5742, screenH * 0.4974, tocolor(255, 255, 255, 255), 1.50, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("Inflar", screenW * 0.4307, screenH * 0.6042, screenW * 0.5742, screenH * 0.6471, tocolor(255, 255, 255, 255), 1.50, "default-bold", "center", "center", false, false, false, false, false) renderizado = true showCursor (true) end function openPanel() addEventHandler ( "onClientRender", getRootElement(), panelsito ) addEventHandler ( "onClientClick", getRootElement(), repararlo) end addEvent("openMeca", true) addEventHandler("openMeca", getRootElement(), openPanel) function isCursorOnElement(x,y,w,h) local cursorx, cursory = getCursorPosition () if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end function repararlo ( _,state) if renderizado then if state == "down" then if isCursorOnElement (0.4307, 0.3854, 0.5742, 0.4284) then triggerServerEvent ( "onReparar", getLocalPlayer() ) showCursor (false) renderizado = false removeEventHandler ( "onClientRender", root, panelsito ) removeEventHandler ( "onClientClick", getRootElement(), repararlo) elseif isCursorOnElement (0.4307, 0.6042, 0.5742, 0.6471) then abririnflar () renderizado = false showCursor (true) removeEventHandler ( "onClientRender", root, panelsito ) removeEventHandler ( "onClientClick", getRootElement(), repararlo) elseif isCursorOnElement ( 0.4307, 0.4544, 0.5742, 0.4974 ) then abrirelpanel () showCursor (true) renderizado = false removeEventHandler ( "onClientRender", root, panelsito ) removeEventHandler ( "onClientClick", getRootElement(), repararlo) elseif isCursorOnElement ( 0.4297, 0.5273, 0.5732, 0.5703 ) then ruedas () showCursor (true) renderizado = false removeEventHandler ( "onClientRender", root, panelsito ) removeEventHandler ( "onClientClick", getRootElement(), repararlo) elseif isCursorOnElement ( 0.4307, 0.6849, 0.5742, 0.7279 ) then lucesitas () showCursor (true) renderizado = false removeEventHandler ( "onClientRender", root, panelsito ) removeEventHandler ( "onClientClick", getRootElement(), repararlo) elseif isCursorOnElement ( 0.3896, 0.7552, 0.6182, 0.7865 ) then showCursor (false) renderizado = false removeEventHandler ( "onClientRender", root, panelsito ) removeEventHandler ( "onClientClick", getRootElement(), repararlo) end end end end addEventHandler ( "onClientClick", getRootElement(), repararlo)
  18. Vale, si, ya funciona. Ahora el problema lo tengo con un panel ajeno a ese y no entiendo por qué... PD: Arreglado, puse relative a ambos paneles. Gracias a todos
  19. Voy a probarlo a ver. Es que mira, lo que pasa es lo siguiente: Cuando pongo esa función, puedo darle click pero de donde le de en el panel de tuneos, me abre la GUI meca1.
  20. El problema ahí es el siguiente (disculpa doble post), como ves, tengo asignadas dos posiciones. La de cerrar y la de los parachoques delanteros. Muy bien, lo que pasa es que ponga donde ponga el cursor, en cualquier botón, sale la gui del parachoques delantero local screenW, screenH = guiGetScreenSize() abrido = false function tuneos () dxDrawRectangle(screenW * 0.7344, screenH * 0.3802, screenW * 0.2559, screenH * 0.0404, tocolor(0, 255, 120, 150), false) dxDrawText("Tuneos", screenW * 0.7344, screenH * 0.3802, screenW * 0.9902, screenH * 0.4206, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawRectangle(screenW * 0.7344, screenH * 0.4206, screenW * 0.2559, screenH * 0.3815, tocolor(0, 0, 0, 100), false) dxDrawRectangle(screenW * 0.7344, screenH * 0.7982, screenW * 0.2559, screenH * 0.0247, tocolor(0, 255, 120, 150), false) dxDrawText("Cerrar panel", screenW * 0.7344, screenH * 0.7982, screenW * 0.9902, screenH * 0.8229, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(screenW * 0.7842, screenH * 0.4336, screenW * 0.1611, screenH * 0.0326, tocolor(0, 0, 0, 150), false) dxDrawText("Parachoques\nDelantero", screenW * 0.7842, screenH * 0.4336, screenW * 0.9453, screenH * 0.4661, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(screenW * 0.7842, screenH * 0.4727, screenW * 0.1611, screenH * 0.0326, tocolor(0, 0, 0, 150), false) dxDrawText("Parachoques\nTrasero", screenW * 0.7842, screenH * 0.4727, screenW * 0.9453, screenH * 0.5052, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(screenW * 0.7842, screenH * 0.5117, screenW * 0.1611, screenH * 0.0326, tocolor(0, 0, 0, 150), false) dxDrawText("Alerones", screenW * 0.7842, screenH * 0.5117, screenW * 0.9453, screenH * 0.5443, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(803, 423, 165, 25, tocolor(0, 0, 0, 150), false) dxDrawText("Faldones\nDisponibles", screenW * 0.7842, screenH * 0.5508, screenW * 0.9453, screenH * 0.5833, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(803, 454, 165, 25, tocolor(0, 0, 0, 150), false) dxDrawText("Techos", screenW * 0.7842, screenH * 0.5911, screenW * 0.9453, screenH * 0.6237, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(803, 484, 165, 25, tocolor(0, 0, 0, 150), false) dxDrawText("Hidraulica", screenW * 0.7842, screenH * 0.6302, screenW * 0.9453, screenH * 0.6628, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(803, 514, 165, 25, tocolor(0, 0, 0, 150), false) dxDrawText("Barras delanteras", screenW * 0.7842, screenH * 0.6693, screenW * 0.9453, screenH * 0.7018, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(803, 547, 165, 25, tocolor(0, 0, 0, 150), false) dxDrawText("Barras Traseras", screenW * 0.7842, screenH * 0.7122, screenW * 0.9453, screenH * 0.7448, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(803, 578, 165, 25, tocolor(0, 0, 0, 150), false) dxDrawText("Tubos de escape", screenW * 0.7842, screenH * 0.7526, screenW * 0.9453, screenH * 0.7852, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false) showCursor(true) abrido = true end function dibujo() addEventHandler("onClientRender", getRootElement(), tuneos) addEventHandler("onClientClick", getRootElement(), clickeo) end addEvent("onTuneo", true) addEventHandler("onTuneo", getRootElement(), dibujo) function isCursorOnElement(x,y,w,h) local cursorx, cursory = getCursorPosition () if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end function clickeo ( _,state) if abrido then if state == "down" then if isCursorOnElement ( 0.7344, 0.7982, 0.9902, 0.8229) then--Boton cerrar abrido = false showCursor (false) removeEventHandler ( "onClientRender", root, tuneos ) removeEventHandler ( "onClientClick", getRootElement(), clickeo) elseif isCursorOnElement (0.7842, 0.4336, 0.9453, 0.4661 ) then--Parachoques delantero abrido = false exports.gui:show('meca1') showCursor (false) removeEventHandler ( "onClientRender", root, tuneos ) removeEventHandler ( "onClientClick", getRootElement(), clickeo) end end end end addEventHandler ( "onClientClick", getRootElement(), clickeo) --------------------------------------------------------------------------------------
×
×
  • Create New...