Jump to content

Alexs

Members
  • Posts

    2,869
  • Joined

  • Last visited

Everything posted by Alexs

  1. Alexs

    Me ayudas ._.?

    Spanish subforum: viewforum.php?f=122
  2. Una pequeña recomendación, mas que nada por la manía de ser melindroso: function login() local ac = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user." .. ac, aclGetGroup("SuperModerator")) then outputChatBox("* #000000[LOGIN] #ffffff El Super Moderador" .. getPlayerName(source) .. "#000000, #00bbcc Ha logueado #000000!!", root, 255,0,0, true) elseif isObjectInACLGroup("user." .. ac, aclGetGroup("Admin")) then outputChatBox("* #000000[LOGIN] #ffffff El Admin " .. getPlayerName(source) .. "#000000, #00bbcc Ha logueado #000000!!", root, 255,0,0, true) elseif isObjectInACLGroup("user." .. ac, aclGetGroup("VIP")) then outputChatBox("* #ff0000[LOGIN] #ffffff El VIP" .. getPlayerName(source) .. "#000000, #00bbcc Ha logueado #000000!!", root, 255,0,0, true) end end Sencillamente añadí el nombre de cuenta en una variable, para evitar la redundancia.
  3. Estuvimos hablando de esto en la tarde y decidí echar un vistazo en el foro, según veo (en lo que logre encontrar) nadie lo ha intentado y siendo que estas carpetas y archivos se cargan como recursos, diría que no se puede con los métodos convencionales, quizá me equivoque y alguien mas informado pueda ayudarte.
  4. Al momento de darle la 'exp', revisas si ya tiene el total necesario para subir de level y se lo actualizas.
  5. Desde client-side no puedes detectar si un jugador se loggea y según veo, el quiere que el panel de spawn aparezca luego de que el jugador se loggee para que no aparezca un panel sobre el otro.
  6. Intenta con esto: local veh = {} function spawnauto (thePlayer) local x, y, z = getElementPosition(thePlayer) if veh[thePlayer] then destroyElement(veh[thePlayer]) end veh[thePlayer] = createVehicle(433, x, y, z+0.1) warpPedIntoVehicle( thePlayer, veh[thePlayer] ) end addCommandHandler("veh", spawnauto ) addEventHandler( 'onPlayerQuit', root, function() if veh[source] then destroyElement(veh[source]) veh[source] = nil end end ) La tabla 'veh' tiene como key al jugador y como value al vehículo, al momento de usar el comando '/veh', revisas si en la tabla existe un vehículo asignado al jugador, si es así, este se elimina, luego se crea otro y se le asigna al jugador en la tabla, también añadí una función para eliminarlo al irse. Te dejo este tutorial que quizá te enseñe un poco de tablas: http://lua-users.org/wiki/TablesTutorial *Todo esto es server-side.
  7. Ya te envié por PM mi respuesta original.
  8. Hace un rato estaba jugando Left 4 Dead y le respondí de manera rápida, sin explicarle, ahora lo edite para enseñarle, si tienes problemas con mis ediciones avísame y nunca mas presiono el botón 'EDIT'. *Esta es mi respuesta decente y correcta, te envié por PM la original.
  9. function BossNemesis ( thePlayer ) x,y,z = getElementPosition( thePlayer ) nemesi = exports [ "slothBot" ]:spawnBot ( x+1,y+1,z+0.5, 90, math.random ( 300, 303 ), 0, 0, Nemesis, 38, "hunting", true ) setElementModel(nemesi, 285) end addCommandHandler("nemesis",BossNemesis) function money (theKiller) if (source == nemesi) then local kills = getElementData ( theKiller, "Zombie kills" ) setElementData ( theKiller, "Zombie kills", kills + 25) givePlayerMoney( theKiller, 10000) outputChatBox ( getPlayerName ( theKiller ) .. " #081DBFHa Matado Ha Nemesis :3 , Se Cree Muy Prah!",getRootElement(), 255, 255, 255, true ) end end addEvent("onBotWasted", true) addEventHandler("onBotWasted", getRootElement(), money) Intenta con eso, en esta linea: local kills = getElementData ( theKiller, "Zombie kills" ) consigues los 'kills' actuales, aunque en tu código no los sumabas, simplemente fijabas los 'kills' del jugador en 25, en cambio en la corrección que hice, sumo los 'kills' conseguidos a los 25 que se ganan para evitar la perdida, en caso de cualquier confusión responde en este post, envíame un PM o háblame por Skype, es un error bastante común y sencillo.
  10. El objetivo de este foro es que la gente aprenda y entienda las cosas, evitando confusiones, así que me quejare siempre que algún usuario haga algo que complique estos objetivos. Tiene un archivo llamado 'rt_blend.fx' que contiene esto: // // rt_blend.fx // //--------------------------------------------------------------------- // rt_blend settings //--------------------------------------------------------------------- texture sTexture0; //------------------------------------------------------------------------------------------ // Techniques //------------------------------------------------------------------------------------------ technique tec0 { pass P0 { // Set our texture Texture[0] = sTexture0; // Use additive blending SrcBlend = One; DestBlend = InvSrcAlpha; } } // Fallback technique fallback { pass P0 { // Just draw normally } } Que tampoco es tan complejo, de todas formas, conociendo a @samt2497, hizo una scoreboard propia sin utilizar la de MTA.
  11. Una respuesta tan ambigua es inútil e incluso innecesaria, ¿Por que no le haces el favor a @XxRomxX y al resto de posibles interesados de exponerles el proceso tan tedioso que utilizarías?
  12. Usa 'setCameraInterior' para posicionar la cámara en algún interior distinto y 'setCameraTarget' para fijarla en un jugador.
  13. Siempre he admirado a @Krujitos, espero que el proyecto y el servidor en si sean tan buenos como los expones y les deseo la mayor suerte del mundo.
  14. ¿Podrías publicar una captura de pantalla del momento en que te da kick?
  15. Lo que debes hacer es usar 'guiSetVisible' para hacer que el panel de spawn no se vea y en cuanto el jugador se loggee, lo haces visible.
  16. No hay problema, aunque déjalo así: function GUI( thePlayer ) local acc = getPlayerAccount ( thePlayer ) if not isGuestAccount( acc ) then if isObjectInACLGroup ("user."..getAccountName ( acc ), aclGetGroup ( "Admin" ) ) then triggerClientEvent (thePlayer, "OpenPanel", thePlayer) end end end addEventHandler( 'onPlayerJoin', root, --Se les asigna el bind al conectarse function() bindKey ( source, "F5", "down", GUI ) end ) for k, i in ipairs( getElementsByType( 'player' )) do --y a los que ya están conectados. bindKey ( i, "F5", "down", GUI ) end La "corrección" que te dieron tenia algunas partes inútiles.
  17. Claro que es un aporte, con tu comentario podrías confundir a los mas nuevos y así tu también aprendes.
  18. Siempre pueden existir problemas aparte, sin importar lo que la wiki diga.
  19. En el caso del grupo 'Everyone', el 'ACL' utiliza esto: "Everyone"> "Default" /> "user.*" /> "resource.*" /> Lo que reconoce a todos los usuarios y jugadores, por lo tanto, todos pertenecen a el.
  20. Si te fijas bien, las posiciones no son todas iguales, en el caso del primer objeto, sus coordenadas originales son: '211.8, 1875, 14' y el busca mover el objeto hacia: '208, 1875, 14' Mientras que en el segundo objeto las posiciones originales son: '215.9, 1875, 14' y el desea moverlas hacia: '219.8, 1875, 14'. Cambiar la posición 'Z' sirve para moverlas de arriba hacia abajo y viceversa, en cambio el quiere mover la posición 'X', lo que debería mover las puertas hacia los lados.
×
×
  • Create New...