Jump to content

0xCiBeR

MTA Team
  • Posts

    1,673
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by 0xCiBeR

  1. Estas usando la versión 64bit del servidor? EDIT: Seguí estos pasos: Inicia sessión en tu consola ssh. apt-get install gdb Navega hasta tu ejecutable mta-server gdb mta-server -ex "set print thread-events off" --eval-command run i sh bt quit Subi el log generado a http://pastebin.com/
  2. Client: marker1 = createMarker(1310, -1368.4000244141, 12.6, "cylinder", 1, 0, 0, 255, 255) GUIEditor = { button = {}, window = {}, progressbar = {} } addEventHandler("onClientResourceStart", resourceRoot, function() window1 = guiCreateWindow(283, 116, 173, 360, "TEST", false) guiWindowSetMovable(window1, false) guiWindowSetSizable(window1, false) guiSetVisible(window1,false) button1 = guiCreateButton(53, 66, 102, 49, "m4", false, window1) button2 = guiCreateButton(25, 158, 112, 58, "mp5", false, window1) button3 = guiCreateButton(117, 299, 47, 51, "close", false, window1) end ) function openGui() guiSetVisible(window1, true) showCursor(true) end addEventHandler("onClientMarkerHit", marker1, openGui) function buym4() if ( source == button1) then showCursor(false) guiSetVisible(window1,false) triggerServerEvent("givem4", localPlayer) end end addEventHandler("onClientGUIClick", root, buym4) function buymp5() if ( source == button2) then showCursor(false) guiSetVisible(window1,false) triggerServerEvent("givemp5", localPlayer) end end addEventHandler("onClientGUIClick", root, buymp5) function closeGui() if ( source == button3) then showCursor(false) guiSetVisible(window1,false) end end addEventHandler("onClientGUIClick", root, closeGui) You were messing with event args. string button, string state, int absoluteX, int absoluteY Also you should use client for security reasons on server-side event trigger.
  3. No creo será open source, ya que estamos en tiempos difíciles donde la gente roba y hace plagio con todo. Lo que si, puedo modificarlo visualmente según necesidad de la persona.
  4. Well, I'm not very good with words and presentations, but I come to present something that I've been working on these days. This is an application for managing your server with a graphical interface. The application has two parts, the actual application (.exe) and a resource for communication. The application is made in C # In short: Application-> Resource Application <-Resource For now it has: Send messages to the server from the interface. A button to stop the server Change and password reset server Player Management (Kick, Ban, Slap, Etc.) Simple Stats. I plan to add more features, I will update the post with any new developments. Any suggestion is welcome, but it does not mean I'm going to include anything that is appointed. Pictures (Ignore my photo background ) http://imgur.com/nqX7ign,k8Y0xa1,xFQ85Ns,tNMLDTP,yI3F0GN,jbRU30z,CcFqzlS,WmIB5KT,yKAJUK8 I will release this when i'm sure it's ready and optimized.
  5. Sumaste? Si sumas siempre te va a quedar mas grande..
  6. 0xCiBeR

    Funciones

    Arguments.PushArgument ( CLuaArgument() ); // Use nil as the new value to indicate the data has been removed Esta pusheando un nil, por tanto existe el elementData y representa un valor false.
  7. Buenas, no soy muy bueno con las palabras ni las presentaciones, pero vengo a presentar algo sobre lo que estuve trabajando estos días. Se trata de una aplicación para la gestión de su servidor con una interfaz gráfica. La aplicación cuenta de dos partes, la aplicación propiamente dicha ( el .exe ) y un resource para la comunicación. La aplicación esta hecha en C# En resumen: Aplicación->Resource Aplicación<-Resource Lo que va a incluir, aun estoy por ver. Por ahora cuenta con: Envió de mensajes al servidor desde la interfaz. Un botón para detener el servidor Cambio y reinicio de contraseña del servidor Gestión de Jugadores (Kick, Ban, Slap, Etc.) Stats sencillas. Tengo planes de agregar mas funciones, iré actualizando el post con cualquier novedad. Cualquier sugerencia es bienvenida, aunque no quiere decir que voy a incluir toda cosa que me nombren, Imágenes( Ignoren mi foto de fondo ) http://imgur.com/nqX7ign,k8Y0xa1,xFQ85Ns,tNMLDTP,yI3F0GN,jbRU30z,CcFqzlS,WmIB5KT,yKAJUK8
  8. Lo que me refiero es utilizar dxGetTextWidth para ajustar al texto el rectángulo.
  9. https://wiki.multitheftauto.com/wiki/Installing_and_Running_MTASA_Server_on_GNU_Linux PD: Te recomiendo el uso de Debian 7.
  10. 0xCiBeR

    Funciones

    Es exactamente lo mismo. No se la razón de su creación, supongo que evita que tengas que escribir todos los argumentos de setElementData, resumiendolo en una sola función con dos argumentos, fácil de recordar. void CElement::DeleteCustomData ( const char* szName ) { // Grab the old variable SCustomData * pData = m_pCustomData->Get ( szName ); if ( pData ) { CLuaArgument oldVariable; oldVariable = pData->Variable; // Delete the custom data m_pCustomData->Delete ( szName ); // Trigger the onElementDataChange event on us CLuaArguments Arguments; Arguments.PushString ( szName ); Arguments.PushArgument ( oldVariable ); Arguments.PushArgument ( CLuaArgument() ); // Use nil as the new value to indicate the data has been removed CallEvent ( "onElementDataChange", Arguments ); } } El elementData es seteado a nil, por tanto existe del mismo modo en la memoria como un booleano en false. Si seteas un valor, luego lo quitas con removeElementData, luego compruebas con getElementData, devuelve false.
  11. Comienza con tutoriales de Lua básicos para entender estructura. Entiende conceptos como: for do ipairs while local function end Etc.. Luego pasa a como usar esas funciones en un script. Para eso, la wiki de MTA:SA. Saludos!
  12. Muchas gracias Enargy, ahora otra duda es que... Yo al hablar por el chat "T" solo lo leean los que estén a X distancia del que envió el mensaje. ¿Como puedo hacer eso? Si te refieres a un tipo de chat local que estan cerca de tu posicion puedes usar getDistanceBetweenPoints3D Yo utilizaría un colShape mejor. Ya que llamar a esa función en el supuesto caso que tengas 100 jugadores no es necesario. createColSphere getElementsWithinColShape
  13. Me gusto, en especial la parte donde citas mi frase . Una recomendación sería adaptar el rectángulo del dx a la longitud del texto. Por lo demás, luce muy bien!
  14. Que OS usas? Y que arquitectura? No es un problema de ancho de banda, es un problema de Cantidad de RAM. Si tenes una versión 32 bit de linux prueba cambiar a 64 bits y cambiar el servidor, ya que el 64 bit permite utilizar TODA la memoria del sistema.
  15. Querés un chat por GUI? DX? Por chat normal?
  16. 0xCiBeR

    Funciones

    En realidad usar removeElementData es lo mismo que usar setElementData en false. removeElementData(element,"llave") setElementData(element,"llave",false)
  17. Webmin es un gestor de arquitecturas unix que te da esos datos, control de FTP y mas sin utilizar un proceso tan pesado. En cuanto al control por web del servidor, es muy sencillo realizar un script php para el control. Yo tengo 3 vps, y gestiono todo desde Webmin, muy rara vez me hace falta entrar por ssh. Funciono actualizarlo?
  18. 0xCiBeR

    Funciones

    Con respecto a tu primera pregunta, no sabría decirte. Yo en mis resources, no utilizo removeElementData En relación a tu segunda pregunta, onElementDataChange se ejecuta cada vez que un elementData es cambiado. Te sirve al momento de ahorrar recursos y evitar el uso de timers o eventos como onClientRender que se ejecutan muchas veces en poco tiempo para comprobar algo que debería ser re-comprobado solamente cuando es cambiado.
  19. Intenta actualizar https://nightly.multitheftauto.com/multitheftauto_linux-1.4.1-rc-7229-net1D8.tar.gz Insisto, quita OGP no sirve para nada en tu caso.
  20. Estamos hablando de términos distintos. Es muy diferente un hardware id que esta configurado en la misma placa que un software id.
  21. El serial se basa en los IDs de hardware de tu pc. Por lo tanto, sí, es único.
  22. aps-servers.com usa un certificado válido. El problema es que el dominio usa un certificado usa un sha antiguo, para ser especifico, usa sha1. Google anunció que solo aceptaría sha2 como completamente seguro. Si te diriges a: https://foro.aps-servers.com/ Notarás que el certificado es válido ya que el que ocupa el subdominio "foro" es pago. De igual manera, se adquirirá prontamente un certificado SSL pago para el dominio principal, probablemente con soporte para Wildcard así todos los subdominios son cubiertos.
  23. MySQL permite la integración con mas de una plataforma de trabajo
  24. source = source Esto antes del timer también serviría.
×
×
  • Create New...