Jump to content

UserToDelete

Members
  • Posts

    766
  • Joined

  • Last visited

Everything posted by UserToDelete

  1. Puedes crear un script para ello, pero claro, si le pega un superLagazo, acabaria perdiendo Esto podria funcionar? Client Side pvp = {} function pvp.main (attacker, weapon, bodypart, loss) if attacker == localPlayer then triggerServerEvent("pvp.damage", source, localPlayer, loss) end end addEventHandler("onClientPlayerDamage", root, pvp.main) Server side pvp = {} addEvent("pvp.damage", true) function pvp.damageserver (attacker, loss) setElementHealth(source, getElementHealth(source) - loss) end addEventHandler("pvp.damage", root, pvp.damageserver)
  2. Bueno, hola, lo que queria saber era (al hacer un FirstPerson) Como obtener que el matrix se quede mirando para alante, y no para un sitio fijo, es decir, necesito como "obtener" x+2 o y+2 depende de a donde mire, y no se hacer eso lo unico que logre es esto, pero no se como configurar la camara para que mire para delante en el coche fp = { enable = false } function fp.main () if isPedInVehicle(localPlayer) and fp.enable then setPedHeadless(localPlayer, true) local rotation = getPedRotation(localPlayer) local bx,by,bz = getPedBonePosition(localPlayer, 5) local cx,cy,cz,crx,cry,crz,cr,cf = getCameraMatrix() setCameraMatrix(bx,by,bz) setPedCameraRotation(localPlayer, rotation) elseif not isPedInVehicle(localPlayer) then setCameraTarget(localPlayer) setPedHeadless(localPlayer, false) end end function fp.render () if not fp.enable then addEventHandler("onClientRender", root, fp.main) fp.enable = true else removeEventHandler("onClientRender", root, fp.main) fp.enable = false setPedHeadless(localPlayer, false) repeat setCameraTarget(localPlayer) until getCameraTarget() == localPlayer end end addCommandHandler("fp", fp.render)
  3. Y si quisiera que incluyera Digitos, Letras y espacios, pero no el resto de simbolos, tendria que hacer algo asi? guiSetProperty(element, "ValidationString", "%a?%d?%s?") Vale, esto no funciona, ni poniendo %w me escribe nada EDIT: guiSetProperty(GUIEditor.edit[1], "ValidationString", "([0-9A-Za-z]?)+") Gracias tomas y CiBeR
  4. Innecesario, puedes usar guiSetProperty y ValidationString guiSetPropery(element, "ValidationString", "[a-z][0-9]") Algo como esto?
  5. Nada, sigue permitiendo el uso de los caracteres que no tengo en la lista de permitidos, como seria para cancelarlo? GUIEditor.edit[1] = guiCreateEdit(9, 38, 241, 27, "", false, GUIEditor.window[1]) addEventHandler("onClientCharacter", root, charac) permitido = {" ","a","b","c","d","e","f","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","(",")","_","-","1","2","3","4","5","6","7","8","9","0"} function in_array (tab, val) for k,v in ipairs(tab) do if val == v then return true end end return false end function charac (cr, state) if not in_array(permitido, cr) then cancelEvent(true) end end
  6. Tengo una pregunta que es urgente para un panel, y es la siguiente. Al introducir texto como puedo hacer que si pulso "1" no lo escriba, es decir, si voy escribiendo "pan1l" que solo me ponga "panl" Es decir, como puedo "filtrar" para que no reconozca los numeros, por ejemplo? Y si, hablo de client, y de una GUI con una EditBox
  7. Hice este script para detectar la conexion que usa por segundo, pero la variante siempre se establece en 0, es decir, como si la resta diera 0, o algo asi lastSecond = 0 function net() if vu == nil and bu == nil then vu, bu = 0,0 end local networkData = getNetworkUsageData()["out"] for i, val in pairs(networkData["count"]) do if networkData["bits"][i] > 0 then vu = vu + networkData["bits"][i] end end setTimer(function () local networkData = getNetworkUsageData()["out"] for i, val in pairs(networkData["count"]) do if networkData["bits"][i] > 0 then bu = bu + networkData["bits"][i] end end lastSecond = bu - vu end, 1000,1) end Solucionado: lastSecond = 0 his = {} function net() vu = 0 local networkData = getNetworkUsageData()["out"] for i, val in pairs(networkData["count"]) do if networkData["bits"][i] > 0 then vu = vu + networkData["bits"][i] end end table.insert(his, vu) while (#his > 2) do table.remove(his, 1) lastSecond = (-his[1] + his[2])/1024 end end
  8. En el pasado tambien me habia ocurrido errores de este tipo, ahora entendi la diferencia i[ndex]pairs() pairs() Gracias tomas Time to scripting HARD
  9. un sinonimo seria "resumir" o "mejorar", cual es el codigo exactamente?
  10. El problema que tengo es, NO FUNCIONA el setTimer, y el resto del script si, osea sx,sy = guiGetScreenSize() t = {} tt = { ["b1"]=0 } function returnRelative (x,z) z = z+1 return -x+(x*z) end function renderVIP () if getElementData(localPlayer, "tiempoSEC") >= 144000 then dxDrawRectangle(returnRelative(sx,0), returnRelative(sy,1), sx, returnRelative(sy,-0.05), "0xaa000000") dxDrawRectangle(0,returnRelative(sy, 0.95),sx,returnRelative(sy,0.0025), "0xFF000000") dxDrawText("[VIP MENU] |", returnRelative(sx,0.005), returnRelative(sy,0.95),0,0, "0xFFFFFFFF", 2, "default-bold") --Botones VIP if t["b1"] == nil then t["b1"] = guiCreateButton(returnRelative(sx, 0.2), returnRelative(sy, 0.95),returnRelative(sx, 0.1), returnRelative(sy,0.05), "Vida", false) addEventHandler("onClientGUIClick", t["b1"], bma) end end end addEventHandler("onClientRender", root, renderVIP) function counter () for k,v in ipairs(tt) do --outputChatBox(tostring(k)..tostring(v)) end end setTimer(counter, 1000, 0) function vidaButton () if tt["b1"] <= 0 then guiSetText(t["b1"], "Vida") --removeEventHandler("onClientRender", root, vidaButton) else guiSetText(t["b1"], tostring(math.floor(tt["b1"]))) end end function bma () if source == t["b1"] then if tt["b1"] <= 0 then tt["b1"] = 60 end addEventHandler("onClientRender", root,vidaButton) end end
  11. Muchas gracias CiBeR, me ha servido a la perfeccion
  12. Se dispare sola como lanzandola, o que explote en la mano?
  13. Nada mejor como un copypaste de la wiki Solucionado tomas
  14. Si, aparece cumplidad, pero 0 errores ni warnings
  15. Bueno, hola de nuevo a todos, con un gran HUUUUUUUUUUG (Fuera cocaina) Bueno, el problema que tengo es que no DESTRUYE el sonido ni el objeto, pero si los crea y los reproduce Client: Server:
  16. Existe alguna manera de que el servidor no pida login al entrar por HTTP al servidor? Algo asi como una pagina publica
  17. No entiendo para que pides entonces cosas que no necesitas. Sí, podrías utilizar esa función y re-crear tu archivo. Porque no siempre se re-crea el archivo, por tanto, necesita ser leido una o mas veces
  18. Tener esto abierto y marcado no tiene sentido, la pagina ni carga
  19. La cosa es que quiero que sobreescriba lo que ya tiene, por eso el fileWrite de nuevo . Tendria que enviar un fileDelete para eso? y otra vez la creacion del archivo? fileSetPos(sDhand,0) local x = fileRead(sDhand, size) --Esta parte ya me empezo a funcionar
  20. <meta> <info author="venadHD" version="1.0.0" type="script" /> <script src="client.luac" type="client"/> <script src="server.lua"/> </meta> function checker () for file=1, 8 do if not fileExists("link."..tostring(file)) then local S = fileCreate("link."..tostring(file)) fileClose(S) end end end addEventHandler("onClientResourceStart", resourceRoot, checker) y esta verificado que realmente los crea esa parte del script
  21. El respawn en los hospitales es tipico de codigos personalizados Como dijo luillybacigalupo14
  22. Fijate bien, es la misma variable Me molesta que se piense que son copy paste mis scripts Lineas "limpias" --plr = "nad" --Jugador online: V#eNaD for k,v in ipairs(getElementsByType("player")) do local oname = getPlayerName(v):gsub("#%x%x%x%x%x%x",""):lower() if string.find(plr:lower(), oname) then CUR = v cur = cur + 1 end end end La variable 'plr' viene desde un commandHandler, por eso la razon de que este comentado
  23. Pos eso, que no se por que devuelve nil D: --plr = "nad" --Jugador online: V#eNaD for k,v in ipairs(getElementsByType("player")) do local oname = getPlayerName(v):gsub("#%x%x%x%x%x%x",""):lower() if string.find(plr:lower(), getPlayerName(v):gsub("#%x%x%x%x%x%x", ""):lower()) then CUR = v cur = cur + 1 end end end
×
×
  • Create New...