Jump to content

Tomas

Members
  • Posts

    2,530
  • Joined

  • Last visited

Everything posted by Tomas

  1. function target() target = getPedTarget ( getLocalPlayer() ) if (target) and ( getElementType ( target ) == "player" ) then local x,y,z = getElementPosition(target) --- aca obtienes la posicion del jugador al que apuntas createObject(492,x,y,z) --- aca tu objeto end end bindKey("X","down",target)
  2. function ard (thePlayer) local x, y, z = getElementPosition ( thePlayer ) local theMarker = createMarker ( x + 2, y + 2, z, "cylinder", 1.5, 255, 255, 0, 170 ) addEventHandler( "onMarkerHit", theMarker, MarkerHit ) end addCommandHandler ("a", ard) function MarkerHit(thePlayer) if getElementType ( thePlayer ) == "player" then killPed ( thePlayer ) outputChatBox ( "has caido", thePlayer ) end end
  3. En el script de zombie, busca (Ctrl + F - createPed), en el argumento 3 agregale +5.
  4. Detectar la posición a la que apunta es posible, getPedTargetEnd. Para el segundo puedes usar colshapes.
  5. Ese error quiere decir que el primer argumento de guiSetText returna nil, el problema se debe a que ese GUI-Element LUA lo ignora porque tiene dos guiones delante (--), quita los guiones y no habrá problema.
  6. Tomas

    Shaders.

    Gracias, entendí y me funciónó Mira lo que hice practicando shaders :3 http://imgur.com/a/XD4DL
  7. Gracias me pareque quedo bien De nada.
  8. function setVehiclesFuelPerMinute() for i, veh in ipairs(getElementsByType("vehicle")) do if getVehicleEngineState(veh) == true then if not getElementData(getElementData(veh, "parent"), "fuel") then return end if getElementData(getElementData(veh, "parent"), "fuel") >= 0 then ---Linea 2075 setElementData(getElementData(veh, "parent"), "fuel", getElementData(getElementData(veh, "parent"), "fuel") - getVehicleFuelRemove(getElementModel(veh), getElementData(veh, "parent"))) else setVehicleEngineState(veh, false) end end end end setTimer(setVehiclesFuelPerMinute, 10000, 0) El error se debe a que al detectar la gasolina del vehículo returna un booleano. Lo único que hice fue que si no se puede obtener esa data que finalice la función. Sin el código completo no puedo hacer nada, eso te servirá.
  9. Tomas

    Shaders.

    Hola, hace un rato se me dió la curiosidad de como hacer que al mismo skin las personas lo vean distinto. Se me ocurrió usar shaders, investigando un poco sobre el tema encontré algunos ejemplos... Me funcionó bastante bien, pero me gustaría hacer que el shader lo puedan ver todos y no sólo esa persona. Espero me puedan ayudar ^-^ function putGoldenShader() local ref_shader, technique = dxCreateShader ( "shader_gold.fx",0,0,false,"ped" ) if not ref_shader then return end local textureReflect = dxCreateTexture ( "textures/Default_reflection.dds" ); dxSetShaderValue ( ref_shader, "sReflectionTexture", textureReflect ); engineApplyShaderToWorldTexture ( ref_shader, "*",localPlayer ) end addCommandHandler("golden",putGoldenShader)
  10. La función setWeather no tiene argumentos de jugador, pero usándose en client-side se puede lograr lo que tu quieres. Un ejemplo: -- Client side function changeWeather() local weather = math.random(0,255) setWeather(weather) end addCommandHandler("weather",changeWeather)
  11. Eso diría que la tabla no existe, creaste la tabla?
  12. No existe tal script que buscas, osea, los zombies spawnean a unos metros de la posición del jugador. No entiendo el problema.
  13. local modo = false local text = "PASIVO" local estapasivo = false function md() if (modo == false) then -- addEventHandler("onClientRender", getRootElement(), texto) estapasivo = true elseif (modo == true) then removeEventHandler("onClientRender", getRootElement(), texto) estapasivo = false end end addCommandHandler("mp", md) function texto() local px, py, pz = getPedBonePosition(localPlayer, 6) local sx, sy = getScreenFromWorldPosition(px, py, pz + 0.3) local cx, cy, cz = getCameraMatrix() if sx then if getDistanceBetweenPoints3D(cx, cy, cz, px, py, pz) <= maxdistancia then if estapasivo then dxDrawText("PASIVO",sx,sy,pantalla_x, pantalla_y,tocolor ( 255, 255, 255, 255 ), 1.5,"default-bold") end end end end addEventHandler("onClientRender", getRootElement(), texto)
  14. A mi me funciona el código de la wiki...
  15. no le servirá para realizar otros efectos.
  16. function allvehiclesaredoomed(player) local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then vehicles = getElementsByType("vehicle") for i,v in ipairs(vehicles) do destroyElement(v) end end end addCommandHandler("vdoom", allvehiclesaredoomed)
  17. Si lLinux, como el dijo sus posiciones están en valores relativos de 0 a 1, que los obtuvo con getCursorPosition, aunque no se como obtuvo la posición del cursor con las posiciones del draw, sería bueno que nos dejes un ejemplo de eso Alexs
  18. En el código que yo le di a Linux funciona bien y no hice ninguna suma. (En un recurso que hice para mi servidor hago algo parecido y es igual, tampoco hay que sumar nada) Las sumas las hago por ejemplo para detectar cuando clickea adentro de un rectángulo DX, comparo si la posición X del cursor es más de la posición del arg1+arg3 (posición X + ancho) y si es menor a arg2+arg4 (posición Y + largo).
  19. Podrías detectar los jugadores que están cerca de ti, creando una mini colshape junto a getElementsWithinColShape
  20. Pues, pero entonces no lo pongas, no entiendo que quieres hacer.
  21. Yo hoy haciendo algo parecido pero con otra cosa lo hice como te lo puse y me funcionó, sólo que usé variables no tablas. PD: ¿Te funcionó?
  22. No entiendo para que lo sumaste local data = { colorn = {255, 0, 0, 255}, colore = {255, 255, 0, 255}, cursorpos = {0.43, 0.40, 0.56, 0.47}-- x, y, x1, y1 } r, g, b, a = unpack(data.colorn) addEventHandler("onClientRender", root, function() dxDrawRectangle(599, 313, 174, 52, tocolor(0, 0, 0, 255), false) dxDrawRectangle(600, 314, 172, 50, tocolor(r, g, b, a), false) if isCursorShowing() then cx, cy, _, _, _ = getCursorPosition() if cx >= data["cursorpos"][1] and cx <= data["cursorpos"][3] and cy >= data["cursorpos"][2] and cy <= data["cursorpos"][4] then r, g, b, a = unpack(data.colore) else r, g, b, a = unpack(data.colorn) end end end ) showCursor(true)
  23. Ver la rueda desgastada es muy posible, solo necesitas un modeler que sepa bastante. ¿Y cómo reemplazarías para esa rueda sola el model?
×
×
  • Create New...