Jump to content

Rose

Members
  • Posts

    189
  • Joined

  • Last visited

Everything posted by Rose

  1. Los creo desde server y para que se muevan o golpeen lo hago desde client. Ya había marcado como true el último argumento pero aun así sigo teniendo el mismo problema.
  2. Hola, no sé muy bien cómo explicarlo pero bueno, a lo que me refiero es que a veces el ped sale que está en un lugar pero realmente no está allí, lo que causa que cuando le disparen no le hagan daño. No estoy usando slothbot ni nada de eso.
  3. Yo hice ese tutorial y francamente está muy mal planteado para mi gusto, sin embargo espero que los que lo lean entiendan algo por lo menos
  4. You can create a function like this: DerbyDB = dbConnect("sqlite", "DD.db") dbExec(DerbyDB, "CREATE TABLE IF NOT EXISTS DerbyMission (DDname, DDserial, DDscore INT , DDban )") function setScore( element, score, ddban ) local check = dbQuery( DerbyDB, ' SELECT * FROM `DerbyMission` WHERE DDname = ? AND DDserial = ? ', getPlayerName( element ) , getPlayerSerial( element )) local results = dbPoll( check, -1 ) if ( type( results ) == 'table' and #results == 0 or not results ) then exports ["guimessages"] : outputServer (element, "* [ Derby ]: This is the first join" , 204, 51, 255) dbExec( DerbyDB, "INSERT INTO DerbyMission VALUES (?,?,?,?)", getPlayerName(element) , getPlayerSerial(element), score, ddban ) else dbExec( DerbyDB, "UPDATE DerbyMission SET DDname=?, DDscore=?, DDban=? WHERE DDserial=?", getPlayerName( element ), score, ddban, getPlayerSerial( element ) ) end end not tested
  5. ¿Quieres ideas de habilidades para ponerle al nemesis o hacerlo más inteligente? ¿o las dos?
  6. Rose

    Skin mod

    ste men esta loco
  7. No entiendo como es que usando una linea más se ejecuta más rápido
  8. Bueno, creo que sería bueno que dejen algunos consejos (o trucos) que se sepan para mejorar la calidad de código en Lua(o en programación general). Yo dejo algunos que si bien no son míos los he ido aprendiendo de los demás y me han parecido excelentes. 1. Remplazar table.insert por "una línea más corta", ejemplo: 2. No repetir código Y lo otro era el de priorizar el uso de las variables locales. ** No sabía en que sección crear crear el tema :v **
  9. ¿Cuál era el problema? ¿se solucionó solo o qué fue lo que hiciste?
  10. Se escuchará la voz loquendo en el server así como en el video?
  11. Si se puede, debes usar los eventos onPlayerWasted o onClientPlayerWasted. Mira ejemplos de la wiki de esos eventos e intenta hacerlo, si no puedes pues pasa el código como lo tienes hecho para ayudarte.
  12. El getScreenFromWorldPosition es lo que hace que se vea en 3d, el grtPedBonePosition es solo para sacar la posición de algún hueso(en este caso la cabeza).
  13. -- SERVER function makeAPed2 ( ) SuperBoss = exports.slothbot:spawnBot ( 607.00031, 857.02875, -42.95893, 0, 101 , 0, 0, asd, 0, "fire", true ) local LifeBoss = exports.extra_health:setElementExtraHealth ( SuperBoss, health ) outputChatBox ("#ff0000<Alerta> El Jefe <The Gleam Eyes> ha aparecido en el piso 01 de Aincrad!",getRootElement(), 255, 255, 255, true ) triggerClientEvent("clientp", root, SuperBoss, health, "The Gleam Eyes") end addCommandHandler("mak", makeAPed2) addEvent("onBotWasted", true) addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) if source == SuperBoss then givePlayerMoney ( attacker, 50000 ) outputChatBox ("<Felicidades> El jugador "..getPlayerName ( attacker )..", #ffff00acabó con el jefe #ff0000<The Gleam Eyes> #ffff00y obtuvo una recompensa de +¥50000",getRootElement(), 255, 255, 255, true ) setTimer(makeAPed2, 15*60000, 1) end end) -- CLIENT addEvent("clientp", true) addEventHandler("clientp", localPlayer, function(ped, health, name) gleam = ped hp = health nick = name addEventHandler("onClientRender", root, drawHPBar) end ) function drawHPBar() local gx, gy, gz = getCameraMatrix() if isElement( gleam ) then local px, py, pz = getElementPosition( gleam ) local bx, by, bz = getPedBonePosition( gleam, 6 ) if ( getDistanceBetweenPoints3D( gx, gy, gz, px, py, pz ) < 60 ) then local zx, zy = getScreenFromWorldPosition(bx,by,bz+0.3) local pHealth = exports.extra_health:getElementExtraHealth( gleam ) local bossHealth = getElementHealth( gleam ) + pHealth if (zx and isPedDead( gleam ) == false ) then dxDrawText( nick, zx+5, zy ) dxDrawRectangle( zx+5, zy+15, 90, 12, tocolor( 0, 0, 0, 255 )) dxDrawRectangle( zx+5, zy+15, 90*(bossHealth/hp), 12) end end end end Si no entiendes algo me avisas.
  14. Las funciones que vas a necesitar son: getScreenFromWorldPosition getElementPosition getDistanceBetweenPoints3D getCameraMatrix getPedBonePosition -- por si quieres ubicarlo en alguna parte del cuerpo getElementExtraHealth -- si usas extra_health Si no entiendes algo puedo darte un ejemplo.
  15. venad debería ser el más odiado, pero como aquí la gente está muerta se salva :v
  16. Un ejemplo: local x, y = nil addEventHandler( "onClientCursorMove", getRootElement( ), function ( _, _, xpos, ypos ) x = xpos y = ypos end ) addEventHandler("onClientRender", root, function( ... ) if isCursorShowing() == true then dxDrawRectangle( x, y, 100, 25 ) end end) No sé cómo quieres que se mueva pero ahí se debería de mover según donde esté la flechita. Y creo que showCursor( not isCursorShowing() ) es más rápido que comprobar si isCursorShowing es verdadero o falso.
  17. Pues como recomendó @#Dv^ con ese evento lo puedes hacer, yo antes hice uno pero con sonidos propios, igual creo sería lo mismo.
  18. Rose

    Imagen del Skin

    Con dx sería más fácil pero creo que puedes hacer lo mismo que para destruir un objeto que ya existe, en la parte donde actualizas la imagen coloca que si ya existe que se borre.
  19. Vas a tener que adaptarlo tu a la hora que se juegue al hunter.
  20. Rose

    Nombre con color

    El décimo cuarto argumento de dxDrawText es para habilitar el uso de color codes, solo ponlo como true. bool dxDrawText ( string text, float left, float top [, float right=left, float bottom=top, int color=white, float scale=1, mixed font="default", string alignX="left", string alignY="top", bool clip=false, bool wordBreak=false, bool postGUI=false, bool colorCoded=false, bool subPixelPositioning=false, float fRotation=0, float fRotationCenterX=0, float fRotationCenterY=0 ] )
  21. Hace un rato estaba probando y me dí cuenta de eso, no entendía muy bien por qué no aparecía pero luego me puse a pensar un poco y le entendí. De todas formas, gracias por la aclaración.
  22. Pues crea una variable( 5 ) y cada 1 segundo le vas quitando 1, si la variable es igual a "you can shoot go" que pueda disparar, sino, no.
×
×
  • Create New...