-
Posts
1,673 -
Joined
-
Last visited
-
Days Won
6
Everything posted by 0xCiBeR
-
Problema con las descargas
0xCiBeR replied to ValenMuser's topic in Ayuda relacionada al cliente/servidor
Este no es el lugar para pedir soporte sobre un servidor en especial ni mucho menos debatir sobre las maneras de evadir la seguridad o los bloqueos de dicho servidor. Cierro Tema. Saludos. -
Contactame por skype, puedo darte algunas alternativas ya que mencionar aquí algún hosting solo será para que se dediquen a criticarlo. Saludos.
-
Estas definiendo el nuevo EDF en el meta? "Mig" name="Test Resource" version="1" type="script" description="Test Description" edf:definition="edf/MI_ARCHIVO_EDF.edf"/>/>
-
<!-- MUCHAS COSAS AQUI --> <oop>true</oop> <script src="classy.lua" type="shared" /> <script src="table.lua" type="shared" /> <script src="functions.lua" type="shared" cache="false" /> <script src="VehicleClass.lua" type="shared" cache="false" /> <script src="VehicleClasses.lua" type="shared" cache="false" /> Todo eso va en el meta.xml. En resumen estas definiendo cosas donde no van. Saca todo eso de tu EDF y metelo en tu meta.xml EDF sigue este formato y corresponde a un archivo .edf <def name="Capture the Orb"> <element name="orb" friendlyname="Orb spawnpoint" instructions="Place your orb in a position that can be collected."> <data name="position" type="coord3d" default="0,0,0" /> <marker size="0.5" type="corona" color="#ffff00ff" /> </element> <element name="objective" friendlyname="Objective point" instructions="Place your objective point in a position that can be reached."> <data name="position" type="coord3d" default="0,0,0" /> <marker size="3" type="cylinder" color="#9370dbaa" /> </element> <element name="spawnpoint" friendlyname="Spawnpoint"> <object editorOnly="true" model="3092" posZ="1" /> <data name="position" type="coord3d" default="0,0,0" /> <data name="rotation" type="coord3d" default="0,0,0" /> <data name="skin" type="skinID" default="0" /> </element> </def>
-
Tu meta esta mal estructurado. Fijate donde estas poniendo el OOP.
-
Mal interpretas el uso de OOP. Se puede lograr con Procedural Programming de la misma manera.
-
Podrías utilizar puntos fijos pre-definidos guardados en una tabla o, calcular estas posiciones con funciones matemáticas como math.cos math.sin math.rad
-
A que te refieres con radio?. Distancia al objeto? EDIT: Ya entendi.
-
Creas un elementData server-side con setElementData y lo lees con getElementData. La manera de hacerlo podría ser: Server: function onLogin() local accName = getAccountName ( getPlayerAccount ( source ) ) if ( isObjectInACLGroup ("user."..accName, aclGetGroup ( "VIP" ) ) ) then setElementData(source,"vip",true) else setElementData(source,"vip",false) end end addEventHandler("onPlayerLogin",root,onLogin) Client: function abrirYCerrar( ) if getElementData(getLocalPlayer(),"vip") == true then if guiGetVisible(ventana) then guiSetVisible(ventana,false) showCursor(false) else guiSetVisible(ventana,true) showCursor(true) end end end bindKey("F1","down",abrirYCerrar)
-
[Ayuda] Desconexiones
0xCiBeR replied to LPM//Bruno's topic in Ayuda relacionada al cliente/servidor
Quizas tu provedor de VPS tiene mal configurado su sistema anti packet flood,generando así al haber muchos paquetes una desconexión. Tambien hay una posibilidad de que no alcance la memoria ram y tu servidor se vuelva temporalmente no disponible. Prueba hablarlo con ellos. -
Gracias por el aporte @Alfa. Aca dejo otro. Este pequeño script genera un hash en base a un valor y una llave unica y la devuelve. Este tipo de hash puede ser utilizados como strings para transferir datos protegidos tales como contraseñas y demás. PD: Este script NO representa una manera completamente segura de transferir datos, simplemente aumenta la seguridad. function crearHash(tipo,valor,llave)--Creamos la funcion y definimos los argumentos que vamos a recibir if tipo and valor and llave then--Condicional para comprobar si todos los argumentos son recibidos if tipo == "md5" then--Primera condicional para comprobar el tipo de operacion a ejecutar hashh = md5(valor .. llave)--Hasheo del valor mas la llave en MD5 elseif tipo == "sha256" then--Segunda condicional para comprobar el tipo de opearacion a ejecutar hashh = sha256(valor .. llave)--Hasheo del valor mas la llave en SHA256 end--Cerramos la cadena de condicionales de tipo end--Cerramos la condicional de argumentos return hashh--Devolvemos el hasheo para su utilizacion end--Cerramos la funcion print(crearHash("md5","Hola mundo!","Mi Llave de seguridad"))--Utilizamos la funcion nativa de Lua para imprimir nuestro resultado. --El resultado seria: 20562582fcbaafd299d4016436fe43c1 Cabe recordar que a partir de la versión 1.4.1 r6791 de MTA:SA se podrá utilizar la función hash que resume estas funciones. Saludos! Edit: Corregido, lo hice sin probar.(Gracias Solid)
-
Para eso, verificar el origen del problema antes de invalidar todo el elementData. Para que entiendas: Esto: local err = getElementData(source,"money")or 0 Es lo mismo que poner(solo si el elementData devuelve bool): local err = 0 Si el elementData es un booleano pasa otro argumento. Por lo tanto seria definir un valor por default lo que tu dices, el problema es que de que te sirve tener un valor al default si para algo estas obteniendo un elementData.
-
En verdad si, ya que poner un or anularia completamente el elementData devolviendo lo que le quieras poner, para eso directamente define una variable como tal y no compruebes nada, la idea es buscar la causa del por que esta devolviendo un bool.
-
I also recomend using \r since if you read it with notepad it sometimes doesn't read the \n. So, you would have to add \n\r.
-
Para que no sufra daño debes cancelar el evento onClientPlayerDamage, ya que cancelar el evento onPlayerDamage no tiene efecto. Debes usar triggers.
-
Por lo pronto te esta diciendo que "needengine" esta devolviendo un booleano, por lo que deduzco que es false.Recuerda que bool solo tiene dos datos lógicos posibles, true y false. Podría estar también devolviendo true, para eso agrega tostring(needengine) al dxDrawText. PD: De igual modo comprobaría que todo este devolviendo lo que debe devolver.
-
http://db4free.net/ may be a good solution. Otherwise install MySQL community Server from official Site.
-
Can you please post the script?
-
Bien, creo este post para que podáis ir posteando pequeños scripts útiles que puedan servir como base para la gente que recien esta empezando en Lua comprenda algunas cosas básicas. El que quiera ir aportando puede ir haciéndolo abajo y les agradezco las ganas. Pediré que el que no busque aportar y ayudar que se abstenga de responder. Esto no es un post de opinión sino un post de aporte para ayudar a los nuevos. En cuanto al formato debe ser con lua tags y en lo posible explicar cada linea y su función. Yo empezaré posteando un pequeño script para detectar si alguien ingresa el nombre de otro servidor en el chat ( posible publicidad) y efectua un kickeo inmediato. Server-Side local prohibidos = {"Servidor1","Servidor2","Servidor3"} --Aca se define los servidores o nombres prohibidos en forma de tabla. function check(msg) --Aca se inicia la función pasando el argumento de mensaje para tener el mensaje dentro de la función. for _, v in ipairs(prohibidos)do --Iniciamos un for-loop para loopear todos los servidores o nombres prohibidos. if msg == v then --Usamos una condicional para comprobar si es igual a algún nombre prohibido. source:kick("Prohibido publicidad de otros servidores.") --Si hay coincidencia y la condicional es pasada, efectuamos el kick especificando la razon. end --Cerramos la condicional end --Cerramos el for-loop end --Cerramos la funcion addEventHandler("onPlayerChat", root, check)--Aca agregamos el evento. Aclaración: Este script usa OOP y es solo compatible con las versiones de MTA 1.4 con OOP habilitado. Para mas info en como activar OOP dirigirse a este enlace: https://wiki.multitheftauto.com/wiki/OOP La variante sin OOP seria esta:
-
El bantime expresado es una estampilla de tiempo del servidor de la cantidad de tiempo que paso desde 1970 hasta la fecha y hora exacta de desbaneo.
-
No necesariamente: getPedWeapon ( ped thePed, [ int weaponSlot = current ] ) Usa la variable weaponSlot para comprobar si tiene esa arma en el inventario. Obviamente de esa forma tendra que tener el arma, aunque no sea indispensable que la tenga equipada ya que podes comprobar que arma tiene en el slot correspondiente.
-
Tema movido a la sección correspondiente. Nota: Prueba descomprimiendo el resource y fíjate que no te quede ningún otro con el mismo nombre.
-
Tema movido a la sección correspondiente.
-
Tema movido a la sección correspondiente.