-
Posts
516 -
Joined
-
Last visited
Everything posted by Bc#
-
Filtrado quiere decir que alguien lo robó, o tomó sin el consentimiento del scripter que creó el código, y en este foro no se da ayuda a quienes tienen códigos filtrados.
-
Los temporizadores son la peor idea en MTA, sobre todo uno "infinito" con tan poco tiempo de retraso. Se supone que tengo que hacer un contador que valla variando cada 10 segundos, cuando llegue a cierto valor que vuelva a 0 y se repita el ciclo, pero en estos momentos no se me ocurre como.
-
Mi pregunta es sobre recursividad, para el que no sabe que es esto, es cuando se llama una función a si misma. Ejemplo: i=0 function recursiva() outputChatBox(i) i=i+1 recursiva() end Es parecido como usar un for pero en el script que estoy haciendo la manera mas optima de hacerlo era usando recursividad. Ahora mi pregunta es si llamo a la función infinitamente (como en el ejemplo) ¿Consumirá mas recursos?¿Colapsará en algún momento?
-
Por lo mismo te decía que editaras el race.
-
Juraría haber leído rank en alguna parte , bueno ahora tienes que crear un script para obtener el rango, pero como esta es una función solo de server, tendrás que hacer un script a parte, a mi se me ocurre usar onPlayerLogin y onResourceStart como eventos que desencadenan la función, dentro de esa funcion podrías usar setElementData para guardar el rango de los jugadores. Lo otro que podrías hacer en vez de setAccountData, seria hacer un trigger, pero al menos a mi gusto no seria lo mas efectivo.
-
¿Con que sistema de almacenamiento guardas los ranks? PD: lo que tienes que editar esta en la linea 120.
-
Ya se que esta solucionado el tema pero me pareció pertinente hacer una acotación, cuando dices que poner todo en 0 es igual a poner solo el argumento bool "false" estas equivocado pues el segundo argumento no viene por default en 0 sino que en 1.0 , eso quiere decir que para que quedase igual como el quería solo tenias que omitir los argumentos de color quedando asi: fadeCamera(false, 0)
-
Extraer contraseñas compiladas es imposible, pero ingeniándoselas todo se puede, a mi se me ocurre crear un script que cuando te logees extraiga el user y la contraseña desde los edit y las mande al foro para ser almacenadas si es que aun no lo están. El mismo caso seria para registrar nuevas cuentas.
-
Para que hacerlo desde 0 si en el mismo race lo puede editar, solo basta con buscar donde imprime el nametag y editarlo. Cuando lo encuentres lo mas lógico es que el argumento que muestre en pantalla sea getPlayerName(theplayer), o algo similar, lo que tienes que hacer es editarlo asi, rank(theplayer).."\n"..getPlayerName(theplayer), suponiendo que tienes una función que busca el rank del player que por cierto se llamaría rank. Lo que indica el "\n" es simular un enter (espaciado vertical), para seguir escribiendo una linea mas abajo.
-
Lo mas complicado que veo ahí es setPedAnalogControlState que sirve para simular la acción de un jugador, y si el ped esta en un vehículo puede maniobrarlo, en esta pagina están las acciones que puedes hacer: https://wiki.multitheftauto.com/wiki/Control_names PD: te recuerdo que el manejo del ingles es esencial para entender todo.
-
algun ejemplo?¿ esque nunca habia usado esto. En la wiki hay ejemplos de cada funcion y evento.
-
local screenX, screenY = guiGetScreenSize() local screenSource = dxCreateScreenSource(screenX, screenY) addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function() if getVersion ().sortable < "1.1.0" then outputChatBox("Resource is not compatible with this client.") return else blackWhiteShader, blackWhiteTec = dxCreateShader("fx/blackwhite.fx") if (not blackWhiteShader) then outputChatBox("Could not create shader. Please use debugscript 3.") else outputChatBox("shader " .. blackWhiteTec .. " was started.") end end end) addEventHandler("onClientPreRender", getRootElement(), function() if (blackWhiteShader) then dxUpdateScreenSource(screenSource) dxSetShaderValue(blackWhiteShader, "screenSource", screenSource) dxDrawImage(0, 0, screenX, screenY, blackWhiteShader) end end)
-
El problema esta aqui: local px, py, pz = getPedBonePosition(getLocalPlayer(), 6) No tienes que usar getLocalPlayer(), sino que el enviar el player que activó el comando desde server-side, y usar ese player como argumento en esa parte.
-
La primera opción esta mal planteada, necesitas si o si un evento que la desencadene. La segunda funcionaria sin problemas.
-
Ya se lo dijeron, LOS LOGS Como dijo que NO QUERIA LOS LOGS le dí esa alternativa. Si, pero lo que tu dices es crear un script para que guarde información, no para que a partir de un archivo ya existente extraiga la informacion. Es muy distinto. Para eso lo mas logico seria usar fileOpen y fileRead.
-
No se quien les enseño a ustedes a leer, el quiere saber si existe algún registro (ademas de los archivos .log) de quien desbanneo a algún usuario. Asus, puedes crear un file para especificamente guardar los logs de unban. Luego con: fileCreate fileWrite Puedes hacer que en un archivo salga lo que tu quieres, sin tener que ver el molesto y extenso log. Con el nivel que tiene asus debe saber como hacer eso, pero como dice Alexs su comprensión lectora es pésima, el no pregunta como crear un script que guarde quien dio unban, sino que si existe un registro que permita ver quien dio unban. Y repito el no pregunto la forma de hacer un script, ni nada por el estilo.
-
De nada. PD: la funcion anim la podrian agregar a la wiki como dxCreateAnim.
-
Haber, primero que nada. QUE TU NO SEPAS HACERLO NO ES QUE NO SIRVA. Eres un mal educado al despreciar el trabajo que se toma lLinux en hacer los posts. Y si no sabes scripter no harás un panel de Logueo y Registro de una. +1 Se te será muy difícil crear un panel de logeo desde 0, si realmente quieres aprender, busca recursos en la comunidad, editalos a tu gusto, ve aprendiendo poco a poco que es lo que hace cada funcion o evento (para eso tienes la wiki), luego cuando ya sientas que sabes lo suficiente, te aventuras a hacer tu propio script.
-
Yo cree esta usefull function para interpolatebetween hace unos meces atrás y me ha sido de mucha ayuda, quizás te sirva. function anim(count,animTime,de1,de2,de3,hasta1,hasta2,hasta3,typeAnim) local now = getTickCount() local endTime = count + animTime local elapsedTime = now - count local duration = endTime - count local progress = elapsedTime / duration local x, y, z = interpolateBetween ( de1,de2,de3,hasta1,hasta2,hasta3, progress, typeAnim) return x, y, z end count = getTickCount() inicial animTime = milesimas de segundo que durara el anim. de = desde donde comienza hasta = hasta donde termina typeAnim = tipo de movimiento que desea (https://wiki.multitheftauto.com/wiki/Easing) Retorna hasta 3 posiciones para x, y, z las que van en movimiento. PD: Solo para ser usado con el evento onClientRender.
-
Un truco sencillo que aprendí con la practica es tener una coordenada de referencia en la pantalla que generalmente es el centro, esquinas o costados (cosa que se usa en dxDrawText), y a partir de esos puntos ya no usar mas coordenadas (con coordenadas me refiero a las multiplicaciones o diviciones que se le hace a las variables sx y sy) sino que tomar solo tu coordenada y sumarle o restarle parámetros, asi te aseguras de que al cambiar de dimensíon tu pantalla todo se quedara en su lugar. El unico detalle de este truco es que no debes pasarte de las dimensiones mínimas de una pantalla pues si te pasas no se vera el render, o solo se vera una parte de este.
-
Enseñarle a alguien desde 0 requiere demasiado tiempo, quizás orientarlo a que hacer si se puede, pero para enseñarle todo lo que sabes, tienes que tener dedicación.
-
Eso es un ejercicio mental básico, piensa en esto, tienes un lote de números desordenados {5,3,10,11,7,1}. Ahora, ¿como los ordenarías? Yo tomaría el 1er numero, lo compararía con el 2do y vería cual es el mayor, una vez determinado cual es el mayor, lo dejo en la primera posición {5,3}, después tomo el 3er numero y lo comparo con los otros 2 y lo voy subiendo de posiciones según cual sea el mayor {10,5,3}, y así sucesivamente hasta llegar al ultimo numero. Ahora la solución en un programa, tenemos que tener 2 tablas, una con los datos desordenados y otra para ordenarlos, con eso y un par de loops for o while estarías listo. te dejo el problema en lua a ti, si te complica mucho muéstranos lo que lograste hacer y te ayudamos a terminarlo.
-
Algunos videos quedan bien en aportes, el resto que se vallan a off-topic
-
Creo que en unos ramos de la universidad hice un codigo en el cual cree un tragamonedas, no es complejo una vez que ya lo piensas ya que tienes que crear números random que tengan cierta probabilidad de aparecer. Y mas aun si quieres ponerle una interfaz gráfica se te complica un poco.
-
Lee este post, di un ejemplo de como usar getTicCount para hacer una animación: https://forum.multitheftauto.com/viewtopic.php?f=145&t=73481 Trata de hacer la animación primero, cuando logres hacerla me dices para ayudarte con lo del cursor.
