Jump to content

Bc#

Members
  • Posts

    516
  • Joined

  • Last visited

Everything posted by Bc#

  1. En todos los trabajos es lo mismo :c
  2. Hahah Es solo una manera de decir que rara vez una persona con estudios regala su trabajo.
  3. Es sierto que no necesariamente tienes que usar la funcion onPlayerRegister, pero si esta existe por que no usarla? Si ya tienes algo hecho para que lo harás otra vez.
  4. --Define esto global-mente local isOpen = false --Reemplaza esto en todos los bindKey bindKey ( player, "F3", "down", main ) --Tambien el unbind unbindKey ( player, "F3", "down", main ) --Agrega esta funcion a tu codigo function main() if isOpen then isOpen = false --Inserta una funcion para cerrar tu panel else Lalavip() isOpen = true end end
  5. Dificil que un scripter "PRO" estaría interesado en el admin de un server. Yo cuando hago esto lo hago para amigos, por diversión, o por remuneración. Se por si un scripter tiene que tener admin en el servidor para probar todo, y si o si tener creditos por su trabajo. No estas ofreciendo nada real. Podrías empezar intentando hacer las cosas por ti mismo, y si no te resulta preguntar aquí. En la comunidad puedes encontrar muchos recursos básicos para armar tu servidor. Para algo mas "PRO", veo dificil que encuentres a alguien que te entregues sus servicios gratuitamente (y no hablo solo de editar scripts).
  6. Quitale la restricción por acl y ya esta. Si me vas a venir a preguntar como hacer eso, primero postea el codigo.
  7. -No te olvides de lo que dijo tomas, tienes que editarlo. Ya que cualquiera puede dar muteall y le funcionará el comando. Para eso te hice la función isAuthorized que verifica si el que ejecuto el comando es uno de los 2 players que pusiste. (es mas rápido y eficiente) -Elimine 2 funciones que no tenían relevancia. -Ahora la función muteará a todos excepto al que la ejecutó. (si quieres que no le de mute a los 2 autorizados, usa la función que cree) -Si te fijas, a pesar le agregue mas cosas a tu código no aumento la cantidad de lineas que tenias inicialmente. Intenta ser mas ordenado y optimizar tus códigos. --Se define globalmente local verif = false function unmuteAll (thePlayer) if not verif then outputChatBox ( "#00FFCC[MUTE] #FFFFFFTodos los jugadores ya estan desmuteados", thePlayer, 255, 255, 255, true ) --Mensaje solo para quien ejecutó el comando return end if isAuthorized(thePlayer) then for i,v in ipairs(getElementsByType ("player")) do if v ~= thePlayer then verif = false setPlayerMuted (v, false) end end if verif then verif = false outputChatBox ( "#00FFCC[MUTE] #FFFFFFError, no hay jugadores muteados", thePlayer, 255, 255, 255, true ) end end end addCommandHandler ("unmuteall", unmuteAll) function muteAll (thePlayer) if verif then outputChatBox ( "#00FFCC[MUTE] #FFFFFFTodos los jugadores ya estan muteados", thePlayer, 255, 255, 255, true ) --Mensaje solo para quien ejecutó el comando return end if isAuthorized(thePlayer) then for i,v in ipairs(getElementsByType ("player")) do if v ~= thePlayer then verif = true setPlayerMuted (v, true) end end if not verif then outputChatBox ( "#00FFCC[MUTE] #FFFFFFError, no hay jugadores para mutear.", thePlayer, 255, 255, 255, true ) --Mensaje solo para quien ejecutó el comando end end end addCommandHandler ("muteall", muteAll) function isAuthorized(thePlayer) local accName = getAccountName (getPlayerAccount (thePlayer)) local myAcc = "Pipe" local myAcc2 = "jonitho" if accName == myAcc or accName == myAcc2 then return true else return false end end
  8. Bc#

    [Ayuda] Tablas

    Mas que tablas podrías hacer algo mas especifico como una lista, en lua es muy sencillo el manejo de estas (Es como hacer una tabla pero con 1 dimensión). Ejemplo: --Creamos una lista lista = {} --Agregar elementos --table.insert (tabla, valor) table.insert[lista,"elemento 1"] --Agregar elementos en una pocision especifica de la tabla --table.insert (tabla, posición, valor) table.insert(lista,1,"elemento 0") --Eliminar elemento --table.remove (tabla , posición) table.remove(lista, 1) --Para recorrer una lista for i,v in ipairs(lista) do print(v) end --Nota: Tambien se puede añadir datos a la lista en la declaracion, separandolos por comas. lista2 = {"dato1", "dato2", "dato3"} --Nota 2: Puedes guardar cualquier tipo de dato en las listas, los ejemplos los hice con string pero tu puedes usar elementos para tu objetivo.
  9. Todos partimos queriendo correr antes de aprender a caminar, lee lo basico de lua: https://wiki.multitheftauto.com/wiki/Scripting_Introduction Si no sabes que es una tabla, menos sabrás como hacerla.
  10. Por lo mismo te dije que googlearas, no es algo que se aprenda con un simple ejemplo.
  11. Googlea Estructuras de datos, para que te orientes un poco, hay muchos mecanismos de ordenamiento ya programados, generalmente los mas fáciles son los menos optimos. Te dejo un link (para variar de wikipedia xdd) explicando mas menos el tema: http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento EDIT* Para orientarlos un poco mas miren un ejemplo de el mecanismo de ordenamiento Bubble Sort, que no es el mas optimo de todos, pero cuando se tratan de pocos datos es efectivo. Codigo: function bubbleSort(A) local itemCount=#A local hasChanged repeat hasChanged = false itemCount=itemCount - 1 for i = 1, itemCount do if A[i] > A[i + 1] then A[i], A[i + 1] = A[i + 1], A[i] hasChanged = true end end until hasChanged == false end Ejemplo: list = { 5, 6, 1, 2, 9, 14, 2, 15, 6, 7, 8, 97 } bubbleSort(list) for i, j in pairs(list) do print(j) end Esta función la pueden adecuar para que les ordene la tabla de jugadores cada vez que lo requieran.
  12. Ahi ya no te sirve dxDrawImagen3D, tendrias que hacer una edicion directa con dxDrawMaterialLine3D.
  13. Creo que la solucion esta en hacer 2 renderRarget, uno grande que contenga un mapa un tanto mas grande que el tamaño de tu radar, que al inclinarse no salga de sus limites, y que este contenga toda la informacion, ya sea blips, markers, etc. Y otro renderTarget para mostrar solo la area encerrada por el radar.
  14. Comprendi como funciona, solo que ahora tengo que reconstruir todo el modelo que tenia, ya que las variables del antiguo radar que tenia no me serviran. Tengo arduo trabajo para lograrlo.
  15. Me fue un poco complicado comprender el concepto pero ya lo logre, gracias por la ayuda
  16. Buenas, estoy intentando hacer una replica casi exacta del radar de GTA V y si ustedes lo han victo notaran que el mapa tiene una leve rotación en uno de sus ejes que permite al jugador observar una amplia zona del mapa en comparación al radar que estamos acostumbrados. Pensé en hacerlo usando dxDrawMaterialLine3D, pero creo que no es la mejor manera de hacerlo sin mencionar que es un poco tedioso calibrarlo. Luego recordé que asus había hecho algo similar inclinando una scoreboard para darle una hermosa animación, les dejo el link del vídeo: ¿Alguien sabe como hacer esto? PD: Se me ocurre crear una textura con el mapa, pero ¿como la podría renderizar para logar esa rotación?
  17. ¿No seria mas cómodo poner el delay de primer argumento? Quizá confundiría un poco pero te evitas tener que poner muchos argumentos innecesarios.
  18. Creo que eso es Client-side por lo que source no debería funcionar (no estoy 100% seguro). No se si te fijas pero la variable "ped" se pinta de color verde, por lo cual es una variable reservada y no la debes usar ya que te puede generar conflictos. Intenta cambiar la variable ped por otra.
  19. Es un desperdicio usar interpolateBetween para 1 variable y encima lineal. Simplemente en vez de sumar 50, suma valores mas bajos, así durara mas la animación.
  20. Lo publique así para el entendimiento de la función, pero igual gracias por la aclaración para el que no lo sabia.
  21. No soy experto en animaciones de ped, pero creo que con esto: setPedAnimation(source,false)
  22. Bc#

    Ayuda dxButton

    Si hablas con xiti y le pides derechos para usar su libreria dx, te enseño a usarla, es mucho mas optimo usar algo ya existente, a crearlo.
  23. Bc#

    Ayuda dxButton

    Si quieres algo realmente eficiente, crea las posiciones y dimensiones de tu objeto en una tabla, luego crea una usefull que te la reciba y y que cree el evento para ese botón. Así te ahorras estar haciendo un evento para cada botón y generalizas tu código, después hasta lo puedes re-utilizar sin necesidad de estar haciendo todo de nuevo.
  24. El problema es que el panel no cierra verdad? Tienes que ponerle la variable del boton, no el texto del boton como argumento al evento: addEventHandler ("onClientGUIClick", boton, SalirFuncion, false)
  25. ¿Por que el tostring si la variable ya es un string?
×
×
  • Create New...