Saltar al contenido

SAXI

Ex-Staff
  • Contenido

    747
  • Ingreso

  • Última visita

  • Días ganados

    28

Todo lo publicado por SAXI

  1. SAXI

    dxEditText

    Hola, buenas. Hoy traigo para los programadores de MTA unas cuantas funciones útiles para su desarrollo en el cliente... ¿A qué voy? Simple, se trata de la creación de un texto (dxDrawText) con el texto editable. Esto les servirá de mucha ayuda, para quienes quieren crear su propia 'dxLib' les dará un incapie para la creación de el famosisimo 'dxEdit' Sin más vueltas les dejo el código. Responderé todas las dudas al respecto... Si hay algún problema con el código hacerme informar. Saludos.
  2. SAXI

    [AYUDA]

    local TimeBoss = 0 local MoneayWea = 300000,500000 function Boss() if ( getTickCount ( ) - TimeBoss > 600000 ) then Jeff = exports [ "slothBot" ]:spawnBot ( 2484.7209472656, -1665.7005615234, 13.34375, 90,312, 0, 0, Picopoto, 38, "guarding", true ) exports.extra_health:setElementExtraHealth ( Jeff, 10000 ) outputChatBox ("JEFF A APARECIDO!!",source,255,0,0,true) TimeBoss = getTickCount ( ) else outputChatBox("A Aparecido Un Boss Recientemente Debes Esperar 10 minutos Para Un Respawn",source,255,0,0,true) end end addCommandHandler ( "Jeff", Boss) function money ( theKiller ) if ( source == Jeff ) then givePlayerMoney ( theKiller, MoneayWea[math.random(MoneayWea)]) giveWeapon ( theKiller, 38, 5000 ) outputChatBox ( getPlayerName ( theKiller ) .. " HA MATADO A JEFF!!",getRootElement(),255, 0, 0, true ) end end -- addEvent ( "onBotWasted", true ) <- Insisto xd addEventHandler ( "onBotWasted", getRootElement(), money ) function kill () for i,peds in pairs (getElementsByType("ped")) do destroyElement(peds) end end addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), kill ) Ahora?
  3. SAXI

    [AYUDA]

    creo, solo CREO que deberías quitar esta linea xd addEvent ( "onBotWasted", true )
  4. Ok ok... Dejame ver si entendí... Básicamente es el gamemode que utilizaba a inicios de existencia el servidor Attack of the Terrorist, por lo que veo el modo de juego sigue estando en estado default. Si bien como dije en tu presentación anterior, creo que el gamemode o sierta parte del servidor debería estar en idioma español, ya que esta es una comunidad Latina, y por lo que veo está en un ¿95%? en inglés. Tampoco veo el toque de originalidad, solo es un servidor con recursos descargados de la comunidad de MTA. Chicos, perdón, no es por ser mala gente, pero creo que un servidor así para una comunidad como esta no tiene lugar. Se nota su iniciativa por querer entregar diversión a los jugadores, pero no deberían estar tan ansiosos y apurados, las cosas no les saldrán de la mejor forma, si quieren que su servidor mantenga un flujo decente de jugadores continuo deberán trabajar, aprender y sobretodo tener originalidad a la hora de armar un servidor. Sé que esto ultimo es dificil, pero con un poco de dedicación de los participantes podrán lograr un servidor muy bueno. Ahora bien, solo opino por lo que estoy viendo en las imágenes y un poco de la información que pusiste. En fin, suerte.
  5. Viejo antes de empezar en el tema del scripting en mta, al menos debes saber de que se trata nuestro lenguaje (LUA), por favor, antes de hacer nada lee almenos los primeros 5 puntos del manual, luego vuelves y preguntas. CLICK AQUI
  6. Nombre: Vicente García Edad: 17 País: Chile Tus conocimientos: Scripting MTA Experiencia: Actual Staff MTA, creo saber manejar bien los temas del foro y los problemas que abunden en la sección. ¿Por que debiéramos elegirte?: Bueno, creo que puedo ser muy participativo dentro de este staff debido a mi conocimiento en scripting, también puedo aportar con ideas para los futuros torneos. Comentario adicional: Suerte a los demás n_n
  7. Bueno, me pidieron que comentara en este post... Debido a mi experiencia en mta tanto en sus servidores y comunidad, los servidores de tipo 'tactics' son llamativos. Pero un buen servidor es un servidor bien armado, por lo que vi, este servidor es "uno más del resto", puede sonar fea la expresión, pero es que la verdad no tiene nada de nuevo, lo llamativo sería es que fuera latino y toda la cosa, pero ahí caemos en otro punto; El idioma, el cual por estar en una comunidad LATINA, ¿Este no debería estar en español?. Mi consejo es que si van a presentar un servidor a la comunidad es que se preocupen de hacerlo más original, no llegar y lanzar un gamemode default. Pero bueno, si el proyecto llega a ser aceptado cuenten con mi apoyo para mejorarlo. Suerte.
  8. ¡Jefe, ¿Qué hacemos con él?!

    1. Funky

      Funky

      terminar el death run!

  9. Fatalito, así me dicen los vecinos porque estoy maldito

  10. En ningún momento pusiste algún código para que te dé experiencia al matar un jugador, solo tienes para cuando matas a un zombie Te aconsejo usar el evento "onPlayerWasted" para lograrlo
  11. Intenta con esto. Servidor Cliente
  12. Hasta donde yo sé no se puede, pero como te dijieron puedes compilar tus scripts para que no te los roben. En caso de que se pudiera solo sería por el lado del servidor. Y sí, de más lag porque estarías trabajando con un servidor externo... Y por si no sabías, la parte que queda descargada es solo el cliente, lo cual que no genera un código completo de tus script.
  13. Te aconsejo utilizar tablas para el manejo de este, se te hará más sencillo y con mayor eficacia. Puedes utilizar el evento onClientCharacter para poder escribir en el. PD: Perdón por responder tan tarde xd
  14. This post cannot be displayed because it is in a password protected forum. Escribir contraseña
  15. Cliente local cThis = getThisResource() local cThisRoot = getResourceRootElement(cThis) jugadores = {} -- Creamos una tabla vacia addEvent("obtSvrInfo",true) addEventHandler("onClientResourceStart", resourceRoot, function() triggerServerEvent("onClientRequest",localPlayer) padmin = guiCreateWindow(207, 123, 388, 356, "El sexi panel de los cojones", false) guiWindowSetSizable(padmin, false) tabpanel = guiCreateTabPanel(9, 23, 369, 323, false, padmin) tabjugadores = guiCreateTab("Jugadores", tabpanel) editb = guiCreateEdit(1, 4, 113, 21, "Buscar...", false, tabjugadores) gridlistj = guiCreateGridList(1, 25, 113, 267, false, tabjugadores) guiGridListAddColumn(gridlistj, "Jugadores", 0.9) addEventHandler("onClientGUIClick",gridlistj,onGridClick,false) labeln = guiCreateLabel(127, 10, 96, 15, "Nombre:", false, tabjugadores) labelc = guiCreateLabel(127, 35, 96, 15, "Cuenta:", false, tabjugadores) labelip = guiCreateLabel(127, 60, 96, 15, "Ip:", false, tabjugadores) labelse = guiCreateLabel(127, 109, 96, 15, "Serial:", false, tabjugadores) labelvb = guiCreateLabel(127, 134, 115, 15, "Vida/blindage:", false, tabjugadores) labelski = guiCreateLabel(127, 159, 96, 15, "Skin:", false, tabjugadores) labelping = guiCreateLabel(127, 84, 96, 15, "Ping:", false, tabjugadores) labelequi = guiCreateLabel(127, 184, 96, 15, "Equipo:", false, tabjugadores) labelD = guiCreateLabel(127, 205, 96, 15, "Dinero:", false, tabjugadores) labelar = guiCreateLabel(127, 226, 96, 15, "Arma:", false, tabjugadores) labelv = guiCreateLabel(127, 251, 96, 15, "Vehiculo:", false, tabjugadores) botonsile = guiCreateButton(253, 50, 56, 20, "Silenciar", false, tabjugadores) checkboxj = guiCreateCheckBox(279, 6, 80, 14, "Jetpack", false, false, tabjugadores) checkboxe = guiCreateCheckBox(279, 26, 80, 14, "Encarcelar", false, false, tabjugadores) botonconge = guiCreateButton(313, 50, 56, 20, "Congelar", false, tabjugadores) edivida = guiCreateEdit(253, 73, 58, 21, "", false, tabjugadores) botonv = guiCreateButton(313, 74, 56, 20, "Vida", false, tabjugadores) edidinero = guiCreateEdit(253, 98, 58, 21, "", false, tabjugadores) botondine = guiCreateButton(313, 99, 56, 20, "Dinero", false, tabjugadores) editnombre = guiCreateEdit(253, 123, 58, 21, "", false, tabjugadores) botonnombre = guiCreateButton(313, 124, 56, 20, "Nombre", false, tabjugadores) editbling = guiCreateEdit(253, 149, 58, 21, "", false, tabjugadores) botonbli = guiCreateButton(313, 150, 56, 20, "Blindage", false, tabjugadores) botonequi = guiCreateButton(255, 175, 56, 20, "Equipo", false, tabjugadores) botonarm = guiCreateButton(313, 175, 56, 20, "Armas", false, tabjugadores) botonban = guiCreateButton(255, 201, 56, 20, "Expulsar", false, tabjugadores) botonskin = guiCreateButton(313, 201, 56, 20, "Skin", false, tabjugadores) botonwarp = guiCreateButton(255, 226, 56, 20, "Ir", false, tabjugadores) botonspectear = guiCreateButton(313, 226, 56, 20, "Observar", false, tabjugadores) botonechar = guiCreateButton(255, 251, 110, 20, "Hechar", false, tabjugadores) botonreporte = guiCreateButton(255, 276, 110, 18, "Ver Reportes", false, tabjugadores) tabdudas = guiCreateTab("Dudas", tabpanel) memodudas = guiCreateMemo(5, 4, 360, 286, "1.Como ago para ver los acl.\nR.Deves ser AdminG o Onwer y el comando es /veracl.\n2.Como ago para ver los sancionados.\nR.Si eres mod no puedes solo los pueden ver los smod hacia delante y el comando es /verban.\n3.Como hago para hablar con los otros staff.\nR.con el boton U te aparece el chat administrativo.", false, tabdudas) guiMemoSetReadOnly(memodudas, true) labelinfo = guiCreateLabel(238, 23, 145, 16, "Panel Sexi By: Therichter", false, padmin) end ) function mostrarwea() if guiGetVisible(padmin) == true then guiSetVisible(padmin, false) showCursor(false) guiSetInputEnabled(false) else guiSetVisible(padmin, true) showCursor(true) guiSetInputEnabled(true) end end function bindmostrarwea() bindKey("F3", "down", mostrarwea) end addEventHandler("onClientResourceStart", cThisRoot, bindmostrarwea) addEventHandler("onPlayerJoin", cThisRoot, bindmostrarwea) addEventHandler("obtSvrInfo",root,function(tabla) -- Obtenemos la tabla con los datos desde el servidor jugadores = tabla -- Asignamos los valores de la tabla a nuestra tabla jugadores -- Ahora podemos utilizar los valores de forma global en el cliente usando la tabla 'jugadores' end) function onGridClick() local sItem = guiGridListGetSelectedItem(source) -- Obtenemos el número representante del jugador seleccionado if sItem ~= 0 then -- Verificamos si hay algún jugador seleccionado guiSetText(labeln,"Nombre: "..jugadores[sItem][1]) guiSetText(labelc,"Cuenta: "..jugadores[sItem][2]) guiSetText(labelip,"Ip: "..jugadores[sItem][3]) guiSetText(labelse,"Serial: "..jugadores[sItem][4]) guiSetText(labelvb,"Vida/Blindaje: "..tostring(jugadores[sItem][6]).."/"..tostring(jugadores[sItem][7])) guiSetText(labelski,"Skin: "..jugadores[sItem][8]) guiSetText(labelping,"Ping: "..jugadores[sItem][5]) guiSetText(labelequi,"Equipo: "..jugadores[sItem][9]) guiSetText(labelD,"Dinero: "..jugadores[sItem][10]) guiSetText(labelar,"Arma: "..jugadores[sItem][11]) guiSetText(labelv,"Vehiculo: "..jugadores[sItem][12]) end end Servidor addEvent("onClientRequest",true) addEventHandler("onClientRequest",root,function() local datos = {} for _,v in ipairs(getElementsByType("player"))do local nombre = getPlayerName(v) local cuenta = getAccountName(getPlayerAccount(v)) or "Invitado" local ip = getPlayerIP(v) local serial = getPlayerSerial(v) local ping = getPlayerPing(v) local salud = getElementHealth(v) local blindaje = getPedArmor(v) local skin = getElementModel(v) local team = getTeamName(getPlayerTeam(v)) or "Sin equipo" local dinero = getPlayerMoney(v) local arma = getWeaponNameFromID(getPedWeapon(v)) local vehiculo = getVehicleNameFromModel(getPedOccupiedVehicle(v)) or "A pie" table.insert(datos,{nombre,cuenta,ip,serial,ping,salud,blindaje,skin,team,dinero,arma,vehiculo}) end triggerClientEvent(source,"obtSvrInfo",source,datos) -- Enviamos la tabla al cliente end)
  16. Perdón, me equivoque al escribir (celular i hate you) era getElementsByType("player")
  17. Te aconsejo practicar con paneles más pequeños, así evitamos futuras confusiones y "perdidas" en el código. Respondiendo a lo del script lo más útil es crear una tabla con los datos que utilizarás en el cliente desde el lado servidor y luego triggear la tabla para recibirla en el cliente. Servidor for _,v un ipairs(getElementsByType("player"))do table.insert(datos,getPlayerName(v),getAccountName(getPlayerAccount(v)) por "Invitado") end Ahí el valor 1 de la tabla seria el nombre de todos los jugadores y el 2 el nombre de su cuenta.
  18. Aún así es más eficaz crear el archivo en server-side y agregarlo a una tabla. Solo como consejo
  19. El directorio que pusiste es del script no?
  20. This post cannot be displayed because it is in a password protected forum. Escribir contraseña
  21. This post cannot be displayed because it is in a password protected forum. Escribir contraseña
  22. Para lo primero puedes utilizar la función guiStaticImageLoadImage Lo segundo si es posible, pero no te aconsejo que sea muy útil. Si quieres te dejo algo que pueda ayudarte. addEventHandler("onClientChatMessage",root,function(txt) for k,v in ipairs(getElementsByType("gui-staticimage",rroot)) do local gx,gy = guiGetPosition(v,true) if string.len(txt) > 48 then guiSetPosition(v, gx,gy-0.05,true) else guiSetPosition(v, gx,gy-0.025,true) end if gy <= 0.01 then destroyElement(v) end end end)
  23. addEvent("mostrarLog", true) function showGangLog( theGangName ) local theGangLogTable = {} local theLog = executeSQLQuery("SELECT Log FROM theGangLog WHERE NameGroup=?", theGangName) if (not theLog) then return end for i,logs in ipairs(theLog) do theGangLogTable[i] = logs["Log"] -- Obtienes el indice de todos los Logs end triggerClientEvent(source, "setGangLog", source, theGangLogTable ) theGangLogTable = {} end addEventHandler("mostrarLog", root, showGangLog ) Con eso debería andar.
  24. wat? yo no te dije eso xd tu me preguntaste como hacerlo por streaming y me preguntaste la diferencia xd
×
×
  • Crear nuevo...