Jump to content

0xCiBeR

MTA Team
  • Posts

    1,673
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by 0xCiBeR

  1. cambie la opción a 2 en el archivo meta, supongo que seria lo mismo que el streammemethod, gracias. Eso surte casi el mismo efecto que lo que yo te dije, la única diferencia es que al tú editar el meta directamente, cambias el valor default, y en cambio si lo editas del panel, es un valor temporal. De nada.
  2. Cambia "StreamMethod" en el panel admin a 2 y reinicia el resource para que funcionen los spawnpoints.
  3. gate = createObject(980, 2187.626953125, -2273.4443359375, 13.546875, 0, 0, 0) -- objID, X, Y, Z, Rotation X, Y, Z function gateOpen(me,cmd) local x, y, z = getElementPosition(me) local x1, y1, z1 = getElementPosition(gate) if getDistanceBetweenPoints3D(x, y, z, x1, y1, z1) <= 10 then moveObject(gate, 2000, 2188.8193359375, -2272.720703125, 28.495878219604, 0, 0, 130) --moves the gate to the open position. time, X, Y, Z, Rotation X, Y, Z end end addCommandHandler("go1", gateOpen)--Command /go1 to open gate function gateClose(me,cmd) local x, y, z = getElementPosition(me) local x1, y1, z1 = getElementPosition(gate) if getDistanceBetweenPoints3D(x, y, z, x1, y1, z1) <= 10 then moveObject(gate, 2000, 2187.626953125, -2273.4443359375, 13.546875, 0, 0, 0 ) --returns the gate to it's starting position. X, Y, Z, Rotation X, Y, Z end end addCommandHandler("gc1", gateClose)--Command /gc1 to close gate
  4. Seguiste mis pasos?... En cuanto a esto: Recuerda cambiar el Modo de spawn de los zombies a solo por spawn-points. Esto se realiza en los settings del resource, los cuales puedes acceder en la sección resources, del panel admin.
  5. Puedes hacerlo con funciones de Dibujo. dxDrawText showPlayerHudComponent--Para ocultar el original getVehicleName--Para obtener el nombre del vehiculo original Y por ahí para simplificar las cosas, una tabla donde guardas los dos valores, el nombre original, y el nuevo nombre.
  6. Pregunté, en el IRC, y me dicen que puedes intentar hacerlo, creando un archivo XML, y viendo que devuelve. Si es un archivo ZIP, va a devolver FALSE por el simple hecho de que no puedes crear un archivo dentro de un .ZIP .Asi me lo han indicado, aunque no estoy seguro de que esto funcione, ya que anoche probe un pequeño script y no me ha funcionado.
  7. Si probaste como te dijo @Borderline y no te surte efecto, prueba reiniciar el resource de zombies, luego de que iniciaste tu resource de Zonas Seguras, ya que el sistema de zombies, obtiene todas las zonas seguras mediante un for-loop de todas las zonas. Entonces en resumen, pasos a seguir: -Inicia tu resource de Zonas Seguras. -Reinicia o inicia si no has iniciado tu resource de Zombies. -Comprueba si aun así, spawnean en la zona segura.
  8. Según entiendo no te aparecen las classes de spawn. Por lo que posteaste, tu map aparenta estar bien..Estas seguro que no editaste.
  9. Ahi te di la solucion, solo copia mi script, y reemplaza: local crear = exports [ "PDz_Resident_Evil" ]:createZombie( x+1, y+1, z, 0) Donde dice "PDz_Resident_Evil" cambialo por tu resource de zombies. Y trata de no usar scripts filtrados.
  10. Lo que el quiere, es que no se le superpongan el login y el panel. Es algo a lo que me pasaba a mi cuando usaba el spawn de 50p. Entonces, debe ocultarlo en cuanto empieze el resource, y luego mostrarlo en cuanto se loguea.
  11. Para que usar triggers? ._. Es tan simple como esto: addEventHandler( "onClientResourceStart", getRootElement( ), function () guiSetVisible ( nombredeventana, true ) end ) Además no entendiste su pregunta, el quiere ocultar el spawn, en cuanto entra al server, no despues de que se logueo. Lo que si, debe trigearlo es para volver a mostrar el spawn.
  12. Usa tablas apuntando al nombre de cuenta del usuario.Despues usa un for-loop para obtener la cuenta en la table y borrarle el auto de esa cuenta.
  13. Ese es mi script. Hasta tiene mi addon de memes para encima de la cabeza. No se da soporte a scripts robados.
  14. Es el de @50p @Chaky, a simple vista no veo nada mal con el archivo de clases, aunque puedo estar equivocado, seguro no cambiaste nada mas?
  15. Creo que tu respuesta, pone a las personas que sufren de esa condición en una posición de "menor calidad". Esta claro que tu respuesta ofende a las personas que lamentablemente lo padecen, ya que no poseo ese tipo de deficiencia. Espero retires tu opinion, ya que simplemente me ofende que alguien use ese termino como un insulto. Para terminar, no sigan con el offtopic, y menos si va a incluir ese tipo de respuestas.
  16. 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. No, no tengo ningún problema, simplemente lo aclare, ya que sino mi post perdia sentido no te parece?
  17. It should work. As I said in the first post, you can also try with colShapes.
  18. Tu error @rom esta en esta línea: setElementData ( theKiller, "Zombie kills", 25) Es lo que te decia sobre directamente setear los nuevos kills y no sumarlos a los que tienes. En el codigo de @Alexs el obtiene tus kills actuales, y le suma los 25 nuevos. Si no entiendes bien, me avisas y te explicare mejor. PD: Si te fijas bien, por alguna extraña razon @Alexs edita su post, despues que señale lo que hizo.
  19. Postea tu script. Lo mas probable es que no estas obteniendo los kills anteriores y simplemente le estas seteando los 25 nuevos.
  20. Si usa. 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? Para guiarte, te mostrare como modifique el parte del manejo del shader en dxscrorebard_rt.lua : (de igual manera, debes modificar algunas cosas en el dxscoreboard_client.lua.) openedon = 1 shouldDraw = false local shaderset = {} animtime = 900 shaderset.RotateZ = 0 shaderset.PersCenterOffsetX = 0 shaderset.PersCenterOffsetY = 0 shaderset.sHighlightOffset = 1.75 shaderset.RotateY = 355 shaderset.TesselateX = 50 shaderset.sWaveSize = 0.154 shaderset.TesselateY = 8 shaderset.Size = 0.2 shaderset.RotateX = 10 shaderset.PosY = 0.87 shaderset.sWaveFreq = 2 shaderset.Alpha = 255 shaderset.sHighlightAmount = 0.78 shaderset.PersCenIsScreen = 0 shaderset.sWireframe = 0 shaderset.RotCenterOffsetY = 0 shaderset.RotCenterOffsetZ = 0 shaderset.RotCenIsScreen = 0 shaderset.RotCenterOffsetX = 0 shaderset.sWaveSpeed = 10 shaderset.PosX = 0.93 local swareached = 0 overAvatar = false local sw, sh = guiGetScreenSize() local rtShader, rt local lastUpdateTime = 0 addEventHandler("onClientResourceStart", resourceRoot, function(resource) rtShader = dxCreateShader("rt_blend.fx") avShader = dxCreateShader("rt_blend.fx") end) function drawScoreboard() cursorCache = {} if #savedRowsNext > 0 then savedRows = savedRowsNext savedRowsNext = {} end if not scoreboardDrawn then bForceUpdate = true end local bUpdate = false if getTickCount() - lastUpdateTime > 1000 or bForceUpdate then bUpdate = true bForceUpdate = false lastUpdateTime = getTickCount() end local sX, sY = getRequiredRtSize() if rt then local rX, rY = dxGetMaterialSize(rt) if sX ~= rX or sY ~= rY then destroyElement(rt) rt = nil end end if not rt then rt = dxCreateRenderTarget(sX, sY, true) bUpdate = true end if not rt then doDrawScoreboard(false, false, guiGetScreenSize()) return end local newRowIdx = getCursorOverRow(true) if newRowIdx ~= lastRowIdx then lastRowIdx = newRowIdx bUpdate = true end doDrawScoreboard(true, true, guiGetScreenSize()) if bUpdate then dxSetRenderTarget(rt, true) local drawOverGUISaved = drawOverGUI drawOverGUI = false doDrawScoreboard(true, false, getRequiredRtSize()) drawOverGUI = drawOverGUISaved dxSetRenderTarget() end local percent = math.max(math.min(getTickCount() - openedon, animtime), 0) / animtime if not scoreboardToggled then percent = percent * -1 end if percent <= -1 then shouldDraw = false return else shouldDraw = true end local deltaroty = shaderset.RotateY - 270 local offput = deltaroty * percent if percent < 0 then offput = swareached + swareached * percent else swareached = offput end local x, y = scoreboardGetTopCornerPosition() local rotarget = 270 + offput dxSetShaderValue(rtShader, "sTexture0", rt) if overAvatar then local ufcent = 0 if percent > 0 then ufcent = percent else ufcent = 1 + percent end dxSetShaderValue(avShader, "sTexture0", overAvatar[1]) dxSetShaderTransform(avShader, 450 - 105 * ufcent, 0, shaderset.RotateZ, 1, 0, shaderset.RotCenterOffsetZ, shaderset.RotCenIsScreen > 0.5, shaderset.PersCenterOffsetX, shaderset.PersCenterOffsetY, 0.5 < shaderset.PersCenIsScreen) dxDrawImage(overAvatar[2] * 0.25, sh * 0.5 - overAvatar[3] * 0.5, overAvatar[2], overAvatar[3], avShader, 0, 0, 0, tocolor(255, 255, 255), drawOverGUI) end dxSetShaderTransform(rtShader, shaderset.RotateX, rotarget, shaderset.RotateZ, shaderset.RotCenterOffsetX, 1, shaderset.RotCenterOffsetZ, shaderset.RotCenIsScreen > 0.5, shaderset.PersCenterOffsetX, shaderset.PersCenterOffsetY, 0.5 < shaderset.PersCenIsScreen) if x then dxDrawImage(x, y, sX, sY, rtShader, 0, 0, 0, tocolor(255, 255, 255), drawOverGUI) end end function reescale(x, y, sx, sy, scale) x = x - (x * scale - x) y = y - (y * scale - y) sx = sx * scale sy = sy * scale return x, y, sx, sy end function getRequiredRtSize() local sX, sY = calculateWidth(), calculateHeight() if not sX then sX, sY = guiGetScreenSize() else sY = sY + 30 end return math.floor(sX), math.floor(sY) end cursorCache = {} function getCursorScoreboardPosition(rtPass) if #cursorCache == 0 then local cX, cY = getCursorPosition() local sX, sY = guiGetScreenSize() cX, cY = cX * sX, cY * sY if rtPass then local x, y = scoreboardGetTopCornerPosition() cX, cY = cX - x, cY - y end cursorCache = {cX, cY} end return unpack(cursorCache) end savedRowsNext = {} savedRows = {} function checkCursorOverRow(rtPass, xl, xh, yl, yh) if isCursorShowing() then savedRowsNext[#savedRowsNext + 1] = { xl, xh, yl, yh } local cX, cY = getCursorScoreboardPosition(rtPass) if xl <= cX and xh >= cX and yl <= cY and yh >= cY then return true end end return false end function getCursorOverRow(rtPass) if isCursorShowing() then local cX, cY = getCursorScoreboardPosition(rtPass) for idx, row in ipairs(savedRows) do if cX >= row[1] and cX <= row[2] and cY >= row[3] and cY <= row[4] then return idx end end end return false end local bAddFakePlayers = false local bAllowFPlayers = true if bAllowFPlayers then _getElementsByType = getElementsByType _getElementType = getElementType _getPlayerTeam = getPlayerTeam _getPlayerNametagColor = getPlayerNametagColor _getPlayersInTeam = getPlayersInTeam _getPlayerName = getPlayerName _getPlayerPing = getPlayerPing function getElementsByType(type) local results = _getElementsByType(type) if type == "player" then for k, fp in ipairs(_getElementsByType("fplayer")) do results[#results + 1] = fp end end return results end function getPlayerTeam(player) if isElement(player) then if _getElementType(player) == "fplayer" then return getElementData(player, "team") else return _getPlayerTeam(player) end else return false end end function getElementType(elem) local trtype = _getElementType(elem) if trtype == "fplayer" then trtype = "player" end return trtype end function getPlayerNametagColor(plr) if _getElementType(plr) == "fplayer" then return 255, 255, 255, 255 end return _getPlayerNametagColor(plr) end function getPlayersInTeam(team) local trlist = _getPlayersInTeam(team) for k, fp in ipairs(_getElementsByType("fplayer")) do if getElementData(fp, "team") == team then trlist[#trlist + 1] = fp end end return trlist end function getPlayerName(player) if _getElementType(player) == "fplayer" then return tostring(getElementData(player, "name")) end return _getPlayerName(player) end function getPlayerPing(player) if _getElementType(player) == "fplayer" then return math.random(10, 100) end return _getPlayerPing(player) end end if bAddFakePlayers then do local numberOfTeams = 4 local numberOfPlayersPerTeam = 20 _getElementsByType = getElementsByType function getElementsByType(type) local results = _getElementsByType(type) if type == "player" then results = {} for t = 1, numberOfTeams do for p = 1, numberOfPlayersPerTeam do results
  21. El Scoreboard, usa por default, Shaders.Lo que hizo xlatino es agregar uno, y ademas, modificar como funciona el que traia por default.Yo lo se hacer, y es una tarea muy tediosa...
×
×
  • Create New...